@asdp/ferryui 0.1.22-dev.8633 → 0.1.22-dev.8649

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
@@ -3,6 +3,13 @@ import { CarouselAnnouncerFunction, DialogProps } from '@fluentui/react-componen
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { FieldValues, Path, Control, UseFormWatch, UseFormSetValue, UseFormGetValues } from 'react-hook-form';
5
5
 
6
+ type Language = 'id' | 'en';
7
+
8
+ interface ModalIllustrationLabels {
9
+ defaultImageAlt: string;
10
+ defaultTitle: string;
11
+ defaultButtonText: string;
12
+ }
6
13
  interface ModalIllustrationButton {
7
14
  /**
8
15
  * Button text
@@ -69,58 +76,96 @@ interface ModalIllustrationProps {
69
76
  * If provided, buttons will be displayed side by side
70
77
  */
71
78
  secondaryButton?: ModalIllustrationButton;
79
+ /**
80
+ * Language for labels
81
+ * @default 'id'
82
+ */
83
+ language?: Language;
84
+ /**
85
+ * Custom labels override
86
+ */
87
+ labels?: Partial<ModalIllustrationLabels>;
72
88
  }
89
+
73
90
  declare const ModalIllustration: React$1.FC<ModalIllustrationProps>;
74
91
 
75
- /**
76
- * Preset configurations for common modal use cases
77
- */
78
- declare const MODAL_PRESETS: {
79
- /**
80
- * Modal for radius/location restriction
81
- */
92
+ declare const PRESET_CONTENT: {
82
93
  readonly RADIUS: {
83
- readonly title: "Anda berada di luar area pemesanan";
84
- readonly message: "Pemesanan tiket tidak dapat dilakukan dari lokasi Anda saat ini. Fitur pembatasan wilayah sedang aktif untuk mencegah pemesanan tidak sah.";
85
- readonly imageSrc: "/assets/images/illustrations/radius.svg";
86
- readonly imageAlt: "Radius Limitation Illustration";
94
+ readonly id: {
95
+ readonly title: "Anda berada di luar area pemesanan";
96
+ readonly message: "Pemesanan tiket tidak dapat dilakukan dari lokasi Anda saat ini. Fitur pembatasan wilayah sedang aktif untuk mencegah pemesanan tidak sah.";
97
+ readonly imageSrc: "/assets/images/illustrations/radius.svg";
98
+ readonly imageAlt: "Radius Limitation Illustration";
99
+ };
100
+ readonly en: {
101
+ readonly title: "You are outside the booking area";
102
+ readonly message: "Ticket booking cannot be done from your current location. Location restriction feature is active to prevent unauthorized booking.";
103
+ readonly imageSrc: "/assets/images/illustrations/radius.svg";
104
+ readonly imageAlt: "Radius Limitation Illustration";
105
+ };
87
106
  };
88
- /**
89
- * Modal for expired session
90
- */
91
107
  readonly SESSION_EXPIRED: {
92
- readonly title: "Sesi anda telah berakhir";
93
- readonly message: "Waktu sesi Anda telah habis untuk alasan keamanan. Silakan klik tombol dibawah untuk masuk kembali.";
94
- readonly imageSrc: "/assets/images/illustrations/sessionexp.svg";
95
- readonly imageAlt: "Session Expired Illustration";
108
+ readonly id: {
109
+ readonly title: "Sesi anda telah berakhir";
110
+ readonly message: "Waktu sesi Anda telah habis untuk alasan keamanan. Silakan klik tombol dibawah untuk masuk kembali.";
111
+ readonly imageSrc: "/assets/images/illustrations/sessionexp.svg";
112
+ readonly imageAlt: "Session Expired Illustration";
113
+ };
114
+ readonly en: {
115
+ readonly title: "Your session has expired";
116
+ readonly message: "Your session time has run out for security reasons. Please click the button below to sign in again.";
117
+ readonly imageSrc: "/assets/images/illustrations/sessionexp.svg";
118
+ readonly imageAlt: "Session Expired Illustration";
119
+ };
96
120
  };
97
- /**
98
- * Modal for purchase period expired
99
- */
100
121
  readonly PURCHASE_PERIOD_EXPIRED: {
101
- readonly title: "Waktu pembelian telah berakhir";
102
- readonly message: "Pemesanan tiket ditutup 1 jam sebelum jadwal keberangkatan. Silakan pilih jadwal keberangkatan lain yang masih tersedia.";
103
- readonly imageSrc: "/assets/images/illustrations/pay.svg";
104
- readonly imageAlt: "Purchase Period Expired Illustration";
122
+ readonly id: {
123
+ readonly title: "Waktu pembelian telah berakhir";
124
+ readonly message: "Pemesanan tiket ditutup 1 jam sebelum jadwal keberangkatan. Silakan pilih jadwal keberangkatan lain yang masih tersedia.";
125
+ readonly imageSrc: "/assets/images/illustrations/pay.svg";
126
+ readonly imageAlt: "Purchase Period Expired Illustration";
127
+ };
128
+ readonly en: {
129
+ readonly title: "Purchase period has expired";
130
+ readonly message: "Ticket booking closes 1 hour before departure schedule. Please choose another available departure schedule.";
131
+ readonly imageSrc: "/assets/images/illustrations/pay.svg";
132
+ readonly imageAlt: "Purchase Period Expired Illustration";
133
+ };
105
134
  };
106
- /**
107
- * Modal for transaction limit reached
108
- */
109
135
  readonly TRANSACTION_LIMIT: {
110
- readonly title: "Anda mencapai batas transaksi tertunda";
111
- readonly message: "Anda telah mencapai batas transaksi tertunda. Pemesanan dapat dilakukan kembali setelah transaksi sebelumnya diselesaikan.";
112
- readonly imageSrc: "/assets/images/illustrations/mobile-pay.svg";
113
- readonly imageAlt: "Transaction Limit Illustration";
136
+ readonly id: {
137
+ readonly title: "Anda mencapai batas transaksi tertunda";
138
+ readonly message: "Anda telah mencapai batas transaksi tertunda. Pemesanan dapat dilakukan kembali setelah transaksi sebelumnya diselesaikan.";
139
+ readonly imageSrc: "/assets/images/illustrations/mobile-pay.svg";
140
+ readonly imageAlt: "Transaction Limit Illustration";
141
+ };
142
+ readonly en: {
143
+ readonly title: "Pending transaction limit reached";
144
+ readonly message: "You have reached the pending transaction limit. Booking can be done again after the previous transaction is completed.";
145
+ readonly imageSrc: "/assets/images/illustrations/mobile-pay.svg";
146
+ readonly imageAlt: "Transaction Limit Illustration";
147
+ };
114
148
  };
115
149
  };
150
+
116
151
  /**
117
152
  * Type for preset keys
118
153
  */
119
- type ModalPresetKey = keyof typeof MODAL_PRESETS;
154
+ type ModalPresetKey = keyof typeof PRESET_CONTENT;
120
155
  /**
121
156
  * Helper function to get preset configuration
122
157
  */
123
- declare const getModalPreset: (presetKey: ModalPresetKey) => Partial<ModalIllustrationProps>;
158
+ declare const getModalPreset: (presetKey: ModalPresetKey, language?: Language) => Partial<ModalIllustrationProps>;
159
+ /**
160
+ * @deprecated Use getModalPreset instead
161
+ * Preset configurations for common modal use cases (defaults to ID)
162
+ */
163
+ declare const MODAL_PRESETS: {
164
+ readonly RADIUS: Partial<ModalIllustrationProps>;
165
+ readonly SESSION_EXPIRED: Partial<ModalIllustrationProps>;
166
+ readonly PURCHASE_PERIOD_EXPIRED: Partial<ModalIllustrationProps>;
167
+ readonly TRANSACTION_LIMIT: Partial<ModalIllustrationProps>;
168
+ };
124
169
 
125
170
  interface CarouselWithCustomNavProps {
126
171
  /**
@@ -181,8 +226,6 @@ interface CarouselWithCustomNavProps {
181
226
  }
182
227
  declare const CarouselWithCustomNav: React$1.FC<CarouselWithCustomNavProps>;
183
228
 
184
- type Language = 'id' | 'en';
185
-
186
229
  interface CardPromoLabels {
187
230
  defaultImageAlt: string;
188
231
  defaultButtonText: string;
@@ -259,6 +302,11 @@ interface CardPromoProps {
259
302
 
260
303
  declare const CardPromo: React$1.FC<CardPromoProps>;
261
304
 
305
+ interface CardBannerLabels {
306
+ bannerAriaLabel: string;
307
+ bannerAriaLabelSingle: string;
308
+ loadingBanner: string;
309
+ }
262
310
  interface CardBannerProps {
263
311
  /**
264
312
  * Banner image URL
@@ -284,7 +332,17 @@ interface CardBannerProps {
284
332
  * Loading state
285
333
  */
286
334
  isLoading?: boolean;
335
+ /**
336
+ * Language for accessibility labels
337
+ * @default 'id'
338
+ */
339
+ language?: 'id' | 'en';
340
+ /**
341
+ * Custom labels override
342
+ */
343
+ labels?: Partial<CardBannerLabels>;
287
344
  }
345
+
288
346
  declare const CardBanner: React$1.FC<CardBannerProps>;
289
347
 
290
348
  interface CardTicketLabels {
@@ -399,79 +457,19 @@ declare const BackgroundTicketCard: (props: React$1.SVGProps<SVGSVGElement>) =>
399
457
  */
400
458
  declare const BackgroundTicketCardVertical: (props: React$1.SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
401
459
 
402
- declare const SERVICE_MENU_ITEMS: {
403
- readonly ferry: {
404
- readonly id: "ferry";
405
- readonly logo: "/assets/images/icons/ferry.svg";
406
- readonly labels: {
407
- readonly id: {
408
- readonly label: "Ferry";
409
- readonly description: "Layanan penyeberangan ferry ASDP";
410
- };
411
- readonly en: {
412
- readonly label: "Ferry";
413
- readonly description: "ASDP Ferry Crossing Service";
414
- };
415
- };
416
- };
417
- readonly ifcs: {
418
- readonly id: "ifcs";
419
- readonly logo: "/assets/logo/asdp-default.svg";
420
- readonly labels: {
421
- readonly id: {
422
- readonly label: "IFCS";
423
- readonly description: "Integrated Ferry Control System";
424
- };
425
- readonly en: {
426
- readonly label: "IFCS";
427
- readonly description: "Integrated Ferry Control System";
428
- };
429
- };
430
- };
431
- readonly skpt: {
432
- readonly id: "skpt";
433
- readonly logo: "/assets/logo/asdp-default.svg";
434
- readonly labels: {
435
- readonly id: {
436
- readonly label: "SKPT";
437
- readonly description: "Sistem Karcis Penumpang Terpadu";
438
- };
439
- readonly en: {
440
- readonly label: "SKPT";
441
- readonly description: "Integrated Passenger Ticketing System";
442
- };
443
- };
444
- };
445
- readonly hotel: {
446
- readonly id: "hotel";
447
- readonly logo: "/assets/images/icons/hotel.svg";
448
- readonly labels: {
449
- readonly id: {
450
- readonly label: "Hotel";
451
- readonly description: "Layanan pemesanan hotel";
452
- };
453
- readonly en: {
454
- readonly label: "Hotel";
455
- readonly description: "Hotel Booking Service";
456
- };
457
- };
458
- };
459
- readonly other: {
460
- readonly id: "other";
461
- readonly logo: "/assets/images/icons/other.svg";
462
- readonly labels: {
463
- readonly id: {
464
- readonly label: "Lainnya";
465
- readonly description: "Layanan lainnya";
466
- };
467
- readonly en: {
468
- readonly label: "Other";
469
- readonly description: "Other Services";
470
- };
471
- };
472
- };
473
- };
474
- type ServiceId = keyof typeof SERVICE_MENU_ITEMS;
460
+ type ServiceId = 'ferry' | 'ifcs' | 'skpt' | 'hotel' | 'other';
461
+ interface CardServiceMenuLabels {
462
+ ferryLabel: string;
463
+ ferryDescription: string;
464
+ ifcsLabel: string;
465
+ ifcsDescription: string;
466
+ skptLabel: string;
467
+ skptDescription: string;
468
+ hotelLabel: string;
469
+ hotelDescription: string;
470
+ otherLabel: string;
471
+ otherDescription: string;
472
+ }
475
473
  interface CardServiceMenuProps {
476
474
  /**
477
475
  * Currently active service ID
@@ -496,7 +494,12 @@ interface CardServiceMenuProps {
496
494
  * Custom className for the card
497
495
  */
498
496
  className?: string;
497
+ /**
498
+ * Custom labels override
499
+ */
500
+ labels?: Partial<CardServiceMenuLabels>;
499
501
  }
502
+
500
503
  declare const CardServiceMenu: React$1.FC<CardServiceMenuProps>;
501
504
 
502
505
  interface ServiceMenuItem {
@@ -755,6 +758,23 @@ interface InputDynamicProps<T extends FieldValues = FieldValues> {
755
758
  onInput?: (e: React.FormEvent<HTMLInputElement>) => void;
756
759
  contentAfter?: React.ReactNode;
757
760
  onChange?: (value: any) => void;
761
+ /**
762
+ * Language for labels
763
+ * @default 'id'
764
+ */
765
+ language?: 'id' | 'en';
766
+ /**
767
+ * Custom labels override
768
+ */
769
+ labels?: Partial<InputDynamicLabels>;
770
+ }
771
+ interface InputDynamicLabels {
772
+ emailOrPhonePlaceholder: string;
773
+ emailPlaceholder: string;
774
+ phonePlaceholder: string;
775
+ identityPlaceholder: string;
776
+ identityPhonePlaceholder: string;
777
+ identityIdPlaceholder: string;
758
778
  }
759
779
 
760
780
  declare const InputDynamic: React$1.FC<InputDynamicProps>;
@@ -1027,6 +1047,13 @@ interface ServiceItem {
1027
1047
  */
1028
1048
  serviceDescription: string;
1029
1049
  }
1050
+ interface ModalServiceLabels {
1051
+ title: string;
1052
+ loading: string;
1053
+ error: string;
1054
+ selectAll: string;
1055
+ saveButton: string;
1056
+ }
1030
1057
  /**
1031
1058
  * Props for ModalService component
1032
1059
  */
@@ -1067,7 +1094,17 @@ interface ModalServiceProps {
1067
1094
  * @default false
1068
1095
  */
1069
1096
  isError?: boolean;
1097
+ /**
1098
+ * Language for labels
1099
+ * @default 'id'
1100
+ */
1101
+ language?: Language;
1102
+ /**
1103
+ * Custom labels override
1104
+ */
1105
+ labels?: Partial<ModalServiceLabels>;
1070
1106
  }
1107
+
1071
1108
  /**
1072
1109
  * ModalService - A reusable modal component for selecting service classes
1073
1110
  *
@@ -1861,6 +1898,47 @@ interface StepperProps {
1861
1898
  * Additional CSS class name
1862
1899
  */
1863
1900
  className?: string;
1901
+ /**
1902
+ * Custom colors for stepper elements
1903
+ */
1904
+ colors?: {
1905
+ active?: string;
1906
+ completed?: string;
1907
+ inactive?: string;
1908
+ activeBackground?: string;
1909
+ completedBackground?: string;
1910
+ inactiveBackground?: string;
1911
+ label?: string;
1912
+ connectorDefault?: string;
1913
+ connectorCompleted?: string;
1914
+ connectorActive?: string;
1915
+ };
1916
+ /**
1917
+ * Custom dimensions for stepper elements
1918
+ */
1919
+ dimensions?: {
1920
+ height?: string;
1921
+ mobileHeight?: string;
1922
+ circleSize?: string;
1923
+ mobileCircleSize?: string;
1924
+ ferryIconWidth?: string;
1925
+ ferryIconHeight?: string;
1926
+ mobileFerryIconWidth?: string;
1927
+ mobileFerryIconHeight?: string;
1928
+ };
1929
+ /**
1930
+ * Language for labels
1931
+ * @default 'id'
1932
+ */
1933
+ language?: 'id' | 'en';
1934
+ /**
1935
+ * Custom labels override
1936
+ */
1937
+ labels?: Partial<StepperLabels>;
1938
+ }
1939
+ interface StepperLabels {
1940
+ stepperBackgroundAlt: string;
1941
+ ferryIconAlt: string;
1864
1942
  }
1865
1943
  type StepStatus = 'completed' | 'active' | 'inactive';
1866
1944
 
@@ -1900,6 +1978,13 @@ interface CardOrdererInfoProps {
1900
1978
 
1901
1979
  declare const CardOrdererInfo: React$1.FC<CardOrdererInfoProps>;
1902
1980
 
1981
+ interface ModalListPassengerLabels {
1982
+ title: string;
1983
+ sameAsOrderer: string;
1984
+ searchPlaceholder: string;
1985
+ addPassengerButton: string;
1986
+ cancelButton: string;
1987
+ }
1903
1988
  interface PassengerItem {
1904
1989
  /**
1905
1990
  * Unique identifier for the passenger
@@ -1964,6 +2049,15 @@ interface ModalListPassengerProps {
1964
2049
  * Callback when "Sama Dengan Pemesan" switch changes
1965
2050
  */
1966
2051
  onSameAsOrdererChange: (checked: boolean) => void;
2052
+ /**
2053
+ * Language for labels
2054
+ * @default 'id'
2055
+ */
2056
+ language?: Language;
2057
+ /**
2058
+ * Custom labels override
2059
+ */
2060
+ labels?: Partial<ModalListPassengerLabels>;
1967
2061
  }
1968
2062
 
1969
2063
  /**
@@ -1993,6 +2087,39 @@ interface ModalListPassengerProps {
1993
2087
  */
1994
2088
  declare const ModalListPassenger: React$1.FC<ModalListPassengerProps>;
1995
2089
 
2090
+ interface ModalPassengerFormLabels {
2091
+ title: string;
2092
+ titleLabel: string;
2093
+ titlePlaceholder: string;
2094
+ nameLabel: string;
2095
+ namePlaceholder: string;
2096
+ idTypeLabel: string;
2097
+ idTypePlaceholder: string;
2098
+ idNumberLabel: string;
2099
+ idNumberPlaceholder: string;
2100
+ ageLabel: string;
2101
+ agePlaceholder: string;
2102
+ dateLabel: string;
2103
+ datePlaceholder: string;
2104
+ cityLabel: string;
2105
+ cityPlaceholder: string;
2106
+ ticketClassLabel: string;
2107
+ saveButton: string;
2108
+ cancelButton: string;
2109
+ errors: {
2110
+ requiredTitle: string;
2111
+ requiredName: string;
2112
+ minLengthName: string;
2113
+ requiredIdType: string;
2114
+ requiredIdNumber: string;
2115
+ minLengthIdNumber: string;
2116
+ requiredAge: string;
2117
+ minAge: string;
2118
+ maxAge: string;
2119
+ requiredDate: string;
2120
+ requiredCity: string;
2121
+ };
2122
+ }
1996
2123
  interface PassengerFormData {
1997
2124
  /**
1998
2125
  * Passenger title (Tuan, Nyonya, Nona)
@@ -2082,6 +2209,15 @@ interface ModalPassengerFormProps {
2082
2209
  * Options for ticket class radio field
2083
2210
  */
2084
2211
  ticketClassOptions: RadioOption[];
2212
+ /**
2213
+ * Language for labels
2214
+ * @default 'id'
2215
+ */
2216
+ language?: Language;
2217
+ /**
2218
+ * Custom labels override
2219
+ */
2220
+ labels?: Partial<ModalPassengerFormLabels>;
2085
2221
  }
2086
2222
 
2087
2223
  /**
@@ -2185,20 +2321,11 @@ interface CardVehicleDetailLabels {
2185
2321
  title: string;
2186
2322
  vehicleNumberLabel: string;
2187
2323
  vehicleNumberPlaceholder: string;
2188
- loadQuestion: string;
2324
+ hasLoadLabel: string;
2189
2325
  yesLabel: string;
2190
2326
  noLabel: string;
2191
2327
  }
2192
2328
  interface CardVehicleDetailProps {
2193
- /**
2194
- * Language for labels
2195
- * @default 'id'
2196
- */
2197
- language?: Language;
2198
- /**
2199
- * Custom labels override
2200
- */
2201
- labels?: Partial<CardVehicleDetailLabels>;
2202
2329
  /**
2203
2330
  * Title of the vehicle service type
2204
2331
  */
@@ -2226,9 +2353,18 @@ interface CardVehicleDetailProps {
2226
2353
  */
2227
2354
  hasLoad?: 'true' | 'false';
2228
2355
  /**
2229
- * Callback when "Has Load" option changes
2356
+ * Has Load Change Handler
2230
2357
  */
2231
2358
  onHasLoadChange?: (value: 'true' | 'false') => void;
2359
+ /**
2360
+ * Language for labels
2361
+ * @default 'id'
2362
+ */
2363
+ language?: Language;
2364
+ /**
2365
+ * Custom labels override
2366
+ */
2367
+ labels?: Partial<CardVehicleDetailLabels>;
2232
2368
  }
2233
2369
 
2234
2370
  declare const CardVehicleDetail: React$1.FC<CardVehicleDetailProps>;
@@ -2312,10 +2448,68 @@ interface CardVehicleOwnerFormProps {
2312
2448
  * Options for company select inputs
2313
2449
  */
2314
2450
  companyOptions?: SelectOption[];
2451
+ /**
2452
+ * Options for city select inputs
2315
2453
  /**
2316
2454
  * Options for city select inputs
2317
2455
  * @default [] */
2318
2456
  cityOptions?: SelectOption[];
2457
+ /**
2458
+ * Language for labels
2459
+ * @default 'id'
2460
+ */
2461
+ language?: 'id' | 'en';
2462
+ /**
2463
+ * Custom labels override
2464
+ */
2465
+ labels?: Partial<CardVehicleOwnerFormLabels>;
2466
+ }
2467
+ interface CardVehicleOwnerFormLabels {
2468
+ title: string;
2469
+ addOwnerButton: string;
2470
+ ownerInfoTitle: string;
2471
+ senderNameLabel: string;
2472
+ senderTypeCompany: string;
2473
+ senderTypeIndividual: string;
2474
+ selectCompanyPlaceholder: string;
2475
+ inputSenderNamePlaceholder: string;
2476
+ estimatedWeightLabel: string;
2477
+ inputNumberPlaceholder: string;
2478
+ originCityLabel: string;
2479
+ destinationCityLabel: string;
2480
+ selectPlaceholder: string;
2481
+ cargoOwnerTitle: string;
2482
+ cargoOwnerCompanyPlaceholder: string;
2483
+ cargoOwnerIndividualPlaceholder: string;
2484
+ otherCompanyHelperText: string;
2485
+ logisticsCompanyTitle: string;
2486
+ logisticsCompanyPlaceholder: string;
2487
+ logisticsIndividualPlaceholder: string;
2488
+ cargoReceiverTitle: string;
2489
+ cargoReceiverCompanyPlaceholder: string;
2490
+ cargoReceiverIndividualPlaceholder: string;
2491
+ totalWeightLabel: string;
2492
+ cargoListTitle: string;
2493
+ cargoItemTitle: string;
2494
+ commodityLabel: string;
2495
+ commodityHelperTextPrefix: string;
2496
+ hereLinkText: string;
2497
+ cargoTypeLabel: string;
2498
+ cargoTypeHelperText: string;
2499
+ cargoQuantityLabel: string;
2500
+ priceLabel: string;
2501
+ industryTypeLabel: string;
2502
+ industryTypeHelperText: string;
2503
+ cargoCategoryLabel: string;
2504
+ cargoCategoryHelperTextPrefix: string;
2505
+ deleteCargoButton: string;
2506
+ addCargoButton: string;
2507
+ cargoTypeOptions: {
2508
+ karung: string;
2509
+ kg: string;
2510
+ ton: string;
2511
+ unit: string;
2512
+ };
2319
2513
  }
2320
2514
 
2321
2515
  declare const CardVehicleOwnerForm: React$1.FC<CardVehicleOwnerFormProps>;
@@ -2415,6 +2609,11 @@ interface CardBookingTicketProps {
2415
2609
 
2416
2610
  declare const CardBookingTicket: React$1.FC<CardBookingTicketProps>;
2417
2611
 
2612
+ interface FAQItem {
2613
+ value: string;
2614
+ question: string;
2615
+ answer: string;
2616
+ }
2418
2617
  interface CardFAQLabels {
2419
2618
  title: string;
2420
2619
  }
@@ -2428,6 +2627,11 @@ interface CardFAQProps {
2428
2627
  * Custom labels override
2429
2628
  */
2430
2629
  labels?: Partial<CardFAQLabels>;
2630
+ /**
2631
+ * List of FAQ items
2632
+ * If not provided, default items will be shown
2633
+ */
2634
+ items?: FAQItem[];
2431
2635
  /**
2432
2636
  * Optional class name for the container
2433
2637
  */
@@ -2710,6 +2914,7 @@ interface CardPriceDetailsLabels {
2710
2914
  agreementCovidInfo: string;
2711
2915
  agreementCovidLink: string;
2712
2916
  agreementFinal: string;
2917
+ currencyPrefix: string;
2713
2918
  }
2714
2919
  interface CardPriceDetailsProps {
2715
2920
  /**
@@ -2742,6 +2947,7 @@ interface PaymentOption {
2742
2947
  label: string;
2743
2948
  value: string;
2744
2949
  image: string;
2950
+ disabled?: boolean;
2745
2951
  }
2746
2952
  interface PaymentMethodCategory {
2747
2953
  title: string;
@@ -2872,6 +3078,17 @@ interface CardStatusOrderProps {
2872
3078
 
2873
3079
  declare const CardStatusOrder: React$1.FC<CardStatusOrderProps>;
2874
3080
 
3081
+ interface ModalPriceDetailLabels {
3082
+ title: string;
3083
+ addonHeader: string;
3084
+ subTotalLabel: string;
3085
+ totalTagihanLabel: string;
3086
+ ppnLabel: string;
3087
+ ppnNote: string;
3088
+ grandTotalLabel: string;
3089
+ currencyPrefix: string;
3090
+ currencyCode: string;
3091
+ }
2875
3092
  interface PriceDetailItem {
2876
3093
  key: string;
2877
3094
  label: string | React.ReactNode;
@@ -2887,6 +3104,15 @@ interface ModalPriceDetailProps {
2887
3104
  subTotal: number;
2888
3105
  taxAmount: number;
2889
3106
  grandTotal: number;
3107
+ /**
3108
+ * Language for labels
3109
+ * @default 'id'
3110
+ */
3111
+ language?: Language;
3112
+ /**
3113
+ * Custom labels override
3114
+ */
3115
+ labels?: Partial<ModalPriceDetailLabels>;
2890
3116
  }
2891
3117
 
2892
3118
  declare const ModalPriceDetail: React$1.FC<ModalPriceDetailProps>;