@autorender/sdk-core 0.1.4

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,217 @@
1
+ type UploadStatus = 'pending' | 'ready' | 'uploading' | 'completed' | 'error';
2
+ interface UploadItem {
3
+ id: string;
4
+ file: File;
5
+ relativePath?: string;
6
+ folderPath: string;
7
+ folderNo?: string;
8
+ status: UploadStatus;
9
+ progress: number;
10
+ previewUrl?: string;
11
+ error?: string;
12
+ uploadedAt?: Date;
13
+ response?: UploadedFileResponse;
14
+ }
15
+ interface UploadedFileResponse {
16
+ file_no: string;
17
+ name: string;
18
+ url: string;
19
+ file_size: number;
20
+ folder_no?: string;
21
+ path?: string;
22
+ width?: number;
23
+ height?: number;
24
+ format?: string;
25
+ }
26
+ interface ThemeOptions {
27
+ appearance?: 'light' | 'dark' | 'system';
28
+ accentColor?: string;
29
+ borderRadius?: number;
30
+ fontFamily?: string;
31
+ dropzoneBackground?: string;
32
+ dropzoneBorder?: string;
33
+ }
34
+ type IconRenderer = string | HTMLElement | (() => string | HTMLElement);
35
+ interface IconSet {
36
+ upload?: IconRenderer;
37
+ success?: IconRenderer;
38
+ error?: IconRenderer;
39
+ remove?: IconRenderer;
40
+ close?: IconRenderer;
41
+ }
42
+ interface LabelSet {
43
+ title?: string;
44
+ description?: string;
45
+ selectButton?: string;
46
+ selectFolderButton?: string;
47
+ uploadButton?: string;
48
+ uploading?: string;
49
+ uploadComplete?: string;
50
+ uploadFailed?: string;
51
+ retry?: string;
52
+ remove?: string;
53
+ addMore?: string;
54
+ done?: string;
55
+ clear?: string;
56
+ cancel?: string;
57
+ dropzoneTitle?: string;
58
+ duplicateFileExists?: string;
59
+ duplicateFilesExist?: string;
60
+ duplicateFileError?: string;
61
+ invalidApiKey?: string;
62
+ }
63
+ interface UploaderClassNames {
64
+ root?: string;
65
+ triggerButton?: string;
66
+ dropzone?: string;
67
+ uploadButton?: string;
68
+ fileList?: string;
69
+ modal?: string;
70
+ summary?: string;
71
+ header?: string;
72
+ }
73
+ interface UploadSourceOption {
74
+ id: string;
75
+ label: string;
76
+ icon?: IconRenderer;
77
+ kind?: 'device' | 'camera' | 'facebook' | 'google-drive' | (string & {});
78
+ action?: () => void;
79
+ disabled?: boolean;
80
+ }
81
+ interface UploadSettings {
82
+ pretransformations?: string;
83
+ tags?: string[];
84
+ is_unique_suffix_name?: boolean;
85
+ }
86
+ interface CreateUploaderOptions {
87
+ apiKey: string;
88
+ target: string | HTMLElement;
89
+ width?: string | number;
90
+ folderPath?: string;
91
+ autoUpload?: boolean;
92
+ allowMultiple?: boolean;
93
+ accept?: string[];
94
+ chunkSize?: number;
95
+ parallelUploads?: number;
96
+ type?: 'button' | 'inline';
97
+ theme?: 'light' | 'dark' | 'system';
98
+ classNames?: UploaderClassNames;
99
+ sources?: string | string[];
100
+ fileLayout?: 'list' | 'grid';
101
+ showGridFileName?: boolean;
102
+ labels?: LabelSet;
103
+ uploadSettings?: UploadSettings;
104
+ onSourceSelect?: (source: UploadSourceOption) => void;
105
+ onProgress?: (progress: number, items: UploadItem[]) => void;
106
+ onFileProgress?: (item: UploadItem) => void;
107
+ onError?: (error: Error, context?: unknown) => void;
108
+ onSuccess?: (payload: {
109
+ files: UploadedFileResponse[];
110
+ items: UploadItem[];
111
+ }) => void;
112
+ }
113
+ interface UploaderInstance {
114
+ openFileDialog: () => void;
115
+ startUpload: () => Promise<void>;
116
+ reset: () => void;
117
+ destroy: () => void;
118
+ updateOptions: (options: Partial<CreateUploaderOptions>) => void;
119
+ getState: () => {
120
+ items: UploadItem[];
121
+ isUploading: boolean;
122
+ progress: number;
123
+ duplicates: string[];
124
+ };
125
+ }
126
+ interface PresignPayload {
127
+ folder_no?: string;
128
+ path?: string;
129
+ files: Array<{
130
+ name: string;
131
+ contentType: string;
132
+ size: number;
133
+ }>;
134
+ }
135
+ interface CompleteUploadPayload {
136
+ uploaded: Array<{
137
+ file_no: string;
138
+ key: string;
139
+ name: string;
140
+ size: number;
141
+ contentType: string;
142
+ folder_no?: string;
143
+ }>;
144
+ }
145
+ interface ApiFolderRequest {
146
+ name: string;
147
+ parent_folder_no?: string;
148
+ }
149
+ interface PresignedFile {
150
+ file_no: string;
151
+ key: string;
152
+ uploadUrl: string;
153
+ expiresIn: number;
154
+ folder_no?: string;
155
+ }
156
+ interface PresignResponse {
157
+ presigned: PresignedFile[];
158
+ duplicates?: string[];
159
+ }
160
+ interface CompleteUploadResponse {
161
+ files: UploadedFileResponse[];
162
+ }
163
+ interface UploadInitRequest {
164
+ fileName: string;
165
+ fileSize: number;
166
+ mimeType: string;
167
+ folderNo?: string;
168
+ path?: string;
169
+ settings?: UploadSettings;
170
+ }
171
+ interface UploadInitResponse {
172
+ success: boolean;
173
+ uploadToken: string;
174
+ uploadUrl: string;
175
+ destKey: string;
176
+ uploadId: string;
177
+ fileName: string;
178
+ fileSize: number;
179
+ mimeType: string;
180
+ tagsRaw: string[];
181
+ transformString: string;
182
+ }
183
+ interface AppRunnerResponse {
184
+ ok: boolean;
185
+ workspaceId: string;
186
+ key: string;
187
+ size: number;
188
+ width?: number;
189
+ height?: number;
190
+ format: string;
191
+ errorCode?: string;
192
+ message?: string;
193
+ }
194
+ interface CompleteUploadRequest {
195
+ uploadId: string;
196
+ appRunnerResponse: AppRunnerResponse;
197
+ }
198
+ interface CompleteUploadResponseNew {
199
+ success: boolean;
200
+ isDuplicate?: boolean;
201
+ file_no: string;
202
+ name: string;
203
+ url: string;
204
+ file_size: number;
205
+ format?: string;
206
+ width?: number;
207
+ height?: number;
208
+ created_at: Date;
209
+ path: string;
210
+ workspace_no: string;
211
+ }
212
+
213
+ declare function createUploader(options: CreateUploaderOptions): UploaderInstance;
214
+
215
+ declare function registerAutorenderUploaderElement(): void;
216
+
217
+ export { type ApiFolderRequest, type AppRunnerResponse, type CompleteUploadPayload, type CompleteUploadRequest, type CompleteUploadResponse, type CompleteUploadResponseNew, type CreateUploaderOptions, type IconRenderer, type IconSet, type LabelSet, type PresignPayload, type PresignResponse, type PresignedFile, type ThemeOptions, type UploadInitRequest, type UploadInitResponse, type UploadItem, type UploadSettings, type UploadSourceOption, type UploadStatus, type UploadedFileResponse, type UploaderClassNames, type UploaderInstance, createUploader, registerAutorenderUploaderElement };