@archbase/components 3.0.0 → 3.0.2

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.
Files changed (127) hide show
  1. package/dist/buttons/ArchbaseActionButtons.d.ts +1 -1
  2. package/dist/charts/vis-timeline/ArchbaseVisTimeline.d.ts +1 -1
  3. package/dist/charts/vis-timeline/ArchbaseVisTimeline.types.d.ts +1 -1
  4. package/dist/charts/vis-timeline/utils/timelineOptions.d.ts +1 -1
  5. package/dist/datagrid/components/index.d.ts +2 -2
  6. package/dist/datagrid/components/pagination/grid-pagination.d.ts +1 -1
  7. package/dist/datagrid/components/toolbar/global-search-input.d.ts +1 -1
  8. package/dist/datagrid/components/toolbar/grid-toolbar.d.ts +1 -1
  9. package/dist/datagrid/hooks/use-grid-details-panel.d.ts +2 -2
  10. package/dist/datagrid/main/archbase-data-grid-pagination.d.ts +1 -1
  11. package/dist/datagrid/main/archbase-data-grid-toolbar.d.ts +1 -1
  12. package/dist/datagrid/main/archbase-data-grid-types.d.ts +7 -3
  13. package/dist/datagrid/main/archbase-data-grid-utils.d.ts +1 -1
  14. package/dist/datagrid/main/archbase-detail-panel-component.d.ts +1 -1
  15. package/dist/datagrid/main/archbase-expand-button.d.ts +1 -1
  16. package/dist/datagrid/main/archbase-grid-popover.d.ts +1 -1
  17. package/dist/datagrid/modals/print-data.d.ts +0 -1
  18. package/dist/editors/ArchbaseAsyncMultiSelect.d.ts +1 -1
  19. package/dist/editors/ArchbaseAsyncSelect.context.d.ts +1 -1
  20. package/dist/editors/ArchbaseAsyncSelect.d.ts +1 -5
  21. package/dist/editors/ArchbaseAvatarEdit.d.ts +2 -2
  22. package/dist/editors/ArchbaseCheckbox.d.ts +2 -3
  23. package/dist/editors/ArchbaseChip.d.ts +2 -3
  24. package/dist/editors/ArchbaseChipGroup.d.ts +1 -1
  25. package/dist/editors/ArchbaseDatePickerEdit.d.ts +3 -3
  26. package/dist/editors/ArchbaseDatePickerRange.d.ts +1 -2
  27. package/dist/editors/ArchbaseDateTimePickerEdit.d.ts +2 -3
  28. package/dist/editors/ArchbaseDateTimePickerRange.d.ts +2 -3
  29. package/dist/editors/ArchbaseEdit.d.ts +2 -7
  30. package/dist/editors/ArchbaseFileAttachment.d.ts +1 -1
  31. package/dist/editors/ArchbaseImageEdit.d.ts +2 -2
  32. package/dist/editors/ArchbaseJsonEdit.d.ts +2 -3
  33. package/dist/editors/ArchbaseLookupEdit.d.ts +2 -3
  34. package/dist/editors/ArchbaseLookupNumber.d.ts +2 -3
  35. package/dist/editors/ArchbaseMarkdownEdit.d.ts +1 -1
  36. package/dist/editors/ArchbaseMaskEdit.d.ts +3 -8
  37. package/dist/editors/ArchbaseNumberEdit.d.ts +1 -2
  38. package/dist/editors/ArchbasePasswordEdit.d.ts +2 -3
  39. package/dist/editors/ArchbaseRadioGroup.d.ts +2 -3
  40. package/dist/editors/ArchbaseRating.d.ts +1 -1
  41. package/dist/editors/ArchbaseRichTextEdit.d.ts +3 -3
  42. package/dist/editors/ArchbaseSelect.context.d.ts +1 -1
  43. package/dist/editors/ArchbaseSelect.d.ts +1 -1
  44. package/dist/editors/ArchbaseSwitch.d.ts +2 -3
  45. package/dist/editors/ArchbaseTextArea.d.ts +2 -3
  46. package/dist/editors/ArchbaseTimeEdit.d.ts +2 -3
  47. package/dist/editors/ArchbaseTimeRangeSelector.d.ts +1 -1
  48. package/dist/editors/ArchbaseTreeSelect.d.ts +1 -1
  49. package/dist/editors/index.d.ts +5 -5
  50. package/dist/filters/ArchbaseCompositeFilters.d.ts +1 -1
  51. package/dist/filters/ArchbaseCompositeFilters.types.d.ts +1 -1
  52. package/dist/filters/ArchbaseCompositeFilters.utils.d.ts +1 -1
  53. package/dist/filters/components/FilterPill.d.ts +1 -1
  54. package/dist/filters/hooks/useArchbaseFilterHistory.d.ts +1 -1
  55. package/dist/filters/hooks/useArchbaseFilterPresets.d.ts +1 -1
  56. package/dist/filters/hooks/useArchbaseFilters.d.ts +1 -1
  57. package/dist/filters/hooks/useArchbaseQuickFilters.d.ts +1 -1
  58. package/dist/hooks/useArchbaseListContext.d.ts +1 -1
  59. package/dist/hooks/useArchbaseNavigateParams.d.ts +2 -2
  60. package/dist/hooks/useArchbaseVisible.d.ts +1 -1
  61. package/dist/image/ArchbaseImage.d.ts +1 -1
  62. package/dist/image/editor/components/BasicFilters/BasicFilter.d.ts +1 -1
  63. package/dist/image/editor/components/CropprWrapper/ArchbaseCropperWrapper.d.ts +1 -2
  64. package/dist/image/editor/components/EditImage/ArchbaseEditImage.d.ts +1 -2
  65. package/dist/image/editor/components/Input/Input.d.ts +1 -1
  66. package/dist/image/editor/components/Tab/Tab.d.ts +1 -2
  67. package/dist/image/editor/functions/croppr/core.d.ts +1 -5
  68. package/dist/image/editor/functions/croppr/croppr.d.ts +1 -10
  69. package/dist/image/editor/functions/croppr/index.d.ts +1 -1
  70. package/dist/image/editor/index.d.ts +1 -2
  71. package/dist/index.d.ts +0 -3
  72. package/dist/index.js +4468 -4590
  73. package/dist/jsonschema/JsonSchemaEditor/ArchbaseJsonSchemaEditor.context.d.ts +1 -1
  74. package/dist/list/ArchbaseList.context.d.ts +1 -1
  75. package/dist/list/ArchbaseList.d.ts +1 -1
  76. package/dist/list/index.d.ts +1 -1
  77. package/dist/list/treeview/ArchbaseTreeView.d.ts +1 -1
  78. package/dist/list/treeview/ArchbaseTreeViewItem.d.ts +1 -1
  79. package/dist/list-view/ArchbaseListViewTable.d.ts +1 -1
  80. package/dist/markdown/ArchbaseMarkdown.d.ts +1 -1
  81. package/dist/markdown/ArchbaseMarkdown.types.d.ts +2 -2
  82. package/dist/markdown/components/CodeBlock.d.ts +2 -2
  83. package/dist/markdown/components/LinkRenderer.d.ts +1 -1
  84. package/dist/masonry/ArchbaseMasonry.context.d.ts +1 -1
  85. package/dist/masonry/ArchbaseMasonry.d.ts +1 -5
  86. package/dist/masonry/index.d.ts +1 -1
  87. package/dist/notification/ArchbaseAlert.d.ts +1 -5
  88. package/dist/onboarding/ArchbaseOnboardingTour.d.ts +1 -1
  89. package/dist/printer/ArchbaseThermalPrinter.d.ts +1 -1
  90. package/dist/printer/ArchbaseThermalPrinter.types.d.ts +1 -1
  91. package/dist/printer/utils/escpos.d.ts +1 -1
  92. package/dist/theme-editor/ArchbaseThemeEditor.d.ts +1 -1
  93. package/dist/theme-editor/ArchbaseThemeEditor.types.d.ts +2 -2
  94. package/dist/theme-editor/utils/themeExport.d.ts +2 -2
  95. package/dist/themes/ArchbaseThemeEditor.d.ts +2 -3
  96. package/dist/video/ArchbaseVideoPlayer.d.ts +1 -1
  97. package/dist/video/ArchbaseVideoPlayer.types.d.ts +1 -1
  98. package/dist/video/hooks/useVideoPlayer.d.ts +5 -5
  99. package/dist/viewers/ArchbasePDFViewer.annotations.d.ts +1 -1
  100. package/dist/viewers/ArchbasePDFViewer.d.ts +1 -1
  101. package/dist/viewers/ArchbasePDFViewer.toolbar.d.ts +1 -1
  102. package/dist/viewers/ArchbasePDFViewer.types.d.ts +2 -2
  103. package/dist/viewers/file-preview/ArchbaseFilePreviewer.d.ts +1 -1
  104. package/dist/viewers/file-preview/ArchbaseFilePreviewer.types.d.ts +1 -1
  105. package/dist/viewers/file-preview/utils/fileTypeDetector.d.ts +1 -1
  106. package/package.json +21 -21
  107. package/src/datagrid/main/archbase-data-grid-types.tsx +5 -0
  108. package/src/datagrid/main/archbase-data-grid.tsx +10 -3
  109. package/src/index.ts +0 -1
  110. package/dist/archbase-components-3.0.0.tgz +0 -0
  111. package/dist/debug/index.d.ts +0 -4
  112. package/dist/debug/jsonpathpicker/ArchbaseJsonPathPicker.d.ts +0 -37
  113. package/dist/debug/jsonpathpicker/index.d.ts +0 -1
  114. package/dist/debug/jsonview/ArchbaseJsonViewDataRenderer.d.ts +0 -34
  115. package/dist/debug/jsonview/ArchbaseJsonViewDataTypeDetection.d.ts +0 -8
  116. package/dist/debug/jsonview/index.d.ts +0 -11
  117. package/dist/debug/objectinspector/ArchbaseDebugInspector.d.ts +0 -23
  118. package/dist/debug/objectinspector/ArchbaseFloatingWindow.d.ts +0 -24
  119. package/dist/debug/objectinspector/ArchbaseObjectInspector.d.ts +0 -6
  120. package/dist/debug/objectinspector/index.d.ts +0 -3
  121. package/dist/spreadsheet/ArchbaseSpreadsheetImport.d.ts +0 -4
  122. package/dist/spreadsheet/ArchbaseSpreadsheetImport.types.d.ts +0 -65
  123. package/dist/spreadsheet/index.d.ts +0 -2
  124. package/src/debug/jsonview/styles.module.css.d.ts +0 -4
  125. package/src/spreadsheet/ArchbaseSpreadsheetImport.tsx +0 -223
  126. package/src/spreadsheet/ArchbaseSpreadsheetImport.types.ts +0 -66
  127. package/src/spreadsheet/index.ts +0 -10
