@asdp/ferryui 0.1.22-dev.8990 → 0.1.22-dev.9111

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.ts CHANGED
@@ -395,6 +395,14 @@ interface CardTicketLabels {
395
395
  logoAlt: string;
396
396
  }
397
397
  interface CardTicketProps {
398
+ /**
399
+ * Route item
400
+ */
401
+ routeItem: RouteItem;
402
+ /**
403
+ * Departure item
404
+ */
405
+ departureItem: DepartureItem;
398
406
  /**
399
407
  * Language for labels
400
408
  * @default 'id'
@@ -404,66 +412,6 @@ interface CardTicketProps {
404
412
  * Custom labels override
405
413
  */
406
414
  labels?: Partial<CardTicketLabels>;
407
- /**
408
- * Ticket ID
409
- */
410
- id: string | number;
411
- /**
412
- * Ship name
413
- */
414
- shipName: string;
415
- /**
416
- * Ship type (e.g., "Ro-Ro", "Fast Ferry")
417
- */
418
- shipType: string;
419
- /**
420
- * Ship type color for badge
421
- */
422
- shipTypeColor?: 'success' | 'danger' | 'warning' | 'important' | 'informative' | 'severe' | 'subtle';
423
- /**
424
- * Tooltip caption for ship type badge
425
- */
426
- tooltipCaption?: string;
427
- /**
428
- * Available seats count
429
- */
430
- availableSeats: number;
431
- /**
432
- * Departure day (e.g., "Senin, 12 Jan 2024")
433
- */
434
- departureDay: string;
435
- /**
436
- * Departure time (e.g., "08:00")
437
- */
438
- departureTime: string;
439
- /**
440
- * Departure location (e.g., "Merak")
441
- */
442
- departureLocation: string;
443
- /**
444
- * Arrival day (e.g., "Senin, 12 Jan 2024")
445
- */
446
- arrivalDay: string;
447
- /**
448
- * Arrival time (e.g., "10:30")
449
- */
450
- arrivalTime: string;
451
- /**
452
- * Arrival location (e.g., "Bakauheni")
453
- */
454
- arrivalLocation: string;
455
- /**
456
- * Duration (e.g., "2 jam 30 menit")
457
- */
458
- duration: string;
459
- /**
460
- * List of facilities
461
- */
462
- facilities: string[];
463
- /**
464
- * Total price in IDR
465
- */
466
- totalPrice: number;
467
415
  /**
468
416
  * Button text for selecting ticket
469
417
  */
@@ -471,7 +419,7 @@ interface CardTicketProps {
471
419
  /**
472
420
  * Callback when price detail button is clicked
473
421
  */
474
- onPriceDetailClick?: () => void;
422
+ onPriceDetailClick: (billingDetail: BillingDetail, provider: Provider) => void;
475
423
  /**
476
424
  * Callback when policy button is clicked
477
425
  */
@@ -481,6 +429,68 @@ interface CardTicketProps {
481
429
  */
482
430
  onSelectTicket?: () => void;
483
431
  }
432
+ interface DepartureItem {
433
+ departureDay: string;
434
+ departureId: string;
435
+ departureTime: string;
436
+ arrivedTime: string;
437
+ arrivedDay: string;
438
+ estimatedSailingMinute: number;
439
+ availableTicket: number;
440
+ provider: Provider;
441
+ currency: string;
442
+ total: PriceSummary;
443
+ billingDetail: BillingDetail;
444
+ routeDetail?: RouteItem;
445
+ prices: {
446
+ passengerTypeId: number;
447
+ passengerTypeName: string;
448
+ passengerServiceId: number;
449
+ passengerServiceName: string;
450
+ price: number;
451
+ }[];
452
+ shipType: string;
453
+ arrivalLocation: string;
454
+ departureLocation: string;
455
+ }
456
+ interface Provider {
457
+ code: string;
458
+ name: string;
459
+ service: string;
460
+ logo: string;
461
+ shipService: string;
462
+ serviceColor: string;
463
+ description: string;
464
+ facilities: string[];
465
+ }
466
+ interface PriceSummary {
467
+ value: number;
468
+ formatted: string;
469
+ }
470
+ interface BillingDetail {
471
+ items: BillingItem[];
472
+ subtotal: PriceSummary;
473
+ discount: PriceSummary;
474
+ total: PriceSummary;
475
+ }
476
+ interface BillingItem {
477
+ category: 'vehicle' | 'passenger' | string;
478
+ title: string;
479
+ subtitle: string;
480
+ quantity: number;
481
+ unitPrice: number;
482
+ formattedUnitPrice: string;
483
+ subTotal: number;
484
+ formattedSubTotal: string;
485
+ }
486
+ interface RouteItem {
487
+ id: string;
488
+ name: string;
489
+ portFrom: string;
490
+ portTo: string;
491
+ branchFrom: string;
492
+ branchTo: string;
493
+ }
484
494
 
485
495
  declare const CardTicket: React$1.FC<CardTicketProps>;
486
496
 
@@ -948,6 +958,10 @@ interface ModalSearchHarborProps {
948
958
  * Current search query value
949
959
  */
950
960
  searchQuery: string;
961
+ /**
962
+ * Show button favorite
963
+ */
964
+ showButtonFavorite?: boolean;
951
965
  /**
952
966
  * Callback when search query changes
953
967
  */
@@ -1229,6 +1243,7 @@ declare const ModalService: React$1.FC<ModalServiceProps>;
1229
1243
  interface PassengerClass {
1230
1244
  id: number;
1231
1245
  classCode: string;
1246
+ className: string;
1232
1247
  classDescription: string;
1233
1248
  maxCapacity: number;
1234
1249
  count?: number;
@@ -1248,23 +1263,26 @@ interface ModalTotalPassengersLabels {
1248
1263
  * Passenger object structure
1249
1264
  */
1250
1265
  interface Passenger {
1251
- isOrderer?: boolean;
1252
- isCompleted?: boolean;
1253
- id?: number;
1254
- title?: string;
1255
- name: string;
1256
- idType?: string;
1257
- idNumber?: string;
1258
- age?: number;
1259
- date?: string;
1260
- category?: string;
1266
+ id: number;
1267
+ isAccountOwner: boolean;
1268
+ titleId: number;
1269
+ titleName: string;
1270
+ fullName: string;
1271
+ identityTypeId: number;
1272
+ countryId: number;
1273
+ countryName: string;
1274
+ identityTypeCode: keyof typeof IDENTITY_TYPE | string;
1275
+ identityId: number;
1276
+ ageId: number;
1277
+ ageLabel: keyof typeof PASSENGER_TYPE | string;
1278
+ birthdate: string;
1279
+ age: number;
1280
+ category: string;
1261
1281
  ticketClass: string;
1262
- cityId?: string;
1263
- phoneNumber?: {
1264
- countryCode: string;
1265
- phoneNumber: string;
1266
- };
1267
- email?: string;
1282
+ regencyId: number;
1283
+ regencyName: string;
1284
+ phoneNumber: string;
1285
+ email: string;
1268
1286
  }
1269
1287
  /**
1270
1288
  * Service with passenger count
@@ -1282,7 +1300,7 @@ interface PassengerType {
1282
1300
  id: number;
1283
1301
  passengerAgeCode: string;
1284
1302
  passengerAgeName: string;
1285
- passengerDescription: string;
1303
+ passengerAgeDescription: string;
1286
1304
  minAge: number;
1287
1305
  maxAge: number;
1288
1306
  isActive: number;
@@ -1377,9 +1395,126 @@ interface ModalTotalPassengersProps {
1377
1395
  */
1378
1396
  declare const ModalTotalPassengers: React$1.FC<ModalTotalPassengersProps>;
1379
1397
 
1398
+ declare const API_ENDPOINTS: {
1399
+ readonly PORTS: {
1400
+ readonly ORIGIN: "/v1/surrounding/catalog/ports/list/origin";
1401
+ readonly DESTINATION: "/v1/surrounding/catalog/ports/list/destination";
1402
+ };
1403
+ readonly SERVICES: {
1404
+ readonly LIST: "/v1/surrounding/catalog/service-types";
1405
+ };
1406
+ readonly PASSENGERS: {
1407
+ readonly LIST: "/v1/surrounding/catalog/passenger-types";
1408
+ };
1409
+ readonly AUTH: {
1410
+ readonly LOGIN: "/v1/surrounding/auth/login";
1411
+ readonly REGISTER: "/auth/register";
1412
+ readonly LOGOUT: "/auth/logout";
1413
+ readonly REFRESH: "/auth/refresh";
1414
+ readonly PROFILE: "/auth/profile";
1415
+ readonly UPDATE_PROFILE: "/auth/profile";
1416
+ readonly CHANGE_PASSWORD: "/auth/change-password";
1417
+ readonly FORGOT_PASSWORD: "/auth/forgot-password";
1418
+ readonly RESET_PASSWORD: "/auth/reset-password";
1419
+ readonly VERIFY_EMAIL: "/auth/verify-email";
1420
+ };
1421
+ readonly USERS: {
1422
+ readonly LIST: "/users";
1423
+ readonly CREATE: "/users";
1424
+ readonly DETAIL: (id: string) => string;
1425
+ readonly UPDATE: (id: string) => string;
1426
+ readonly DELETE: (id: string) => string;
1427
+ readonly AVATAR: (id: string) => string;
1428
+ };
1429
+ readonly FILES: {
1430
+ readonly UPLOAD: "/files/upload";
1431
+ readonly DOWNLOAD: (id: string) => string;
1432
+ readonly DELETE: (id: string) => string;
1433
+ readonly LIST: "/files";
1434
+ };
1435
+ readonly DASHBOARD: {
1436
+ readonly STATS: "/dashboard/stats";
1437
+ readonly CHART_DATA: "/dashboard/chart-data";
1438
+ readonly RECENT_ACTIVITIES: "/dashboard/recent-activities";
1439
+ };
1440
+ readonly NOTIFICATIONS: {
1441
+ readonly LIST: "/notifications";
1442
+ readonly MARK_READ: (id: string) => string;
1443
+ readonly MARK_ALL_READ: "/notifications/read-all";
1444
+ readonly DELETE: (id: string) => string;
1445
+ readonly SETTINGS: "/notifications/settings";
1446
+ };
1447
+ readonly SETTINGS: {
1448
+ readonly GENERAL: "/settings/general";
1449
+ readonly SECURITY: "/settings/security";
1450
+ readonly PREFERENCES: "/settings/preferences";
1451
+ };
1452
+ };
1453
+ declare const API_CONFIG: {
1454
+ readonly TIMEOUT: 30000;
1455
+ readonly RETRY_ATTEMPTS: 3;
1456
+ readonly RETRY_DELAY: 1000;
1457
+ readonly CACHE_TIME: number;
1458
+ readonly STALE_TIME: number;
1459
+ };
1460
+ declare const API_ERROR_MESSAGES: {
1461
+ readonly NETWORK_ERROR: "Network error occurred. Please check your connection.";
1462
+ readonly TIMEOUT_ERROR: "Request timeout. Please try again.";
1463
+ readonly UNAUTHORIZED: "You are not authorized to perform this action.";
1464
+ readonly FORBIDDEN: "Access denied.";
1465
+ readonly NOT_FOUND: "Resource not found.";
1466
+ readonly SERVER_ERROR: "Internal server error. Please try again later.";
1467
+ readonly VALIDATION_ERROR: "Please check your input and try again.";
1468
+ readonly TOKEN_EXPIRED: "Your session has expired. Please login again.";
1469
+ readonly RATE_LIMIT: "Too many requests. Please try again later.";
1470
+ };
1471
+ declare const HTTP_STATUS: {
1472
+ readonly OK: 200;
1473
+ readonly CREATED: 201;
1474
+ readonly NO_CONTENT: 204;
1475
+ readonly BAD_REQUEST: 400;
1476
+ readonly UNAUTHORIZED: 401;
1477
+ readonly FORBIDDEN: 403;
1478
+ readonly NOT_FOUND: 404;
1479
+ readonly CONFLICT: 409;
1480
+ readonly UNPROCESSABLE_ENTITY: 422;
1481
+ readonly TOO_MANY_REQUESTS: 429;
1482
+ readonly INTERNAL_SERVER_ERROR: 500;
1483
+ readonly BAD_GATEWAY: 502;
1484
+ readonly SERVICE_UNAVAILABLE: 503;
1485
+ };
1486
+ declare const PASSENGER_TYPE: {
1487
+ readonly ADULT: 1;
1488
+ readonly CHILD: 2;
1489
+ readonly INFANT: 3;
1490
+ readonly ELDERLY: 5;
1491
+ };
1492
+ type PASSENGER_TYPE_TYPE = typeof PASSENGER_TYPE[keyof typeof PASSENGER_TYPE];
1493
+ declare const IDENTITY_TYPE: {
1494
+ readonly KTP: 1;
1495
+ readonly SIM: 2;
1496
+ readonly PSP: 3;
1497
+ readonly TGL: 4;
1498
+ };
1499
+ type IDENTITY_TYPE_TYPE = typeof IDENTITY_TYPE[keyof typeof IDENTITY_TYPE];
1500
+ declare const LOAD_TYPE: {
1501
+ readonly PEDESTRIAN: 1;
1502
+ readonly MOTORBIKE: 2;
1503
+ readonly PASSENGER_VEHICLE: 3;
1504
+ readonly GOODS_VEHICLE: 4;
1505
+ readonly LOOSE_LOAD_WITH_VEHICLE: 5;
1506
+ readonly LOOSE_LOAD_WITHOUT_VEHICLE: 6;
1507
+ };
1508
+ type LOAD_TYPE_TYPE = typeof LOAD_TYPE[keyof typeof LOAD_TYPE];
1509
+ declare const GENDER: {
1510
+ readonly MALE: "M";
1511
+ readonly FEMALE: "F";
1512
+ };
1513
+ type GENDER_TYPE = typeof GENDER[keyof typeof GENDER];
1514
+
1380
1515
  interface TypeOfServiceChild {
1381
1516
  id: number;
1382
- loadType: number;
1517
+ loadType: LOAD_TYPE_TYPE;
1383
1518
  group: number;
1384
1519
  title: string;
1385
1520
  info: string;
@@ -1391,7 +1526,7 @@ interface TypeOfServiceChild {
1391
1526
  */
1392
1527
  interface TypeOfService {
1393
1528
  id: number;
1394
- loadType: number;
1529
+ loadType: LOAD_TYPE_TYPE;
1395
1530
  group: number;
1396
1531
  title: string;
1397
1532
  info: string;
@@ -2112,7 +2247,6 @@ declare const CardOrdererInfo: React$1.FC<CardOrdererInfoProps>;
2112
2247
 
2113
2248
  interface ModalListPassengerLabels {
2114
2249
  title: string;
2115
- sameAsOrderer: string;
2116
2250
  searchPlaceholder: string;
2117
2251
  addPassengerButton: string;
2118
2252
  cancelButton: string;
@@ -2132,11 +2266,11 @@ interface PassengerItem {
2132
2266
  /**
2133
2267
  * Passenger name
2134
2268
  */
2135
- name?: string;
2269
+ fullName?: string;
2136
2270
  /**
2137
2271
  * Passenger category/type (e.g., "ADULT", "CHILD", "INFANT")
2138
2272
  */
2139
- category?: string;
2273
+ ageLabel?: string;
2140
2274
  /**
2141
2275
  * Whether the passenger data is completed
2142
2276
  */
@@ -2183,11 +2317,9 @@ interface ModalListPassengerProps {
2183
2317
  /**
2184
2318
  * Whether "Sama Dengan Pemesan" is checked
2185
2319
  */
2186
- sameAsOrderer: boolean;
2187
2320
  /**
2188
2321
  * Callback when "Sama Dengan Pemesan" switch changes
2189
2322
  */
2190
- onSameAsOrdererChange: (checked: boolean) => void;
2191
2323
  /**
2192
2324
  * Language for labels
2193
2325
  * @default 'id'
@@ -2257,6 +2389,10 @@ interface ModalPassengerFormLabels {
2257
2389
  countryLabel: string;
2258
2390
  countryPlaceholder: string;
2259
2391
  autofill: string;
2392
+ phoneNumberLabel: string;
2393
+ phoneNumberPlaceholder: string;
2394
+ emailLabel: string;
2395
+ emailPlaceholder: string;
2260
2396
  selectIdTypeTitle: string;
2261
2397
  scanIdentityTitle: string;
2262
2398
  scanInstructions1: string;
@@ -2286,9 +2422,16 @@ interface ModalPassengerFormLabels {
2286
2422
  requiredDate: string;
2287
2423
  requiredCity: string;
2288
2424
  requiredCountry: string;
2425
+ requiredPhoneNumber: string;
2426
+ minLengthPhoneNumber: string;
2427
+ invalidEmail: string;
2289
2428
  };
2290
2429
  }
2291
2430
  interface PassengerFormData {
2431
+ /**
2432
+ * Passenger ID (for edit mode)
2433
+ */
2434
+ id?: number;
2292
2435
  /**
2293
2436
  * Passenger title (Tuan, Nyonya, Nona)
2294
2437
  */
@@ -2302,21 +2445,21 @@ interface PassengerFormData {
2302
2445
  */
2303
2446
  idType?: string;
2304
2447
  /**
2305
- * ID number - for adults only
2448
+ * identityId
2306
2449
  */
2307
2450
  idNumber?: string;
2308
2451
  /**
2309
- * Age - for adults only
2452
+ * Age
2310
2453
  */
2311
- age?: number;
2454
+ age?: string;
2312
2455
  /**
2313
2456
  * Birth date - for children/infants only
2314
2457
  */
2315
- date?: string;
2458
+ birthdate?: string;
2316
2459
  /**
2317
- * City ID
2460
+ * Regency ID
2318
2461
  */
2319
- cityId?: string;
2462
+ regencyId?: string;
2320
2463
  /**
2321
2464
  * Ticket class
2322
2465
  */
@@ -2325,14 +2468,6 @@ interface PassengerFormData {
2325
2468
  * Category (ADULT, CHILD, INFANT, ELDERLY)
2326
2469
  */
2327
2470
  category?: string;
2328
- /**
2329
- * Whether the form is completed
2330
- */
2331
- isCompleted?: boolean;
2332
- /**
2333
- * Passenger ID (for edit mode)
2334
- */
2335
- id?: number;
2336
2471
  /**
2337
2472
  * Country code (ISO 3166-1 alpha-2) - for passport holders
2338
2473
  */
@@ -2488,6 +2623,10 @@ interface CardVehicleDetailProps {
2488
2623
  * React Hook Form control
2489
2624
  */
2490
2625
  control: Control<any>;
2626
+ /**
2627
+ * Disable edit vehicle detail
2628
+ */
2629
+ disabled: boolean;
2491
2630
  /**
2492
2631
  * Name of the form field for vehicle number
2493
2632
  * @default "vehicleNumber"
@@ -2558,6 +2697,10 @@ interface CardVehicleOwnerFormProps {
2558
2697
  * React Hook Form control
2559
2698
  */
2560
2699
  control: Control<any>;
2700
+ /**
2701
+ * Disable edit
2702
+ */
2703
+ disabled: boolean;
2561
2704
  /**
2562
2705
  * React Hook Form watch function
2563
2706
  */
@@ -2595,15 +2738,45 @@ interface CardVehicleOwnerFormProps {
2595
2738
  */
2596
2739
  onUpdateCargoQuantity: (ownerId: number, cargoId: number, quantity: number) => void;
2597
2740
  /**
2598
- * Options for company select inputs
2741
+ * Options for company sender select inputs
2742
+ */
2743
+ companySenderOptions?: SelectOption[];
2744
+ /**
2745
+ * Options for company owner select inputs
2599
2746
  */
2600
- companyOptions?: SelectOption[];
2747
+ companyOwnerOptions?: SelectOption[];
2748
+ /**
2749
+ * Options for company logistics select inputs
2750
+ */
2751
+ companyLogisticsOptions?: SelectOption[];
2752
+ /**
2753
+ * Options for company receiver select inputs
2754
+ */
2755
+ companyReceiverOptions?: SelectOption[];
2601
2756
  /**
2602
2757
  * Options for city select inputs
2758
+ */
2759
+ cityOriginOptions?: SelectOption[];
2603
2760
  /**
2604
2761
  * Options for city select inputs
2605
- * @default [] */
2606
- cityOptions?: SelectOption[];
2762
+ */
2763
+ cityDestinationOptions?: SelectOption[];
2764
+ /**
2765
+ * Options for commodity select inputs
2766
+ */
2767
+ commodityOptions?: SelectOption[];
2768
+ /**
2769
+ * Options for load type select inputs
2770
+ */
2771
+ loadTypeOptions?: SelectOption[];
2772
+ /**
2773
+ * Options for industry select inputs
2774
+ */
2775
+ industryOptions?: SelectOption[];
2776
+ /**
2777
+ * Options for load category select inputs
2778
+ */
2779
+ loadCategoryOptions?: SelectOption[];
2607
2780
  /**
2608
2781
  * Language for labels
2609
2782
  * @default 'id'
@@ -2694,6 +2867,10 @@ interface CardBookingTicketProps {
2694
2867
  * Custom labels override
2695
2868
  */
2696
2869
  labels?: Partial<CardBookingTicketLabels>;
2870
+ /**
2871
+ * Provider Logo
2872
+ */
2873
+ providerLogo?: string;
2697
2874
  /**
2698
2875
  * Ship Name (e.g. KMP PORTLINK)
2699
2876
  */
@@ -2705,7 +2882,7 @@ interface CardBookingTicketProps {
2705
2882
  /**
2706
2883
  * Badge color for ship type
2707
2884
  */
2708
- shipTypeColor?: 'brand' | 'danger' | 'important' | 'informative' | 'severe' | 'subtle' | 'success' | 'warning';
2885
+ shipTypeColor?: string;
2709
2886
  /**
2710
2887
  * Departure Day (e.g. Kamis, 25 Sep)
2711
2888
  */
@@ -2733,7 +2910,7 @@ interface CardBookingTicketProps {
2733
2910
  /**
2734
2911
  * Duration string (e.g. 1 jam 10 menit)
2735
2912
  */
2736
- duration?: string;
2913
+ duration?: number;
2737
2914
  /**
2738
2915
  * Total price formatted string (e.g. 50.000)
2739
2916
  */
@@ -2898,6 +3075,7 @@ interface CardMealCatalogLabels {
2898
3075
  currencySymbol: string;
2899
3076
  decrementAriaLabel: string;
2900
3077
  incrementAriaLabel: string;
3078
+ searchPlaceholder: string;
2901
3079
  }
2902
3080
  interface MealItem {
2903
3081
  id: number;
@@ -2950,6 +3128,14 @@ interface CardMealCatalogProps {
2950
3128
  * Optional class name
2951
3129
  */
2952
3130
  className?: string;
3131
+ /**
3132
+ * Current search value
3133
+ */
3134
+ searchValue?: string;
3135
+ /**
3136
+ * Callback when search value changes
3137
+ */
3138
+ onSearchChange?: (value: string) => void;
2953
3139
  }
2954
3140
 
2955
3141
  declare const CardMealCatalog: React$1.FC<CardMealCatalogProps>;
@@ -3361,4 +3547,17 @@ interface CardProfileMenuProps {
3361
3547
 
3362
3548
  declare const CardProfileMenu: React$1.FC<CardProfileMenuProps>;
3363
3549
 
3364
- export { BackgroundTicketCard, BackgroundTicketCardVertical, type BadgeConfig, COUNTRIES, CardAddon, type CardAddonProps, CardBanner, type CardBannerProps, CardBookingTicket, type CardBookingTicketProps, CardFAQ, type CardFAQProps, CardMealCatalog, type CardMealCatalogProps, CardOrdererInfo, type CardOrdererInfoProps, CardPassengerList, type CardPassengerListProps, CardPaymentGuide, type CardPaymentGuideProps, CardPaymentInfo, type CardPaymentInfoProps, CardPaymentMethodList, type CardPaymentMethodListProps, CardPriceDetails, type CardPriceDetailsProps, CardProfileMenu, type CardProfileMenuLabels, type CardProfileMenuProps, CardPromo, type CardPromoProps, CardReview, CardReviewPassenger, type CardReviewPassengerProps, type CardReviewProps, CardServiceMenu, type CardServiceMenuProps, CardStatusOrder, type CardStatusOrderProps, CardTicket, type CardTicketProps, CardTicketSearch, DEFAULT_LABELS$3 as CardTicketSearchDefaultLabels, type CardTicketSearchFormData, type CardTicketSearchLabels, type CardTicketSearchProps, type ServiceMenuItem as CardTicketSearchServiceMenuItem, CardTicketSearchSummary, DEFAULT_LABELS$2 as CardTicketSearchSummaryDefaultLabels, type CardTicketSearchSummaryProps, CardVehicleDetail, type CardVehicleDetailProps, CardVehicleOwnerForm, type CardVehicleOwnerFormProps, type CargoItem, CarouselWithCustomNav, type CarouselWithCustomNavProps, type CountryOption, DEFAULT_DURATION_RANGE, DEFAULT_PRICE_RANGE, DEFAULT_SCROLL_AMOUNT, DEFAULT_SERVICE_TYPES, DEFAULT_SORT_OPTIONS, DEFAULT_TIME_SLOTS, DEFAULT_VEHICLE_ICONS, DateFilter, DEFAULT_LABELS as DateFilterDefaultLabels, type DateFilterLabels, type DateFilterProps, type DateItem, FileUpload, type FileUploadProps, type FilterCount, type HarborItem, InputDynamic, type InputDynamicProps, type InputType, MODAL_PRESETS, type MealCategory, type MealItem, ModalFilterTicket, DEFAULT_LABELS$1 as ModalFilterTicketDefaultLabels, type ModalFilterTicketLabels, type ModalFilterTicketProps, ModalIllustration, type ModalIllustrationButton, type ModalIllustrationProps, ModalListPassenger, type PassengerItem as ModalListPassengerItem, type ModalListPassengerProps, ModalPassengerForm, type ModalPassengerFormProps, type ModalPresetKey, ModalPriceDetail, type ModalPriceDetailProps, ModalSearchHarbor, type ModalSearchHarborProps, ModalSearchTicket, type ModalSearchTicketProps, ModalSelectDate, type ModalSelectDateProps, ModalService, type ModalServiceProps, ModalTotalPassengers, type ModalTotalPassengersProps, ModalTypeOfService, type ModalTypeOfServiceProps, type Passenger, type PassengerClass, type PassengerFormData, type PassengerListItem, type PassengerService, type PassengerType, type PaymentGuideStep, type PaymentMethodCategory, type PaymentStep, type PriceDetailItem, type ProfileMenuSection, type ProfileMenuTab, type RadioOption, type ReservationStep, type ReviewPassengerItem, type SearchSummaryField, type SearchTicketFormData, type SelectOption, type SelectedPassengerItem, type ServiceId, type ServiceItem, SortMenu, type SortMenuProps, type SortOption, type StepStatus, Stepper, type StepperProps, type StepperStep, type TabType, type TypeOfService, type VehicleOwner, getBadgeConfig, getModalPreset, getSortLabel };
3550
+ interface ModalPreviewImageProps {
3551
+ /** Whether the modal is open */
3552
+ open: boolean;
3553
+ /** Callback when the modal open state changes */
3554
+ onOpenChange: (open: boolean) => void;
3555
+ /** The image URL to preview */
3556
+ imageUrl: string | null;
3557
+ /** Alt text for the preview image */
3558
+ alt?: string;
3559
+ }
3560
+
3561
+ declare const ModalPreviewImage: React$1.FC<ModalPreviewImageProps>;
3562
+
3563
+ export { API_CONFIG, API_ENDPOINTS, API_ERROR_MESSAGES, BackgroundTicketCard, BackgroundTicketCardVertical, type BadgeConfig, type BillingDetail, COUNTRIES, CardAddon, type CardAddonProps, CardBanner, type CardBannerProps, CardBookingTicket, type CardBookingTicketProps, CardFAQ, type CardFAQProps, CardMealCatalog, type CardMealCatalogProps, CardOrdererInfo, type CardOrdererInfoProps, CardPassengerList, type CardPassengerListProps, CardPaymentGuide, type CardPaymentGuideProps, CardPaymentInfo, type CardPaymentInfoProps, CardPaymentMethodList, type CardPaymentMethodListProps, CardPriceDetails, type CardPriceDetailsProps, CardProfileMenu, type CardProfileMenuLabels, type CardProfileMenuProps, CardPromo, type CardPromoProps, CardReview, CardReviewPassenger, type CardReviewPassengerProps, type CardReviewProps, CardServiceMenu, type CardServiceMenuProps, CardStatusOrder, type CardStatusOrderProps, CardTicket, type CardTicketProps, CardTicketSearch, DEFAULT_LABELS$3 as CardTicketSearchDefaultLabels, type CardTicketSearchFormData, type CardTicketSearchLabels, type CardTicketSearchProps, type ServiceMenuItem as CardTicketSearchServiceMenuItem, CardTicketSearchSummary, DEFAULT_LABELS$2 as CardTicketSearchSummaryDefaultLabels, type CardTicketSearchSummaryProps, CardVehicleDetail, type CardVehicleDetailProps, CardVehicleOwnerForm, type CardVehicleOwnerFormProps, type CargoItem, CarouselWithCustomNav, type CarouselWithCustomNavProps, type CountryOption, DEFAULT_DURATION_RANGE, DEFAULT_PRICE_RANGE, DEFAULT_SCROLL_AMOUNT, DEFAULT_SERVICE_TYPES, DEFAULT_SORT_OPTIONS, DEFAULT_TIME_SLOTS, DEFAULT_VEHICLE_ICONS, DateFilter, DEFAULT_LABELS as DateFilterDefaultLabels, type DateFilterLabels, type DateFilterProps, type DateItem, type DepartureItem, FileUpload, type FileUploadProps, type FilterCount, GENDER, type GENDER_TYPE, HTTP_STATUS, type HarborItem, IDENTITY_TYPE, type IDENTITY_TYPE_TYPE, InputDynamic, type InputDynamicProps, type InputType, LOAD_TYPE, type LOAD_TYPE_TYPE, MODAL_PRESETS, type MealCategory, type MealItem, ModalFilterTicket, DEFAULT_LABELS$1 as ModalFilterTicketDefaultLabels, type ModalFilterTicketLabels, type ModalFilterTicketProps, ModalIllustration, type ModalIllustrationButton, type ModalIllustrationProps, ModalListPassenger, type PassengerItem as ModalListPassengerItem, type ModalListPassengerProps, ModalPassengerForm, type ModalPassengerFormProps, type ModalPresetKey, ModalPreviewImage, type ModalPreviewImageProps, ModalPriceDetail, type ModalPriceDetailProps, ModalSearchHarbor, type ModalSearchHarborProps, ModalSearchTicket, type ModalSearchTicketProps, ModalSelectDate, type ModalSelectDateProps, ModalService, type ModalServiceProps, ModalTotalPassengers, type ModalTotalPassengersProps, ModalTypeOfService, type ModalTypeOfServiceProps, PASSENGER_TYPE, type PASSENGER_TYPE_TYPE, type Passenger, type PassengerClass, type PassengerFormData, type PassengerListItem, type PassengerService, type PassengerType, type PaymentGuideStep, type PaymentMethodCategory, type PaymentStep, type PriceDetailItem, type ProfileMenuSection, type ProfileMenuTab, type Provider, type RadioOption, type ReservationStep, type ReviewPassengerItem, type RouteItem, type SearchSummaryField, type SearchTicketFormData, type SelectOption, type SelectedPassengerItem, type ServiceId, type ServiceItem, SortMenu, type SortMenuProps, type SortOption, type StepStatus, Stepper, type StepperProps, type StepperStep, type TabType, type TypeOfService, type VehicleOwner, getBadgeConfig, getModalPreset, getSortLabel };