spotlibs-components 0.1.14 → 0.1.17

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
@@ -1,282 +1,66 @@
1
+ export { A as AnalisisRisikoKreditNasabahIcon, a as AppendixIcon, B as BgBuilding, b as BgPerson, C as ChecklistDokumenPaketKreditIcon, c as CreditRiskRatingIcon, D as DefaultAvatarIcon, d as DefaultImageIcon, e as DokumenPenjagaanIcon, F as FilePdfIcon, I as InformasiKursIcon, f as InformasiNasabahIcon, M as MatriksRiskDanMitigationIcon, N as NotulenRapatPraKomiteIcon, O as OfferingLetterIcon, P as PengajuanDanFasilitasKreditIcon, g as ProfitabilitasDanHubunganNasabahIcon, R as RekeningEscrowIcon, h as RekeningOprasionalIcon, i as RekeningTujuanIcon, j as RekomendasiPutusanIcon, k as RingkasanEksekutifIcon } from './rekening-tujuan-icon-BfSXbixN.mjs';
1
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- export { AnalisisRisikoKreditNasabahIcon, AppendixIcon, BgBuilding, BgPerson, ChecklistDokumenPaketKreditIcon, CreditRiskRatingIcon, DefaultAvatarIcon, DefaultImageIcon, DokumenPenjagaanIcon, EmptyDataIcon, ErrorHero, FilePdfIcon, IconFileCSV, IconFileDocx, IconFileDrive, IconFileJPG, IconFilePDF, IconFileXls, IconOnProcess, InformasiKursIcon, InformasiNasabahIcon, InformationIcon, MatriksRiskDanMitigationIcon, NoInternetIcon as NoInternetConnectionIcon, NotulenRapatPraKomiteIcon, OfferingLetterIcon, PengajuanDanFasilitasKreditIcon, ProfitabilitasDanHubunganNasabahIcon, RekeningEscrowIcon, RekeningOprasionalIcon, RekeningTujuanIcon, RekomendasiPutusanIcon, RingkasanEksekutifIcon, SentSuccessfullyHero, SuccessHero, ThumbOnProgress, ThumbSendFailed, Thumblock, WarningHero, WarningOutlineHero } from './atoms/icons/index.mjs';
3
- export { B as BaseAlert, a as BaseButton, b as BaseCard, c as BaseCheckbox, d as BaseDatatable, e as BaseDatePicker, f as BaseDropdown, g as BaseDropzone, h as BaseModal, i as BaseModalAlert, j as BaseModalAlertDialog, k as BaseModalAlertProvider, l as BaseModalLoading, m as BaseModalLoadingDialog, n as BaseModalLoadingProvider, o as BaseModalOTP, p as BaseModalPopup, q as BaseModalStepper, r as BaseRadioButton, s as BaseSkeleton, t as BaseSnackbar, u as BaseStepper, v as BaseSwitch, w as BaseTextArea, x as BaseTextField, y as BaseTypography, C as CONTENT_SPACING_TOKENS, z as ContentSpacing, D as DerivedColor, P as PrimitiveColor, R as Radius, A as RadiusToken, S as Shadow, E as ShadowToken, F as Spacing, G as SpacingToken, T as TextFieldUpload, V as VariantStyles } from './types-BtwscYRX.mjs';
4
- import '@tabler/icons-react';
5
- import 'react';
6
- import '@mui/material/styles';
7
- import 'react-hook-form';
8
-
9
- declare function ArrowLeft({ color }: {
10
- color: any;
11
- }): react_jsx_runtime.JSX.Element;
12
-
13
- declare function IconAdd({ color }: {
14
- color: any;
15
- }): react_jsx_runtime.JSX.Element;
16
-
17
- declare function ArrowRight(color: any): react_jsx_runtime.JSX.Element;
18
-
19
- declare function AuctionHammerIcon({ color, outline }: {
20
- color: any;
21
- outline: any;
22
- }): react_jsx_runtime.JSX.Element;
3
+ import * as React from 'react';
4
+ import { ReactNode } from 'react';
5
+ import { SxProps } from '@mui/material/styles';
6
+ import { Control, RegisterOptions, UseFormReturn } from 'react-hook-form';
7
+ export { AppHeader, AppSidebar, Backdrop, LayoutShell, SidebarProvider, parseAccessMenu, useSidebar } from './layout/index.mjs';
23
8
 
24
9
  declare function IconBiometricScan({ color }: {
25
10
  color: any;
26
11
  }): react_jsx_runtime.JSX.Element;
27
12
 
28
- declare function IconBrokenImage({ color }: {
29
- color: any;
30
- }): react_jsx_runtime.JSX.Element;
31
-
32
- declare function CalculatorIcon(color: any): react_jsx_runtime.JSX.Element;
33
-
34
- declare function IconCalendar({ color }: {
35
- color: any;
36
- }): react_jsx_runtime.JSX.Element;
37
-
38
13
  declare function CapsLockOn({ color }: {
39
14
  color: any;
40
15
  }): react_jsx_runtime.JSX.Element;
41
16
 
42
- declare function IconCardOrange({ color }: {
43
- color: any;
44
- }): react_jsx_runtime.JSX.Element;
45
-
46
- declare function CashIcon({ color, outline }: {
47
- color: any;
48
- outline: any;
49
- }): react_jsx_runtime.JSX.Element;
50
-
51
- declare function CheckboxBorder({ disabled, color, size, }: {
52
- disabled: any;
53
- color: any;
54
- size?: number;
55
- }): react_jsx_runtime.JSX.Element;
56
-
57
- declare function CheckboxChecked({ disabled, color, size, }: {
58
- disabled: any;
59
- color: any;
60
- size?: number;
61
- }): react_jsx_runtime.JSX.Element;
62
-
63
- declare function ChecklistGreen(): react_jsx_runtime.JSX.Element;
64
-
65
- declare function IconChevronLeft({ color }: {
66
- color: any;
67
- }): react_jsx_runtime.JSX.Element;
68
-
69
- declare function IconChevronRight({ color }: {
70
- color: any;
71
- }): react_jsx_runtime.JSX.Element;
72
-
73
- declare function CircleCheck({ color, width, height, }: {
74
- color?: string;
75
- width?: string;
76
- height?: string;
77
- }): react_jsx_runtime.JSX.Element;
78
-
79
- declare function CircleCross({ color, width, height, }: {
80
- color?: string;
81
- width?: string;
82
- height?: string;
83
- }): react_jsx_runtime.JSX.Element;
84
-
85
- declare function CommentBuble(): react_jsx_runtime.JSX.Element;
86
-
87
- declare function IconConfeti({ color }: {
88
- color: any;
89
- }): react_jsx_runtime.JSX.Element;
90
-
91
- declare function IconCrossLine({ color }: {
92
- color: any;
93
- }): react_jsx_runtime.JSX.Element;
94
-
95
- declare function IconCross({ color }: {
96
- color: any;
97
- }): react_jsx_runtime.JSX.Element;
98
-
99
- declare function Dashboard(color: any): react_jsx_runtime.JSX.Element;
100
-
101
- declare function IconDeleteBin({ color, isSmall }: {
102
- color: any;
103
- isSmall: any;
104
- }): react_jsx_runtime.JSX.Element;
105
-
106
- declare function IconDocumentAddOutline({ color }: {
107
- color: any;
108
- }): react_jsx_runtime.JSX.Element;
109
-
110
17
  declare function IconDocumentAdd({ color }: {
111
18
  color: any;
112
19
  }): react_jsx_runtime.JSX.Element;
113
20
 
114
- declare function DocumentNotFound(): react_jsx_runtime.JSX.Element;
115
-
116
- declare function IconDocumentSleve({ color }: {
117
- color: any;
118
- }): react_jsx_runtime.JSX.Element;
119
-
120
- declare function IconDocument({ color }: {
121
- color: any;
122
- }): react_jsx_runtime.JSX.Element;
123
-
124
- declare function DownloadDocumentIcon({ color }: {
125
- color: any;
126
- }): react_jsx_runtime.JSX.Element;
127
-
128
- declare function DownloadIconSmall(color: any): react_jsx_runtime.JSX.Element;
129
-
130
- declare function IconDownloadOutline({ color }: {
131
- color: any;
132
- }): react_jsx_runtime.JSX.Element;
133
-
134
21
  declare function DownloadIconLarge({ color, width, height, }: {
135
22
  color?: string;
136
23
  width?: string;
137
24
  height?: string;
138
25
  }): react_jsx_runtime.JSX.Element;
139
26
 
140
- declare function IconDuplicate({ color }: {
141
- color: any;
142
- }): react_jsx_runtime.JSX.Element;
143
-
144
27
  declare function IconEdit({ color, isSmall }: {
145
28
  color: any;
146
29
  isSmall: any;
147
30
  }): react_jsx_runtime.JSX.Element;
148
31
 
149
- declare function IconExclamation({ size, color, }: {
150
- size?: number;
151
- color?: string;
152
- }): react_jsx_runtime.JSX.Element;
153
-
154
- declare function FileOutlineCustom(props: any): react_jsx_runtime.JSX.Element;
155
-
156
- declare function IconFileOutline({ color }: {
157
- color: any;
158
- }): react_jsx_runtime.JSX.Element;
159
-
160
- declare function IconFileSleve({ color }: {
161
- color: any;
162
- }): react_jsx_runtime.JSX.Element;
163
-
164
32
  declare function IconFile({ color }: {
165
33
  color: any;
166
34
  }): react_jsx_runtime.JSX.Element;
167
35
 
