@asdp/ferryui 0.1.22-dev.10229 → 0.1.22-dev.10281

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
@@ -284,7 +284,10 @@ var sharedColors = {
284
284
  "Shared_Red_Primary": "#d13438",
285
285
  "Shared_Orange_Shade_20": "#bc4b09",
286
286
  "Shared_Orange_Tint_60": "#fff9f5",
287
- "Shared_Green_Primary": "#107c10"};
287
+ "Shared_Green_Primary": "#107c10",
288
+ "Shared_Lilac_Primary": "#b146c2",
289
+ "Shared_Lilac_Tint_40": "#e6bfed",
290
+ "Shared_Lilac_Tint_60": "#fcf6fd"};
288
291
  var foundationColors = {
289
292
  "Foundation_Danger_error": "#FD3A3A"
290
293
  };
@@ -363,67 +366,6 @@ var extendedTokens = {
363
366
  colorBrandForegroundLinkSelected: customBrand[110]});
364
367
 
365
368
  // src/constants/api.ts
366
- var API_ENDPOINTS = {
367
- PORTS: {
368
- ORIGIN: "/v1/surrounding/catalog/ports/list/origin",
369
- DESTINATION: "/v1/surrounding/catalog/ports/list/destination"
370
- },
371
- SERVICES: {
372
- LIST: "/v1/surrounding/catalog/service-types"
373
- },
374
- PASSENGERS: {
375
- LIST: "/v1/surrounding/catalog/passenger-types"
376
- },
377
- // Authentication endpoints
378
- AUTH: {
379
- LOGIN: "/v1/surrounding/auth/login",
380
- REGISTER: "/auth/register",
381
- LOGOUT: "/auth/logout",
382
- REFRESH: "/auth/refresh",
383
- PROFILE: "/auth/profile",
384
- UPDATE_PROFILE: "/auth/profile",
385
- CHANGE_PASSWORD: "/auth/change-password",
386
- FORGOT_PASSWORD: "/auth/forgot-password",
387
- RESET_PASSWORD: "/auth/reset-password",
388
- VERIFY_EMAIL: "/auth/verify-email"
389
- },
390
- // User management
391
- USERS: {
392
- LIST: "/users",
393
- CREATE: "/users",
394
- DETAIL: (id) => `/users/${id}`,
395
- UPDATE: (id) => `/users/${id}`,
396
- DELETE: (id) => `/users/${id}`,
397
- AVATAR: (id) => `/users/${id}/avatar`
398
- },
399
- // File management
400
- FILES: {
401
- UPLOAD: "/files/upload",
402
- DOWNLOAD: (id) => `/files/${id}/download`,
403
- DELETE: (id) => `/files/${id}`,
404
- LIST: "/files"
405
- },
406
- // Dashboard/Analytics
407
- DASHBOARD: {
408
- STATS: "/dashboard/stats",
409
- CHART_DATA: "/dashboard/chart-data",
410
- RECENT_ACTIVITIES: "/dashboard/recent-activities"
411
- },
412
- // Notifications
413
- NOTIFICATIONS: {
414
- LIST: "/notifications",
415
- MARK_READ: (id) => `/notifications/${id}/read`,
416
- MARK_ALL_READ: "/notifications/read-all",
417
- DELETE: (id) => `/notifications/${id}`,
418
- SETTINGS: "/notifications/settings"
419
- },
420
- // Settings
421
- SETTINGS: {
422
- GENERAL: "/settings/general",
423
- SECURITY: "/settings/security",
424
- PREFERENCES: "/settings/preferences"
425
- }
426
- };
427
369
  var API_CONFIG = {
428
370
  TIMEOUT: 3e4,
429
371
  RETRY_ATTEMPTS: 3,
@@ -14868,7 +14810,7 @@ var CardAddon = ({
14868
14810
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Caption1Stronger, { children: [
14869
14811
  mergedLabels.currencySymbol,
14870
14812
  " ",
14871
- footerData.price.toLocaleString(
14813
+ footerData.price?.toLocaleString(
14872
14814
  language === "id" ? "id-ID" : "en-US"
14873
14815
  ),
14874
14816
  footerData.priceUnit
@@ -15019,7 +14961,7 @@ var CardAddon = ({
15019
14961
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle1, { style: { fontSize: reactComponents.tokens.fontSizeBase600 }, children: [
15020
14962
  mergedLabels.currencySymbol,
15021
14963
  " ",
15022
- footerData.price.toLocaleString(
14964
+ footerData.price?.toLocaleString(
15023
14965
  language === "id" ? "id-ID" : "en-US"
15024
14966
  )
15025
14967
  ] })
@@ -15369,7 +15311,8 @@ var CardReview = ({
15369
15311
  items,
15370
15312
  children,
15371
15313
  className,
15372
- headerAction
15314
+ headerAction,
15315
+ isLoading = false
15373
15316
  }) => {
15374
15317
  const styles = useStyles33();
15375
15318
  const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
@@ -15380,39 +15323,60 @@ var CardReview = ({
15380
15323
  headerAction && /* @__PURE__ */ jsxRuntime.jsx("div", { children: headerAction })
15381
15324
  ] }),
15382
15325
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.contentContainer, children: [
15383
- items?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.row} ${item.className || ""}`, children: [
15384
- typeof item.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
15385
- reactComponents.Caption1,
15386
- {
15387
- className: `${styles.defaultLabel} ${item.labelClassName || ""}`,
15388
- children: item.label
15389
- }
15390
- ) : (
15391
- // Clone element to append className if it's a valid React element
15392
- React__default.default.isValidElement(item.label) ? React__default.default.cloneElement(item.label, {
15393
- className: `${styles.defaultLabel} ${item.labelClassName || ""}${item.label.props.className ? " " + item.label.props.className : ""}`
15394
- }) : /* @__PURE__ */ jsxRuntime.jsx(
15395
- "div",
15396
- {
15397
- className: `${styles.defaultLabel} ${item.labelClassName || ""}`,
15398
- children: item.label
15399
- }
15400
- )
15401
- ),
15402
- typeof item.value === "string" || typeof item.value === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
15403
- reactComponents.Body1,
15404
- {
15405
- className: `${styles.defaultValue} ${item.valueClassName || ""}`,
15406
- children: item.value
15407
- }
15408
- ) : /* @__PURE__ */ jsxRuntime.jsx(
15409
- "div",
15410
- {
15411
- className: `${styles.defaultValue} ${item.valueClassName || ""}`,
15412
- children: item.value
15413
- }
15414
- )
15415
- ] }, index)),
15326
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Array.from({ length: 4 }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.row, children: /* @__PURE__ */ jsxRuntime.jsxs(
15327
+ reactComponents.Skeleton,
15328
+ {
15329
+ style: { width: "100%", display: "flex", gap: "1rem" },
15330
+ children: [
15331
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "40%", height: "16px" } }),
15332
+ /* @__PURE__ */ jsxRuntime.jsx(
15333
+ reactComponents.SkeletonItem,
15334
+ {
15335
+ style: { width: "30%", height: "16px", marginLeft: "auto" }
15336
+ }
15337
+ )
15338
+ ]
15339
+ }
15340
+ ) }, index)) }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: items?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
15341
+ "div",
15342
+ {
15343
+ className: `${styles.row} ${item.className || ""}`,
15344
+ children: [
15345
+ typeof item.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
15346
+ reactComponents.Caption1,
15347
+ {
15348
+ className: `${styles.defaultLabel} ${item.labelClassName || ""}`,
15349
+ children: item.label
15350
+ }
15351
+ ) : (
15352
+ // Clone element to append className if it's a valid React element
15353
+ React__default.default.isValidElement(item.label) ? React__default.default.cloneElement(item.label, {
15354
+ className: `${styles.defaultLabel} ${item.labelClassName || ""}${item.label.props.className ? " " + item.label.props.className : ""}`
15355
+ }) : /* @__PURE__ */ jsxRuntime.jsx(
15356
+ "div",
15357
+ {
15358
+ className: `${styles.defaultLabel} ${item.labelClassName || ""}`,
15359
+ children: item.label
15360
+ }
15361
+ )
15362
+ ),
15363
+ typeof item.value === "string" || typeof item.value === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
15364
+ reactComponents.Body1,
15365
+ {
15366
+ className: `${styles.defaultValue} ${item.valueClassName || ""}`,
15367
+ children: item.value
15368
+ }
15369
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
15370
+ "div",
15371
+ {
15372
+ className: `${styles.defaultValue} ${item.valueClassName || ""}`,
15373
+ children: item.value
15374
+ }
15375
+ )
15376
+ ]
15377
+ },
15378
+ index
15379
+ )) }),
15416
15380
  children
15417
15381
  ] })
15418
15382
  ] });
@@ -15501,7 +15465,8 @@ var CardReviewPassenger = ({
15501
15465
  labels,
15502
15466
  title,
15503
15467
  passengers,
15504
- className
15468
+ className,
15469
+ isLoading = false
15505
15470
  }) => {
15506
15471
  const styles = useStyles34();
15507
15472
  const mergedLabels = { ...DEFAULT_LABELS33[language], ...labels };
@@ -15511,7 +15476,13 @@ var CardReviewPassenger = ({
15511
15476
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: displayTitle }),
15512
15477
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { className: styles.titleDivider })
15513
15478
  ] }) }),
15514
- passengers.map((passenger, index) => {
15479
+ isLoading ? Array.from({ length: 2 }).map((_, index) => /* @__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: [
15480
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { children: [
15481
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "180px", height: "18px", marginBottom: "8px" } }),
15482
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "220px", height: "16px" } })
15483
+ ] }) }),
15484
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Skeleton, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "90px", height: "32px" } }) }) })
15485
+ ] }) }) }, index)) : passengers.map((passenger, index) => {
15515
15486
  const badgeConfig = getBadgeConfig(passenger.serviceClass);
15516
15487
  const passengerMeta = `${passenger.ageLabel} \xB7 ${mergedLabels.idNumber} ${passenger.identityNumber}`;
15517
15488
  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: [
@@ -15554,7 +15525,9 @@ var DEFAULT_LABELS34 = {
15554
15525
  addOnLabel: "Add On",
15555
15526
  viewDetail: "Lihat Detail",
15556
15527
  noAddOnsLabel: "Tidak ada layanan",
15557
- serviceLabel: "Layanan"
15528
+ serviceLabel: "Layanan",
15529
+ departureLabel: "Pulang Pergi (Keberangkatan)",
15530
+ returnLabel: "Pulang Pergi (Kepulangan)"
15558
15531
  },
15559
15532
  en: {
15560
15533
  title: "Booking Details",
@@ -15566,7 +15539,9 @@ var DEFAULT_LABELS34 = {
15566
15539
  addOnLabel: "Add On",
15567
15540
  viewDetail: "View Details",
15568
15541
  noAddOnsLabel: "No services",
15569
- serviceLabel: "Service"
15542
+ serviceLabel: "Service",
15543
+ departureLabel: "Round Trip (Departure)",
15544
+ returnLabel: "Round Trip (Return)"
15570
15545
  }
15571
15546
  };
15572
15547
  var useStyles35 = reactComponents.makeStyles({
@@ -15589,59 +15564,211 @@ var useStyles35 = reactComponents.makeStyles({
15589
15564
  alignItems: "center",
15590
15565
  justifyContent: "space-between",
15591
15566
  width: "100%"
15567
+ },
15568
+ badgeLilac: {
15569
+ borderRadius: reactComponents.tokens.borderRadiusXLarge,
15570
+ border: `0px solid ${sharedColors.Shared_Lilac_Tint_40}`,
15571
+ color: sharedColors.Shared_Lilac_Primary,
15572
+ backgroundColor: sharedColors.Shared_Lilac_Tint_60
15573
+ },
15574
+ badgeOrange: {
15575
+ borderRadius: reactComponents.tokens.borderRadiusXLarge,
15576
+ border: `0px solid ${reactComponents.tokens.colorStatusWarningForeground2}`,
15577
+ color: reactComponents.tokens.colorStatusWarningForeground2,
15578
+ backgroundColor: sharedColors.Shared_Orange_Tint_60
15592
15579
  }
15593
15580
  });
15581
+ var TripSection = ({ data, label, badgeClassName, mergedLabels, onViewAddOns }) => {
15582
+ const styles = useStyles35();
15583
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, direction: "column", style: { gap: reactComponents.tokens.spacingHorizontalL }, children: [
15584
+ label && /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
15585
+ reactComponents.Badge,
15586
+ {
15587
+ size: "extra-large",
15588
+ appearance: "tint",
15589
+ shape: "circular",
15590
+ className: badgeClassName,
15591
+ children: label
15592
+ }
15593
+ ) }),
15594
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15595
+ /* @__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: data.from }) }) }),
15596
+ /* @__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: data.to }) }) })
15597
+ ] }) }),
15598
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15599
+ /* @__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: data.scheduleTime }) }) }),
15600
+ /* @__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: data.bookingName }) }) })
15601
+ ] }) }),
15602
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15603
+ /* @__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: data.passengerType }) }) }),
15604
+ /* @__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: [
15605
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: data.addOnsCount === 0 ? mergedLabels.noAddOnsLabel : `${data.addOnsCount} ${data.addOnsCount === 1 ? mergedLabels.serviceLabel : mergedLabels.serviceLabel}` }),
15606
+ data.addOnsCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
15607
+ reactComponents.Button,
15608
+ {
15609
+ appearance: "transparent",
15610
+ onClick: onViewAddOns,
15611
+ style: { color: brandColors[80] },
15612
+ children: mergedLabels.viewDetail
15613
+ }
15614
+ )
15615
+ ] }) }) })
15616
+ ] }) })
15617
+ ] });
15618
+ };
15594
15619
  var CardReviewDetail = ({
15595
15620
  language = "id",
15596
15621
  labels,
15597
- from,
15598
- to,
15599
- scheduleTime,
15600
- bookingName,
15601
- passengerType,
15602
- addOnsCount,
15622
+ departureData,
15623
+ returnData,
15603
15624
  onViewAddOns,
15604
- className
15625
+ className,
15626
+ isLoading = false,
15627
+ isRoundTrip = false
15605
15628
  }) => {
15606
15629
  const styles = useStyles35();
15607
15630
  const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
15608
- return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs(
15631
+ return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs(
15609
15632
  reactGridSystem.Row,
15610
15633
  {
15611
15634
  nogutter: true,
15612
15635
  direction: "column",
15613
15636
  style: { gap: reactComponents.tokens.spacingHorizontalL },
15614
15637
  children: [
15615
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.titleRow, children: [
15616
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
15617
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { style: { width: 0 } })
15618
- ] }) }),
15638
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Skeleton, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "30%", height: "24px" } }) }) }),
15619
15639
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15620
- /* @__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 }) }) }),
15621
- /* @__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 }) }) })
15640
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { children: [
15641
+ /* @__PURE__ */ jsxRuntime.jsx(
15642
+ reactComponents.SkeletonItem,
15643
+ {
15644
+ style: {
15645
+ width: "100%",
15646
+ height: "20px",
15647
+ marginBottom: "8px"
15648
+ }
15649
+ }
15650
+ ),
15651
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "80%", height: "20px" } })
15652
+ ] }) }),
15653
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { children: [
15654
+ /* @__PURE__ */ jsxRuntime.jsx(
15655
+ reactComponents.SkeletonItem,
15656
+ {
15657
+ style: {
15658
+ width: "100%",
15659
+ height: "20px",
15660
+ marginBottom: "8px"
15661
+ }
15662
+ }
15663
+ ),
15664
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "80%", height: "20px" } })
15665
+ ] }) })
15622
15666
  ] }) }),
15623
15667
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15624
- /* @__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 }) }) }),
15625
- /* @__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 }) }) })
15668
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { children: [
15669
+ /* @__PURE__ */ jsxRuntime.jsx(
15670
+ reactComponents.SkeletonItem,
15671
+ {
15672
+ style: {
15673
+ width: "100%",
15674
+ height: "20px",
15675
+ marginBottom: "8px"
15676
+ }
15677
+ }
15678
+ ),
15679
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "80%", height: "20px" } })
15680
+ ] }) }),
15681
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { children: [
15682
+ /* @__PURE__ */ jsxRuntime.jsx(
15683
+ reactComponents.SkeletonItem,
15684
+ {
15685
+ style: {
15686
+ width: "100%",
15687
+ height: "20px",
15688
+ marginBottom: "8px"
15689
+ }
15690
+ }
15691
+ ),
15692
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "80%", height: "20px" } })
15693
+ ] }) })
15626
15694
  ] }) }),
15627
15695
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15628
- /* @__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 }) }) }),
15629
- /* @__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: [
15630
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: addOnsCount === 0 ? mergedLabels.noAddOnsLabel : `${addOnsCount} ${addOnsCount === 1 ? mergedLabels.serviceLabel : mergedLabels.serviceLabel}` }),
15631
- addOnsCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
15632
- reactComponents.Button,
15696
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { children: [
15697
+ /* @__PURE__ */ jsxRuntime.jsx(
15698
+ reactComponents.SkeletonItem,
15633
15699
  {
15634
- appearance: "transparent",
15635
- onClick: onViewAddOns,
15636
- style: { color: brandColors[80] },
15637
- children: mergedLabels.viewDetail
15700
+ style: {
15701
+ width: "100%",
15702
+ height: "20px",
15703
+ marginBottom: "8px"
15704
+ }
15638
15705
  }
15639
- )
15640
- ] }) }) })
15706
+ ),
15707
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "80%", height: "20px" } })
15708
+ ] }) }),
15709
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { children: [
15710
+ /* @__PURE__ */ jsxRuntime.jsx(
15711
+ reactComponents.SkeletonItem,
15712
+ {
15713
+ style: {
15714
+ width: "100%",
15715
+ height: "20px",
15716
+ marginBottom: "8px"
15717
+ }
15718
+ }
15719
+ ),
15720
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "80%", height: "20px" } })
15721
+ ] }) })
15641
15722
  ] }) })
15642
15723
  ]
15643
15724
  }
15644
- ) });
15725
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15726
+ /* @__PURE__ */ jsxRuntime.jsxs(
15727
+ reactGridSystem.Row,
15728
+ {
15729
+ nogutter: true,
15730
+ direction: "column",
15731
+ style: { gap: reactComponents.tokens.spacingHorizontalL },
15732
+ children: [
15733
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.titleRow, children: [
15734
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
15735
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { style: { width: 0 } })
15736
+ ] }) }),
15737
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
15738
+ TripSection,
15739
+ {
15740
+ data: departureData,
15741
+ label: isRoundTrip ? mergedLabels.departureLabel : void 0,
15742
+ badgeClassName: isRoundTrip ? styles.badgeLilac : void 0,
15743
+ mergedLabels,
15744
+ onViewAddOns
15745
+ }
15746
+ ) })
15747
+ ]
15748
+ }
15749
+ ),
15750
+ isRoundTrip && returnData && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15751
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { style: { margin: `${reactComponents.tokens.spacingHorizontalL} 0` } }),
15752
+ /* @__PURE__ */ jsxRuntime.jsx(
15753
+ reactGridSystem.Row,
15754
+ {
15755
+ nogutter: true,
15756
+ direction: "column",
15757
+ style: { gap: reactComponents.tokens.spacingHorizontalL },
15758
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
15759
+ TripSection,
15760
+ {
15761
+ data: returnData,
15762
+ label: mergedLabels.returnLabel,
15763
+ badgeClassName: styles.badgeOrange,
15764
+ mergedLabels,
15765
+ onViewAddOns
15766
+ }
15767
+ ) })
15768
+ }
15769
+ )
15770
+ ] })
15771
+ ] }) });
15645
15772
  };
15646
15773
 
15647
15774
  // src/components/CardPriceDetails/CardPriceDetails.constants.ts
@@ -17424,7 +17551,6 @@ var CardProfileMenu = ({
17424
17551
  };
17425
17552
 
17426
17553
  exports.API_CONFIG = API_CONFIG;
17427
- exports.API_ENDPOINTS = API_ENDPOINTS;
17428
17554
  exports.API_ERROR_MESSAGES = API_ERROR_MESSAGES;
17429
17555
  exports.BackgroundTicketCard = BackgroundTicketCard_default;
17430
17556
  exports.BackgroundTicketCardVertical = BackgroundTicketCardVertical_default;