spotlibs-components 0.1.10 → 0.1.12
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/{chunk-OGJBPTUP.mjs → chunk-F6KSEYVB.mjs} +3 -3
- package/dist/{chunk-OGJBPTUP.mjs.map → chunk-F6KSEYVB.mjs.map} +1 -1
- package/dist/chunk-UFE7HFT2.mjs +60 -0
- package/dist/chunk-UFE7HFT2.mjs.map +1 -0
- package/dist/{chunk-NXFLMH2Q.mjs → chunk-YOSPWY5K.mjs} +3 -4
- package/dist/{chunk-NXFLMH2Q.mjs.map → chunk-YOSPWY5K.mjs.map} +1 -1
- package/dist/{atoms → components/atoms}/icons/index.mjs +2 -2
- package/dist/components/index.d.mts +449 -0
- package/dist/components/index.mjs +7053 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/{mui → components/mui}/index.mjs +1 -1
- package/dist/components/types.d.mts +4 -0
- package/dist/{types-B0iF5xX8.d.mts → types-D1akE7ak.d.mts} +334 -245
- package/dist/utils/index.d.mts +106 -0
- package/dist/utils/index.mjs +477 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +13 -2
- package/src/utils/admin-kuota-nasional/constant.d.ts +23 -0
- package/src/utils/admin-kuota-nasional/constant.js +95 -0
- package/src/utils/asset.d.ts +1 -0
- package/src/utils/asset.js +10 -0
- package/src/utils/booleanUtils.d.ts +2 -0
- package/src/utils/booleanUtils.js +19 -0
- package/src/utils/briguna-digital/constant.d.ts +2 -0
- package/src/utils/briguna-digital/constant.js +12 -0
- package/src/utils/compress.d.ts +2 -0
- package/src/utils/compress.js +24 -0
- package/src/utils/compressImage.d.ts +6 -0
- package/src/utils/compressImage.js +20 -0
- package/src/utils/constants.d.ts +5 -0
- package/src/utils/constants.js +20 -0
- package/src/utils/cookies.d.ts +19 -0
- package/src/utils/cookies.js +102 -0
- package/src/utils/crypto.d.ts +5 -0
- package/src/utils/crypto.js +104 -0
- package/src/utils/decodeString.d.ts +1 -0
- package/src/utils/decodeString.js +17 -0
- package/src/utils/disableFormElements.d.ts +5 -0
- package/src/utils/disableFormElements.js +19 -0
- package/src/utils/excelUtils.d.ts +25 -0
- package/src/utils/excelUtils.js +60 -0
- package/src/utils/exception.d.ts +19 -0
- package/src/utils/exception.js +86 -0
- package/src/utils/formatString.d.ts +25 -0
- package/src/utils/formatString.js +151 -0
- package/src/utils/formatters/account.d.ts +2 -0
- package/src/utils/formatters/account.js +98 -0
- package/src/utils/formatters/currency.d.ts +20 -0
- package/src/utils/formatters/currency.js +125 -0
- package/src/utils/formatters/date.d.ts +12 -0
- package/src/utils/formatters/date.js +219 -0
- package/src/utils/formatters/index.d.ts +47 -0
- package/src/utils/formatters/index.js +47 -0
- package/src/utils/formatters/string.d.ts +6 -0
- package/src/utils/formatters/string.js +114 -0
- package/src/utils/generateImportExcel.d.ts +35 -0
- package/src/utils/generateImportExcel.js +546 -0
- package/src/utils/generateTimestamp.d.ts +1 -0
- package/src/utils/generateTimestamp.js +4 -0
- package/src/utils/handleApiError.d.ts +1 -0
- package/src/utils/handleApiError.js +17 -0
- package/src/utils/index.d.ts +104 -0
- package/src/utils/index.js +92 -0
- package/src/utils/json.d.ts +4 -0
- package/src/utils/json.js +55 -0
- package/src/utils/localStorage.d.ts +1 -0
- package/src/utils/localStorage.js +8 -0
- package/src/utils/logger.d.ts +4 -0
- package/src/utils/logger.js +46 -0
- package/src/utils/schema/globalSchema.d.ts +8 -0
- package/src/utils/schema/globalSchema.js +10 -0
- package/src/utils/signature.d.ts +10 -0
- package/src/utils/signature.js +75 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.d.ts +5 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.js +87 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.d.ts +2 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.js +214 -0
- package/src/utils/static-data/korporasi/prakarsa/analisa-risiko-kredit-nasabah/analisa-kinerja-keuangan/listStaticData.js +290 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-arus-kas/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-keuangan/listStaticData.js +75 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/total-exposure-group/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/create/listStaticData.js +21 -0
- package/src/utils/static-data/korporasi/prakarsa/generals/listExcelConfigData.js +11 -0
- package/src/utils/static-data/korporasi/prakarsa/pengajuan-fasilitas-kredit/fasilitas-kredit/listStaticData.js +69 -0
- package/src/utils/static-data/korporasi-internasional/eksternal/listStaticData.js +193 -0
- package/src/utils/static-data/korporasi-internasional/master/listStaticData.js +24 -0
- package/src/utils/static-data/korporasi-internasional/uji-kepatuhan/listStaticData.js +250 -0
- package/src/utils/status.d.ts +37 -0
- package/src/utils/status.js +160 -0
- package/src/utils/store/adminKuotaNasional.js +7 -0
- package/src/utils/store/authStore.js +13 -0
- package/src/utils/store/bankGaransiStore.js +10 -0
- package/src/utils/store/korporasi/approval/interface/interfaceStore.js +10 -0
- package/src/utils/store/korporasi/general/generalKorporasiStore.js +13 -0
- package/src/utils/store/korporasi/loan-disbursement/loanDisbursementStore.js +77 -0
- package/src/utils/store/korporasi/prakarsa/fasilitas-kredit/fasilitasKreditStore.js +141 -0
- package/src/utils/store/migrasi-mandiri/migrasiMandiriStore.js +53 -0
- package/src/utils/store/monitoring-konsumer/monitoring-leads-KPP/monitoring-leads-kpp-internal.js +34 -0
- package/src/utils/store/prakarsaBankGaransiStore.js +21 -0
- package/src/utils/store/prognosa-crr/settingPrognosaROStore.js +9 -0
- package/src/utils/store/prognosaRMStore.js +30 -0
- package/src/utils/store/restrukStore.js +26 -0
- package/src/utils/store/verificationAccessLink.js +11 -0
- package/src/utils/store/warkat-bg-wholesale/warkatBgWholesaleStore.js +22 -0
- package/src/utils/stringUtils.d.ts +22 -0
- package/src/utils/stringUtils.js +226 -0
- package/src/utils/tipeBank.d.ts +3 -0
- package/src/utils/tipeBank.js +14 -0
- package/dist/index.css +0 -32
- package/dist/index.css.map +0 -1
- package/dist/index.d.mts +0 -1726
- package/dist/index.mjs +0 -18560
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -4
- /package/dist/{atoms → components/atoms}/icons/index.d.mts +0 -0
- /package/dist/{atoms → components/atoms}/icons/index.mjs.map +0 -0
- /package/dist/{mui → components/mui}/index.d.mts +0 -0
- /package/dist/{mui → components/mui}/index.mjs.map +0 -0
- /package/dist/{types.mjs → components/types.mjs} +0 -0
- /package/dist/{types.mjs.map → components/types.mjs.map} +0 -0
|
@@ -4,21 +4,28 @@ import { SxProps } from '@mui/material/styles';
|
|
|
4
4
|
import { Control, RegisterOptions } from 'react-hook-form';
|
|
5
5
|
|
|
6
6
|
interface BaseAlertProps {
|
|
7
|
-
variant
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/** Alert color variant */
|
|
8
|
+
variant?: "default" | "error" | "info" | "success" | "warning";
|
|
9
|
+
/** MUI Alert variant type */
|
|
10
|
+
type?: "standard" | "filled" | "outlined";
|
|
11
|
+
/** Alert title */
|
|
12
|
+
title?: string;
|
|
13
|
+
/** Alert content */
|
|
10
14
|
children?: React.ReactNode;
|
|
11
|
-
icon
|
|
15
|
+
/** Icon element or component. If not provided, no icon is shown. */
|
|
16
|
+
icon?: React.ReactNode | React.ComponentType<any>;
|
|
17
|
+
/** Custom background color override */
|
|
12
18
|
color?: string;
|
|
13
|
-
sx
|
|
19
|
+
/** MUI sx overrides */
|
|
20
|
+
sx?: SxProps;
|
|
21
|
+
/** Close handler. If provided, close button is shown. */
|
|
14
22
|
onClose?: () => void;
|
|
15
|
-
|
|
23
|
+
/** sx overrides for children wrapper */
|
|
24
|
+
childrenSx?: SxProps;
|
|
16
25
|
[key: string]: any;
|
|
17
26
|
}
|
|
18
27
|
|
|
19
|
-
declare function BaseAlert(
|
|
20
|
-
props: BaseAlertProps,
|
|
21
|
-
): React.ReactElement | null;
|
|
28
|
+
declare function BaseAlert(props: BaseAlertProps): React.ReactElement;
|
|
22
29
|
|
|
23
30
|
interface PrimitiveColorType {
|
|
24
31
|
color_overlay: string;
|
|
@@ -118,14 +125,23 @@ interface DerivedColorType {
|
|
|
118
125
|
color_bg_surface: string;
|
|
119
126
|
color_bg_inverse: string;
|
|
120
127
|
color_bg_disabled: string;
|
|
128
|
+
|
|
129
|
+
color_bg_brand_primary_strong: string;
|
|
121
130
|
color_bg_brand_primary: string;
|
|
122
131
|
color_bg_brand_primary_subtle: string;
|
|
132
|
+
color_bg_brand_secondary_strong: string;
|
|
123
133
|
color_bg_brand_secondary: string;
|
|
124
134
|
color_bg_brand_secondary_subtle: string;
|
|
135
|
+
|
|
136
|
+
color_bg_success_strong: string;
|
|
125
137
|
color_bg_success: string;
|
|
126
138
|
color_bg_success_subtle: string;
|
|
139
|
+
|
|
140
|
+
color_bg_danger_strong: string;
|
|
127
141
|
color_bg_danger: string;
|
|
128
142
|
color_bg_danger_subtle: string;
|
|
143
|
+
|
|
144
|
+
color_bg_warning_strong: string;
|
|
129
145
|
color_bg_warning: string;
|
|
130
146
|
color_bg_warning_subtle: string;
|
|
131
147
|
|
|
@@ -165,30 +181,53 @@ interface DerivedColorType {
|
|
|
165
181
|
|
|
166
182
|
declare const DerivedColor: DerivedColorType;
|
|
167
183
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
184
|
+
type TypographyVariant =
|
|
185
|
+
| "h1"
|
|
186
|
+
| "h2"
|
|
187
|
+
| "h3"
|
|
188
|
+
| "h4"
|
|
189
|
+
| "h5"
|
|
190
|
+
| "h6"
|
|
191
|
+
| "header1_regular"
|
|
192
|
+
| "header1_semibold"
|
|
193
|
+
| "header1_bold"
|
|
194
|
+
| "header2_regular"
|
|
195
|
+
| "header2_semibold"
|
|
196
|
+
| "header2_bold"
|
|
197
|
+
| "body1_regular"
|
|
198
|
+
| "body2_regular"
|
|
199
|
+
| "caption_regular";
|
|
200
|
+
|
|
201
|
+
type TypographyColor =
|
|
202
|
+
| "default"
|
|
203
|
+
| "subtle"
|
|
204
|
+
| "disabled"
|
|
205
|
+
| "placeholder"
|
|
206
|
+
| "inverse"
|
|
207
|
+
| "primary"
|
|
208
|
+
| "secondary"
|
|
209
|
+
| "success"
|
|
210
|
+
| "danger"
|
|
211
|
+
| "warning";
|
|
212
|
+
|
|
213
|
+
interface VariantStyleEntry {
|
|
214
|
+
fontSize: string;
|
|
215
|
+
fontWeight: number;
|
|
172
216
|
}
|
|
173
217
|
|
|
174
|
-
declare const VariantStyles: Record<
|
|
175
|
-
string,
|
|
176
|
-
{
|
|
177
|
-
fontSize: string;
|
|
178
|
-
fontWeight: number;
|
|
179
|
-
}
|
|
180
|
-
>;
|
|
218
|
+
declare const VariantStyles: Record<TypographyVariant, VariantStyleEntry>;
|
|
181
219
|
|
|
182
220
|
interface TypographyProps {
|
|
183
|
-
variant
|
|
221
|
+
/** Format: "variant.color" e.g. "body1_regular.default" */
|
|
222
|
+
variant?: `${TypographyVariant}.${TypographyColor}` | TypographyVariant;
|
|
223
|
+
/** Content */
|
|
184
224
|
children?: React.ReactNode;
|
|
185
|
-
|
|
225
|
+
/** MUI sx overrides */
|
|
226
|
+
sx?: SxProps;
|
|
186
227
|
[key: string]: any;
|
|
187
228
|
}
|
|
188
229
|
|
|
189
|
-
declare function
|
|
190
|
-
props: TypographyProps,
|
|
191
|
-
): React.ReactElement | null;
|
|
230
|
+
declare function BaseTypography(props: TypographyProps): React.ReactElement | null;
|
|
192
231
|
|
|
193
232
|
declare const SpacingToken: {
|
|
194
233
|
spacing0: string;
|
|
@@ -204,7 +243,7 @@ declare const SpacingToken: {
|
|
|
204
243
|
spacing10: string;
|
|
205
244
|
};
|
|
206
245
|
|
|
207
|
-
declare const CONTENT_SPACING_TOKENS: {
|
|
246
|
+
declare const CONTENT_SPACING_TOKENS: {
|
|
208
247
|
spacing_1: {
|
|
209
248
|
mobile: string;
|
|
210
249
|
tablet: string;
|
|
@@ -219,41 +258,41 @@ declare const CONTENT_SPACING_TOKENS: {
|
|
|
219
258
|
mobile: string;
|
|
220
259
|
tablet: string;
|
|
221
260
|
web: string;
|
|
222
|
-
};
|
|
223
|
-
};
|
|
224
|
-
|
|
225
|
-
interface ResponsiveSpacingValue {
|
|
226
|
-
mobile?: string;
|
|
227
|
-
tablet?: string;
|
|
228
|
-
web?: string;
|
|
229
|
-
[key: string]: string | undefined;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
type SpacingSizeValue = keyof typeof SpacingToken | string | number;
|
|
233
|
-
|
|
234
|
-
type ContentSpacingSizeValue =
|
|
235
|
-
| keyof typeof CONTENT_SPACING_TOKENS
|
|
236
|
-
| ResponsiveSpacingValue;
|
|
237
|
-
|
|
238
|
-
interface SpacingProps {
|
|
239
|
-
size?: SpacingSizeValue;
|
|
240
|
-
axis?: "vertical" | "horizontal";
|
|
241
|
-
as?: React.ElementType;
|
|
242
|
-
className?: string;
|
|
243
|
-
style?: React.CSSProperties;
|
|
244
|
-
children?: React.ReactNode;
|
|
245
|
-
[key: string]: unknown;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
interface ContentSpacingProps {
|
|
249
|
-
size?: ContentSpacingSizeValue;
|
|
250
|
-
breakpoint?: "mobile" | "tablet" | "web";
|
|
251
|
-
as?: React.ElementType;
|
|
252
|
-
className?: string;
|
|
253
|
-
style?: React.CSSProperties;
|
|
254
|
-
children?: React.ReactNode;
|
|
255
|
-
[key: string]: unknown;
|
|
256
|
-
}
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
interface ResponsiveSpacingValue {
|
|
265
|
+
mobile?: string;
|
|
266
|
+
tablet?: string;
|
|
267
|
+
web?: string;
|
|
268
|
+
[key: string]: string | undefined;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
type SpacingSizeValue = keyof typeof SpacingToken | string | number;
|
|
272
|
+
|
|
273
|
+
type ContentSpacingSizeValue =
|
|
274
|
+
| keyof typeof CONTENT_SPACING_TOKENS
|
|
275
|
+
| ResponsiveSpacingValue;
|
|
276
|
+
|
|
277
|
+
interface SpacingProps {
|
|
278
|
+
size?: SpacingSizeValue;
|
|
279
|
+
axis?: "vertical" | "horizontal";
|
|
280
|
+
as?: React.ElementType;
|
|
281
|
+
className?: string;
|
|
282
|
+
style?: React.CSSProperties;
|
|
283
|
+
children?: React.ReactNode;
|
|
284
|
+
[key: string]: unknown;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
interface ContentSpacingProps {
|
|
288
|
+
size?: ContentSpacingSizeValue;
|
|
289
|
+
breakpoint?: "mobile" | "tablet" | "web";
|
|
290
|
+
as?: React.ElementType;
|
|
291
|
+
className?: string;
|
|
292
|
+
style?: React.CSSProperties;
|
|
293
|
+
children?: React.ReactNode;
|
|
294
|
+
[key: string]: unknown;
|
|
295
|
+
}
|
|
257
296
|
|
|
258
297
|
declare const Spacing: React.FC<SpacingProps>;
|
|
259
298
|
|
|
@@ -279,12 +318,10 @@ type ShadowLevel = keyof ShadowMap;
|
|
|
279
318
|
interface ShadowTokenProps {
|
|
280
319
|
/** Elevation level */
|
|
281
320
|
level?: ShadowLevel;
|
|
282
|
-
/** HTML element or component to render */
|
|
283
|
-
as?: React.ElementType;
|
|
284
|
-
/** Inline style overrides */
|
|
285
|
-
style?: React.CSSProperties;
|
|
286
321
|
/** Content */
|
|
287
322
|
children?: React.ReactNode;
|
|
323
|
+
/** MUI sx overrides */
|
|
324
|
+
sx?: SxProps;
|
|
288
325
|
[key: string]: any;
|
|
289
326
|
}
|
|
290
327
|
|
|
@@ -301,17 +338,15 @@ interface RadiusMap {
|
|
|
301
338
|
|
|
302
339
|
declare const Radius: RadiusMap;
|
|
303
340
|
|
|
304
|
-
type
|
|
341
|
+
type RadiusLevel = keyof RadiusMap;
|
|
305
342
|
|
|
306
343
|
interface RadiusTokenProps {
|
|
307
|
-
/** Radius
|
|
308
|
-
radius?:
|
|
309
|
-
/** HTML element or component to render */
|
|
310
|
-
as?: React.ElementType;
|
|
311
|
-
/** Inline style overrides */
|
|
312
|
-
style?: React.CSSProperties;
|
|
344
|
+
/** Radius level */
|
|
345
|
+
radius?: RadiusLevel;
|
|
313
346
|
/** Content */
|
|
314
347
|
children?: React.ReactNode;
|
|
348
|
+
/** MUI sx overrides */
|
|
349
|
+
sx?: SxProps;
|
|
315
350
|
[key: string]: any;
|
|
316
351
|
}
|
|
317
352
|
|
|
@@ -324,14 +359,20 @@ interface BaseButtonProps {
|
|
|
324
359
|
children?: React.ReactNode;
|
|
325
360
|
/** Visual style variant */
|
|
326
361
|
variant?: "fill" | "outline" | "text" | "fab" | "ellipse-fill" | "ellipse-outline";
|
|
327
|
-
/**
|
|
328
|
-
color?:
|
|
362
|
+
/** Semantic color preset */
|
|
363
|
+
color?: "primary" | "secondary" | "success" | "warning" | "danger";
|
|
364
|
+
/** Custom color key from PrimitiveColor. Overrides `color` prop when set. */
|
|
365
|
+
customColor?: keyof typeof PrimitiveColor | null;
|
|
329
366
|
/** Button size */
|
|
330
367
|
size?: "large" | "small";
|
|
331
368
|
/** Disabled state */
|
|
332
369
|
disabled?: boolean;
|
|
333
370
|
/** Icon element rendered before children */
|
|
334
|
-
|
|
371
|
+
startIcon?: React.ReactNode;
|
|
372
|
+
/** Icon element rendered after children */
|
|
373
|
+
endIcon?: React.ReactNode;
|
|
374
|
+
/** Button width */
|
|
375
|
+
width?: string;
|
|
335
376
|
/** MUI sx overrides */
|
|
336
377
|
sx?: SxProps;
|
|
337
378
|
[key: string]: any;
|
|
@@ -339,58 +380,37 @@ interface BaseButtonProps {
|
|
|
339
380
|
|
|
340
381
|
declare function BaseButton(props: BaseButtonProps): React.ReactElement;
|
|
341
382
|
|
|
342
|
-
interface BaseCardDataItem {
|
|
343
|
-
icon?: React.ReactNode;
|
|
344
|
-
count?: number | string;
|
|
345
|
-
title?: string;
|
|
346
|
-
update?: string;
|
|
347
|
-
}
|
|
348
|
-
|
|
349
383
|
interface BaseCardProps {
|
|
350
|
-
/** Card
|
|
351
|
-
|
|
384
|
+
/** Card variant type */
|
|
385
|
+
variant?: "default" | "with-header" | "with-header-footer";
|
|
352
386
|
/** Card body content */
|
|
353
387
|
children?: React.ReactNode;
|
|
354
|
-
/**
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
icon?: React.ReactNode;
|
|
358
|
-
/** Label text */
|
|
359
|
-
label?: string;
|
|
360
|
-
/** Title text */
|
|
388
|
+
/** Header background color preset */
|
|
389
|
+
color?: "primary" | "secondary" | "success" | "warning" | "danger";
|
|
390
|
+
/** Header title text */
|
|
361
391
|
title?: string;
|
|
362
|
-
/**
|
|
392
|
+
/** Header subtitle text */
|
|
363
393
|
subtitle?: string;
|
|
364
|
-
/** Data items for summary card type */
|
|
365
|
-
dataList?: BaseCardDataItem[];
|
|
366
|
-
/** Last update date string */
|
|
367
|
-
updateDate?: string;
|
|
368
|
-
/** Bold the count icon */
|
|
369
|
-
boldCountIcon?: boolean;
|
|
370
|
-
/** Bold the count value */
|
|
371
|
-
boldCount?: boolean;
|
|
372
394
|
/** Bold the title */
|
|
373
395
|
boldTitle?: boolean;
|
|
374
|
-
/** Bold the
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
|
|
378
|
-
/**
|
|
379
|
-
backgroundColor?: string;
|
|
380
|
-
/** Title color */
|
|
381
|
-
colorTitlte?: string;
|
|
382
|
-
/** Nominal/count color */
|
|
383
|
-
colorNominal?: string;
|
|
384
|
-
/** Show/hide icon */
|
|
385
|
-
displayIcon?: boolean;
|
|
386
|
-
/** Number format type */
|
|
387
|
-
formatNumber?: "currency" | "nominal" | string;
|
|
388
|
-
/** Count text color */
|
|
389
|
-
colorCount?: string;
|
|
390
|
-
/** Header background color */
|
|
391
|
-
headerBackgroundColor?: string;
|
|
392
|
-
/** Enable collapse toggle */
|
|
396
|
+
/** Bold the subtitle */
|
|
397
|
+
boldSubtitle?: boolean;
|
|
398
|
+
/** Show/hide subtitle */
|
|
399
|
+
showSubtitle?: boolean;
|
|
400
|
+
/** Enable collapse/expand on header click */
|
|
393
401
|
isCollapsible?: boolean;
|
|
402
|
+
/** Icon element before title in header */
|
|
403
|
+
startIcon?: React.ReactNode;
|
|
404
|
+
/** Icon element after title in header */
|
|
405
|
+
endIcon?: React.ReactNode;
|
|
406
|
+
/** Show/hide startIcon */
|
|
407
|
+
showStartIcon?: boolean;
|
|
408
|
+
/** Show/hide endIcon */
|
|
409
|
+
showEndIcon?: boolean;
|
|
410
|
+
/** Footer content (only for with-header-footer variant) */
|
|
411
|
+
footer?: React.ReactNode;
|
|
412
|
+
/** MUI sx overrides */
|
|
413
|
+
sx?: SxProps;
|
|
394
414
|
[key: string]: any;
|
|
395
415
|
}
|
|
396
416
|
|
|
@@ -412,31 +432,44 @@ interface BaseSwitchProps {
|
|
|
412
432
|
declare function BaseSwitch(props: BaseSwitchProps): React.ReactElement;
|
|
413
433
|
|
|
414
434
|
interface BaseCheckboxOption {
|
|
435
|
+
/** Label yang ditampilkan */
|
|
415
436
|
label: React.ReactNode;
|
|
437
|
+
/** Nilai opsi */
|
|
416
438
|
value: string;
|
|
439
|
+
/** Nonaktifkan opsi ini */
|
|
417
440
|
disabled?: boolean;
|
|
418
441
|
[key: string]: any;
|
|
419
442
|
}
|
|
420
443
|
|
|
421
444
|
interface BaseCheckboxSharedProps {
|
|
445
|
+
/** Daftar opsi checkbox (untuk mode group) */
|
|
422
446
|
options: BaseCheckboxOption[];
|
|
447
|
+
/** Label untuk mode single checkbox */
|
|
423
448
|
label?: React.ReactNode;
|
|
449
|
+
/** Nonaktifkan semua checkbox */
|
|
424
450
|
disabled?: boolean;
|
|
451
|
+
/** Posisi label relatif terhadap checkbox */
|
|
425
452
|
labelPlacement?: "top" | "bottom" | "start" | "end";
|
|
453
|
+
/** Tampilkan checkbox secara horizontal */
|
|
426
454
|
isHorizontal?: boolean;
|
|
427
|
-
sx
|
|
455
|
+
/** Custom styles via MUI sx prop */
|
|
456
|
+
sx?: SxProps;
|
|
428
457
|
[key: string]: any;
|
|
429
458
|
}
|
|
430
459
|
|
|
431
460
|
interface BaseCheckboxSingleProps extends Omit<BaseCheckboxSharedProps, "options"> {
|
|
432
461
|
options?: undefined;
|
|
462
|
+
/** Nilai checked untuk single checkbox */
|
|
433
463
|
checked?: boolean;
|
|
464
|
+
/** Callback ketika nilai berubah (single mode) */
|
|
434
465
|
onChange?: (checked: boolean, event?: React.ChangeEvent<HTMLInputElement>) => void;
|
|
435
466
|
}
|
|
436
467
|
|
|
437
468
|
interface BaseCheckboxGroupProps extends BaseCheckboxSharedProps {
|
|
438
469
|
options: BaseCheckboxOption[];
|
|
470
|
+
/** Array nilai yang dipilih (group mode) */
|
|
439
471
|
checked?: string[];
|
|
472
|
+
/** Callback ketika nilai berubah (group mode) */
|
|
440
473
|
onChange?: (newValue: string[]) => void;
|
|
441
474
|
}
|
|
442
475
|
|
|
@@ -448,25 +481,25 @@ declare function BaseCheckbox(
|
|
|
448
481
|
props: BaseCheckboxProps,
|
|
449
482
|
): React.ReactElement | null;
|
|
450
483
|
|
|
451
|
-
type BaseDatatableAlign =
|
|
452
|
-
| "left"
|
|
453
|
-
| "center"
|
|
454
|
-
| "right"
|
|
455
|
-
| "justify"
|
|
456
|
-
| "inherit"
|
|
457
|
-
| (string & {});
|
|
458
|
-
|
|
459
|
-
interface BaseDatatableColumn<T = Record<string, any>> {
|
|
460
|
-
id?: string;
|
|
461
|
-
key?: string;
|
|
462
|
-
field?: string;
|
|
463
|
-
sortField?: string;
|
|
464
|
-
label?: ReactNode;
|
|
465
|
-
header?: ReactNode;
|
|
466
|
-
accessorKey?: string;
|
|
467
|
-
accessorFn?: (row: T) => any;
|
|
468
|
-
align?: BaseDatatableAlign;
|
|
469
|
-
headerAlign?: BaseDatatableAlign;
|
|
484
|
+
type BaseDatatableAlign =
|
|
485
|
+
| "left"
|
|
486
|
+
| "center"
|
|
487
|
+
| "right"
|
|
488
|
+
| "justify"
|
|
489
|
+
| "inherit"
|
|
490
|
+
| (string & {});
|
|
491
|
+
|
|
492
|
+
interface BaseDatatableColumn<T = Record<string, any>> {
|
|
493
|
+
id?: string;
|
|
494
|
+
key?: string;
|
|
495
|
+
field?: string;
|
|
496
|
+
sortField?: string;
|
|
497
|
+
label?: ReactNode;
|
|
498
|
+
header?: ReactNode;
|
|
499
|
+
accessorKey?: string;
|
|
500
|
+
accessorFn?: (row: T) => any;
|
|
501
|
+
align?: BaseDatatableAlign;
|
|
502
|
+
headerAlign?: BaseDatatableAlign;
|
|
470
503
|
width?: number;
|
|
471
504
|
minWidth?: number;
|
|
472
505
|
sticky?: "left" | "right";
|
|
@@ -485,11 +518,11 @@ interface BaseDatatableColumn<T = Record<string, any>> {
|
|
|
485
518
|
}) => ReactNode;
|
|
486
519
|
}
|
|
487
520
|
|
|
488
|
-
interface BaseDatatableHeaderCell {
|
|
489
|
-
id?: string;
|
|
490
|
-
key?: string;
|
|
491
|
-
label: ReactNode;
|
|
492
|
-
align?: BaseDatatableAlign;
|
|
521
|
+
interface BaseDatatableHeaderCell {
|
|
522
|
+
id?: string;
|
|
523
|
+
key?: string;
|
|
524
|
+
label: ReactNode;
|
|
525
|
+
align?: BaseDatatableAlign;
|
|
493
526
|
colSpan?: number;
|
|
494
527
|
rowSpan?: number;
|
|
495
528
|
colspan?: number;
|
|
@@ -520,12 +553,12 @@ interface BaseDatatableSortState {
|
|
|
520
553
|
direction: "asc" | "desc";
|
|
521
554
|
}
|
|
522
555
|
|
|
523
|
-
interface BaseDatatableSortPayload {
|
|
524
|
-
orderBy: string;
|
|
525
|
-
order: "asc" | "desc";
|
|
526
|
-
page: number;
|
|
527
|
-
rowsPerPage: number;
|
|
528
|
-
}
|
|
556
|
+
interface BaseDatatableSortPayload {
|
|
557
|
+
orderBy: string;
|
|
558
|
+
order: "asc" | "desc";
|
|
559
|
+
page: number;
|
|
560
|
+
rowsPerPage: number;
|
|
561
|
+
}
|
|
529
562
|
|
|
530
563
|
interface BaseDatatableLayout {
|
|
531
564
|
stickyHeader?: boolean;
|
|
@@ -591,14 +624,14 @@ interface BaseDatatableProps<T = Record<string, any>> {
|
|
|
591
624
|
layout?: BaseDatatableLayout;
|
|
592
625
|
selection?: BaseDatatableSelection<T>;
|
|
593
626
|
pagination?: BaseDatatablePagination;
|
|
594
|
-
renderRow?: (context: BaseDatatableRenderRowContext<T>) => ReactNode;
|
|
595
|
-
onRowClick?: (row: T, rowIndex: number) => void;
|
|
596
|
-
getRowId?: (row: T, rowIndex: number) => string | number;
|
|
597
|
-
emptyState?: ReactNode;
|
|
598
|
-
loading?: boolean;
|
|
599
|
-
loadingText?: ReactNode;
|
|
600
|
-
rowHover?: boolean;
|
|
601
|
-
activeRowId?: string | number | null;
|
|
627
|
+
renderRow?: (context: BaseDatatableRenderRowContext<T>) => ReactNode;
|
|
628
|
+
onRowClick?: (row: T, rowIndex: number) => void;
|
|
629
|
+
getRowId?: (row: T, rowIndex: number) => string | number;
|
|
630
|
+
emptyState?: ReactNode;
|
|
631
|
+
loading?: boolean;
|
|
632
|
+
loadingText?: ReactNode;
|
|
633
|
+
rowHover?: boolean;
|
|
634
|
+
activeRowId?: string | number | null;
|
|
602
635
|
containerSx?: SxProps;
|
|
603
636
|
tableSx?: SxProps;
|
|
604
637
|
}
|
|
@@ -608,33 +641,38 @@ declare function BaseDatatable<T = Record<string, any>>(
|
|
|
608
641
|
): ReactNode;
|
|
609
642
|
|
|
610
643
|
interface BaseDatePickerProps {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
name
|
|
614
|
-
|
|
615
|
-
|
|
644
|
+
/** Picker mode */
|
|
645
|
+
type?: "single" | "day" | "datetime" | "range" | "month" | "year" | "time";
|
|
646
|
+
/** Field name for React Hook Form */
|
|
647
|
+
name: string;
|
|
648
|
+
/** Control object from react-hook-form */
|
|
649
|
+
control: any;
|
|
650
|
+
/** Default selected value */
|
|
616
651
|
defaultValue?: any;
|
|
617
|
-
|
|
618
|
-
title?:
|
|
619
|
-
subtitle
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
titleClassName?: string;
|
|
623
|
-
subtitleClassName?: string;
|
|
624
|
-
|
|
652
|
+
/** Label title above input */
|
|
653
|
+
title?: string;
|
|
654
|
+
/** Optional subtitle */
|
|
655
|
+
subtitle?: string;
|
|
656
|
+
/** Input placeholder text */
|
|
625
657
|
placeholder?: string;
|
|
626
|
-
|
|
627
|
-
minDate?:
|
|
628
|
-
|
|
629
|
-
|
|
658
|
+
/** Minimum selectable date */
|
|
659
|
+
minDate?: Date | string;
|
|
660
|
+
/** Maximum selectable date */
|
|
661
|
+
maxDate?: Date | string;
|
|
662
|
+
/** Disable picker interaction */
|
|
630
663
|
isDisabled?: boolean;
|
|
664
|
+
/** Allow user to clear selected value */
|
|
631
665
|
clearable?: boolean;
|
|
666
|
+
/** Allow manual input editing (range only) */
|
|
632
667
|
editableDateInputs?: boolean;
|
|
633
|
-
|
|
668
|
+
/** Display format for value */
|
|
634
669
|
format?: string;
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
670
|
+
/** How the calendar popup is triggered */
|
|
671
|
+
openBy?: "field" | "icon" | "both";
|
|
672
|
+
/** MUI sx overrides for the wrapper */
|
|
673
|
+
sx?: SxProps;
|
|
674
|
+
/** Custom onChange handler */
|
|
675
|
+
onChange?: (value: any) => void;
|
|
638
676
|
[key: string]: any;
|
|
639
677
|
}
|
|
640
678
|
|
|
@@ -642,26 +680,50 @@ declare function BaseDatePicker(
|
|
|
642
680
|
props: BaseDatePickerProps,
|
|
643
681
|
): React.ReactElement | null;
|
|
644
682
|
|
|
683
|
+
interface DropdownOption {
|
|
684
|
+
label: string;
|
|
685
|
+
value: string;
|
|
686
|
+
disabled?: boolean;
|
|
687
|
+
[key: string]: any;
|
|
688
|
+
}
|
|
689
|
+
|
|
645
690
|
interface BaseDropdownProps {
|
|
646
|
-
name
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
691
|
+
/** Field name for react-hook-form */
|
|
692
|
+
name: string;
|
|
693
|
+
/** Control object from react-hook-form */
|
|
694
|
+
control: any;
|
|
695
|
+
/** Static options list */
|
|
696
|
+
options?: DropdownOption[];
|
|
697
|
+
/** Async options loader function */
|
|
698
|
+
loadOptions?: (inputValue: string) => Promise<DropdownOption[]>;
|
|
699
|
+
/** Enable multi select mode */
|
|
650
700
|
isMulti?: boolean;
|
|
701
|
+
/** Enable search input */
|
|
651
702
|
isSearchable?: boolean;
|
|
703
|
+
/** Show selected values as chips (multi only) */
|
|
652
704
|
showChip?: boolean;
|
|
705
|
+
/** Show Select All checkbox (multi only) */
|
|
653
706
|
showSelectAll?: boolean;
|
|
654
|
-
title
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
707
|
+
/** Label title */
|
|
708
|
+
title?: string;
|
|
709
|
+
/** Subtitle text */
|
|
710
|
+
subtitle?: string;
|
|
711
|
+
/** Default selected value */
|
|
659
712
|
defaultValue?: any;
|
|
713
|
+
/** Disable dropdown */
|
|
660
714
|
isDisabled?: boolean;
|
|
715
|
+
/** Allow clearing value */
|
|
661
716
|
isClearable?: boolean;
|
|
717
|
+
/** Limit max height with scroll */
|
|
662
718
|
preventOverflow?: boolean;
|
|
719
|
+
/** Colors for multi-value tags */
|
|
663
720
|
optionColors?: string[];
|
|
721
|
+
/** Dropdown variant */
|
|
664
722
|
variant?: "select" | "checkbox";
|
|
723
|
+
/** MUI sx overrides for wrapper */
|
|
724
|
+
sx?: SxProps;
|
|
725
|
+
/** Custom onChange handler */
|
|
726
|
+
onChange?: (value: any) => void;
|
|
665
727
|
[key: string]: any;
|
|
666
728
|
}
|
|
667
729
|
|
|
@@ -670,33 +732,46 @@ declare function BaseDropdown(
|
|
|
670
732
|
): React.ReactElement;
|
|
671
733
|
|
|
672
734
|
interface BaseDropzoneSettings {
|
|
673
|
-
|
|
735
|
+
/** Ekstensi file yang diizinkan (format react-dropzone accept) */
|
|
736
|
+
allowedExtensions?: Record<string, string[]>;
|
|
737
|
+
/** Ukuran maksimal file dalam MB */
|
|
674
738
|
maxSize?: number;
|
|
739
|
+
/** Jumlah maksimal file yang dapat diupload */
|
|
675
740
|
maxFiles?: number;
|
|
741
|
+
/** Tampilkan preview gambar */
|
|
676
742
|
isImagePreview?: boolean;
|
|
743
|
+
/** Tipe tampilan preview */
|
|
677
744
|
previewType?: "grid" | "list";
|
|
678
745
|
}
|
|
679
746
|
|
|
680
747
|
interface BaseDropzoneLabels {
|
|
748
|
+
/** Label judul di atas dropzone */
|
|
681
749
|
title?: React.ReactNode;
|
|
750
|
+
/** Teks utama di dalam area dropzone */
|
|
682
751
|
dropzoneTitle?: string;
|
|
752
|
+
/** Label pada tombol pilih file */
|
|
683
753
|
titleButton?: string;
|
|
754
|
+
/** Teks keterangan format file yang diizinkan */
|
|
684
755
|
allowedFileLabel?: string;
|
|
685
756
|
}
|
|
686
757
|
|
|
687
758
|
interface BaseDropzoneCallbacks {
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
759
|
+
/** Callback ketika file berhasil diupload */
|
|
760
|
+
uploadFile?: (files: Array<{ source: string; originName: string; type: string; size: number }>) => void;
|
|
761
|
+
/** Callback ketika file dihapus */
|
|
762
|
+
removeFile?: (fileName: string) => void;
|
|
763
|
+
/** Pesan error kustom dari luar komponen */
|
|
764
|
+
customError?: string | null;
|
|
691
765
|
}
|
|
692
766
|
|
|
693
767
|
interface BaseDropzoneProps {
|
|
768
|
+
/** Upload otomatis setelah file dipilih */
|
|
694
769
|
autoUpload?: boolean;
|
|
695
|
-
|
|
770
|
+
/** Pengaturan dropzone */
|
|
696
771
|
settings?: BaseDropzoneSettings;
|
|
697
|
-
|
|
772
|
+
/** Label-label yang ditampilkan */
|
|
698
773
|
labels?: BaseDropzoneLabels;
|
|
699
|
-
|
|
774
|
+
/** Callback functions */
|
|
700
775
|
callbacks?: BaseDropzoneCallbacks;
|
|
701
776
|
}
|
|
702
777
|
|
|
@@ -707,38 +782,35 @@ declare function BaseDropzone(
|
|
|
707
782
|
interface BaseRadioOption {
|
|
708
783
|
label: React.ReactNode;
|
|
709
784
|
value: any;
|
|
710
|
-
|
|
785
|
+
isDisabled?: boolean;
|
|
711
786
|
[key: string]: any;
|
|
712
787
|
}
|
|
713
788
|
|
|
714
789
|
interface BaseRadioButtonProps {
|
|
790
|
+
/** Nama field untuk react-hook-form */
|
|
715
791
|
name?: string;
|
|
792
|
+
/** Control dari useForm() */
|
|
716
793
|
control?: any;
|
|
794
|
+
/** Nilai awal yang dipilih */
|
|
717
795
|
defaultValue?: any;
|
|
718
|
-
|
|
796
|
+
/** Label di atas radio group */
|
|
719
797
|
label?: React.ReactNode;
|
|
798
|
+
/** Daftar opsi radio */
|
|
720
799
|
options?: BaseRadioOption[];
|
|
721
|
-
|
|
722
|
-
/* ================= TYPOGRAPHY ================= */
|
|
800
|
+
/** Variant typography untuk label */
|
|
723
801
|
labelVariant?: string;
|
|
802
|
+
/** Variant typography untuk pesan error */
|
|
724
803
|
errorVariant?: string;
|
|
725
|
-
|
|
726
|
-
/* ================= LAYOUT ================= */
|
|
804
|
+
/** Orientasi layout radio group */
|
|
727
805
|
orientation?: "vertical" | "horizontal";
|
|
728
|
-
|
|
729
|
-
/* ================= COLOR TOKEN ================= */
|
|
806
|
+
/** Token warna untuk radio yang dipilih */
|
|
730
807
|
radioColorToken?: string;
|
|
731
|
-
|
|
732
|
-
/* ================= STATE ================= */
|
|
808
|
+
/** Nonaktifkan semua opsi */
|
|
733
809
|
isDisabled?: boolean;
|
|
734
|
-
|
|
735
|
-
/* ================= CLASS ================= */
|
|
736
|
-
className?: string;
|
|
737
|
-
titleClassName?: string;
|
|
738
|
-
fieldClassName?: string;
|
|
739
|
-
|
|
740
|
-
/* ================= ERROR ================= */
|
|
810
|
+
/** Gunakan error state helper untuk nested field names */
|
|
741
811
|
useErrorStateHelper?: boolean;
|
|
812
|
+
/** Custom styles via MUI sx prop */
|
|
813
|
+
sx?: SxProps;
|
|
742
814
|
|
|
743
815
|
[key: string]: any;
|
|
744
816
|
}
|
|
@@ -774,42 +846,59 @@ interface BaseStepperProps {
|
|
|
774
846
|
orientation?: "horizontal" | "vertical";
|
|
775
847
|
/** Stepper visual variant */
|
|
776
848
|
variant?: "simple" | "dashboard";
|
|
849
|
+
/** MUI sx overrides for wrapper */
|
|
850
|
+
sx?: SxProps;
|
|
777
851
|
}
|
|
778
852
|
|
|
779
853
|
declare function BaseStepper(props: BaseStepperProps): React.ReactElement;
|
|
780
854
|
|
|
781
855
|
interface BaseTextFieldProps {
|
|
782
|
-
name
|
|
783
|
-
|
|
784
|
-
|
|
856
|
+
/** Field name for react-hook-form binding */
|
|
857
|
+
name: string;
|
|
858
|
+
/** Control object from react-hook-form */
|
|
859
|
+
control: any;
|
|
860
|
+
/** Default value for the field */
|
|
785
861
|
defaultValue?: any;
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
862
|
+
/** Label title displayed above the input */
|
|
863
|
+
title?: string;
|
|
864
|
+
/** Maximum character length */
|
|
789
865
|
maxLength?: number;
|
|
866
|
+
/** Show "Maksimal X Karakter" helper text */
|
|
790
867
|
showLength?: boolean;
|
|
791
|
-
|
|
868
|
+
/** Show character counter (e.g. 5/20) */
|
|
869
|
+
showCountHelper?: boolean;
|
|
870
|
+
/** Only allow numeric input (0-9) */
|
|
792
871
|
isNumericOnly?: boolean;
|
|
872
|
+
/** Only allow alphanumeric input (a-z, A-Z, 0-9) */
|
|
793
873
|
isAlphaNumericOnly?: boolean;
|
|
874
|
+
/** Only allow alphabetic input (a-z, A-Z) */
|
|
794
875
|
isAlphaOnly?: boolean;
|
|
795
|
-
|
|
876
|
+
/** Additional special characters to allow */
|
|
796
877
|
allowedSpecialCharacters?: string;
|
|
878
|
+
/** Special characters to disallow */
|
|
797
879
|
dontAllowedSpecialCharacters?: string;
|
|
798
|
-
|
|
799
|
-
isAlphaNumericWithUnderscore?: boolean;
|
|
800
|
-
|
|
880
|
+
/** Disable the input */
|
|
801
881
|
isDisabled?: boolean;
|
|
882
|
+
/** Prevent paste action */
|
|
802
883
|
isCantPaste?: boolean;
|
|
803
|
-
|
|
804
|
-
result?:
|
|
884
|
+
/** Result text shown below the input */
|
|
885
|
+
result?: React.ReactNode;
|
|
886
|
+
/** Color for the result text */
|
|
805
887
|
resultColor?: string;
|
|
806
|
-
|
|
888
|
+
/** Disallow spaces */
|
|
807
889
|
noSpaceAllowed?: boolean;
|
|
808
|
-
|
|
809
|
-
showCountHelper?: boolean;
|
|
810
|
-
|
|
890
|
+
/** Input mask pattern (use 'x' for editable slots, e.g. "0xxx-xxxx-xxxx") */
|
|
811
891
|
textMask?: string;
|
|
812
|
-
|
|
892
|
+
/** MUI InputProps (startAdornment, endAdornment, sx, etc.) */
|
|
893
|
+
InputProps?: Record<string, any>;
|
|
894
|
+
/** Native input props (min, max, step, etc.) */
|
|
895
|
+
inputProps?: Record<string, any>;
|
|
896
|
+
/** MUI sx overrides for the wrapper Box */
|
|
897
|
+
sx?: SxProps;
|
|
898
|
+
/** Input placeholder text */
|
|
899
|
+
placeholder?: string;
|
|
900
|
+
/** Input type (text, password, email, etc.) */
|
|
901
|
+
type?: string;
|
|
813
902
|
[key: string]: any;
|
|
814
903
|
}
|
|
815
904
|
|
|
@@ -818,26 +907,28 @@ declare function BaseTextField(
|
|
|
818
907
|
): React.ReactElement | null;
|
|
819
908
|
|
|
820
909
|
interface TextFieldUploadProps {
|
|
910
|
+
/** Nama field untuk react-hook-form */
|
|
821
911
|
name?: string;
|
|
912
|
+
/** Control dari useForm() */
|
|
822
913
|
control?: any;
|
|
823
|
-
|
|
914
|
+
/** Nilai awal field */
|
|
824
915
|
defaultValue?: string;
|
|
825
|
-
|
|
916
|
+
/** Label di atas field */
|
|
826
917
|
title?: React.ReactNode;
|
|
827
|
-
|
|
918
|
+
/** Ekstensi file yang diterima (contoh: ".pdf,.jpg") */
|
|
828
919
|
accept?: string;
|
|
920
|
+
/** Ukuran maksimal file dalam MB */
|
|
829
921
|
maxSize?: number;
|
|
830
|
-
|
|
922
|
+
/** Nonaktifkan field */
|
|
831
923
|
isDisabled?: boolean;
|
|
832
|
-
|
|
924
|
+
/** Label pada tombol upload */
|
|
833
925
|
buttonLabel?: string;
|
|
926
|
+
/** Posisi tombol upload relatif terhadap input */
|
|
834
927
|
buttonPosition?: "start" | "end";
|
|
835
|
-
|
|
928
|
+
/** Callback ketika file dipilih */
|
|
929
|
+
uploadFile?: (fileName: string, file: File | null) => void;
|
|
930
|
+
/** Posisi ikon pada tombol upload */
|
|
836
931
|
iconPosition?: "start" | "end";
|
|
837
|
-
|
|
838
|
-
uploadFile?: (file: File) => void | Promise<any>;
|
|
839
|
-
|
|
840
|
-
[key: string]: any;
|
|
841
932
|
}
|
|
842
933
|
|
|
843
934
|
declare function TextFieldUpload(
|
|
@@ -867,12 +958,8 @@ interface BaseTextAreaProps {
|
|
|
867
958
|
exactLength?: number;
|
|
868
959
|
/** Batas maksimal karakter */
|
|
869
960
|
maxLength?: number;
|
|
870
|
-
/** CSS class untuk wrapper */
|
|
871
|
-
className?: string;
|
|
872
961
|
/** Label di atas field */
|
|
873
962
|
title?: string;
|
|
874
|
-
/** CSS class untuk title */
|
|
875
|
-
titleClassName?: string;
|
|
876
963
|
/** Nonaktifkan field */
|
|
877
964
|
isDisabled?: boolean;
|
|
878
965
|
/** Aktifkan TinyMCE rich-text editor (default: plain MUI textarea) */
|
|
@@ -885,6 +972,8 @@ interface BaseTextAreaProps {
|
|
|
885
972
|
value: string,
|
|
886
973
|
meta: Record<string, string>,
|
|
887
974
|
) => void;
|
|
975
|
+
/** Custom styles via MUI sx prop */
|
|
976
|
+
sx?: SxProps;
|
|
888
977
|
|
|
889
978
|
[key: string]: any;
|
|
890
979
|
}
|
|
@@ -992,4 +1081,4 @@ declare function BaseModalOTP(
|
|
|
992
1081
|
props: BaseModalOTPProps,
|
|
993
1082
|
): React.ReactElement | null;
|
|
994
1083
|
|
|
995
|
-
export { type
|
|
1084
|
+
export { type BaseStepperProps as $, type BaseDatatableAlign as A, BaseAlert as B, CONTENT_SPACING_TOKENS as C, DerivedColor as D, type BaseDatatableColumn as E, type BaseDatatableFeatures as F, type BaseDatatableHeaderCell as G, type BaseDatatableLayout as H, type BaseDatatablePagination as I, type BaseDatatableProps as J, type BaseDatatableSelection as K, type BaseDatatableSortPayload as L, type BaseDatatableSortState as M, type BaseDatePickerProps as N, type BaseDropdownProps as O, PrimitiveColor as P, type BaseDropzoneProps as Q, Radius as R, Shadow as S, TextFieldUpload as T, type BaseModalOTPProps as U, VariantStyles as V, type BaseModalProps as W, type BaseModalStepperProps as X, type BaseModalStepperStep as Y, type BaseRadioButtonProps as Z, type BaseStepperDashboardStep as _, BaseButton as a, type BaseStepperSimpleStep as a0, type BaseSwitchProps as a1, type BaseTextAreaProps as a2, type BaseTextFieldProps as a3, type ContentSpacingProps as a4, type DerivedColorType as a5, type PrimitiveColorType as a6, type RadiusLevel as a7, type RadiusMap as a8, type RadiusTokenProps as a9, type ShadowElevation as aa, type ShadowLevel as ab, type ShadowMap as ac, type ShadowTokenProps as ad, type SpacingProps as ae, type TextFieldUploadProps as af, type TypographyColor as ag, type TypographyProps as ah, type TypographyVariant as ai, BaseCard as b, BaseCheckbox as c, BaseDatatable as d, BaseDatePicker as e, BaseDropdown as f, BaseDropzone as g, BaseModal as h, BaseModalOTP as i, BaseModalStepper as j, BaseRadioButton as k, BaseStepper as l, BaseSwitch as m, BaseTextArea as n, BaseTextField as o, BaseTypography as p, ContentSpacing as q, RadiusToken as r, ShadowToken as s, Spacing as t, SpacingToken as u, type BaseAlertProps as v, type BaseButtonProps as w, type BaseCardProps as x, type BaseCheckboxOption as y, type BaseCheckboxProps as z };
|