168
- declare function IconFingerScan({ color, isBordered }: {
169
- color: any;
170
- isBordered?: boolean;
171
- }): react_jsx_runtime.JSX.Element;
172
-
173
- declare function GenerateDocumentIcon({ color }: {
174
- color: any;
175
- }): react_jsx_runtime.JSX.Element;
176
-
177
36
  declare function IconGradingRounded({ color, width, height }: {
178
37
  color: any;
179
38
  width: any;
180
39
  height: any;
181
40
  }): react_jsx_runtime.JSX.Element;
182
41
 
183
- declare function HandstopSign({ color, width, height, }: {
184
- color?: string;
185
- width?: string;
186
- height?: string;
187
- }): react_jsx_runtime.JSX.Element;
188
-
189
- declare function HomeAssetIcon({ color, outline }: {
190
- color: any;
191
- outline: any;
192
- }): react_jsx_runtime.JSX.Element;
193
-
194
- declare function IconHomeOutlined(): react_jsx_runtime.JSX.Element;
195
-
196
- declare function IconImage({ color }: {
197
- color: any;
198
- }): react_jsx_runtime.JSX.Element;
199
-
200
- declare function IconInfoBgPutih({ isSmall }: {
201
- isSmall: any;
202
- }): react_jsx_runtime.JSX.Element;
203
-
204
- declare function IconInfoHover(color: any): react_jsx_runtime.JSX.Element;
205
-
206
- declare function IconInfo({ color, isSmall }: {
207
- color: any;
208
- isSmall: any;
209
- }): react_jsx_runtime.JSX.Element;
210
-
211
42
  declare function IconListDocument({ color }: {
212
43
  color: any;
213
44
  }): react_jsx_runtime.JSX.Element;
214
45
 
215
- declare function IconModalClose({ color }: {
216
- color: any;
217
- }): react_jsx_runtime.JSX.Element;
218
-
219
46
  declare function MoneyIcon({ color, width, height }: {
220
47
  color: any;
221
48
  width: any;
222
49
  height: any;
223
50
  }): react_jsx_runtime.JSX.Element;
224
51
 
225
- declare function IconMoneyOne({ width, height }: {
226
- width: any;
227
- height: any;
228
- }): react_jsx_runtime.JSX.Element;
229
-
230
- declare function IconMoneyTwo({ width, height }: {
231
- width: any;
232
- height: any;
233
- }): react_jsx_runtime.JSX.Element;
234
-
235
52
  declare function IconMoney({ color, width, height }: {
236
53
  color: any;
237
54
  width: any;
238
55
  height: any;
239
56
  }): react_jsx_runtime.JSX.Element;
240
57
 
241
- declare function IconNoData({ width, height }: {
242
- width: any;
243
- height: any;
244
- }): react_jsx_runtime.JSX.Element;
245
-
246
- declare function NotFoundIcon({ width, height }: {
247
- width: any;
248
- height: any;
249
- }): react_jsx_runtime.JSX.Element;
250
-
251
- declare function IconPeopleGroup(): react_jsx_runtime.JSX.Element;
252
-
253
- declare function IconPeople(): react_jsx_runtime.JSX.Element;
254
-
255
- declare function PersonIcon({ color, outline }: {
256
- color: any;
257
- outline: any;
258
- }): react_jsx_runtime.JSX.Element;
259
-
260
- declare function IconPhone({ color, width, height }: {
261
- color: any;
262
- width: any;
263
- height: any;
264
- }): react_jsx_runtime.JSX.Element;
265
-
266
- declare function IconPlus({ color }: {
267
- color: any;
268
- }): react_jsx_runtime.JSX.Element;
269
-
270
58
  declare function IconProgress({ width, height, color }: {
271
59
  width: any;
272
60
  height: any;
273
61
  color: any;
274
62
  }): react_jsx_runtime.JSX.Element;
275
63
 
276
- declare function IconRecycle({ color }: {
277
- color: any;
278
- }): react_jsx_runtime.JSX.Element;
279
-
280
64
  declare function IconReset({ color }: {
281
65
  color: any;
282
66
  }): react_jsx_runtime.JSX.Element;
@@ -291,47 +75,10 @@ declare function IconSave({ color, width, height }: {
291
75
  height?: string;
292
76
  }): react_jsx_runtime.JSX.Element;
293
77
 
294
- declare function IconSearch({ color }: {
295
- color: any;
296
- }): react_jsx_runtime.JSX.Element;
297
-
298
- declare function IconSendBlue(): react_jsx_runtime.JSX.Element;
299
-
300
- declare function IconSendOrange(): react_jsx_runtime.JSX.Element;
301
-
302
78
  declare function IconSendWhiteFull(color: any): react_jsx_runtime.JSX.Element;
303
79
 
304
80
  declare function IconSendWhite(color: any): react_jsx_runtime.JSX.Element;
305
81
 
306
- declare function IconShuffle({ width, height, color, }: {
307
- width?: string;
308
- height?: string;
309
- color?: string;
310
- }): react_jsx_runtime.JSX.Element;
311
-
312
- declare function StepOnProgress(): react_jsx_runtime.JSX.Element;
313
-
314
- declare function TargetDartIcon({ color, outline }: {
315
- color: any;
316
- outline: any;
317
- }): react_jsx_runtime.JSX.Element;
318
-
319
- declare function ThumbsUp({ color, width, height, }: {
320
- color?: string;
321
- width?: string;
322
- height?: string;
323
- }): react_jsx_runtime.JSX.Element;
324
-
325
- declare function IconTrashOutline({ color }: {
326
- color: any;
327
- }): react_jsx_runtime.JSX.Element;
328
-
329
- declare function IconTrash({ color, width, height }: {
330
- color: any;
331
- width?: string;
332
- height?: string;
333
- }): react_jsx_runtime.JSX.Element;
334
-
335
82
  declare function IconUpload({ color }: {
336
83
  color: any;
337
84
  }): react_jsx_runtime.JSX.Element;
@@ -340,110 +87,1403 @@ declare function IconUserScan({ color }: {
340
87
  color: any;
341
88
  }): react_jsx_runtime.JSX.Element;
342
89
 
343
- declare function IconUser({ color }: {
344
- color: any;
345
- }): react_jsx_runtime.JSX.Element;
346
-
347
90
  declare function UsersIcon(): react_jsx_runtime.JSX.Element;
348
91
 
349
92
  declare function IconVerification({ color }: {
350
93
  color: any;
351
94
  }): react_jsx_runtime.JSX.Element;
352
95
 