@@ -1,3 +0,0 @@
1
- export { ArchbaseDebugInspector } from './ArchbaseDebugInspector';
2
- export { ArchbaseObjectInspector } from './ArchbaseObjectInspector';
3
- export type { ArchbaseObjectToInspect } from './ArchbaseDebugInspector';
@@ -1,4 +0,0 @@
1
- import type { ArchbaseSpreadsheetImportProps } from './ArchbaseSpreadsheetImport.types';
2
- export declare function ArchbaseSpreadsheetImport<T = any>({ dataSource, onDataLoaded, onRowAdded, fields, isOpen, onClose, title, description, allowedFileTypes, maxFileSize, // 10MB
3
- maxRows, customHeaderComponent, customButtonComponent, translations, style, className, disabled, initialData, mapRows, validationCallback, }: ArchbaseSpreadsheetImportProps<T>): import("react/jsx-runtime").JSX.Element;
4
- export type { ArchbaseSpreadsheetImportProps, SpreadsheetField, SpreadsheetRow, SpreadsheetFileType, } from './ArchbaseSpreadsheetImport.types';
@@ -1,65 +0,0 @@
1
- import type { CSSProperties, ReactNode } from 'react';
2
- import type { IArchbaseDataSourceBase } from '@archbase/data';
3
- export type SpreadsheetFileType = 'csv' | 'xlsx' | 'xls' | 'all';
4
- export interface SpreadsheetField {
5
- key: string;
6
- label: string;
7
- required?: boolean;
8
- fieldType?: 'text' | 'number' | 'date' | 'email' | 'boolean' | 'select';
9
- options?: string[];
10
- validations?: {
11
- min?: number;
12
- max?: number;
13
- pattern?: string;
14
- custom?: (value: any) => boolean | string;
15
- };
16
- }
17
- export interface SpreadsheetRow {
18
- [key: string]: any;
19
- }
20
- export interface ArchbaseSpreadsheetImportProps<T = any> {
21
- dataSource?: IArchbaseDataSourceBase<T>;
22
- onDataLoaded?: (data: T[]) => void;
23
- onRowAdded?: (row: T) => void;
24
- fields?: SpreadsheetField[];
25
- isOpen?: boolean;
26
- onClose?: () => void;
27
- title?: string;
28
- description?: string;
29
- allowedFileTypes?: SpreadsheetFileType[];
30
- maxFileSize?: number;
31
- maxRows?: number;
32
- customHeaderComponent?: ReactNode;
33
- customButtonComponent?: ReactNode;
34
- translations?: {
35
- uploadStep?: string;
36
- selectFile?: string;
37
- dragDrop?: string;
38
- supportedFormats?: string;
39
- reviewStep?: string;
40
- reviewDescription?: string;
41
- confirmStep?: string;
42
- confirmDescription?: string;
43
- successStep?: string;
44
- successDescription?: string;
45
- uploadButton?: string;
46
- nextButton?: string;
47
- backButton?: string;
48
- confirmButton?: string;
49
- doneButton?: string;
50
- closeButton?: string;
51
- invalidRow?: string;
52
- requiredField?: string;
53
- rowsAdded?: string;
54
- rowsSkipped?: string;
55
- };
56
- style?: CSSProperties;
57
- className?: string;
58
- disabled?: boolean;
59
- initialData?: SpreadsheetRow[];
60
- mapRows?: (rows: SpreadsheetRow[]) => T[];
61
- validationCallback?: (row: SpreadsheetRow, index: number) => {
62
- valid: boolean;
63
- errors?: string[];
64
- };
65
- }
@@ -1,2 +0,0 @@
1
- export { ArchbaseSpreadsheetImport, } from './ArchbaseSpreadsheetImport';
2
- export type { ArchbaseSpreadsheetImportProps, SpreadsheetField, SpreadsheetRow, SpreadsheetFileType, } from './ArchbaseSpreadsheetImport.types';
@@ -1,4 +0,0 @@
1
- declare const styles: {
2
- readonly [key: string]: string;
3
- };
4
- export default styles;
@@ -1,223 +0,0 @@
1
- import React, { useState, useCallback, useMemo } from 'react';
2
- import { Modal, Button, Group, Text, Stack, Paper, Progress, Alert } from '@mantine/core';
3
- import { useArchbaseTranslation } from '@archbase/core';
4
- import { ReactSpreadsheetImport } from 'react-spreadsheet-import';
5
- import type {
6
- ArchbaseSpreadsheetImportProps,
7
- SpreadsheetField,
8
- SpreadsheetRow,
9
- } from './ArchbaseSpreadsheetImport.types';
10
-
11
- type RsiField = {
12
- label: string;
13
- key: string;
14
- description?: string;
15
- alternateMatches?: string[];
16
- validations?: any[];
17
- fieldType: { type: 'input' } | { type: 'checkbox'; booleanMatches?: { [key: string]: boolean } } | { type: 'select'; options: { label: string; value: string }[] };
18
- example?: string;
19
- };
20
-
21
- function convertFieldToRsi(field: SpreadsheetField): RsiField {
22
- const baseField: RsiField = {
23
- label: field.label,
24
- key: field.key,
25
- fieldType: { type: 'input' },
26
- };
27
-
28
- if (field.fieldType === 'boolean') {
29
- baseField.fieldType = { type: 'checkbox' };
30
- } else if (field.fieldType === 'select' && field.options) {
31
- baseField.fieldType = {
32
- type: 'select',
33
- options: field.options.map((opt) => ({ label: opt, value: opt })),
34
- };
35
- }
36
-
37
- // Add validations
38
- if (field.validations) {
39
- baseField.validations = [];
40
-
41
- if (field.validations.pattern) {
42
- baseField.validations!.push({
43
- rule: 'regex',
44
- value: field.validations.pattern,
45
- errorMessage: 'Invalid format',
46
- });
47
- }
48
- }
49
-
50
- return baseField;
51
- }
52
-
53
- export function ArchbaseSpreadsheetImport<T = any>({
54
- dataSource,
55
- onDataLoaded,
56
- onRowAdded,
57
- fields,
58
- isOpen = true,
59
- onClose,
60
- title,
61
- description,
62
- allowedFileTypes = ['csv', 'xlsx', 'xls'],
63
- maxFileSize = 10 * 1024 * 1024, // 10MB
64
- maxRows = 1000,
65
- customHeaderComponent,
66
- customButtonComponent,
67
- translations,
68
- style,
69
- className,
70
- disabled = false,
71
- initialData,
72
- mapRows,
73
- validationCallback,
74
- }: ArchbaseSpreadsheetImportProps<T>) {
75
- const { t } = useArchbaseTranslation();
76
- const [isOpenState, setIsOpenState] = useState(isOpen);
77
- const [step, setStep] = useState<'upload' | 'review' | 'complete'>('upload');
78
- const [isProcessing, setIsProcessing] = useState(false);
79
- const [errors, setErrors] = useState<string[]>([]);
80
- const [resultData, setResultData] = useState<{ validCount: number; invalidCount: number } | null>(null);
81
-
82
- const rsiFields = useMemo(() => {
83
- if (!fields) return undefined;
84
-
85
- return fields.map(convertFieldToRsi) as RsiField[];
86
- }, [fields]);
87
-
88
- const defaultFields = useMemo<RsiField[]>(() => {
89
- if (rsiFields) return rsiFields;
90
-
91
- return [
92
- { label: 'Column 1', key: 'column1', fieldType: { type: 'input' }, validations: [{ rule: 'required' }] },
93
- { label: 'Column 2', key: 'column2', fieldType: { type: 'input' } },
94
- { label: 'Column 3', key: 'column3', fieldType: { type: 'input' } },
95
- ];
96
- }, [rsiFields]);
97
-
98
- const rsiTranslations = useMemo(() => ({
99
- uploadStep: {
100
- title: translations?.uploadStep || String(t('Import Spreadsheet')),
101
- description: translations?.dragDrop || String(t('Drag and drop your file here')),
102
- fileFormatError: translations?.supportedFormats || String(t('Supported formats: CSV, XLSX, XLS')),
103
- maxSizeError: `File size exceeds ${maxFileSize} bytes`,
104
- },
105
- selectHeaderStep: {
106
- title: String(t('Select File')),
107
- description: String(t('Upload File')),
108
- },
109
- matchColumnsStep: {
110
- title: translations?.reviewStep || String(t('Review Data')),
111
- description: translations?.reviewDescription || String(t('Review and edit your data before importing')),
112
- },
113
- validationStep: {
114
- title: translations?.confirmStep || String(t('Confirm Import')),
115
- description: translations?.confirmDescription || String(t('Confirm the data to be imported')),
116
- },
117
- }), [translations, t, maxFileSize]);
118
-
119
- const handleClose = useCallback(() => {
120
- setIsOpenState(false);
121
- setStep('upload');
122
- setResultData(null);
123
- setErrors([]);
124
- onClose?.();
125
- }, [onClose]);
126
-
127
- const handleSubmit = useCallback(async (data: any, file: File) => {
128
- setIsProcessing(true);
129
- setStep('complete');
130
-
131
- try {
132
- // Combine valid and invalid data
133
- const allData = [...data.validData, ...data.invalidData];
134
-
135
- // Map rows if mapper provided
136
- const mappedData = mapRows ? mapRows(allData as SpreadsheetRow[]) : (allData as unknown[] as T[]);
137
-
138
- // Add to data source if provided
139
- if (dataSource && mappedData.length > 0) {
140
- for (const row of mappedData) {
141
- onRowAdded?.(row);
142
- }
143
- }
144
-
145
- // Set result data
146
- setResultData({
147
- validCount: data.validData.length,
148
- invalidCount: data.invalidData.length,
149
- });
150
-
151
- // Callback with loaded data
152
- onDataLoaded?.(mappedData);
153
-
154
- setIsProcessing(false);
155
- } catch (error) {
156
- setErrors([String(error)]);
157
- setIsProcessing(false);
158
- }
159
- }, [mapRows, dataSource, onRowAdded, onDataLoaded]);
160
-
161
- const controlledIsOpen = isOpen !== undefined ? isOpen : isOpenState;
162
-
163
- return (
164
- <Modal
165
- opened={controlledIsOpen}
166
- onClose={handleClose}
167
- size={step === 'complete' ? 'md' : 'xl'}
168
- title={title || String(t('Import Spreadsheet'))}
169
- style={style}
170
- className={className}
171
- >
172
- <Stack gap="md">
173
- {description && <Text size="sm">{description}</Text>}
174
-
175
- {errors.length > 0 && (
176
- <Alert color="red" title={String(t('Error'))}>
177
- {errors.map((error, i) => (
178
- <Text key={i} size="sm">{error}</Text>
179
- ))}
180
- </Alert>
181
- )}
182
-
183
- {isProcessing && (
184
- <Progress value={undefined} size="sm" />
185
- )}
186
-
187
- {step === 'complete' && resultData ? (
188
- <Stack align="center" gap="md">
189
- <Text size="lg" fw={500}>
190
- {resultData.validCount} {String(t('rows imported'))}
191
- </Text>
192
- {resultData.invalidCount > 0 && (
193
- <Text size="sm" c="orange">
194
- {resultData.invalidCount} {String(t('rows skipped'))}
195
- </Text>
196
- )}
197
- <Button onClick={handleClose}>
198
- {translations?.closeButton || String(t('Close'))}
199
- </Button>
200
- </Stack>
201
- ) : (
202
- <ReactSpreadsheetImport
203
- isOpen={controlledIsOpen}
204
- onClose={handleClose}
205
- onSubmit={handleSubmit}
206
- fields={defaultFields}
207
- translations={rsiTranslations}
208
- maxRecords={maxRows}
209
- maxFileSize={maxFileSize}
210
- />
211
- )}
212
- </Stack>
213
- </Modal>
214
- );
215
- }
216
-
217
- // Export types
218
- export type {
219
- ArchbaseSpreadsheetImportProps,
220
- SpreadsheetField,
221
- SpreadsheetRow,
222
- SpreadsheetFileType,
223
- } from './ArchbaseSpreadsheetImport.types';
@@ -1,66 +0,0 @@
1
- import type { CSSProperties, ReactNode } from 'react';
2
- import type { IArchbaseDataSourceBase } from '@archbase/data';
3
-
4
- export type SpreadsheetFileType = 'csv' | 'xlsx' | 'xls' | 'all';
5
-
6
- export interface SpreadsheetField {
7
- key: string;
8
- label: string;
9
- required?: boolean;
10
- fieldType?: 'text' | 'number' | 'date' | 'email' | 'boolean' | 'select';
11
- options?: string[];
12
- validations?: {
13
- min?: number;
14
- max?: number;
15
- pattern?: string;
16
- custom?: (value: any) => boolean | string;
17
- };
18
- }
19
-
20
- export interface SpreadsheetRow {
21
- [key: string]: any;
22
- }
23
-
24
- export interface ArchbaseSpreadsheetImportProps<T = any> {
25
- dataSource?: IArchbaseDataSourceBase<T>;
26
- onDataLoaded?: (data: T[]) => void;
27
- onRowAdded?: (row: T) => void;
28
- fields?: SpreadsheetField[];
29
- isOpen?: boolean;
30
- onClose?: () => void;
31
- title?: string;
32
- description?: string;
33
- allowedFileTypes?: SpreadsheetFileType[];
34
- maxFileSize?: number; // in bytes
35
- maxRows?: number;
36
- customHeaderComponent?: ReactNode;
37
- customButtonComponent?: ReactNode;
38
- translations?: {
39
- uploadStep?: string;
40
- selectFile?: string;
41
- dragDrop?: string;
42
- supportedFormats?: string;
43
- reviewStep?: string;
44
- reviewDescription?: string;
45
- confirmStep?: string;
46
- confirmDescription?: string;
47
- successStep?: string;
48
- successDescription?: string;
49
- uploadButton?: string;
50
- nextButton?: string;
51
- backButton?: string;
52
- confirmButton?: string;
53
- doneButton?: string;
54
- closeButton?: string;
55
- invalidRow?: string;
56
- requiredField?: string;
57
- rowsAdded?: string;
58
- rowsSkipped?: string;
59
- };
60
- style?: CSSProperties;
61
- className?: string;
62
- disabled?: boolean;
63
- initialData?: SpreadsheetRow[];
64
- mapRows?: (rows: SpreadsheetRow[]) => T[];
65
- validationCallback?: (row: SpreadsheetRow, index: number) => { valid: boolean; errors?: string[] };
66
- }
@@ -1,10 +0,0 @@
1
- export {
2
- ArchbaseSpreadsheetImport,
3
- } from './ArchbaseSpreadsheetImport';
4
-
5
- export type {
6
- ArchbaseSpreadsheetImportProps,
7
- SpreadsheetField,
8
- SpreadsheetRow,
9
- SpreadsheetFileType,
10
- } from './ArchbaseSpreadsheetImport.types';