@ingestro/importer-angular 4.0.1

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.
@@ -0,0 +1,1802 @@
1
+ import { CSSInterpolation, CSSObject } from '@emotion/css';
2
+
3
+ export type { CSSInterpolation };
4
+
5
+ export type Value = string | number | boolean;
6
+
7
+ export type SheetData = Value[][];
8
+
9
+ export enum MODIFIER_TYPE {
10
+ ADD_ROW = 'addRow',
11
+ ADD_COLUMN = 'addColumn',
12
+ REMOVE_ROW = 'removeRow',
13
+ REMOVE_COLUMN = 'removeColumn',
14
+ }
15
+
16
+ export type DataHandlerResult = SheetData;
17
+
18
+ export type DataHandler = {
19
+ headerStep?: DataHandlerHeaderStep;
20
+ reviewStep?: DataHandlerReviewStep;
21
+ };
22
+
23
+ export type DataHandlerHeaderStep = (
24
+ modifier: HeaderStepModifier,
25
+ data: ISheetData[]
26
+ ) =>
27
+ | Promise<JSONData[] | SheetData | void | HandlerFileData[]>
28
+ | JSONData[]
29
+ | SheetData
30
+ | void
31
+ | HandlerFileData[];
32
+
33
+ export type HandlerFileData = {
34
+ data: JSONData[] | SheetData;
35
+ sheetName: string;
36
+ fileName: string;
37
+ fileSize?: number;
38
+ fileType?: SpreadSheetType;
39
+ };
40
+
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ type JSONData = Record<string, any>;
43
+
44
+ export type DataHandlerResultValues = Record<
45
+ string,
46
+ FieldValue | CurrencyValue | HookedRecordResult
47
+ >[];
48
+
49
+ export type ReviewStepHandlerData = DataHandlerResultValues;
50
+
51
+ export type DataHandlerReviewStep = (
52
+ modifier: Modifier,
53
+ data: ReviewStepHandlerData,
54
+ logs: ImportLogs,
55
+ metadata?: DataHandlerMetaData[]
56
+ ) => Promise<ReviewStepHandlerData | void> | ReviewStepHandlerData | void;
57
+
58
+ type SpreadSheetType = 'csv' | 'xlsx' | 'json' | 'xml' | 'dynamic-import';
59
+
60
+ export type DataHandlerMetaData = {
61
+ fileName: string;
62
+ fileSize: number;
63
+ fileType: SpreadSheetType;
64
+ };
65
+
66
+ export type Modifier = {
67
+ addRow: ModifierAddRow;
68
+ removeRow: ModifierRemoveRow;
69
+ addColumn: ModifierAddColumn;
70
+ removeColumn: ModifierRemoveColumn;
71
+ };
72
+
73
+ export type ModifierAddRow = ({
74
+ data,
75
+ index,
76
+ }: {
77
+ data: DataHandlerResultValues;
78
+ index?: number;
79
+ }) => void;
80
+
81
+ export type ModifierRemoveRow = (index: number) => void;
82
+
83
+ export type MappingStepModifierAddColumn = ({
84
+ label,
85
+ }: {
86
+ label: string;
87
+ }) => void;
88
+
89
+ export type ModifierAddColumn = ({
90
+ key,
91
+ label,
92
+ columnType,
93
+ validations,
94
+ dropdownOptions,
95
+ outputFormat,
96
+ isMultiSelect,
97
+ hidden,
98
+ disabled,
99
+ }: {
100
+ key: string;
101
+ label: string;
102
+ columnType: ColumnType;
103
+ validations?: ValidatorAPI[] | null;
104
+ dropdownOptions?: DropdownOptionAPI[];
105
+ outputFormat?: string | null;
106
+ isMultiSelect?: boolean;
107
+ hidden?: boolean;
108
+ disabled?: boolean;
109
+ }) => void;
110
+
111
+ export type ModifierRemoveColumn = (key: string) => void;
112
+
113
+ export type ModifierStack<ROW_DATA> = {
114
+ modifierType: MODIFIER_TYPE;
115
+ rowIndex?: number;
116
+ rowData?: ROW_DATA;
117
+ columnKey?: string;
118
+ columnLabel?: string;
119
+ columnType?: ColumnType;
120
+ columnValidations?: ValidatorAPI[] | null;
121
+ columnIndex?: number;
122
+ columnDropdownOptions?: DropdownOptionAPI[];
123
+ outputFormat?: string | null;
124
+ isMultiSelect?: boolean;
125
+ hidden?: boolean;
126
+ disabled?: boolean;
127
+ };
128
+
129
+ export type MappingStepModifierAddRow = ({
130
+ data,
131
+ index,
132
+ }: {
133
+ data: ResultValues;
134
+ index?: number;
135
+ }) => void;
136
+
137
+ export type MappingStepModifier = {
138
+ addRow: MappingStepModifierAddRow;
139
+ removeRow: ModifierRemoveRow;
140
+ addColumn: MappingStepModifierAddColumn;
141
+ removeColumn: ModifierRemoveColumn;
142
+ };
143
+
144
+ export type DataHandlerMappingStep = (
145
+ modifier: MappingStepModifier,
146
+ data: ISheetData[],
147
+ metadata?: DataHandlerMetaData[]
148
+ ) => DataHandlerResult | void;
149
+
150
+ export type HeaderStepModifierAddRow = (data: HeaderStepAddRowProps) => void;
151
+
152
+ export type HeaderStepAddRowProps = {
153
+ data: SheetData;
154
+ index?: number;
155
+ };
156
+
157
+ export type HeaderStepModifierRemoveColumn = (index: number) => void;
158
+
159
+ export type HeaderStepModifier = {
160
+ addRow: HeaderStepModifierAddRow;
161
+ removeRow: ModifierRemoveRow;
162
+ addColumn: MappingStepModifierAddColumn;
163
+ removeColumn: HeaderStepModifierRemoveColumn;
164
+ };
165
+
166
+ export type CompleteImportType = 'discard' | 'submit' | 'block';
167
+
168
+ export enum SubmitResultType {
169
+ Reject = 'Reject',
170
+ Pass = 'Pass',
171
+ }
172
+
173
+ interface SubmitResult {
174
+ type: SubmitResultType;
175
+ }
176
+
177
+ export type SheetLikeData = {
178
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
179
+ data: any;
180
+ sheetName?: string;
181
+ fileName: string;
182
+ };
183
+
184
+ export type ISheetData = {
185
+ data: SheetData;
186
+ sheetName: string;
187
+ fileName: string;
188
+ fileSize: number;
189
+ fileType: string;
190
+ };
191
+
192
+ type IUploadStepUpdateDataFn = (data: SheetLikeData[]) => void;
193
+
194
+ export type IAlertFn = (params: {
195
+ title: string;
196
+ description: string;
197
+ cancelButton: string;
198
+ proceedButton: string;
199
+ }) => void;
200
+
201
+ export type IBlockFn = (params: {
202
+ title: string;
203
+ description: string;
204
+ closeButton: string;
205
+ }) => void;
206
+
207
+ export type IUploadStepHandler = (params: {
208
+ parsedData: ISheetData[];
209
+ rawData: File[];
210
+ updateData: IUploadStepUpdateDataFn;
211
+ alert: IAlertFn;
212
+ block: IBlockFn;
213
+ }) => Promise<void> | void;
214
+
215
+ export type IAddColumn = Omit<
216
+ ColumnAPI,
217
+ | 'optionMappingConfiguration'
218
+ | 'optionMappingMode'
219
+ | 'columnSize'
220
+ | 'alternativeMatches'
221
+ | 'allowCustomOptions'
222
+ >;
223
+
224
+ export type ITdmModifier = {
225
+ addColumn: (column: IAddColumn) => void;
226
+ removeColumn: (key: string) => void;
227
+ };
228
+
229
+ export type IReviewEntriesUpdatedData = Record<
230
+ string,
231
+ FieldValue | HookedRecordResult
232
+ >[];
233
+
234
+ export type IMappingStepUpdateData = (data: IReviewEntriesUpdatedData) => void;
235
+
236
+ export type IMappingStepHandler = (params: {
237
+ data: Values;
238
+ tdm: ITdmModifier;
239
+ updateData: IMappingStepUpdateData;
240
+ alert: IAlertFn;
241
+ block: IBlockFn;
242
+ logs: ImportLogs;
243
+ }) => Promise<void> | void;
244
+
245
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
246
+ export type IHeaderStepUpdateDataFn = (data: SheetLikeData[] | any[]) => void;
247
+
248
+ export type IHeaderStepHandler = (params: {
249
+ data: ISheetData[];
250
+ updateData: IHeaderStepUpdateDataFn;
251
+ alert: IAlertFn;
252
+ block: IBlockFn;
253
+ }) => Promise<void> | void;
254
+
255
+ export type IReviewData = Record<
256
+ string,
257
+ {
258
+ value?: FieldValue;
259
+ info?: HookedRecordInfo[];
260
+ }
261
+ >[];
262
+
263
+ export type IReviewStepUpdateDataFn = (data: IReviewEntriesUpdatedData) => void;
264
+
265
+ export type IReviewStepHandler = (params: {
266
+ data: IReviewData;
267
+ updateData: IReviewStepUpdateDataFn;
268
+ block: IBlockFn;
269
+ logs: ImportLogs;
270
+ }) => Promise<void> | void;
271
+
272
+ export type IStepHandler = {
273
+ uploadStep?: IUploadStepHandler;
274
+ mappingStep?: IMappingStepHandler;
275
+ headerStep?: IHeaderStepHandler;
276
+ reviewStep?: IReviewStepHandler;
277
+ };
278
+
279
+ export type ConfigureAPI = {
280
+ licenseKey: string;
281
+ settings: SettingsAPI;
282
+ columnHooks?: ColumnHooks;
283
+ onResults?: OnResults;
284
+ onCancel?: OnCancel;
285
+ onEntryChange?: OnEntryChange;
286
+ onEntryInit?: OnEntryInit;
287
+ /** @deprecated - this setting is deprecated. */
288
+ dataHandler?: DataHandler;
289
+ stepHandler?: IStepHandler;
290
+ };
291
+
292
+ export type ColumnType =
293
+ | 'category'
294
+ | 'boolean'
295
+ | 'int'
296
+ | 'float'
297
+ | 'string'
298
+ | 'date'
299
+ | 'date_dmy'
300
+ | 'date_mdy'
301
+ | 'date_iso'
302
+ | 'datetime'
303
+ | 'time_hms'
304
+ | 'time_hms_24'
305
+ | 'time_hm'
306
+ | 'time_hm_24'
307
+ | 'email'
308
+ | 'url_www'
309
+ | 'url_https'
310
+ | 'url'
311
+ | 'phone'
312
+ | 'zip_code_de'
313
+ | 'percentage'
314
+ | 'country_code_alpha_2'
315
+ | 'country_code_alpha_3'
316
+ | 'currency_code'
317
+ | 'currency_eur'
318
+ | 'currency_usd'
319
+ | 'bic'
320
+ | 'vat_eu'
321
+ | 'gtin'
322
+ | 'iban';
323
+
324
+ export type ValidationTypeAPI =
325
+ | 'required'
326
+ | 'unique'
327
+ | 'regex'
328
+ | 'required_with'
329
+ | 'required_without'
330
+ | 'required_with_all'
331
+ | 'required_without_all'
332
+ | 'required_with_values'
333
+ | 'required_without_values'
334
+ | 'required_with_all_values'
335
+ | 'required_without_all_values';
336
+
337
+ export type ColumnValueAPI = Record<string, FieldValue[] | FieldValue>;
338
+
339
+ export type columnsAPI = string[];
340
+
341
+ export type ValidatorAPI = {
342
+ validate: ValidationTypeAPI;
343
+ regex?: string | null;
344
+ columnValues?: ColumnValueAPI | null;
345
+ columns?: columnsAPI;
346
+ errorMessage?: string;
347
+ };
348
+
349
+ export type DropdownOptionType = 'string' | 'float' | 'int';
350
+
351
+ export type ButtonModeType = 'import' | 'edit' | 'both';
352
+
353
+ export type ProcessorType = 'default' | 'node';
354
+
355
+ export type InputType = 'pdf' | 'json' | 'xml' | 'csv' | 'tsv' | 'xlsx' | 'xls';
356
+
357
+ export type DropdownOptionAPI = DropdownOptionAPIBase &
358
+ (DropdownOptionAPIString | DropdownOptionAPINumber);
359
+
360
+ type DropdownOptionAPIBase = {
361
+ label: string;
362
+ alternativeMatches?: string[];
363
+ validations?: DropdownOptionValidation[];
364
+ description?: string;
365
+ };
366
+
367
+ type DropdownOptionAPIString = {
368
+ type: 'string';
369
+ value: string;
370
+ };
371
+
372
+ type DropdownOptionAPINumber = {
373
+ type: 'float' | 'int';
374
+ value: number;
375
+ };
376
+
377
+ export type DropdownOptionValidation = {
378
+ validate: DropdownOptionValidate;
379
+ errorMessage?: string;
380
+ };
381
+
382
+ export type DropdownOptionValidate = Record<
383
+ string,
384
+ { [key: string]: DropdownOptionValidate | FieldValue } | FieldValue
385
+ >;
386
+
387
+ export enum ValidateOperators {
388
+ AND = 'AND',
389
+ OR = 'OR',
390
+ GTE = 'GTE',
391
+ GT = 'GT',
392
+ LT = 'LT',
393
+ LTE = 'LTE',
394
+ EQ = 'EQ',
395
+ NEQ = 'NEQ',
396
+ }
397
+
398
+ export enum NumberFormat {
399
+ US = 'us',
400
+ EU = 'eu',
401
+ }
402
+
403
+ export type ColumnNumberFormat = {
404
+ column: string;
405
+ numberFormat: `${NumberFormat}` | NumberFormat | undefined;
406
+ };
407
+
408
+ export type DetectedNumberFormats = {
409
+ global: `${NumberFormat}` | NumberFormat;
410
+ columns: ColumnNumberFormat[];
411
+ };
412
+
413
+ export type MappingValidationAPI = {
414
+ logic: string;
415
+ errorMessage: string;
416
+ };
417
+
418
+ export type ColumnAPI = {
419
+ label: string;
420
+ key: string;
421
+ description?: string;
422
+ example?: string | null;
423
+ columnSize?: number | null;
424
+ validations?: ValidatorAPI[] | null;
425
+ mappingValidation?: MappingValidationAPI | null;
426
+ columnType?: ColumnType | null;
427
+ dropdownOptions?: DropdownOptionAPI[] | null;
428
+ alternativeMatches?: string[];
429
+ isMultiSelect?: boolean;
430
+ outputFormat?: string | null;
431
+ allowCustomOptions?: boolean;
432
+ numberFormat?: 'eu' | 'us';
433
+ /**
434
+ * @deprecated This property should not be used
435
+ */
436
+ optionMappingMode?: 'smart' | 'exact';
437
+ hidden?: boolean;
438
+ disabled?: boolean;
439
+ optionMappingConfiguration?: IMappingConfiguration;
440
+ };
441
+
442
+ export type I18nOverrides =
443
+ | {
444
+ en?: Record<string, string>;
445
+ de?: Record<string, string>;
446
+ es?: Record<string, string>;
447
+ fr?: Record<string, string>;
448
+ it?: Record<string, string>;
449
+ nl?: Record<string, string>;
450
+ pl?: Record<string, string>;
451
+ pt?: Record<string, string>;
452
+ sv?: Record<string, string>;
453
+ }
454
+ | Record<string, string>;
455
+
456
+ type IAdditionalInfo = {
457
+ uploadStep?: boolean;
458
+ sheetSelectionStep?: boolean;
459
+ headerStep?: boolean;
460
+ mappingStep?: boolean;
461
+ reviewStep?: boolean;
462
+ joinSheetsStep?: boolean;
463
+ };
464
+
465
+ export type SettingsAPI = {
466
+ developerMode?: boolean;
467
+ identifier: string;
468
+ style?: ThemeAPI;
469
+ columns: ColumnAPI[];
470
+ enableExamples?: boolean;
471
+ maxEntries?: number;
472
+ modal?: boolean;
473
+ title?: string;
474
+ disableTemplates?: boolean;
475
+ completeImportAction?: CompleteImportType;
476
+ enableMassiveErrorAlert?: number;
477
+ automaticHeaderDetection?: boolean;
478
+ i18nOverrides?: I18nOverrides;
479
+ embedUploadArea?: boolean;
480
+ multipleFileUpload?: boolean;
481
+ /** @deprecated - this setting is deprecated. Use successModalConfiguration.display instead */
482
+ disableSuccessModal?: boolean;
483
+ allowManualInput?: boolean;
484
+ onlyMappedColumns?: boolean;
485
+ allowCustomColumns?: boolean;
486
+ /** @deprecated - this setting will be deprecated. Use allowCustomOptions from Target Data Model instead. */
487
+ allowCustomOptions?: boolean;
488
+ disableExcelTemplate?: boolean;
489
+ automaticMapping?: boolean;
490
+ preloadData?: Values;
491
+ /** @deprecated - this setting is deprecated. Use inputTypes instead. */
492
+ allowNestedData?: boolean;
493
+ /** @deprecated - this setting is deprecated. Use inputTypes instead. */
494
+ advancedParsing?: boolean;
495
+ inputTypes?: InputType[];
496
+ buttonMode?: ButtonModeType;
497
+ language?: LanguageType;
498
+ /** @deprecated - this setting is deprecated. */
499
+ processingEngine?: ProcessorType;
500
+ /** @deprecated - this setting is deprecated. */
501
+ disableTemplateDropdowns?: boolean;
502
+ smartTable?: boolean;
503
+ cleaningAssistant?: boolean;
504
+ contextualEngine?: `${ContextualEngineType}`;
505
+ columnMappingConfiguration?: IMappingConfiguration;
506
+ baseUrl?: string;
507
+ submitModalConfiguration?: ISubmitModalConfiguration;
508
+ prompts?: boolean;
509
+ successModalConfiguration?: ISuccessModalConfiguration;
510
+ workersBaseUrl?: string;
511
+ mappingViewMode?: 'sourceColumns' | 'targetColumns';
512
+ additionalInfo?: IAdditionalInfo;
513
+ transpose?: boolean;
514
+ };
515
+
516
+ export type FieldValue =
517
+ | string
518
+ | FieldValue[]
519
+ | undefined
520
+ | number
521
+ | boolean
522
+ | null;
523
+
524
+ export type CurrencyType = 'EUR' | 'USD';
525
+
526
+ export type CurrencyValue = {
527
+ value: string | number;
528
+ type: CurrencyType;
529
+ };
530
+
531
+ export type HookedRecordValue = [FieldValue, number];
532
+
533
+ export type Values = Record<string, FieldValue>[];
534
+
535
+ type ResultValue = Record<string, FieldValue | CurrencyValue>;
536
+
537
+ type ErrorValue = {
538
+ value: ResultValue;
539
+ info?: { message: string; level: string }[];
540
+ };
541
+
542
+ export type ResultValues = ResultValue[];
543
+
544
+ export type ErrorValues = Record<string, ErrorValue>[];
545
+
546
+ export type ICompleteParams = { importedRows: number; failedRows: number };
547
+
548
+ export type OnResults = (
549
+ result: ResultValues,
550
+ errors: ErrorValues,
551
+ complete: (completeResultParam?: Partial<ICompleteParams>) => void,
552
+ logs: ImportLogs,
553
+ block: IBlockFn
554
+ ) => Promise<void> | void;
555
+
556
+ export type HookedRecordInfoLevel = 'info' | 'warning' | 'error' | 'disabled';
557
+
558
+ export type HookedRecordInfo = {
559
+ message: string;
560
+ level: HookedRecordInfoLevel;
561
+ };
562
+
563
+ export type HookedRecordResult = {
564
+ value?: FieldValue;
565
+ info?: HookedRecordInfo[];
566
+ };
567
+
568
+ export type Row = Record<string, FieldValue>;
569
+
570
+ export type RowInfo = Record<string, HookedRecordInfo[]>;
571
+
572
+ export type ChangeActionType =
573
+ | 'edit'
574
+ | 'delete'
575
+ | 'replace'
576
+ | 'create'
577
+ | 'removePrompt'
578
+ | 'applyPrompt';
579
+
580
+ export type HookRowResult =
581
+ | Record<string, HookedRecordResult>
582
+ | Promise<Record<string, HookedRecordResult>>
583
+ | void;
584
+
585
+ export type OnEntryInit = (
586
+ record: Row,
587
+ index: number
588
+ ) => HookRowResult | undefined;
589
+
590
+ export type EntryChangeRow = {
591
+ rowIndex: number;
592
+ data: Row;
593
+ changeLog: Row | null;
594
+ actionType: ChangeActionType;
595
+ info: RowInfo;
596
+ };
597
+
598
+ export type RowResult = Record<string, HookedRecordResult | FieldValue>;
599
+
600
+ export type EntryChangeResult = {
601
+ rowIndex: number;
602
+ data: RowResult;
603
+ changeLog?: Row | null;
604
+ actionType?: ChangeActionType;
605
+ };
606
+
607
+ export type ResultOnEntryChange =
608
+ | Promise<EntryChangeResult[] | void>
609
+ | EntryChangeResult[]
610
+ | void;
611
+
612
+ export type OnEntryChange = (
613
+ rows: EntryChangeRow[],
614
+ logs: OnEntryChangeLogs
615
+ ) => ResultOnEntryChange;
616
+
617
+ export type HookedRecordRowResult = [HookedRecordResult, number];
618
+
619
+ export type ColumnHookCallback = (
620
+ values: HookedRecordValue[]
621
+ ) => Promise<HookedRecordRowResult[]> | HookedRecordRowResult[] | void;
622
+
623
+ export type ColumnHooks = Record<string, ColumnHookCallback>;
624
+
625
+ export type OnCancel = () => void;
626
+
627
+ export type ImportLogs = {
628
+ mappings?: ImportLogsMapping[];
629
+ columns?: ImportLogsColumns;
630
+ } | null;
631
+
632
+ export type ImportLogsColumns = {
633
+ addedColumns?: ImportLogsAddedColumn[];
634
+ addedOptions?: ImportLogsAddedOptions[];
635
+ };
636
+
637
+ export type ImportLogsAddedColumn = {
638
+ label: string;
639
+ key: string;
640
+ columnType: ColumnType;
641
+ outputFormat?: string | null;
642
+ };
643
+
644
+ export type ImportLogsAddedOptions = {
645
+ columnKey: string;
646
+ dropdownOptions: ImportLogsAddedDropdownOption[];
647
+ };
648
+
649
+ export type ImportLogsAddedDropdownOption = {
650
+ label: string;
651
+ value: string | number | null;
652
+ type: DropdownOptionType;
653
+ };
654
+
655
+ export type ImportLogsMappingOptions = {
656
+ sourceValue: string | number | boolean;
657
+ targetOptions: string[];
658
+ };
659
+
660
+ export type ImportLogsMapping = {
661
+ sourceColumn: string;
662
+ targetColumn: string;
663
+ options?: ImportLogsMappingOptions[];
664
+ };
665
+
666
+ export type IAdditionalInfoTheme = {
667
+ root?: CSSInterpolation;
668
+ icon?: CSSInterpolation;
669
+ text?: CSSInterpolation;
670
+ infoModal?: {
671
+ root?: CSSInterpolation;
672
+ closeIcon?: CSSInterpolation;
673
+ scrollbar?: {
674
+ navigatorColor?: string;
675
+ backgroundColor?: string;
676
+ };
677
+ overlay?: CSSInterpolation;
678
+ title?: CSSInterpolation;
679
+ message?: CSSInterpolation;
680
+ };
681
+ };
682
+
683
+ export type AIpromptThemeAPI = {
684
+ root?: CSSInterpolation;
685
+ button?: CSSInterpolation;
686
+ header?: {
687
+ root?: CSSInterpolation;
688
+ title?: CSSInterpolation;
689
+ description?: CSSInterpolation;
690
+ descriptionIcon?: CSSInterpolation;
691
+ closeIcon?: CSSInterpolation;
692
+ locateIcon?: CSSInterpolation;
693
+ };
694
+ footer?: {
695
+ root?: CSSInterpolation;
696
+ button?: CSSInterpolation;
697
+ };
698
+ prompt?: {
699
+ root?: CSSInterpolation;
700
+ input?: {
701
+ root?: CSSInterpolation;
702
+ variables?: {
703
+ default?: CSSInterpolation;
704
+ column?: CSSInterpolation;
705
+ number?: CSSInterpolation;
706
+ string?: CSSInterpolation;
707
+ };
708
+ scrollbar?: {
709
+ navigatorColor?: string;
710
+ backgroundColor?: string;
711
+ };
712
+ suggestion?: {
713
+ root?: CSSInterpolation;
714
+ scrollbar?: {
715
+ navigatorColor?: string;
716
+ backgroundColor?: string;
717
+ };
718
+ option?: CSSInterpolation;
719
+ selectedOption?: CSSInterpolation;
720
+ };
721
+ };
722
+ button?: CSSInterpolation;
723
+ icon?: CSSInterpolation;
724
+ description?: CSSInterpolation;
725
+ example?: {
726
+ root?: CSSInterpolation;
727
+ icon?: CSSInterpolation;
728
+ };
729
+ };
730
+ function?: {
731
+ root?: CSSInterpolation;
732
+ input?: {
733
+ root?: CSSInterpolation;
734
+ variables?: {
735
+ default?: CSSInterpolation;
736
+ column?: CSSInterpolation;
737
+ number?: CSSInterpolation;
738
+ string?: CSSInterpolation;
739
+ };
740
+ scrollbar?: {
741
+ navigatorColor?: string;
742
+ backgroundColor?: string;
743
+ };
744
+ suggestion?: {
745
+ root?: CSSInterpolation;
746
+ scrollbar?: {
747
+ navigatorColor?: string;
748
+ backgroundColor?: string;
749
+ };
750
+ option?: CSSInterpolation;
751
+ selectedOption?: CSSInterpolation;
752
+ };
753
+ };
754
+ button?: CSSInterpolation;
755
+ icon?: CSSInterpolation;
756
+ example?: {
757
+ root?: CSSInterpolation;
758
+ icon?: CSSInterpolation;
759
+ };
760
+ };
761
+ table?: {
762
+ root?: CSSInterpolation;
763
+ th?: CSSInterpolation;
764
+ td?: {
765
+ root?: CSSInterpolation;
766
+ error?: CSSInterpolation;
767
+ };
768
+ popover?: CSSInterpolation;
769
+ };
770
+ };
771
+
772
+ export type ThemeAPI = {
773
+ root?: RootThemeAPI;
774
+ buttons?: ButtonThemeVariantAPI;
775
+ globals?: GlobalsThemeAPI;
776
+ dialog?: DialogThemeAPI;
777
+ messagePopup?: Omit<DialogThemeAPI, 'scrollbar'> & {
778
+ title?: CSSInterpolation;
779
+ description?: CSSInterpolation;
780
+ warnIcon?: CSSInterpolation;
781
+ };
782
+ loader?: LoaderThemeAPI;
783
+ headerSelect?: HeaderMatchAPI;
784
+ dropzone?: DropzoneThemeAPI;
785
+ progressBar?: ProgressBarThemeAPI;
786
+ joinSheet?: JoinSheetThemeAPI;
787
+ footer?: FooterThemeAPI;
788
+ header?: HeaderThemeAPI;
789
+ columnMatch?: ColumnMatchThemeAPI;
790
+ reviewEntries?: ReviewEntriesThemeAPI;
791
+ sheetSelect?: SheetSelectThemeAPI;
792
+ popoverInfo?: PopoverInfoThemeAPI;
793
+ popover?: PopoverThemeAPI;
794
+ cleaningAssistant?: CleaningAssistantThemeAPI;
795
+ contextualEngine?: ContextualEngineThemeAPI;
796
+ alertPopup?: Omit<DialogThemeAPI, 'scrollbar'> & {
797
+ title?: CSSInterpolation;
798
+ description?: CSSInterpolation;
799
+ icon?: CSSInterpolation;
800
+ };
801
+ blockPopup?: Omit<DialogThemeAPI, 'scrollbar'> & {
802
+ title?: CSSInterpolation;
803
+ description?: CSSInterpolation;
804
+ icon?: CSSInterpolation;
805
+ };
806
+ prompts?: AIpromptThemeAPI;
807
+ };
808
+
809
+ type RootThemeAPI = {
810
+ container?: CSSInterpolation;
811
+ };
812
+
813
+ export type Variant =
814
+ | 'primary'
815
+ | 'secondary'
816
+ | 'tertiary'
817
+ | 'import'
818
+ | 'cleanData'
819
+ | 'exportExcel'
820
+ | 'findError'
821
+ | 'findReplace'
822
+ | 'exportErrorRows';
823
+
824
+ type ButtonThemeIconAPI = { icon?: CSSInterpolation };
825
+
826
+ export type ButtonThemeCssObjectAPI = CSSInterpolation & ButtonThemeIconAPI;
827
+
828
+ type ButtonThemeVariantAPI = {
829
+ primary?: ButtonThemeCssObjectAPI;
830
+ secondary?: ButtonThemeCssObjectAPI;
831
+ tertiary?: ButtonThemeCssObjectAPI;
832
+ import?: ButtonThemeCssObjectAPI;
833
+ cleanData?: ButtonThemeCssObjectAPI;
834
+ exportExcel?: ButtonThemeCssObjectAPI & {
835
+ dropdown?: {
836
+ root?: CSSInterpolation;
837
+ item?: CSSInterpolation;
838
+ };
839
+ };
840
+ findError?: ButtonThemeCssObjectAPI;
841
+ findReplace?: ButtonThemeCssObjectAPI;
842
+ exportErrorRows?: ButtonThemeCssObjectAPI;
843
+ transpose?: ButtonThemeCssObjectAPI & {
844
+ popover?: CSSInterpolation;
845
+ };
846
+ };
847
+
848
+ export type GlobalsThemeAPI = {
849
+ fontFamily?: string;
850
+ textColor?: string;
851
+ primaryTextColor?: string;
852
+ secondaryTextColor?: string;
853
+ backgroundColor?: string;
854
+ primaryColor?: string;
855
+ secondaryColor?: string;
856
+ borderRadius?: string | number;
857
+ maxHeight?: string | number;
858
+ };
859
+
860
+ type PopoverInfoThemeAPI = CSSInterpolation;
861
+
862
+ type PopoverThemeAPI = {
863
+ root?: CSSInterpolation;
864
+ info?: {
865
+ root?: CSSInterpolation;
866
+ circle?: CSSInterpolation;
867
+ };
868
+ warning?: {
869
+ root?: CSSInterpolation;
870
+ circle?: CSSInterpolation;
871
+ };
872
+ error?: {
873
+ root?: CSSInterpolation;
874
+ circle?: CSSInterpolation;
875
+ };
876
+ };
877
+
878
+ type DialogThemeAPI = {
879
+ root?: CSSInterpolation;
880
+ overlay?: CSSInterpolation;
881
+ closeIcon?: CSSInterpolation;
882
+ scrollbar?: {
883
+ navigatorColor?: string;
884
+ backgroundColor?: string;
885
+ };
886
+ };
887
+
888
+ type LoaderThemeAPI = {
889
+ root?: CSSInterpolation;
890
+ content?: CSSInterpolation;
891
+ loadAnimationColor?: string;
892
+ };
893
+
894
+ type HeaderMatchAPI = {
895
+ root?: CSSInterpolation;
896
+ pageHeader?: HeaderThemeAPI;
897
+ content?: CSSInterpolation;
898
+ sheetName?: {
899
+ root?: CSSInterpolation;
900
+ title?: CSSInterpolation;
901
+ description?: CSSInterpolation;
902
+ border?: CSSInterpolation;
903
+ };
904
+ table?: {
905
+ th?: CSSInterpolation;
906
+ td?: CSSInterpolation;
907
+ selectRowColor?: string;
908
+ hoverRowColor?: string;
909
+ scrollbar?: {
910
+ navigatorColor?: string;
911
+ backgroundColor?: string;
912
+ };
913
+ };
914
+ fullScreen?: {
915
+ root?: CSSInterpolation;
916
+ icon?: CSSInterpolation;
917
+ };
918
+ sheetNameSelected?: {
919
+ root?: CSSInterpolation;
920
+ title?: CSSInterpolation;
921
+ description?: CSSInterpolation;
922
+ border?: CSSInterpolation;
923
+ };
924
+ progressBar?: {
925
+ root?: CSSInterpolation;
926
+ progress?: {
927
+ navigatorColor?: string;
928
+ backgroundColor?: string;
929
+ };
930
+ };
931
+ additionalInfo?: IAdditionalInfoTheme;
932
+ };
933
+
934
+ type DropzoneIllustrationStyle = {
935
+ borderColor?: string;
936
+ headerColor?: string;
937
+ circleHeaderColor?: string;
938
+ circleRowColor?: string;
939
+ downloadIconColor?: string;
940
+ shadowColor?: string;
941
+ };
942
+
943
+ type DropzoneThemeAPI = {
944
+ root?: CSSInterpolation;
945
+ icon?: {
946
+ box?: CSSInterpolation;
947
+ };
948
+ content?: {
949
+ root?: CSSInterpolation;
950
+ title?: CSSInterpolation;
951
+ description?: CSSInterpolation;
952
+ illustration?: DropzoneIllustrationStyle;
953
+ };
954
+ container?: CSSInterpolation;
955
+ additionalInfo?: IAdditionalInfoTheme;
956
+ };
957
+
958
+ type ProgressBarThemeAPI = {
959
+ root?: CSSInterpolation;
960
+ icon?: CSSInterpolation;
961
+ current?: CSSInterpolation;
962
+ complete?: CSSInterpolation;
963
+ incomplete?: CSSInterpolation;
964
+ };
965
+
966
+ type FooterThemeAPI = {
967
+ root?: CSSInterpolation;
968
+ };
969
+
970
+ type HeaderThemeAPI = {
971
+ root?: CSSInterpolation;
972
+ title?: CSSInterpolation;
973
+ description?: CSSInterpolation;
974
+ };
975
+
976
+ type ColumnMatchThemeDropdownAPI = {
977
+ root?: CSSInterpolation;
978
+ button?: {
979
+ root?: CSSInterpolation;
980
+ icon?: CSSInterpolation;
981
+ placeholder?: string;
982
+ };
983
+ search?: {
984
+ root?: CSSInterpolation;
985
+ icon?: CSSInterpolation;
986
+ placeholder?: string;
987
+ };
988
+ badge?: {
989
+ root?: CSSInterpolation;
990
+ icon?: CSSInterpolation;
991
+ };
992
+ scrollbar?: {
993
+ navigatorColor?: string;
994
+ backgroundColor?: string;
995
+ };
996
+ header?: CSSInterpolation;
997
+ option?: CSSInterpolation;
998
+ selectedOption?: CSSInterpolation;
999
+ createNewOption?: {
1000
+ root?: CSSInterpolation;
1001
+ icon?: CSSInterpolation;
1002
+ };
1003
+ multiSelectionBadge?: {
1004
+ root?: CSSInterpolation;
1005
+ icon?: CSSInterpolation;
1006
+ };
1007
+ iconCheckedColor?: string;
1008
+ };
1009
+
1010
+ type CreateCustomTextField = {
1011
+ label?: CSSInterpolation;
1012
+ icon?: CSSInterpolation;
1013
+ input?: CSSInterpolation;
1014
+ errorMessage?: CSSInterpolation;
1015
+ };
1016
+
1017
+ type CreateCustomDropdown = {
1018
+ button?: {
1019
+ root?: CSSInterpolation;
1020
+ icon?: CSSInterpolation;
1021
+ placeholder?: string;
1022
+ };
1023
+ scrollbar?: {
1024
+ navigatorColor?: string;
1025
+ backgroundColor?: string;
1026
+ };
1027
+ option?: CSSInterpolation;
1028
+ selectedOption?: CSSInterpolation;
1029
+ iconCheckedColor?: string;
1030
+ };
1031
+
1032
+ type CreateCustomDropdownField = {
1033
+ label?: CSSInterpolation;
1034
+ icon?: CSSInterpolation;
1035
+ errorMessage?: CSSInterpolation;
1036
+ dropdown?: CreateCustomDropdown;
1037
+ };
1038
+
1039
+ type DialogCreateCustomColumn = {
1040
+ root?: CSSInterpolation;
1041
+ overlay?: CSSInterpolation;
1042
+ closeIcon?: CSSInterpolation;
1043
+ title?: CSSInterpolation;
1044
+ description?: CSSInterpolation;
1045
+ columnName?: CreateCustomTextField;
1046
+ columnType?: CreateCustomDropdownField;
1047
+ dateFormat?: CreateCustomDropdownField;
1048
+ popover?: CSSInterpolation;
1049
+ };
1050
+
1051
+ type DialogCreateCustomOption = {
1052
+ root?: CSSInterpolation;
1053
+ overlay?: CSSInterpolation;
1054
+ closeIcon?: CSSInterpolation;
1055
+ title?: CSSInterpolation;
1056
+ description?: CSSInterpolation;
1057
+ optionName?: CreateCustomTextField;
1058
+ optionType?: CreateCustomDropdownField;
1059
+ };
1060
+
1061
+ type ColumnMatchThemeAPI = {
1062
+ root?: CSSInterpolation;
1063
+ pageHeader?: HeaderThemeAPI;
1064
+ borderColor?: CSSInterpolation;
1065
+ matchingTitle?: {
1066
+ root?: CSSInterpolation;
1067
+ icon?: CSSInterpolation;
1068
+ checkIcon?: CSSInterpolation;
1069
+ warningIcon?: CSSInterpolation;
1070
+ errorIcon?: CSSInterpolation;
1071
+ };
1072
+ matchingPercent?: {
1073
+ root?: CSSInterpolation;
1074
+ icon?: CSSInterpolation;
1075
+ };
1076
+ icon?: CSSInterpolation;
1077
+ columnMatchHeader?: {
1078
+ root?: CSSInterpolation;
1079
+ icon?: CSSInterpolation;
1080
+ dropdown?: Exclude<
1081
+ ColumnMatchThemeDropdownAPI,
1082
+ 'header' | 'search' | 'badge' | 'multiSelectionBadge'
1083
+ >;
1084
+ };
1085
+ columnMatchValue?: {
1086
+ root?: CSSInterpolation;
1087
+ icon?: CSSInterpolation;
1088
+ dropdown?: ColumnMatchThemeDropdownAPI;
1089
+ emptyValue?: CSSInterpolation;
1090
+ scrollbar?: {
1091
+ navigatorColor?: string;
1092
+ backgroundColor?: string;
1093
+ };
1094
+ loading?: CSSInterpolation;
1095
+ };
1096
+ requiredColumns?: {
1097
+ title?: CSSInterpolation;
1098
+ hasMatch?: CSSInterpolation;
1099
+ notMatch?: CSSInterpolation;
1100
+ notMatchError?: CSSInterpolation;
1101
+ hasMatchIcon?: CSSInterpolation;
1102
+ notMatchIcon?: CSSInterpolation;
1103
+ notMatchErrorIcon?: CSSInterpolation;
1104
+ showMore?: {
1105
+ root?: CSSInterpolation;
1106
+ text?: CSSInterpolation;
1107
+ icon?: CSSInterpolation;
1108
+ badge?: CSSInterpolation;
1109
+ };
1110
+ errorPopover?: CSSInterpolation;
1111
+ };
1112
+ notMatchingValue?: {
1113
+ root?: CSSInterpolation;
1114
+ icon?: CSSInterpolation;
1115
+ };
1116
+ joinBadge?: CSSInterpolation;
1117
+ sheetInfo?: CSSInterpolation;
1118
+ dialogCreateCustomColumn?: DialogCreateCustomColumn;
1119
+ dialogCreateCustomOption?: DialogCreateCustomOption;
1120
+ columnPopover?: CSSInterpolation;
1121
+ additionalInfo?: IAdditionalInfoTheme;
1122
+ };
1123
+
1124
+ type FilterConditionDropdown = {
1125
+ root?: CSSInterpolation;
1126
+ icon?: CSSInterpolation;
1127
+ list?: {
1128
+ root?: CSSInterpolation;
1129
+ item?: CSSInterpolation;
1130
+ };
1131
+ };
1132
+
1133
+ type FindColumnDropdown = {
1134
+ root?: CSSInterpolation;
1135
+ icon?: CSSInterpolation;
1136
+ list?: {
1137
+ root?: CSSInterpolation;
1138
+ item?: CSSInterpolation;
1139
+ checkbox?: CSSInterpolation;
1140
+ selectedItem?: CSSInterpolation;
1141
+ };
1142
+ };
1143
+
1144
+ type SmartTableThemeAPI = {
1145
+ th?: {
1146
+ menuIcon?: CSSInterpolation;
1147
+ expandIcon?: CSSInterpolation;
1148
+ loadingIcon?: CSSInterpolation;
1149
+ };
1150
+ contextMenu?: {
1151
+ root?: CSSInterpolation;
1152
+ item?: {
1153
+ root?: CSSInterpolation;
1154
+ label?: CSSInterpolation;
1155
+ icon?: CSSInterpolation;
1156
+ popover?: CSSInterpolation;
1157
+ };
1158
+ filter?: {
1159
+ root?: CSSInterpolation;
1160
+ dropdown?: FilterConditionDropdown;
1161
+ radioButton?: {
1162
+ root?: CSSInterpolation;
1163
+ radio?: CSSInterpolation;
1164
+ };
1165
+ input?: {
1166
+ root?: CSSInterpolation;
1167
+ icon?: CSSInterpolation;
1168
+ };
1169
+ label?: CSSInterpolation;
1170
+ valueList?: {
1171
+ root?: CSSInterpolation;
1172
+ item?: CSSInterpolation;
1173
+ checkbox?: CSSInterpolation;
1174
+ emptyIcon?: CSSInterpolation;
1175
+ };
1176
+ outlineButton?: CSSInterpolation;
1177
+ primaryButton?: CSSInterpolation;
1178
+ secondButton?: CSSInterpolation;
1179
+ };
1180
+ };
1181
+ findAndReplaceButton?: CSSInterpolation;
1182
+ findAndReplaceMenu?: {
1183
+ root?: CSSInterpolation;
1184
+ title?: CSSInterpolation;
1185
+ label?: CSSInterpolation;
1186
+ checkbox?: CSSInterpolation;
1187
+ checkboxLabel?: CSSInterpolation;
1188
+ input?: CSSInterpolation;
1189
+ infoText?: CSSInterpolation;
1190
+ primaryButton?: CSSInterpolation;
1191
+ dropdown?: FindColumnDropdown;
1192
+ closeIcon?: CSSInterpolation;
1193
+ };
1194
+ freezeBoxShadow?: CSSObject['boxShadow'];
1195
+ };
1196
+
1197
+ export type SubmitModalSummaryAPI = {
1198
+ root?: CSSInterpolation;
1199
+ icon?: CSSInterpolation;
1200
+ title?: CSSInterpolation;
1201
+ value?: CSSInterpolation;
1202
+ iconBox?: CSSInterpolation;
1203
+ };
1204
+
1205
+ export type ReviewEntriesThemeAPI = {
1206
+ root?: CSSInterpolation;
1207
+ pageHeader?: HeaderThemeAPI;
1208
+ table?: {
1209
+ th?: CSSInterpolation;
1210
+ td?: {
1211
+ root?: CSSInterpolation;
1212
+ normal?: CSSInterpolation;
1213
+ error?: CSSInterpolation;
1214
+ warning?: CSSInterpolation;
1215
+ info?: CSSInterpolation;
1216
+ addColumn?: CSSInterpolation;
1217
+ };
1218
+ selectedBackground?: {
1219
+ normal?: string;
1220
+ error?: string;
1221
+ warning?: string;
1222
+ info?: string;
1223
+ };
1224
+ scrollbar?: {
1225
+ navigatorColor?: string;
1226
+ backgroundColor?: string;
1227
+ };
1228
+ example?: CSSInterpolation;
1229
+ dragStyle?: {
1230
+ color?: string;
1231
+ style?: string;
1232
+ };
1233
+ };
1234
+ selectRowColor?: string;
1235
+ edit?: {
1236
+ number?: CSSInterpolation;
1237
+ string?: CSSInterpolation;
1238
+ percentage?: CSSInterpolation;
1239
+ currency?: CSSInterpolation;
1240
+ date?: CSSInterpolation;
1241
+ time?: CSSInterpolation;
1242
+ boolean?: {
1243
+ button?: {
1244
+ closeIcon?: CSSInterpolation;
1245
+ arrowIcon?: CSSInterpolation;
1246
+ };
1247
+ item?: {
1248
+ root?: CSSInterpolation;
1249
+ option?: CSSInterpolation;
1250
+ selectedOption?: CSSInterpolation;
1251
+ };
1252
+ };
1253
+ category?: {
1254
+ header?: CSSInterpolation;
1255
+ search?: {
1256
+ root?: CSSInterpolation;
1257
+ icon?: CSSInterpolation;
1258
+ placeholder?: string;
1259
+ };
1260
+ button?: {
1261
+ closeIcon?: CSSInterpolation;
1262
+ arrowIcon?: CSSInterpolation;
1263
+ };
1264
+ item?: {
1265
+ root?: CSSInterpolation;
1266
+ option?: CSSInterpolation;
1267
+ selectedOption?: CSSInterpolation;
1268
+ };
1269
+ multiSelectionBadge?: {
1270
+ root?: CSSInterpolation;
1271
+ icon?: CSSInterpolation;
1272
+ };
1273
+ iconCheckedColor?: string;
1274
+ createNewOption?: {
1275
+ root?: CSSInterpolation;
1276
+ icon?: CSSInterpolation;
1277
+ };
1278
+ };
1279
+ };
1280
+ selectedBackground?: {
1281
+ normal?: string;
1282
+ error?: string;
1283
+ warning?: string;
1284
+ info?: string;
1285
+ };
1286
+ icon?: CSSInterpolation;
1287
+ infoIcon?: CSSInterpolation;
1288
+ fullScreen?: {
1289
+ root?: CSSInterpolation;
1290
+ icon?: CSSInterpolation;
1291
+ };
1292
+ rowHeader?: {
1293
+ checkbox?: CSSInterpolation;
1294
+ allCheckbox?: CSSInterpolation;
1295
+ };
1296
+ addRowButton?: CSSInterpolation;
1297
+ duplicateButton?: CSSInterpolation;
1298
+ clearFilterButton?: CSSInterpolation;
1299
+ removeButton?: CSSInterpolation;
1300
+ selectedBadge?: CSSInterpolation;
1301
+ smartTable?: SmartTableThemeAPI;
1302
+ dialogCreateCustomColumn?: DialogCreateCustomColumn;
1303
+ dialogCreateCustomOption?: DialogCreateCustomOption;
1304
+ addColumnButton?: CSSInterpolation;
1305
+ undoButton?: CSSInterpolation;
1306
+ redoButton?: CSSInterpolation;
1307
+ toggleViewButton?: {
1308
+ item?: CSSInterpolation;
1309
+ selected?: CSSInterpolation;
1310
+ allRows?: CSSInterpolation;
1311
+ errorRows?: CSSInterpolation;
1312
+ root?: CSSInterpolation;
1313
+ };
1314
+ submitModal?: Omit<DialogThemeAPI, 'scrollbar'> & {
1315
+ title?: CSSInterpolation;
1316
+ description?: CSSInterpolation;
1317
+ icon?: CSSInterpolation;
1318
+ cleanRow?: SubmitModalSummaryAPI;
1319
+ errorRow?: SubmitModalSummaryAPI;
1320
+ };
1321
+ successModal?: Omit<DialogThemeAPI, 'scrollbar'> & {
1322
+ title?: CSSInterpolation;
1323
+ description?: CSSInterpolation;
1324
+ icon?: CSSInterpolation;
1325
+ importRow?: SubmitModalSummaryAPI;
1326
+ failRow?: SubmitModalSummaryAPI;
1327
+ header?: CSSInterpolation;
1328
+ };
1329
+ submitLoading?: IFullLoadingPageThemeAPI;
1330
+ automaticInfo?: {
1331
+ root?: CSSInterpolation;
1332
+ wrapper?: CSSInterpolation;
1333
+ infoIcon?: CSSInterpolation;
1334
+ title?: CSSInterpolation;
1335
+ closeIcon?: CSSInterpolation;
1336
+ description?: CSSInterpolation;
1337
+ };
1338
+ additionalInfo?: IAdditionalInfoTheme;
1339
+ };
1340
+
1341
+ type SheetSelectThemeAPI = {
1342
+ root?: CSSInterpolation;
1343
+ pageHeader?: HeaderThemeAPI;
1344
+ header?: CSSInterpolation;
1345
+ sheetName?: {
1346
+ root?: CSSInterpolation;
1347
+ title?: CSSInterpolation;
1348
+ description?: CSSInterpolation;
1349
+ border?: CSSInterpolation;
1350
+ };
1351
+ grid?: {
1352
+ container?: CSSInterpolation;
1353
+ root?: CSSInterpolation;
1354
+ title?: CSSInterpolation;
1355
+ description?: CSSInterpolation;
1356
+ checkbox?: CSSInterpolation;
1357
+ illustration?: {
1358
+ borderColor?: string;
1359
+ headerColor?: string;
1360
+ cellColor?: string;
1361
+ outlineColor?: string;
1362
+ };
1363
+ checked?: {
1364
+ root?: CSSInterpolation;
1365
+ title?: CSSInterpolation;
1366
+ description?: CSSInterpolation;
1367
+ checkbox?: CSSInterpolation;
1368
+ illustration?: {
1369
+ borderColor?: string;
1370
+ headerColor?: string;
1371
+ cellColor?: string;
1372
+ outlineColor?: string;
1373
+ };
1374
+ };
1375
+ };
1376
+ list?: {
1377
+ container?: CSSInterpolation;
1378
+ root?: CSSInterpolation;
1379
+ title?: CSSInterpolation;
1380
+ description?: CSSInterpolation;
1381
+ checkbox?: CSSInterpolation;
1382
+ checked?: {
1383
+ root?: CSSInterpolation;
1384
+ title?: CSSInterpolation;
1385
+ description?: CSSInterpolation;
1386
+ checkbox?: CSSInterpolation;
1387
+ };
1388
+ };
1389
+ pagination?: {
1390
+ root?: CSSInterpolation;
1391
+ pageButton?: CSSInterpolation;
1392
+ pageMore?: CSSInterpolation;
1393
+ currentPageButton?: CSSInterpolation;
1394
+ nextButton?: CSSInterpolation;
1395
+ prevButton?: CSSInterpolation;
1396
+ };
1397
+ icon?: CSSInterpolation;
1398
+ sheetLists?: {
1399
+ root?: CSSInterpolation;
1400
+ };
1401
+ unSelectSheetName?: {
1402
+ root?: CSSInterpolation;
1403
+ title?: CSSInterpolation;
1404
+ description?: CSSInterpolation;
1405
+ border?: CSSInterpolation;
1406
+ };
1407
+ scrollbar?: {
1408
+ navigatorColor?: string;
1409
+ backgroundColor?: string;
1410
+ };
1411
+ addFileButton?: {
1412
+ root?: CSSInterpolation;
1413
+ icon?: CSSInterpolation;
1414
+ };
1415
+ sheetPreview?: SheetPreviewThemeAPI & {
1416
+ listButton?: CSSInterpolation;
1417
+ gridButton?: CSSInterpolation;
1418
+ };
1419
+ additionalInfo?: IAdditionalInfoTheme;
1420
+ };
1421
+
1422
+ export type SheetItemThemeAPI = {
1423
+ root?: CSSInterpolation;
1424
+ addButton?: CSSInterpolation;
1425
+ removeButton?: CSSInterpolation;
1426
+ previewButton?: CSSInterpolation;
1427
+ title?: CSSInterpolation;
1428
+ description?: CSSInterpolation;
1429
+ addMenu?: {
1430
+ root?: CSSInterpolation;
1431
+ item?: CSSInterpolation;
1432
+ };
1433
+ };
1434
+
1435
+ export type JoinSheetTableThemeAPI = {
1436
+ root?: CSSInterpolation;
1437
+ badge?: CSSInterpolation;
1438
+ th?: CSSInterpolation;
1439
+ td?: CSSInterpolation;
1440
+ scrollbar?: {
1441
+ navigatorColor?: string;
1442
+ backgroundColor?: string;
1443
+ };
1444
+ empty?: {
1445
+ root?: CSSInterpolation;
1446
+ title?: CSSInterpolation;
1447
+ description?: CSSInterpolation;
1448
+ content?: CSSInterpolation;
1449
+ };
1450
+ };
1451
+
1452
+ type JoinSheetCommonDialogThemeAPI = {
1453
+ root?: CSSInterpolation;
1454
+ overlay?: CSSInterpolation;
1455
+ closeIcon?: CSSInterpolation;
1456
+ title?: CSSInterpolation;
1457
+ description?: CSSInterpolation;
1458
+ dropdown?: ColumnDropdownThemeAPI;
1459
+ errorMessage?: CSSInterpolation;
1460
+ label?: CSSInterpolation;
1461
+ asterisk?: CSSInterpolation;
1462
+ scrollbar?: {
1463
+ navigatorColor?: string;
1464
+ backgroundColor?: string;
1465
+ };
1466
+ };
1467
+
1468
+ export type ColumnDropdownThemeAPI = {
1469
+ root?: CSSInterpolation;
1470
+ button?: {
1471
+ root?: CSSInterpolation;
1472
+ icon?: CSSInterpolation;
1473
+ placeholder?: CSSInterpolation;
1474
+ };
1475
+ search?: {
1476
+ root?: CSSInterpolation;
1477
+ icon?: CSSInterpolation;
1478
+ placeholder?: CSSInterpolation;
1479
+ };
1480
+ badge?: CSSInterpolation;
1481
+ joinBadge?: CSSInterpolation;
1482
+ scrollbar?: {
1483
+ navigatorColor?: string;
1484
+ backgroundColor?: string;
1485
+ };
1486
+ header?: CSSInterpolation;
1487
+ option?: CSSInterpolation;
1488
+ selectedOption?: CSSInterpolation;
1489
+ };
1490
+
1491
+ export type JoinSheetMatchStatus = {
1492
+ success?: {
1493
+ root?: CSSInterpolation;
1494
+ icon?: CSSInterpolation;
1495
+ percent?: CSSInterpolation;
1496
+ description?: CSSInterpolation;
1497
+ };
1498
+ warning?: {
1499
+ root?: CSSInterpolation;
1500
+ icon?: CSSInterpolation;
1501
+ percent?: CSSInterpolation;
1502
+ description?: CSSInterpolation;
1503
+ };
1504
+ loading?: {
1505
+ root?: CSSInterpolation;
1506
+ icon?: CSSInterpolation;
1507
+ };
1508
+ };
1509
+
1510
+ export type JoinColumnsDialogThemeAPI = JoinSheetCommonDialogThemeAPI & {
1511
+ deleteButton?: CSSInterpolation;
1512
+ matchStatus?: JoinSheetMatchStatus;
1513
+ };
1514
+
1515
+ export type AppendColumnsDialogThemeAPI = JoinSheetCommonDialogThemeAPI & {
1516
+ appendColumn?: CSSInterpolation;
1517
+ };
1518
+
1519
+ type JoinSheetThemeAPI = {
1520
+ root?: CSSInterpolation;
1521
+ pageHeader?: HeaderThemeAPI;
1522
+ content?: CSSInterpolation;
1523
+ sheetSelection?: {
1524
+ root?: CSSInterpolation;
1525
+ title?: CSSInterpolation;
1526
+ badge?: CSSInterpolation;
1527
+ sheet?: SheetItemThemeAPI;
1528
+ joinedSheets?: {
1529
+ root?: CSSInterpolation;
1530
+ };
1531
+ unselectedSheets?: {
1532
+ root?: CSSInterpolation;
1533
+ };
1534
+ empty?: CSSInterpolation;
1535
+ scrollbar?: {
1536
+ navigatorColor?: string;
1537
+ backgroundColor?: string;
1538
+ };
1539
+ };
1540
+ sheetPreview?: SheetPreviewThemeAPI;
1541
+ table?: JoinSheetTableThemeAPI;
1542
+ joinPopover?: CSSInterpolation;
1543
+ joinColumnsDialog?: JoinColumnsDialogThemeAPI;
1544
+ appendColumnsDialog?: AppendColumnsDialogThemeAPI;
1545
+ removedSheet?: {
1546
+ root?: CSSInterpolation;
1547
+ sheetName?: CSSInterpolation;
1548
+ };
1549
+ additionalInfo?: IAdditionalInfoTheme;
1550
+ };
1551
+
1552
+ export type SheetPreviewTableThemeAPI = {
1553
+ root?: CSSInterpolation;
1554
+ th?: CSSInterpolation;
1555
+ td?: CSSInterpolation;
1556
+ scrollbarNavigatorColor?: string;
1557
+ scrollbarBackgroundColor?: string;
1558
+ };
1559
+
1560
+ export type SheetPreviewThemeAPI = {
1561
+ title?: CSSInterpolation;
1562
+ fileName?: CSSInterpolation;
1563
+ sheetName?: CSSInterpolation;
1564
+ table?: SheetPreviewTableThemeAPI;
1565
+ };
1566
+
1567
+ export type CleaningAssistantThemeAPI = {
1568
+ root?: CSSInterpolation;
1569
+ toggle?: {
1570
+ root?: CSSInterpolation;
1571
+ sparkleA?: CSSInterpolation;
1572
+ sparkleB?: CSSInterpolation;
1573
+ icon?: CSSInterpolation;
1574
+ badge?: CSSInterpolation;
1575
+ };
1576
+ suggestionList?: {
1577
+ root?: CSSInterpolation;
1578
+ header?: CSSInterpolation;
1579
+ headerCheckbox?: CSSInterpolation;
1580
+ headerCheckboxLabel?: CSSInterpolation;
1581
+ };
1582
+ suggestion?: {
1583
+ root?: CSSInterpolation;
1584
+ newValue?: CSSInterpolation;
1585
+ oldValue?: CSSInterpolation;
1586
+ oldValueEmpty?: CSSInterpolation;
1587
+ checkbox?: CSSInterpolation;
1588
+ details?: CSSInterpolation;
1589
+ actions?: CSSInterpolation;
1590
+ findButton?: CSSInterpolation;
1591
+ dismissButton?: CSSInterpolation;
1592
+ applyButton?: CSSInterpolation;
1593
+ };
1594
+ loadingState?: {
1595
+ root?: CSSInterpolation;
1596
+ skeleton?: CSSInterpolation;
1597
+ };
1598
+ emptyState?: {
1599
+ root?: CSSInterpolation;
1600
+ icon?: CSSInterpolation;
1601
+ title?: CSSInterpolation;
1602
+ text?: CSSInterpolation;
1603
+ };
1604
+ message?: {
1605
+ root?: CSSInterpolation;
1606
+ icon?: CSSInterpolation;
1607
+ text?: CSSInterpolation;
1608
+ };
1609
+ dropdown?: {
1610
+ root?: CSSInterpolation;
1611
+ messageContainer?: CSSInterpolation;
1612
+ header?: CSSInterpolation;
1613
+ headerBack?: CSSInterpolation;
1614
+ headerText?: CSSInterpolation;
1615
+ headerTag?: CSSInterpolation;
1616
+ headerActions?: CSSInterpolation;
1617
+ headerActionRepeat?: CSSInterpolation;
1618
+ headerActionRepeatSpinner?: CSSInterpolation;
1619
+ headerActionRepeatSpinnerInner?: CSSInterpolation;
1620
+ headerActionClose?: CSSInterpolation;
1621
+ body?: CSSInterpolation;
1622
+ footer?: CSSInterpolation;
1623
+ footerSelected?: CSSInterpolation;
1624
+ footerActions?: CSSInterpolation;
1625
+ footerDismiss?: CSSInterpolation;
1626
+ footerApply?: CSSInterpolation;
1627
+ footerApplySpinner?: CSSInterpolation;
1628
+ footerApplySpinnerInner?: CSSInterpolation;
1629
+ };
1630
+ cleaningGroupList?: {
1631
+ root?: CSSInterpolation;
1632
+ };
1633
+ cleaningGroup?: {
1634
+ root?: CSSInterpolation;
1635
+ name?: CSSInterpolation;
1636
+ divider?: CSSInterpolation;
1637
+ count?: CSSInterpolation;
1638
+ icon?: CSSInterpolation;
1639
+ };
1640
+ };
1641
+
1642
+ export type IFullLoadingPageThemeAPI = {
1643
+ root?: CSSInterpolation;
1644
+ icon?: CSSInterpolation;
1645
+ };
1646
+
1647
+ export type ContextualEngineThemeAPI = {
1648
+ loading?: IFullLoadingPageThemeAPI;
1649
+ prompt?: {
1650
+ root?: CSSInterpolation;
1651
+ icon?: CSSInterpolation;
1652
+ cancelButton?: CSSInterpolation;
1653
+ confirmButton?: CSSInterpolation;
1654
+ };
1655
+ };
1656
+
1657
+ export type LanguageType =
1658
+ | 'de'
1659
+ | 'en'
1660
+ | 'es'
1661
+ | 'fr'
1662
+ | 'it'
1663
+ | 'nl'
1664
+ | 'pl'
1665
+ | 'pt'
1666
+ | 'sv'
1667
+ | 'cz'
1668
+ | 'dk'
1669
+ | 'hu'
1670
+ | 'lt'
1671
+ | 'no'
1672
+ | 'ru'
1673
+ | 'sk'
1674
+ | 'zh';
1675
+
1676
+ export type DynamicStepValues =
1677
+ | 'header'
1678
+ | 'mapping'
1679
+ | 'review'
1680
+ | 'sheetSelection';
1681
+
1682
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1683
+ export type UploadData = any[] | Record<string, any>;
1684
+
1685
+ export type SheetSelectionUploadData = {
1686
+ fileName: string;
1687
+ sheets: { sheetName: string; data: UploadData }[];
1688
+ }[];
1689
+
1690
+ export type UploadOptions = {
1691
+ step: DynamicStepValues;
1692
+ headerIndex?: number;
1693
+ data: UploadData;
1694
+ };
1695
+
1696
+ export type ParseFiles = FileList | File[];
1697
+ export type ValueType = boolean | number | string | null | undefined;
1698
+ export type IParseSheet = {
1699
+ sheetName: string;
1700
+ data: ValueType[][];
1701
+ };
1702
+
1703
+ export type IParseFile = {
1704
+ fileName: string;
1705
+ sheets: IParseSheet[];
1706
+ };
1707
+
1708
+ export type OnEntryChangeLogs = {
1709
+ columns?: ImportLogsColumns;
1710
+ };
1711
+
1712
+ export enum ContextualEngineMode {
1713
+ ENABLED = 'enabled',
1714
+ DISABLED = 'disabled',
1715
+ PROMPT = 'prompt',
1716
+ }
1717
+
1718
+ export type ContextualEngineType = `${ContextualEngineMode}`;
1719
+
1720
+ export type ProcessingMode = 'node' | 'browser';
1721
+
1722
+ export type MappingLayer = 'exact' | 'historic' | 'smart' | 'fuzzy';
1723
+
1724
+ export type MappingLayers = MappingLayer[];
1725
+
1726
+ export type IMappingConfiguration = {
1727
+ layers?: MappingLayers;
1728
+ threshold?: number;
1729
+ processingMode?: ProcessingMode;
1730
+ };
1731
+
1732
+ export type ISubmitModalConfiguration = {
1733
+ exportButton?: boolean;
1734
+ importSummary?: boolean;
1735
+ display?: boolean;
1736
+ };
1737
+
1738
+ export type ISuccessModalConfiguration = {
1739
+ importSummary?: boolean;
1740
+ display?: boolean;
1741
+ };
1742
+
1743
+ export type ImporterSessionVerifyResult = {
1744
+ verified: boolean;
1745
+ identifier: string;
1746
+ };
1747
+
1748
+ export type ImporterSessionVerifyOptions = {
1749
+ identifier?: string;
1750
+ };
1751
+
1752
+ export type ImporterSessionParseOptions = {
1753
+ data: ParseFiles;
1754
+ identifier?: string;
1755
+ };
1756
+
1757
+ export type ImporterSessionParseResult = {
1758
+ accepted: IParseFile[];
1759
+ rejected: IParseFile[];
1760
+ };
1761
+
1762
+ export type ImporterSessionUploadOptions = {
1763
+ step: DynamicStepValues;
1764
+ data: UploadData;
1765
+ headerIndex?: number;
1766
+ identifier?: string;
1767
+ };
1768
+
1769
+ export type ImporterSessionStartOptions = {
1770
+ identifier?: string;
1771
+ };
1772
+
1773
+ export type ImporterSessionReloadOptions = ImporterSessionStartOptions;
1774
+
1775
+ export declare const ImporterSession: {
1776
+ upload: (options?: ImporterSessionUploadOptions) => Promise<void>;
1777
+ parse: (
1778
+ options?: ImporterSessionParseOptions
1779
+ ) => Promise<ImporterSessionParseResult>;
1780
+ start: (options?: ImporterSessionStartOptions) => void;
1781
+ verify: (
1782
+ options?: ImporterSessionVerifyOptions
1783
+ ) => Promise<ImporterSessionVerifyResult>;
1784
+ reload: (options?: ImporterSessionReloadOptions) => Promise<void>;
1785
+ };
1786
+
1787
+ import { OnInit } from '@angular/core';
1788
+ import * as i0 from "@angular/core";
1789
+ export declare class DataImporterComponent implements OnInit {
1790
+ licenseKey: string;
1791
+ settings: SettingsAPI;
1792
+ onResults?: OnResults;
1793
+ onCancel?: OnCancel;
1794
+ onEntryChange?: OnEntryChange;
1795
+ onEntryInit?: OnEntryInit;
1796
+ columnHooks?: ColumnHooks;
1797
+ dataHandler?: DataHandler;
1798
+ stepHandler?: IStepHandler;
1799
+ ngOnInit(): void;
1800
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataImporterComponent, never>;
1801
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataImporterComponent, "data-importer", never, { "licenseKey": "licenseKey"; "settings": "settings"; "onResults": "onResults"; "onCancel": "onCancel"; "onEntryChange": "onEntryChange"; "onEntryInit": "onEntryInit"; "columnHooks": "columnHooks"; "dataHandler": "dataHandler"; "stepHandler": "stepHandler"; }, {}, never, never>;
1802
+ }