353
- declare function IconWallet({ width, height, color }: {
354
- width: any;
355
- height: any;
356
- color: any;
357
- }): react_jsx_runtime.JSX.Element;
358
-
359
- declare function IconWarningTriangle({ color }: {
360
- color: any;
361
- }): react_jsx_runtime.JSX.Element;
362
-
363
- declare function LoaderIcon({ color, width, height, }: {
364
- color?: string;
365
- width?: string;
366
- height?: string;
367
- }): react_jsx_runtime.JSX.Element;
368
-
369
- declare function UploadIcon({ color, width, height, }: {
370
- color?: string;
371
- width?: string;
372
- height?: string;
373
- }): react_jsx_runtime.JSX.Element;
374
-
375
- declare function ArrowUpDown({ color }: {
376
- color: any;
377
- }): react_jsx_runtime.JSX.Element;
378
-
379
- declare function MaximizeIcon({ color }: {
380
- color: any;
381
- }): react_jsx_runtime.JSX.Element;
382
-
383
- declare function MinimizeIcon({ color }: {
384
- color: any;
385
- }): react_jsx_runtime.JSX.Element;
386
-
387
- declare function SuffleIcon({ color }: {
388
- color: any;
389
- }): react_jsx_runtime.JSX.Element;
390
-
391
- declare function RefreshIcon({ color }: {
392
- color: any;
393
- }): react_jsx_runtime.JSX.Element;
394
-
395
- declare function ReloadIcon({ color }: {
396
- color: any;
397
- }): react_jsx_runtime.JSX.Element;
398
-
399
- declare function LogoutIcon({ color }: {
400
- color: any;
401
- }): react_jsx_runtime.JSX.Element;
402
-
403
- declare function IconChevronDown({ color }: {
404
- color: any;
405
- }): react_jsx_runtime.JSX.Element;
406
-
407
- declare function IconChevronUp({ color }: {
408
- color: any;
409
- }): react_jsx_runtime.JSX.Element;
410
-
411
- declare function ArrowStandardDownIcon({ color }: {
412
- color: any;
413
- }): react_jsx_runtime.JSX.Element;
414
-
415
- declare function ArrowStandardLeftIcon({ color }: {
416
- color: any;
417
- }): react_jsx_runtime.JSX.Element;
418
-
419
- declare function ArrowStandardRightIcon({ color }: {
420
- color: any;
421
- }): react_jsx_runtime.JSX.Element;
422
-
423
- declare function ArrowStandardUpRightIcon({ color }: {
424
- color: any;
425
- }): react_jsx_runtime.JSX.Element;
426
-
427
- declare function ArrowStandardUpIcon({ color }: {
428
- color: any;
429
- }): react_jsx_runtime.JSX.Element;
430
-
431
- declare function ArrowFrameOutlineUpIcon({ color }: {
432
- color: any;
433
- }): react_jsx_runtime.JSX.Element;
434
-
435
- declare function ArrowFrameOutlineRightIcon({ color }: {
436
- color: any;
437
- }): react_jsx_runtime.JSX.Element;
438
-
439
- declare function ArrowFrameOutlineDownIcon({ color }: {
440
- color: any;
441
- }): react_jsx_runtime.JSX.Element;
442
-
443
- declare function ArrowFrameOutlineLeftIcon({ color }: {
444
- color: any;
445
- }): react_jsx_runtime.JSX.Element;
96
+ interface BaseAlertProps {
97
+ /** Alert color variant */
98
+ variant?: "default" | "error" | "info" | "success" | "warning";
99
+ /** MUI Alert variant type */
100
+ type?: "standard" | "filled" | "outlined";
101
+ /** Alert title */
102
+ title?: string;
103
+ /** Alert content */
104
+ children?: React.ReactNode;
105
+ /** Icon element or component. If not provided, no icon is shown. */
106
+ icon?: React.ReactNode | React.ComponentType<any>;
107
+ /** Custom background color override */
108
+ color?: string;
109
+ /** MUI sx overrides */
110
+ sx?: SxProps;
111
+ /** Close handler. If provided, close button is shown. */
112
+ onClose?: () => void;
113
+ /** sx overrides for children wrapper */
114
+ childrenSx?: SxProps;
115
+ [key: string]: any;
116
+ }
117
+
118
+ declare function BaseAlert(props: BaseAlertProps): React.ReactElement;
119
+
120
+ interface PrimitiveColorType {
121
+ color_overlay: string;
122
+
123
+ color_neutral_900: string;
124
+ color_neutral_700: string;
125
+ color_neutral_600: string;
126
+ color_neutral_500: string;
127
+ color_neutral_400: string;
128
+ color_neutral_300: string;
129
+ color_neutral_200: string;
130
+ color_neutral_100: string;
131
+ color_neutral_50: string;
132
+
133
+ color_blue_cakrawala_900: string;
134
+ color_blue_cakrawala_800: string;
135
+ color_blue_cakrawala_700: string;
136
+ color_blue_cakrawala_600: string;
137
+ color_blue_cakrawala_500: string;
138
+ color_blue_cakrawala_400: string;
139
+ color_blue_cakrawala_300: string;
140
+ color_blue_cakrawala_200: string;
141
+ color_blue_cakrawala_100: string;
142
+
143
+ color_blue_mentari_900: string;
144
+ color_blue_mentari_700: string;
145
+ color_blue_mentari_600: string;
146
+ color_blue_mentari_500: string;
147
+ color_blue_mentari_400: string;
148
+ color_blue_mentari_300: string;
149
+ color_blue_mentari_100: string;
150
+
151
+ color_blue_neon_900: string;
152
+ color_blue_neon_700: string;
153
+ color_blue_neon_600: string;
154
+ color_blue_neon_500: string;
155
+ color_blue_neon_400: string;
156
+ color_blue_neon_300: string;
157
+ color_blue_neon_100: string;
158
+
159
+ color_blue_sky_900: string;
160
+ color_blue_sky_700: string;
161
+ color_blue_sky_600: string;
162
+ color_blue_sky_500: string;
163
+ color_blue_sky_400: string;
164
+ color_blue_sky_300: string;
165
+ color_blue_sky_100: string;
166
+
167
+ color_green_900: string;
168
+ color_green_700: string;
169
+ color_green_600: string;
170
+ color_green_500: string;
171
+ color_green_400: string;
172
+ color_green_300: string;
173
+ color_green_100: string;
174
+
175
+ color_red_900: string;
176
+ color_red_700: string;
177
+ color_red_600: string;
178
+ color_red_500: string;
179
+ color_red_400: string;
180
+ color_red_300: string;
181
+ color_red_100: string;
182
+
183
+ color_yellow_900: string;
184
+ color_yellow_700: string;
185
+ color_yellow_600: string;
186
+ color_yellow_500: string;
187
+ color_yellow_400: string;
188
+ color_yellow_300: string;
189
+ color_yellow_100: string;
190
+
191
+ color_briva_900: string;
192
+ color_briva_700: string;
193
+ color_briva_600: string;
194
+ color_briva_500: string;
195
+ color_briva_400: string;
196
+ color_briva_300: string;
197
+ color_briva_100: string;
198
+
199
+ color_brizzi_900: string;
200
+ color_brizzi_700: string;
201
+ color_brizzi_600: string;
202
+ color_brizzi_500: string;
203
+ color_brizzi_400: string;
204
+ color_brizzi_300: string;
205
+ color_brizzi_100: string;
206
+
207
+ [key: string]: string;
208
+ }
209
+
210
+ declare const PrimitiveColor: PrimitiveColorType;
211
+
212
+ interface DerivedColorType {
213
+ /* Background */
214
+ color_bg_page: string;
215
+ color_bg_surface: string;
216
+ color_bg_inverse: string;
217
+ color_bg_disabled: string;
218
+
219
+ color_bg_brand_primary_strong: string;
220
+ color_bg_brand_primary: string;
221
+ color_bg_brand_primary_subtle: string;
222
+ color_bg_brand_secondary_strong: string;
223
+ color_bg_brand_secondary: string;
224
+ color_bg_brand_secondary_subtle: string;
225
+
226
+ color_bg_success_strong: string;
227
+ color_bg_success: string;
228
+ color_bg_success_subtle: string;
229
+
230
+ color_bg_danger_strong: string;
231
+ color_bg_danger: string;
232
+ color_bg_danger_subtle: string;
233
+
234
+ color_bg_warning_strong: string;
235
+ color_bg_warning: string;
236
+ color_bg_warning_subtle: string;
237
+
238
+ /* Border */
239
+ color_border_default: string;
240
+ color_border_strong: string;
241
+ color_border_inverse: string;
242
+ color_border_brand_primary: string;
243
+ color_border_brand_secondary: string;
244
+ color_border_success: string;
245
+ color_border_danger: string;
246
+ color_border_warning: string;
247
+
248
+ /* Text */
249
+ color_text_default: string;
250
+ color_text_subtle: string;
251
+ color_text_disabled: string;
252
+ color_text_placeholder: string;
253
+ color_text_inverse: string;
254
+ color_text_brand_primary: string;
255
+ color_text_brand_secondary: string;
256
+ color_text_success: string;
257
+ color_text_danger: string;
258
+ color_text_warning: string;
259
+
260
+ /* Icon */
261
+ color_icon_subtle: string;
262
+ color_icon_strong: string;
263
+ color_icon_disabled: string;
264
+ color_icon_inverse: string;
265
+ color_icon_brand_primary: string;
266
+ color_icon_brand_secondary: string;
267
+ color_icon_success: string;
268
+ color_icon_danger: string;
269
+ color_icon_warning: string;
270
+ }
271
+
272
+ declare const DerivedColor: DerivedColorType;
273
+
274
+ type TypographyVariant =
275
+ | "h1"
276
+ | "h2"
277
+ | "h3"
278
+ | "h4"
279
+ | "h5"
280
+ | "h6"
281
+ | "header1_regular"
282
+ | "header1_semibold"
283
+ | "header1_bold"
284
+ | "header2_regular"
285
+ | "header2_semibold"
286
+ | "header2_bold"
287
+ | "body1_regular"
288
+ | "body1_semibold"
289
+ | "body2_regular"
290
+ | "body2_semibold"
291
+ | "caption_regular";
292
+
293
+ type TypographyColor =
294
+ | "default"
295
+ | "subtle"
296
+ | "disabled"
297
+ | "placeholder"
298
+ | "inverse"
299
+ | "primary"
300
+ | "secondary"
301
+ | "success"
302
+ | "danger"
303
+ | "warning";
304
+
305
+ interface VariantStyleEntry {
306
+ fontSize: string;
307
+ fontWeight: number;
308
+ }
309
+
310
+ declare const VariantStyles: Record<TypographyVariant, VariantStyleEntry>;
311
+
312
+ interface TypographyProps {
313
+ /** Format: "variant.color" e.g. "body1_regular.default" */
314
+ variant?: `${TypographyVariant}.${TypographyColor}` | TypographyVariant;
315
+ /** Content */
316
+ children?: React.ReactNode;
317
+ /** MUI sx overrides */
318
+ sx?: SxProps;
319
+ [key: string]: any;
320
+ }
321
+
322
+ declare function BaseTypography(props: TypographyProps): React.ReactElement | null;
323
+
324
+ declare const SpacingToken: {
325
+ spacing0: string;
326
+ spacing1: string;
327
+ spacing2: string;
328
+ spacing3: string;
329
+ spacing4: string;
330
+ spacing5: string;
331
+ spacing6: string;
332
+ spacing7: string;
333
+ spacing8: string;
334
+ spacing9: string;
335
+ spacing10: string;
336
+ };
337
+
338
+ declare const CONTENT_SPACING_TOKENS: {
339
+ spacing_1: {
340
+ mobile: string;
341
+ tablet: string;
342
+ web: string;
343
+ };
344
+ spacing_2: {
345
+ mobile: string;
346
+ tablet: string;
347
+ web: string;
348
+ };
349
+ spacing_3: {
350
+ mobile: string;
351
+ tablet: string;
352
+ web: string;
353
+ };
354
+ };
355
+
356
+ interface ResponsiveSpacingValue {
357
+ mobile?: string;
358
+ tablet?: string;
359
+ web?: string;
360
+ [key: string]: string | undefined;
361
+ }
362
+
363
+ type SpacingSizeValue = keyof typeof SpacingToken | string | number;
364
+
365
+ type ContentSpacingSizeValue =
366
+ | keyof typeof CONTENT_SPACING_TOKENS
367
+ | ResponsiveSpacingValue;
368
+
369
+ interface SpacingProps {
370
+ size?: SpacingSizeValue;
371
+ axis?: "vertical" | "horizontal";
372
+ as?: React.ElementType;
373
+ className?: string;
374
+ style?: React.CSSProperties;
375
+ children?: React.ReactNode;
376
+ [key: string]: unknown;
377
+ }
378
+
379
+ interface ContentSpacingProps {
380
+ size?: ContentSpacingSizeValue;
381
+ breakpoint?: "mobile" | "tablet" | "web";
382
+ as?: React.ElementType;
383
+ className?: string;
384
+ style?: React.CSSProperties;
385
+ children?: React.ReactNode;
386
+ [key: string]: unknown;
387
+ }
388
+
389
+ declare const Spacing: React.FC<SpacingProps>;
390
+
391
+ declare const ContentSpacing: React.FC<ContentSpacingProps>;
392
+
393
+ interface ShadowElevation {
394
+ shadow: string;
395
+ surface: string;
396
+ }
397
+
398
+ interface ShadowMap {
399
+ elevation_0: ShadowElevation;
400
+ elevation_1: ShadowElevation;
401
+ elevation_2: ShadowElevation;
402
+ elevation_3: ShadowElevation;
403
+ elevation_4: ShadowElevation;
404
+ }
405
+
406
+ declare const Shadow: ShadowMap;
407
+
408
+ type ShadowLevel = keyof ShadowMap;
409
+
410
+ interface ShadowTokenProps {
411
+ /** Elevation level */
412
+ level?: ShadowLevel;
413
+ /** Content */
414
+ children?: React.ReactNode;
415
+ /** MUI sx overrides */
416
+ sx?: SxProps;
417
+ [key: string]: any;
418
+ }
419
+
420
+ declare function ShadowToken(props: ShadowTokenProps): React.ReactElement;
421
+
422
+ interface RadiusMap {
423
+ radius_0: string;
424
+ radius_1: string;
425
+ radius_2: string;
426
+ radius_3: string;
427
+ radius_4: string;
428
+ radius_x: string;
429
+ }
430
+
431
+ declare const Radius: RadiusMap;
432
+
433
+ type RadiusLevel = keyof RadiusMap;
434
+
435
+ interface RadiusTokenProps {
436
+ /** Radius level */
437
+ radius?: RadiusLevel;
438
+ /** Content */
439
+ children?: React.ReactNode;
440
+ /** MUI sx overrides */
441
+ sx?: SxProps;
442
+ [key: string]: any;
443
+ }
444
+
445
+ declare function RadiusToken(props: RadiusTokenProps): React.ReactElement;
446
+
447
+ interface BaseButtonProps {
448
+ /** Click handler */
449
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
450
+ /** Button content */
451
+ children?: React.ReactNode;
452
+ /** Visual style variant */
453
+ variant?: "fill" | "outline" | "text" | "fab" | "ellipse-fill" | "ellipse-outline";
454
+ /** Semantic color preset */
455
+ color?: "primary" | "secondary" | "success" | "warning" | "danger";
456
+ /** Custom color key from PrimitiveColor. Overrides `color` prop when set. */
457
+ customColor?: keyof typeof PrimitiveColor | null;
458
+ /** Button size */
459
+ size?: "large" | "small";
460
+ /** Disabled state */
461
+ disabled?: boolean;
462
+ /** Icon element rendered before children */
463
+ startIcon?: React.ReactNode;
464
+ /** Icon element rendered after children */
465
+ endIcon?: React.ReactNode;
466
+ /** Button width */
467
+ width?: string;
468
+ /** MUI sx overrides */
469
+ sx?: SxProps;
470
+ [key: string]: any;
471
+ }
472
+
473
+ declare function BaseButton(props: BaseButtonProps): React.ReactElement;
474
+
475
+ interface BaseSkeletonProps {
476
+ /**
477
+ * Skeleton shape variant.
478
+ * - `text` — single line of text placeholder
479
+ * - `rectangular` — rectangle block placeholder
480
+ * - `rounded` — rectangle with border-radius
481
+ * - `circular` — circle placeholder (avatar, icon)
482
+ */
483
+ variant?: "text" | "rectangular" | "rounded" | "circular";
484
+ /**
485
+ * Animation type.
486
+ * - `pulse` — fading animation (default)
487
+ * - `wave` — wave sweep animation
488
+ * - `none` — no animation (static)
489
+ */
490
+ animation?: "pulse" | "wave" | "none";
491
+ /** Width of the skeleton. Accepts number (px) or string (e.g. "100%", "200px") */
492
+ width?: number | string;
493
+ /** Height of the skeleton. Accepts number (px) or string (e.g. "40px", "1.2em") */
494
+ height?: number | string;
495
+ /** Number of skeleton lines to render. If > 1, renders stacked skeletons. */
496
+ count?: number;
497
+ /** Gap between stacked skeletons when count > 1. Default is SpacingToken.spacing2 */
498
+ gap?: string | number;
499
+ /** MUI sx overrides */
500
+ sx?: SxProps;
501
+ [key: string]: any;
502
+ }
503
+
504
+ declare function BaseSkeleton(props: BaseSkeletonProps): React.ReactElement;
505
+
506
+ interface BaseSwitchProps {
507
+ /** Current switch state */
508
+ status?: boolean;
509
+ /** Label text or element */
510
+ label?: React.ReactNode;
511
+ /** Label position relative to the switch */
512
+ labelPlacement?: "start" | "end" | "top" | "bottom";
513
+ /** Disabled state */
514
+ isDisabled?: boolean;
515
+ /** Change handler */
516
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
517
+ }
518
+
519
+ declare function BaseSwitch(props: BaseSwitchProps): React.ReactElement;
520
+
521
+ interface BaseChipProps {
522
+ /** Chip label text */
523
+ label?: string;
524
+ /** Semantic type for preset colors */
525
+ type?: "default" | "success" | "danger" | "warning" | "info";
526
+ /** Chip visual variant */
527
+ variant?: "filled" | "outlined";
528
+ /** Icon before label */
529
+ startIcon?: React.ReactNode;
530
+ /** Delete handler — shows delete icon when provided */
531
+ onDelete?: () => void;
532
+ /** Click handler */
533
+ onClick?: () => void;
534
+ /** Disabled state */
535
+ disabled?: boolean;
536
+ /** Full width mode — chip takes 100% width of parent */
537
+ fullWidth?: boolean;
538
+ /** Show/hide the type icon (default: true). When false, no icon is displayed unless startIcon is used */
539
+ showIcon?: boolean;
540
+ /** MUI sx overrides */
541
+ sx?: SxProps;
542
+ [key: string]: any;
543
+ }
544
+
545
+ declare function BaseChip(props: BaseChipProps): React.ReactElement;
546
+
547
+ interface BaseCardProps {
548
+ /**
549
+ * Card variant type. Supports typography suffix: "with-header.header1_bold"
550
+ * Default typography: header1_semibold
551
+ * Examples: "default", "with-header", "with-header.header1_bold", "with-header-footer.body1_regular"
552
+ */
553
+ variant?: "default" | "with-header" | "with-header-footer" | (string & {});
554
+ /** Card body content */
555
+ children?: React.ReactNode;
556
+ /** Header background color preset */
557
+ color?: "primary" | "secondary" | "success" | "warning" | "danger" | "clean";
558
+ /** Header title text */
559
+ title?: string;
560
+ /** Header subtitle text */
561
+ subtitle?: string;
562
+ /** Typography variant for subtitle (e.g. "body2_regular.subtle"). Overrides boldSubtitle/fontSize when set. */
563
+ subtitleVariant?: string;
564
+ /** Bold the title */
565
+ boldTitle?: boolean;
566
+ /** Bold the subtitle */
567
+ boldSubtitle?: boolean;
568
+ /** Show/hide subtitle */
569
+ showSubtitle?: boolean;
570
+ /** Enable collapse/expand on header click */
571
+ isCollapsible?: boolean;
572
+ /** Icon element before title in header */
573
+ startIcon?: React.ReactNode;
574
+ /** Icon element after title in header */
575
+ endIcon?: React.ReactNode;
576
+ /** Show/hide startIcon */
577
+ showStartIcon?: boolean;
578
+ /** Show/hide endIcon */
579
+ showEndIcon?: boolean;
580
+ /** Footer content (only for with-header-footer variant) */
581
+ footer?: React.ReactNode;
582
+ /** Enable watermark overlay on content area */
583
+ isWatermark?: boolean;
584
+ /** Watermark text (e.g. "12345678 / Brispot Web") */
585
+ watermarkText?: string;
586
+ /** MUI sx overrides */
587
+ sx?: SxProps;
588
+ [key: string]: any;
589
+ }
590
+
591
+ declare function BaseCard(props: BaseCardProps): React.ReactElement;
592
+
593
+ interface BaseSnackbarPosition {
594
+ vertical: "top" | "bottom";
595
+ horizontal: "left" | "center" | "right";
596
+ }
597
+
598
+ interface BaseSnackbarProps {
599
+ /** Whether the snackbar is open */
600
+ open?: boolean;
601
+ /** Close handler */
602
+ onClose?: (event?: React.SyntheticEvent | Event, reason?: string) => void;
603
+ /** Snackbar message content */
604
+ message?: string;
605
+ /** Color variant */
606
+ variant?: "success" | "error" | "info" | "warning" | "default";
607
+ /** Auto hide duration in milliseconds */
608
+ duration?: number;
609
+ /** Anchor origin position */
610
+ position?: BaseSnackbarPosition;
611
+ /** Icon element or component. If not provided, no icon is shown. */
612
+ icon?: React.ReactNode | React.ComponentType<any>;
613
+ /** MUI sx overrides */
614
+ sx?: SxProps;
615
+ [key: string]: any;
616
+ }
617
+
618
+ declare function BaseSnackbar(props: BaseSnackbarProps): React.ReactElement;
619
+
620
+ interface BaseCheckboxOption {
621
+ /** Label yang ditampilkan */
622
+ label: React.ReactNode;
623
+ /** Nilai opsi */
624
+ value: string;
625
+ /** Nonaktifkan opsi ini */
626
+ disabled?: boolean;
627
+ [key: string]: any;
628
+ }
629
+
630
+ interface BaseCheckboxSharedProps {
631
+ /** Daftar opsi checkbox (untuk mode group) */
632
+ options: BaseCheckboxOption[];
633
+ /** Label untuk mode single checkbox */
634
+ label?: React.ReactNode;
635
+ /** Nonaktifkan semua checkbox */
636
+ disabled?: boolean;
637
+ /** Posisi label relatif terhadap checkbox */
638
+ labelPlacement?: "top" | "bottom" | "start" | "end";
639
+ /** Tampilkan checkbox secara horizontal */
640
+ isHorizontal?: boolean;
641
+ /** Custom styles via MUI sx prop */
642
+ sx?: SxProps;
643
+ [key: string]: any;
644
+ }
645
+
646
+ interface BaseCheckboxSingleProps extends Omit<BaseCheckboxSharedProps, "options"> {
647
+ options?: undefined;
648
+ /** Nilai checked untuk single checkbox */
649
+ checked?: boolean;
650
+ /** Callback ketika nilai berubah (single mode) */
651
+ onChange?: (checked: boolean, event?: React.ChangeEvent<HTMLInputElement>) => void;
652
+ }
653
+
654
+ interface BaseCheckboxGroupProps extends BaseCheckboxSharedProps {
655
+ options: BaseCheckboxOption[];
656
+ /** Array nilai yang dipilih (group mode) */
657
+ checked?: string[];
658
+ /** Callback ketika nilai berubah (group mode) */
659
+ onChange?: (newValue: string[]) => void;
660
+ }
661
+
662
+ type BaseCheckboxProps =
663
+ | BaseCheckboxSingleProps
664
+ | BaseCheckboxGroupProps;
665
+
666
+ declare function BaseCheckbox(
667
+ props: BaseCheckboxProps,
668
+ ): React.ReactElement | null;
669
+
670
+ type BaseDatatableAlign =
671
+ | "left"
672
+ | "center"
673
+ | "right"
674
+ | "justify"
675
+ | "inherit"
676
+ | (string & {});
677
+
678
+ interface BaseDatatableColumn<T = Record<string, any>> {
679
+ id?: string;
680
+ key?: string;
681
+ field?: string;
682
+ sortField?: string;
683
+ label?: ReactNode;
684
+ header?: ReactNode;
685
+ accessorKey?: string;
686
+ accessorFn?: (row: T) => any;
687
+ align?: BaseDatatableAlign;
688
+ headerAlign?: BaseDatatableAlign;
689
+ width?: number;
690
+ minWidth?: number;
691
+ sticky?: "left" | "right";
692
+ sortable?: boolean;
693
+ noWrap?: boolean;
694
+ cellBg?: string;
695
+ cellText?: string;
696
+ cellSx?: SxProps;
697
+ renderCell?: (context: {
698
+ value: any;
699
+ row: T;
700
+ rowIndex: number;
701
+ column: BaseDatatableColumn<T>;
702
+ columnIndex: number;
703
+ checked?: boolean;
704
+ }) => ReactNode;
705
+ }
706
+
707
+ interface BaseDatatableHeaderCell {
708
+ id?: string;
709
+ key?: string;
710
+ label: ReactNode;
711
+ align?: BaseDatatableAlign;
712
+ colSpan?: number;
713
+ rowSpan?: number;
714
+ colspan?: number;
715
+ rowspan?: number;
716
+ sortKey?: string;
717
+ width?: number;
718
+ minWidth?: number;
719
+ sticky?: "left" | "right";
720
+ sx?: SxProps;
721
+ }
722
+
723
+ interface BaseDatatableFeatures {
724
+ sorting?: boolean;
725
+ sortingMode?: "client" | "server";
726
+ defaultSort?: BaseDatatableSortState | null;
727
+ sortState?: BaseDatatableSortState | null;
728
+ resetPageOnSort?: boolean;
729
+ onSortChange?: (
730
+ payload: BaseDatatableSortPayload,
731
+ column: BaseDatatableColumn,
732
+ cell: BaseDatatableHeaderCell,
733
+ ) => void;
734
+ headerInteractive?: boolean;
735
+ }
736
+
737
+ interface BaseDatatableSortState {
738
+ key: string;
739
+ direction: "asc" | "desc";
740
+ }
741
+
742
+ interface BaseDatatableSortPayload {
743
+ orderBy: string;
744
+ order: "asc" | "desc";
745
+ page: number;
746
+ rowsPerPage: number;
747
+ }
748
+
749
+ interface BaseDatatableLayout {
750
+ stickyHeader?: boolean;
751
+ stickyOffset?: number;
752
+ freezeLeft?: number;
753
+ freezeRight?: number;
754
+ maxHeight?: number;
755
+ }
756
+
757
+ interface BaseDatatableSelection<T = Record<string, any>> {
758
+ enabled?: boolean;
759
+ position?: "left" | "right";
760
+ selectRowOnClick?: boolean;
761
+ selectedRowIds?: Array<string | number>;
762
+ defaultSelectedRowIds?: Array<string | number>;
763
+ onChange?: (selectedRowIds: Array<string | number>) => void;
764
+ isRowSelectable?: (row: T, rowIndex: number) => boolean;
765
+ }
766
+
767
+ interface BaseDatatablePagination {
768
+ enabled?: boolean;
769
+ serverSide?: boolean;
770
+ /** Pagination variant. "default" uses MUI TablePagination (serverside arrows), "numbered" uses custom page buttons from Figma. Default: "default" */
771
+ variant?: "default" | "numbered";
772
+ /** (numbered only) Show total count "dari 100 data" after the range. Default: false. "Menampilkan 1-10" always shows. */
773
+ showTotalCount?: boolean;
774
+ count?: number;
775
+ page?: number;
776
+ rowsPerPage?: number;
777
+ rowsPerPageOptions?: number[];
778
+ labelRowsPerPage?: ReactNode;
779
+ onPageChange?: (event: unknown, nextPage: number) => void;
780
+ onRowsPerPageChange?: (event: unknown, nextRowsPerPage: number) => void;
781
+ }
782
+
783
+ interface BaseDatatableCellOverrides {
784
+ rowSpan?: number;
785
+ colSpan?: number;
786
+ content?: ReactNode;
787
+ sx?: SxProps;
788
+ }
789
+
790
+ interface BaseDatatableRenderRowContext<T = Record<string, any>> {
791
+ row: T;
792
+ rowIndex: number;
793
+ rowId: string | number;
794
+ rowActive: boolean;
795
+ columns: BaseDatatableColumn<T>[];
796
+ dataColumns: BaseDatatableColumn<T>[];
797
+ selectedRowIds: Array<string | number>;
798
+ renderCell: (
799
+ column: BaseDatatableColumn<T>,
800
+ row: T,
801
+ rowIndex: number,
802
+ columnIndex: number,
803
+ rowId: string | number,
804
+ rowActive: boolean,
805
+ cellOverrides?: BaseDatatableCellOverrides,
806
+ ) => ReactNode;
807
+ }
808
+
809
+ interface BaseDatatableProps<T = Record<string, any>> {
810
+ columns?: Array<BaseDatatableColumn<T> | string>;
811
+ data?: T[];
812
+ header?: BaseDatatableHeaderCell[][];
813
+ features?: BaseDatatableFeatures;
814
+ layout?: BaseDatatableLayout;
815
+ selection?: BaseDatatableSelection<T>;
816
+ pagination?: BaseDatatablePagination;
817
+ renderRow?: (context: BaseDatatableRenderRowContext<T>) => ReactNode;
818
+ onRowClick?: (row: T, rowIndex: number) => void;
819
+ getRowId?: (row: T, rowIndex: number) => string | number;
820
+ emptyState?: ReactNode;
821
+ loading?: boolean;
822
+ loadingText?: ReactNode;
823
+ rowHover?: boolean;
824
+ activeRowId?: string | number | null;
825
+ containerSx?: SxProps;
826
+ tableSx?: SxProps;
827
+ }
828
+
829
+ declare function BaseDatatable<T = Record<string, any>>(
830
+ props: BaseDatatableProps<T>,
831
+ ): ReactNode;
446
832
 
447
833
  declare function ServerSidePaginationActions(props: any): react_jsx_runtime.JSX.Element;
448
834
 
449
- export { ArrowFrameOutlineDownIcon, ArrowFrameOutlineLeftIcon, ArrowFrameOutlineRightIcon, ArrowFrameOutlineUpIcon, ArrowLeft, ArrowRight, ArrowStandardDownIcon, ArrowStandardLeftIcon, ArrowStandardRightIcon, ArrowStandardUpIcon, ArrowStandardUpRightIcon, ArrowUpDown, AuctionHammerIcon, CalculatorIcon, CapsLockOn, CashIcon, CheckboxBorder, CheckboxChecked, ChecklistGreen, CircleCheck, CircleCross, CommentBuble, Dashboard, DocumentNotFound, DownloadDocumentIcon, DownloadIconLarge, DownloadIconSmall, FileOutlineCustom, GenerateDocumentIcon, HandstopSign, HomeAssetIcon, IconAdd, IconBiometricScan, IconBrokenImage, IconCalendar, IconCardOrange, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconConfeti, IconCross, IconCrossLine, IconDeleteBin, IconDocument, IconDocumentAdd, IconDocumentAddOutline, IconDocumentSleve, IconDownloadOutline, IconDuplicate, IconEdit, IconExclamation, IconFile, IconFileOutline, IconFileSleve, IconFingerScan, IconGradingRounded, IconHomeOutlined, IconImage, IconInfo, IconInfoBgPutih, IconInfoHover, IconListDocument, IconModalClose, IconMoney, IconMoneyOne, IconMoneyTwo, IconNoData, IconPeople, IconPeopleGroup, IconPhone, IconPlus, IconProgress, IconRecycle, IconReset, IconSave, IconSaveOutlined, IconSearch, IconSendBlue, IconSendOrange, IconSendWhite, IconSendWhiteFull, IconShuffle, IconTrash, IconTrashOutline, IconUpload, IconUser, IconUserScan, IconVerification, IconWallet, IconWarningTriangle, LoaderIcon, LogoutIcon, MaximizeIcon, MinimizeIcon, MoneyIcon, NotFoundIcon, PersonIcon, RefreshIcon, ReloadIcon, ServerSidePaginationActions, StepOnProgress, SuffleIcon, TargetDartIcon, ThumbsUp, UploadIcon, UsersIcon };
835
+ declare function DatatablePagination({ variant, showTotalCount, page, rowsPerPage, count, onPageChange, onRowsPerPageChange, rowsPerPageOptions, labelRowsPerPage, serverSide, currentPageDataLength, }: {
836
+ variant?: string;
837
+ showTotalCount?: boolean;
838
+ page?: number;
839
+ rowsPerPage?: number;
840
+ count?: number;
841
+ onPageChange: any;
842
+ onRowsPerPageChange: any;
843
+ rowsPerPageOptions?: number[];
844
+ labelRowsPerPage: any;
845
+ serverSide?: boolean;
846
+ currentPageDataLength?: number;
847
+ }): react_jsx_runtime.JSX.Element;
848
+
849
+ interface BaseDatePickerProps {
850
+ /** Picker mode */
851
+ type?: "single" | "day" | "datetime" | "range" | "month" | "year" | "time";
852
+ /** Field name for React Hook Form */
853
+ name: string;
854
+ /** Control object from react-hook-form */
855
+ control: any;
856
+ /** Default selected value */
857
+ defaultValue?: any;
858
+ /** Label title above input */
859
+ title?: string;
860
+ /** Optional subtitle */
861
+ subtitle?: string;
862
+ /** Input placeholder text */
863
+ placeholder?: string;
864
+ /** Minimum selectable date */
865
+ minDate?: Date | string;
866
+ /** Maximum selectable date */
867
+ maxDate?: Date | string;
868
+ /** Disable picker interaction */
869
+ isDisabled?: boolean;
870
+ /** Allow user to clear selected value */
871
+ clearable?: boolean;
872
+ /** Allow manual input editing (range only) */
873
+ editableDateInputs?: boolean;
874
+ /** Display format for value */
875
+ format?: string;
876
+ /** How the calendar popup is triggered */
877
+ openBy?: "field" | "icon" | "both";
878
+ /** MUI sx overrides for the wrapper */
879
+ sx?: SxProps;
880
+ /** Custom onChange handler */
881
+ onChange?: (value: any) => void;
882
+ [key: string]: any;
883
+ }
884
+
885
+ declare function BaseDatePicker(
886
+ props: BaseDatePickerProps,
887
+ ): React.ReactElement | null;
888
+
889
+ interface DropdownOption {
890
+ label: string;
891
+ value: string;
892
+ disabled?: boolean;
893
+ [key: string]: any;
894
+ }
895
+
896
+ interface BaseDropdownProps {
897
+ /** Field name for react-hook-form */
898
+ name: string;
899
+ /** Control object from react-hook-form */
900
+ control: any;
901
+ /** Static options list */
902
+ options?: DropdownOption[];
903
+ /** Async options loader function */
904
+ loadOptions?: (inputValue: string) => Promise<DropdownOption[]>;
905
+ /** Enable multi select mode */
906
+ isMulti?: boolean;
907
+ /** Enable search input */
908
+ isSearchable?: boolean;
909
+ /** Show selected values as chips (multi only) */
910
+ showChip?: boolean;
911
+ /** Show Select All checkbox (multi only) */
912
+ showSelectAll?: boolean;
913
+ /** Label title */
914
+ title?: string;
915
+ /** Subtitle text */
916
+ subtitle?: string;
917
+ /** Default selected value */
918
+ defaultValue?: any;
919
+ /** Disable dropdown */
920
+ isDisabled?: boolean;
921
+ /** Allow clearing value */
922
+ isClearable?: boolean;
923
+ /** Limit max height with scroll */
924
+ preventOverflow?: boolean;
925
+ /** Colors for multi-value tags */
926
+ optionColors?: string[];
927
+ /** Dropdown variant */
928
+ variant?: "select" | "checkbox";
929
+ /** MUI sx overrides for wrapper */
930
+ sx?: SxProps;
931
+ /** Custom onChange handler */
932
+ onChange?: (value: any) => void;
933
+ [key: string]: any;
934
+ }
935
+
936
+ declare function BaseDropdown(
937
+ props: BaseDropdownProps,
938
+ ): React.ReactElement;
939
+
940
+ interface BaseDropzoneSettings {
941
+ /** Ekstensi file yang diizinkan (format react-dropzone accept) */
942
+ allowedExtensions?: Record<string, string[]>;
943
+ /** Ukuran maksimal file dalam MB */
944
+ maxSize?: number;
945
+ /** Jumlah maksimal file yang dapat diupload */
946
+ maxFiles?: number;
947
+ /** Tampilkan preview gambar */
948
+ isImagePreview?: boolean;
949
+ /** Tipe tampilan preview */
950
+ previewType?: "grid" | "list";
951
+ }
952
+
953
+ interface BaseDropzoneLabels {
954
+ /** Label judul di atas dropzone */
955
+ title?: React.ReactNode;
956
+ /** Teks utama di dalam area dropzone */
957
+ dropzoneTitle?: string;
958
+ /** Label pada tombol pilih file */
959
+ titleButton?: string;
960
+ /** Teks keterangan format file yang diizinkan */
961
+ allowedFileLabel?: string;
962
+ }
963
+
964
+ interface BaseDropzoneCallbacks {
965
+ /** Callback ketika file berhasil diupload */
966
+ uploadFile?: (files: Array<{ source: string; originName: string; type: string; size: number }>) => void;
967
+ /** Callback ketika file dihapus */
968
+ removeFile?: (fileName: string) => void;
969
+ /** Pesan error kustom dari luar komponen */
970
+ customError?: string | null;
971
+ }
972
+
973
+ interface BaseDropzoneProps {
974
+ /** Upload otomatis setelah file dipilih */
975
+ autoUpload?: boolean;
976
+ /** Pengaturan dropzone */
977
+ settings?: BaseDropzoneSettings;
978
+ /** Label-label yang ditampilkan */
979
+ labels?: BaseDropzoneLabels;
980
+ /** Callback functions */
981
+ callbacks?: BaseDropzoneCallbacks;
982
+ }
983
+
984
+ declare function BaseDropzone(
985
+ props: BaseDropzoneProps,
986
+ ): React.ReactElement;
987
+
988
+ interface BaseRadioOption {
989
+ label: React.ReactNode;
990
+ value: any;
991
+ isDisabled?: boolean;
992
+ [key: string]: any;
993
+ }
994
+
995
+ interface BaseRadioButtonProps {
996
+ /** Nama field untuk react-hook-form */
997
+ name?: string;
998
+ /** Control dari useForm() */
999
+ control?: any;
1000
+ /** Nilai awal yang dipilih */
1001
+ defaultValue?: any;
1002
+ /** Label di atas radio group */
1003
+ label?: React.ReactNode;
1004
+ /** Daftar opsi radio */
1005
+ options?: BaseRadioOption[];
1006
+ /** Variant typography untuk label */
1007
+ labelVariant?: string;
1008
+ /** Variant typography untuk pesan error */
1009
+ errorVariant?: string;
1010
+ /** Orientasi layout radio group */
1011
+ orientation?: "vertical" | "horizontal";
1012
+ /** Token warna untuk radio yang dipilih */
1013
+ radioColorToken?: string;
1014
+ /** Nonaktifkan semua opsi */
1015
+ isDisabled?: boolean;
1016
+ /** Gunakan error state helper untuk nested field names */
1017
+ useErrorStateHelper?: boolean;
1018
+ /** Custom styles via MUI sx prop */
1019
+ sx?: SxProps;
1020
+
1021
+ [key: string]: any;
1022
+ }
1023
+
1024
+ declare function BaseRadioButton(
1025
+ props: BaseRadioButtonProps,
1026
+ ): React.ReactElement | null;
1027
+
1028
+ interface BaseStepperSimpleStep {
1029
+ /** Step status text (e.g. "Completed", "In Progress") */
1030
+ status?: string;
1031
+ /** Step label/description */
1032
+ label?: string;
1033
+ }
1034
+
1035
+ interface BaseStepperDashboardSublist {
1036
+ sublist_title?: string;
1037
+ is_done?: 0 | 1;
1038
+ }
1039
+
1040
+ interface BaseStepperDashboardStep {
1041
+ title?: string;
1042
+ sublist?: BaseStepperDashboardSublist[];
1043
+ is_done?: 0 | 1;
1044
+ }
1045
+
1046
+ interface BaseStepperProps {
1047
+ /** Array of step objects */
1048
+ steps?: BaseStepperSimpleStep[] | BaseStepperDashboardStep[];
1049
+ /** Currently active step index (for simple variant) */
1050
+ activeStep?: number;
1051
+ /** Layout orientation */
1052
+ orientation?: "horizontal" | "vertical";
1053
+ /** Stepper visual variant */
1054
+ variant?: "simple" | "dashboard";
1055
+ /** MUI sx overrides for wrapper */
1056
+ sx?: SxProps;
1057
+ }
1058
+
1059
+ declare function BaseStepper(props: BaseStepperProps): React.ReactElement;
1060
+
1061
+ interface BaseTextFieldProps {
1062
+ /** Field name for react-hook-form binding */
1063
+ name: string;
1064
+ /** Control object from react-hook-form */
1065
+ control: any;
1066
+ /** Default value for the field */
1067
+ defaultValue?: any;
1068
+ /** Label title displayed above the input */
1069
+ title?: string;
1070
+ /** Maximum character length */
1071
+ maxLength?: number;
1072
+ /** Show "Maksimal X Karakter" helper text */
1073
+ showLength?: boolean;
1074
+ /** Show character counter (e.g. 5/20) */
1075
+ showCountHelper?: boolean;
1076
+ /** Only allow numeric input (0-9) */
1077
+ isNumericOnly?: boolean;
1078
+ /** Only allow alphanumeric input (a-z, A-Z, 0-9) */
1079
+ isAlphaNumericOnly?: boolean;
1080
+ /** Only allow alphabetic input (a-z, A-Z) */
1081
+ isAlphaOnly?: boolean;
1082
+ /** Additional special characters to allow */
1083
+ allowedSpecialCharacters?: string;
1084
+ /** Special characters to disallow */
1085
+ dontAllowedSpecialCharacters?: string;
1086
+ /** Disable the input */
1087
+ isDisabled?: boolean;
1088
+ /** Prevent paste action */
1089
+ isCantPaste?: boolean;
1090
+ /** Result text shown below the input */
1091
+ result?: React.ReactNode;
1092
+ /** Color for the result text */
1093
+ resultColor?: string;
1094
+ /** Disallow spaces */
1095
+ noSpaceAllowed?: boolean;
1096
+ /** Input mask pattern (use 'x' for editable slots, e.g. "0xxx-xxxx-xxxx") */
1097
+ textMask?: string;
1098
+ /** MUI InputProps (startAdornment, endAdornment, sx, etc.) */
1099
+ InputProps?: Record<string, any>;
1100
+ /** Native input props (min, max, step, etc.) */
1101
+ inputProps?: Record<string, any>;
1102
+ /** MUI sx overrides for the wrapper Box */
1103
+ sx?: SxProps;
1104
+ /** Input placeholder text */
1105
+ placeholder?: string;
1106
+ /** Input type (text, password, email, etc.) */
1107
+ type?: string;
1108
+ [key: string]: any;
1109
+ }
1110
+
1111
+ declare function BaseTextField(
1112
+ props: BaseTextFieldProps,
1113
+ ): React.ReactElement | null;
1114
+
1115
+ interface TextFieldUploadProps {
1116
+ /** Nama field untuk react-hook-form */
1117
+ name?: string;
1118
+ /** Control dari useForm() */
1119
+ control?: any;
1120
+ /** Nilai awal field */
1121
+ defaultValue?: string;
1122
+ /** Label di atas field */
1123
+ title?: React.ReactNode;
1124
+ /** Ekstensi file yang diterima (contoh: ".pdf,.jpg") */
1125
+ accept?: string;
1126
+ /** Ukuran maksimal file dalam MB */
1127
+ maxSize?: number;
1128
+ /** Nonaktifkan field */
1129
+ isDisabled?: boolean;
1130
+ /** Label pada tombol upload */
1131
+ buttonLabel?: string;
1132
+ /** Posisi tombol upload relatif terhadap input */
1133
+ buttonPosition?: "start" | "end";
1134
+ /** Callback ketika file dipilih */
1135
+ uploadFile?: (fileName: string, file: File | null) => void;
1136
+ /** Posisi ikon pada tombol upload */
1137
+ iconPosition?: "start" | "end";
1138
+ }
1139
+
1140
+ declare function TextFieldUpload(
1141
+ props: TextFieldUploadProps,
1142
+ ): React.ReactElement | null;
1143
+
1144
+ interface TinyMCEInitConfig {
1145
+ /** Placeholder text di area editor */
1146
+ placeholder?: string;
1147
+ /** Prefix URL untuk image upload */
1148
+ prefixUrl?: string;
1149
+ [key: string]: any;
1150
+ }
1151
+
1152
+ interface BaseTextAreaProps {
1153
+ /** Nama field untuk react-hook-form */
1154
+ name?: string;
1155
+ /** Control dari useForm() */
1156
+ control?: Control<any>;
1157
+ /** Nilai awal (bisa HTML string jika useRichText aktif) */
1158
+ defaultValue?: string;
1159
+ /** Teks bantuan di bawah field (tampil jika tidak ada error) */
1160
+ helperText?: React.ReactNode;
1161
+ /** Validasi rules react-hook-form */
1162
+ rules?: RegisterOptions;
1163
+ /** Harus tepat N karakter (override min/maxLength) */
1164
+ exactLength?: number;
1165
+ /** Batas maksimal karakter */
1166
+ maxLength?: number;
1167
+ /** Label di atas field */
1168
+ title?: string;
1169
+ /** Nonaktifkan field */
1170
+ isDisabled?: boolean;
1171
+ /** Aktifkan TinyMCE rich-text editor (default: plain MUI textarea) */
1172
+ useRichText?: boolean;
1173
+ /** Override konfigurasi TinyMCE (placeholder, prefixUrl, dll) */
1174
+ init?: TinyMCEInitConfig;
1175
+ /** Callback file_picker_callback untuk upload gambar di rich text mode */
1176
+ handleImageUpload?: (
1177
+ callback: (url: string, meta?: Record<string, string>) => void,
1178
+ value: string,
1179
+ meta: Record<string, string>,
1180
+ ) => void;
1181
+ /** Custom styles via MUI sx prop */
1182
+ sx?: SxProps;
1183
+
1184
+ [key: string]: any;
1185
+ }
1186
+
1187
+ declare function BaseTextArea(
1188
+ props: BaseTextAreaProps,
1189
+ ): React.ReactElement | null;
1190
+
1191
+ interface BaseModalAlertShowOptions {
1192
+ /** Icon type preset or custom image path */
1193
+ icon?: "success" | "error" | "info" | "warning" | "confirm" | string;
1194
+ /** Modal title text */
1195
+ title?: string;
1196
+ /** Modal description text */
1197
+ description?: string;
1198
+ /** Cancel button text. Default: "Batal" */
1199
+ cancelBtnText?: string;
1200
+ /** Confirm button text. Default: "Ya" */
1201
+ confirmBtnText?: string;
1202
+ /** Cancel button action. Default: closes modal. Can be custom function. */
1203
+ cancelBtnProps?: () => void;
1204
+ /** Confirm button action. Called on confirm click. */
1205
+ confirmBtnProps?: () => void;
1206
+ /** Show cancel button. Default: true */
1207
+ showCancelBtn?: boolean;
1208
+ /** Show confirm button. Default: true */
1209
+ showConfirmBtn?: boolean;
1210
+ }
1211
+
1212
+ interface BaseModalAlertDialogProps extends BaseModalAlertShowOptions {
1213
+ /** Whether the modal is open */
1214
+ open?: boolean;
1215
+ /** Close handler */
1216
+ onClose?: () => void;
1217
+ }
1218
+
1219
+ /**
1220
+ * Imperative BaseModalAlert API.
1221
+ *
1222
+ * Usage:
1223
+ * ```jsx
1224
+ * import { BaseModalAlert } from 'spotlibs-components';
1225
+ *
1226
+ * BaseModalAlert.show({
1227
+ * icon: 'success',
1228
+ * title: 'Berhasil!',
1229
+ * description: 'Data berhasil disimpan.',
1230
+ * confirmBtnText: 'OK',
1231
+ * showCancelBtn: false,
1232
+ * confirmBtnProps: () => console.log('confirmed'),
1233
+ * });
1234
+ *
1235
+ * BaseModalAlert.hide();
1236
+ * ```
1237
+ */
1238
+ declare const BaseModalAlert: {
1239
+ /** Show the modal alert with given options */
1240
+ show: (options: BaseModalAlertShowOptions) => void;
1241
+ /** Hide the modal alert */
1242
+ hide: () => void;
1243
+ /** Internal: set modal ref (used by BaseModalAlertProvider) */
1244
+ setModalRef: (ref: React.RefObject<any>) => void;
1245
+ };
1246
+
1247
+ /**
1248
+ * Provider component. Mount once at app root to enable BaseModalAlert.show()/hide().
1249
+ *
1250
+ * ```jsx
1251
+ * import { BaseModalAlertProvider } from 'spotlibs-components';
1252
+ *
1253
+ * function App() {
1254
+ * return (
1255
+ * <>
1256
+ * <BaseModalAlertProvider />
1257
+ * <YourApp />
1258
+ * </>
1259
+ * );
1260
+ * }
1261
+ * ```
1262
+ */
1263
+ declare function BaseModalAlertProvider(): React.ReactElement;
1264
+
1265
+ /**
1266
+ * Controlled dialog component for direct usage without imperative API.
1267
+ */
1268
+ declare function BaseModalAlertDialog(props: BaseModalAlertDialogProps): React.ReactElement;
1269
+
1270
+ interface BaseModalLoadingDialogProps {
1271
+ /** Whether the loading modal is open */
1272
+ open?: boolean;
1273
+ /** Loading message text. Default: "Mohon tunggu..." */
1274
+ message?: string;
1275
+ }
1276
+
1277
+ /**
1278
+ * Imperative BaseModalLoading API.
1279
+ *
1280
+ * Usage:
1281
+ * ```jsx
1282
+ * import { BaseModalLoading } from 'spotlibs-components';
1283
+ *
1284
+ * BaseModalLoading.show(); // default message
1285
+ * BaseModalLoading.show("Sedang memproses data...");
1286
+ * BaseModalLoading.hide();
1287
+ * ```
1288
+ */
1289
+ declare const BaseModalLoading: {
1290
+ /** Show the loading modal. Optionally pass a custom message. */
1291
+ show: (message?: string) => void;
1292
+ /** Hide the loading modal */
1293
+ hide: () => void;
1294
+ /** Internal: set modal ref (used by BaseModalLoadingProvider) */
1295
+ setModalRef: (ref: React.RefObject<any>) => void;
1296
+ };
1297
+
1298
+ /**
1299
+ * Provider component. Mount once at app root to enable BaseModalLoading.show()/hide().
1300
+ *
1301
+ * ```jsx
1302
+ * import { BaseModalLoadingProvider } from 'spotlibs-components';
1303
+ *
1304
+ * function App() {
1305
+ * return (
1306
+ * <>
1307
+ * <BaseModalLoadingProvider />
1308
+ * <YourApp />
1309
+ * </>
1310
+ * );
1311
+ * }
1312
+ * ```
1313
+ */
1314
+ declare function BaseModalLoadingProvider(): React.ReactElement;
1315
+
1316
+ /**
1317
+ * Controlled loading dialog component for direct usage without imperative API.
1318
+ */
1319
+ declare function BaseModalLoadingDialog(props: BaseModalLoadingDialogProps): React.ReactElement;
1320
+
1321
+ interface BaseModalPopupProps {
1322
+ /** Whether the modal is open */
1323
+ open?: boolean;
1324
+ /** Close handler */
1325
+ onClose?: () => void;
1326
+ /** Modal variant type */
1327
+ variant?: "default" | "with-header" | "with-header-footer";
1328
+ /** Header background color preset */
1329
+ color?: "primary" | "secondary" | "success" | "warning" | "danger";
1330
+ /** Header title text */
1331
+ title?: string;
1332
+ /** Header subtitle text */
1333
+ subtitle?: string;
1334
+ /** Icon element before title in header */
1335
+ startIcon?: React.ReactNode;
1336
+ /** Modal body content */
1337
+ children?: React.ReactNode;
1338
+ /** Footer content (only for with-header-footer variant) */
1339
+ footer?: React.ReactNode;
1340
+ /** MUI Dialog maxWidth. Default: "sm" */
1341
+ maxWidth?: "xs" | "sm" | "md" | "lg" | "xl" | false;
1342
+ /** Whether dialog takes full width of maxWidth. Default: true */
1343
+ fullWidth?: boolean;
1344
+ /** Enable watermark overlay on content area */
1345
+ isWatermark?: boolean;
1346
+ /** Watermark text (e.g. "12345678 / Brispot Web") */
1347
+ watermarkText?: string;
1348
+ /** MUI sx overrides for Dialog */
1349
+ sx?: SxProps;
1350
+ [key: string]: any;
1351
+ }
1352
+
1353
+ declare function BaseModalPopup(props: BaseModalPopupProps): React.ReactElement;
1354
+
1355
+ interface BaseModalStepperStep {
1356
+ label?: string;
1357
+ description?: string;
1358
+ responseCode?: string;
1359
+ responseDesc?: string;
1360
+ responseTime?: number;
1361
+ }
1362
+
1363
+ interface BaseModalStepperProps {
1364
+ open: boolean;
1365
+
1366
+ onClose: (event?: any, reason?: any) => void;
1367
+
1368
+ title?: string;
1369
+
1370
+ stepper?: BaseModalStepperStep[];
1371
+
1372
+ navState?: string | number | null;
1373
+
1374
+ lengthUpload?: number;
1375
+
1376
+ id_pengajuan?: number | null;
1377
+
1378
+ showFooter?: boolean;
1379
+
1380
+ children?: React.ReactNode;
1381
+
1382
+ modalWidth?: string;
1383
+
1384
+ [key: string]: any;
1385
+ }
1386
+
1387
+ declare function BaseModalStepper(
1388
+ props: BaseModalStepperProps,
1389
+ ): React.ReactElement | null;
1390
+
1391
+ interface BaseModalOTPProps {
1392
+ isOpen?: boolean;
1393
+
1394
+ phone?: string;
1395
+
1396
+ setIsOpen?: (open: boolean) => void;
1397
+
1398
+ otpLength?: number;
1399
+
1400
+ onValidateOtp?: (otp: string) => void;
1401
+
1402
+ onRequestOtp?: () => void;
1403
+
1404
+ [key: string]: any;
1405
+ }
1406
+
1407
+ declare function BaseModalOTP(
1408
+ props: BaseModalOTPProps,
1409
+ ): React.ReactElement | null;
1410
+
1411
+ declare const FORM_TYPE: {
1412
+ TEXT_FIELD: "text-field";
1413
+ TEXT_AREA: "text-area";
1414
+ TEXT_FIELD_UPLOAD: "text-field-upload";
1415
+ DATE_PICKER: "date-picker";
1416
+ DATETIME_PICKER: "datetime-picker";
1417
+ TIME_PICKER: "time-picker";
1418
+ YEAR_PICKER: "year-picker";
1419
+ MONTH_PICKER: "month-picker";
1420
+ DAY_PICKER: "day-picker";
1421
+ DATE_RANGE: "date-range";
1422
+ DROPDOWN: "dropdown";
1423
+ DROPDOWN_ASYNC: "dropdown-async";
1424
+ CHECKBOX: "checkbox";
1425
+ RADIO: "radio";
1426
+ CUSTOM: "custom";
1427
+ };
1428
+
1429
+ interface FormBuilderFieldConfig {
1430
+ type: string;
1431
+ name?: string;
1432
+ title?: string;
1433
+ /** Per-field layout override */
1434
+ layout?: "vertical" | "horizontal";
1435
+ /** Per-field label width override */
1436
+ labelWidth?: string;
1437
+ /** Per-field divider override */
1438
+ divider?: boolean;
1439
+ [key: string]: any;
1440
+ }
1441
+
1442
+ interface FormBuilderProps<T = any> {
1443
+ /** MUI sx overrides for form element */
1444
+ sx?: SxProps;
1445
+ /** Array of field configurations */
1446
+ fields?: FormBuilderFieldConfig[];
1447
+ /** react-hook-form methods */
1448
+ methods?: UseFormReturn<T>;
1449
+ /** Form submit handler */
1450
+ onSubmit?: (data: T) => void;
1451
+ /** Gap between fields in px. Default: 16 */
1452
+ gap?: number;
1453
+ /** Number of grid columns. Default: 1 */
1454
+ columns?: number;
1455
+ /** Field layout direction. Default: "vertical" */
1456
+ layout?: "vertical" | "horizontal";
1457
+ /** Label width for horizontal layout. Default: "30%" */
1458
+ labelWidth?: string;
1459
+ /** Show border-bottom between fields. Default: false */
1460
+ divider?: boolean;
1461
+ /** CSS class for form element */
1462
+ className?: string;
1463
+ [key: string]: any;
1464
+ }
1465
+
1466
+ interface SubFormBuilderProps<T = any> {
1467
+ /** MUI sx overrides */
1468
+ sx?: SxProps;
1469
+ /** Array of field configurations */
1470
+ fields?: FormBuilderFieldConfig[];
1471
+ /** react-hook-form methods */
1472
+ methods?: UseFormReturn<T>;
1473
+ /** Gap between fields in px. Default: 16 */
1474
+ gap?: number;
1475
+ /** Number of grid columns. Default: 1 */
1476
+ columns?: number;
1477
+ /** Field layout direction. Default: "vertical" */
1478
+ layout?: "vertical" | "horizontal";
1479
+ /** Label width for horizontal layout. Default: "30%" */
1480
+ labelWidth?: string;
1481
+ /** Show border-bottom between fields. Default: false */
1482
+ divider?: boolean;
1483
+ [key: string]: any;
1484
+ }
1485
+
1486
+ declare function FormBuilder<T = any>(props: FormBuilderProps<T>): React.ReactElement;
1487
+ declare function SubFormBuilder<T = any>(props: SubFormBuilderProps<T>): React.ReactElement;
1488
+
1489
+ export { BaseAlert, BaseButton, BaseCard, BaseCheckbox, BaseChip, BaseDatatable, BaseDatePicker, BaseDropdown, BaseDropzone, BaseModalAlert, BaseModalAlertDialog, BaseModalAlertProvider, BaseModalLoading, BaseModalLoadingDialog, BaseModalLoadingProvider, BaseModalOTP, BaseModalPopup, BaseModalStepper, BaseRadioButton, BaseSkeleton, BaseSnackbar, BaseStepper, BaseSwitch, BaseTextArea, BaseTextField, BaseTypography, CONTENT_SPACING_TOKENS, CapsLockOn, ContentSpacing, DatatablePagination, DerivedColor, DownloadIconLarge, FORM_TYPE, FormBuilder, IconBiometricScan, IconDocumentAdd, IconEdit, IconFile, IconGradingRounded, IconListDocument, IconMoney, IconProgress, IconReset, IconSave, IconSaveOutlined, IconSendWhite, IconSendWhiteFull, IconUpload, IconUserScan, IconVerification, MoneyIcon, PrimitiveColor, Radius, RadiusToken, ServerSidePaginationActions, Shadow, ShadowToken, Spacing, SpacingToken, SubFormBuilder, TextFieldUpload, UsersIcon, VariantStyles };