@scaleflex/widget-utils 4.0.6 → 4.1.0

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 (65) hide show
  1. package/CHANGELOG.md +7252 -7227
  2. package/LICENSE +21 -21
  3. package/README.md +58 -58
  4. package/lib/AbortController.js +2 -2
  5. package/lib/BlurHash/decode.js +4 -4
  6. package/lib/CustomDate.js +27 -27
  7. package/lib/EventTracker.js +3 -3
  8. package/lib/LinkHelper.js +26 -26
  9. package/lib/ProgressTimeout.js +5 -5
  10. package/lib/RateLimitedQueue.js +2 -2
  11. package/lib/TranslationMissingKeysConsoleHelper.js +13 -13
  12. package/lib/Translator.js +39 -39
  13. package/lib/addUrlParams.js +6 -6
  14. package/lib/adjustUpdatedFolders.js +7 -7
  15. package/lib/canvasToBlob.js +5 -5
  16. package/lib/checkItemsSupportExportWithReason.js +5 -5
  17. package/lib/checkPermissions.js +6 -6
  18. package/lib/clsx.js +3 -3
  19. package/lib/convertVideoFileTypeToSupported.js +9 -9
  20. package/lib/copyText.js +10 -10
  21. package/lib/createThunk.js +21 -21
  22. package/lib/customEncodeURIComponent.js +21 -21
  23. package/lib/fetchWithNetworkError.js +2 -2
  24. package/lib/findAllDOMElements.js +5 -5
  25. package/lib/findDOMElement.js +5 -5
  26. package/lib/findIndex.js +2 -2
  27. package/lib/formatDuration.js +8 -8
  28. package/lib/formatResolution.js +9 -9
  29. package/lib/formatSeconds.js +6 -6
  30. package/lib/generateFileId.js +12 -12
  31. package/lib/generateSelectInputPlaceholder.js +6 -6
  32. package/lib/getCloudimagePrefixedUrl.js +6 -6
  33. package/lib/getDateDaysFromNow.js +5 -5
  34. package/lib/getDateString.js +2 -2
  35. package/lib/getDroppedFiles/index.js +8 -8
  36. package/lib/getDroppedFiles/utils/webkitGetAsEntryApi/getFilesAndDirectoriesFromDirectory.js +7 -7
  37. package/lib/getDroppedFiles/utils/webkitGetAsEntryApi/getRelativePath.js +6 -6
  38. package/lib/getDroppedFiles/utils/webkitGetAsEntryApi/index.js +5 -5
  39. package/lib/getFileNameAndExtension.js +5 -5
  40. package/lib/getFormattedPreviewUrl.js +18 -18
  41. package/lib/getHoursAndMinutes.js +4 -4
  42. package/lib/getMetadataMultiSelectQuery.js +6 -6
  43. package/lib/getNormalizedItems.js +15 -15
  44. package/lib/getRandomNumber.js +5 -5
  45. package/lib/getTime.js +2 -2
  46. package/lib/getTimeStamp.js +4 -4
  47. package/lib/handlePromise.js +8 -8
  48. package/lib/humanReadableDate.js +4 -4
  49. package/lib/humanReadableDateWithTranslations.js +2 -2
  50. package/lib/injectVirtualPathToFolders.js +5 -5
  51. package/lib/isDOMElement.js +4 -4
  52. package/lib/isDragDropSupported.js +4 -4
  53. package/lib/isFileSupportedByCloudimage.js +5 -5
  54. package/lib/isMobileDevice.js +5 -5
  55. package/lib/isObjectURL.js +5 -5
  56. package/lib/metadata/checkFieldValidation.js +9 -9
  57. package/lib/metadata/generateItemMetadataState.js +8 -8
  58. package/lib/metadata/generateMetadataDefaultState.js +4 -4
  59. package/lib/metadata/updateValidationErrors.js +8 -8
  60. package/lib/nanoid.js +4 -4
  61. package/lib/recursiveFnCall.js +2 -2
  62. package/lib/removeDuplicatesFromArray.js +9 -9
  63. package/lib/toArray.js +2 -2
  64. package/package.json +3 -3
  65. package/types/index.d.ts +279 -279
package/types/index.d.ts CHANGED
@@ -1,279 +1,279 @@
1
- declare module "@scaleflex/widget-utils/lib/Translator" {
2
- namespace Translator {
3
- export interface Locale {
4
- strings?: {
5
- [key: string]: string | { [plural: number]: string };
6
- };
7
- pluralize?: (n: number) => number;
8
- }
9
- }
10
-
11
- class Translator {
12
- constructor(opts: Translator.Locale | Translator.Locale[]);
13
- }
14
-
15
- export = Translator;
16
- }
17
-
18
- declare module "@scaleflex/widget-utils/lib/EventTracker" {
19
- namespace EventTracker {
20
- export type EventHandler = (...args: any[]) => void;
21
- export interface Emitter {
22
- on: (event: string, handler: EventHandler) => void;
23
- off: (event: string, handler: EventHandler) => void;
24
- }
25
- }
26
-
27
- class EventTracker {
28
- constructor(emitter: EventTracker.Emitter);
29
- on(event: string, handler: EventTracker.EventHandler): void;
30
- remove(): void;
31
- }
32
-
33
- export = EventTracker;
34
- }
35
-
36
- declare module "@scaleflex/widget-utils/lib/ProgressTimeout" {
37
- class ProgressTimeout {
38
- constructor(timeout: number, timeoutHandler: () => void);
39
- progress(): void;
40
- done(): void;
41
- }
42
- export = ProgressTimeout;
43
- }
44
-
45
- declare module "@scaleflex/widget-utils/lib/RateLimitedQueue" {
46
- namespace RateLimitedQueue {
47
- export type AbortFunction = () => void;
48
- export type PromiseFunction = (...args: any[]) => Promise<any>;
49
- export type QueueEntry = {
50
- abort: () => void;
51
- done: () => void;
52
- };
53
- export type QueueOptions = {
54
- priority?: number;
55
- };
56
- }
57
-
58
- class RateLimitedQueue {
59
- constructor(limit: number);
60
- run(
61
- fn: () => RateLimitedQueue.AbortFunction,
62
- queueOptions?: RateLimitedQueue.QueueOptions
63
- ): RateLimitedQueue.QueueEntry;
64
- wrapPromiseFunction(
65
- fn: () => RateLimitedQueue.PromiseFunction,
66
- queueOptions?: RateLimitedQueue.QueueOptions
67
- ): RateLimitedQueue.PromiseFunction;
68
- }
69
-
70
- export = RateLimitedQueue;
71
- }
72
-
73
- declare module "@scaleflex/widget-utils/lib/canvasToBlob" {
74
- function canvasToBlob(
75
- canvas: HTMLCanvasElement,
76
- type: string,
77
- quality?: number
78
- ): Promise<Blob>;
79
- export = canvasToBlob;
80
- }
81
-
82
- declare module "@scaleflex/widget-utils/lib/dataURItoBlob" {
83
- function dataURItoBlob(
84
- dataURI: string,
85
- opts: { mimeType?: string; name?: string }
86
- ): Blob;
87
- export = dataURItoBlob;
88
- }
89
-
90
- declare module "@scaleflex/widget-utils/lib/dataURItoFile" {
91
- function dataURItoFile(
92
- dataURI: string,
93
- opts: { mimeType?: string; name?: string }
94
- ): File;
95
- export = dataURItoFile;
96
- }
97
-
98
- declare module "@scaleflex/widget-utils/lib/emitSocketProgress" {
99
- import FilerobotUtils = require("@scaleflex/widget-utils");
100
-
101
- interface ProgressData {
102
- progress: number;
103
- bytesFinished: number;
104
- bytesTotal: number;
105
- }
106
-
107
- function emitSocketProgress(
108
- filerobot: object,
109
- progressData: ProgressData,
110
- file: FilerobotUtils.FilerobotFile
111
- ): void;
112
- export = emitSocketProgress;
113
- }
114
-
115
- declare module "@scaleflex/widget-utils/lib/findAllDOMElements" {
116
- function findAllDOMElements(element: string | HTMLElement): HTMLElement[];
117
- export = findAllDOMElements;
118
- }
119
-
120
- declare module "@scaleflex/widget-utils/lib/findDOMElement" {
121
- function findDOMElement(element: string | HTMLElement): HTMLElement | null;
122
- export = findDOMElement;
123
- }
124
-
125
- declare module "@scaleflex/widget-utils/lib/generateFileId" {
126
- import FilerobotUtils = require("@scaleflex/widget-utils");
127
-
128
- function generateFileId(file: FilerobotUtils.FilerobotFile): string;
129
- export = generateFileId;
130
- }
131
-
132
- declare module "@scaleflex/widget-utils/lib/getBytesRemaining" {
133
- function getBytesRemaining(files): number;
134
- export = getBytesRemaining;
135
- }
136
-
137
- declare module "@scaleflex/widget-utils/lib/getETA" {
138
- function getETA(progress: object): number;
139
- export = getETA;
140
- }
141
-
142
- declare module "@scaleflex/widget-utils/lib/getFileNameAndExtension" {
143
- function getFileNameAndExtension(filename: string): {
144
- name: string;
145
- extension: string | undefined;
146
- };
147
- export = getFileNameAndExtension;
148
- }
149
-
150
- declare module "@scaleflex/widget-utils/lib/getFileType" {
151
- import FilerobotUtils = require("@scaleflex/widget-utils");
152
-
153
- function getFileType(file: FilerobotUtils.FilerobotFile): string | null;
154
- export = getFileType;
155
- }
156
-
157
- declare module "@scaleflex/widget-utils/lib/getFileTypeExtension" {
158
- function getFileTypeExtension(mime: string): string;
159
- export = getFileTypeExtension;
160
- }
161
-
162
- declare module "@scaleflex/widget-utils/lib/getSocketHost" {
163
- function getSocketHost(url: string): string;
164
- export = getSocketHost;
165
- }
166
-
167
- declare module "@scaleflex/widget-utils/lib/getSpeed" {
168
- function getSpeed(progress: {
169
- bytesTotal: number;
170
- bytesFinished: number;
171
- }): number;
172
- export = getSpeed;
173
- }
174
-
175
- declare module "@scaleflex/widget-utils/lib/getTimeStamp" {
176
- function getTimeStamp(): string;
177
- export = getTimeStamp;
178
- }
179
-
180
- declare module "@scaleflex/widget-utils/lib/isDOMElement" {
181
- function isDOMElement(element: any): boolean;
182
- export = isDOMElement;
183
- }
184
-
185
- declare module "@scaleflex/widget-utils/lib/isObjectURL" {
186
- function isObjectURL(url: string): boolean;
187
- export = isObjectURL;
188
- }
189
-
190
- declare module "@scaleflex/widget-utils/lib/isDragDropSupported" {
191
- function isDragDropSupported(): boolean;
192
- export = isDragDropSupported;
193
- }
194
-
195
- declare module "@scaleflex/widget-utils/lib/isPreviewSupported" {
196
- function isPreviewSupported(mime: string): boolean;
197
- export = isPreviewSupported;
198
- }
199
-
200
- declare module "@scaleflex/widget-utils/lib/isTouchDevice" {
201
- function isTouchDevice(): boolean;
202
- export = isTouchDevice;
203
- }
204
-
205
- declare module "@scaleflex/widget-utils/lib/prettyETA" {
206
- function prettyETA(seconds: number): string;
207
- export = prettyETA;
208
- }
209
-
210
- declare module "@scaleflex/widget-utils/lib/secondsToTime" {
211
- function secondsToTime(seconds: number): string;
212
- export = secondsToTime;
213
- }
214
-
215
- declare module "@scaleflex/widget-utils/lib/settle" {
216
- function settle<T>(
217
- promises: Promise<T>[]
218
- ): Promise<{ successful: T[]; failed: any[] }>;
219
- export = settle;
220
- }
221
-
222
- declare module "@scaleflex/widget-utils/lib/toArray" {
223
- function toArray(list: any): any[];
224
- export = toArray;
225
- }
226
-
227
- declare module "@scaleflex/widget-utils/lib/getDroppedFiles" {
228
- function getDroppedFiles(
229
- dataTransfer: DataTransfer,
230
- options?: object
231
- ): Promise<File[]>;
232
- export = getDroppedFiles;
233
- }
234
-
235
- declare module "@scaleflex/widget-utils" {
236
- interface IndexedObject<T> {
237
- [key: string]: T;
238
- [key: number]: T;
239
- }
240
- export type InternalMetadata = { name: string; type?: string };
241
- export interface FilerobotFile<
242
- TMeta = IndexedObject<any>,
243
- TBody = IndexedObject<any>
244
- > {
245
- data: Blob | File;
246
- extension: string;
247
- id: string;
248
- isRemote: boolean;
249
- meta: InternalMetadata & TMeta;
250
- name: string;
251
- preview?: string;
252
- progress?: {
253
- activity: string;
254
- startedAt: number | null;
255
- percentage: number;
256
- bytesFinished: number;
257
- bytesTotal: number;
258
- status: string;
259
- };
260
- remote?: {
261
- host: string;
262
- url: string;
263
- body?: object;
264
- };
265
- size: number;
266
- source?: string;
267
- type?: string;
268
- response?: {
269
- body: TBody;
270
- status: number;
271
- uploadURL: string | undefined;
272
- };
273
- }
274
- export interface Store {
275
- getState(): object;
276
- setState(patch: object): void;
277
- subscribe(listener: any): () => void;
278
- }
279
- }
1
+ declare module "@scaleflex/widget-utils/lib/Translator" {
2
+ namespace Translator {
3
+ export interface Locale {
4
+ strings?: {
5
+ [key: string]: string | { [plural: number]: string };
6
+ };
7
+ pluralize?: (n: number) => number;
8
+ }
9
+ }
10
+
11
+ class Translator {
12
+ constructor(opts: Translator.Locale | Translator.Locale[]);
13
+ }
14
+
15
+ export = Translator;
16
+ }
17
+
18
+ declare module "@scaleflex/widget-utils/lib/EventTracker" {
19
+ namespace EventTracker {
20
+ export type EventHandler = (...args: any[]) => void;
21
+ export interface Emitter {
22
+ on: (event: string, handler: EventHandler) => void;
23
+ off: (event: string, handler: EventHandler) => void;
24
+ }
25
+ }
26
+
27
+ class EventTracker {
28
+ constructor(emitter: EventTracker.Emitter);
29
+ on(event: string, handler: EventTracker.EventHandler): void;
30
+ remove(): void;
31
+ }
32
+
33
+ export = EventTracker;
34
+ }
35
+
36
+ declare module "@scaleflex/widget-utils/lib/ProgressTimeout" {
37
+ class ProgressTimeout {
38
+ constructor(timeout: number, timeoutHandler: () => void);
39
+ progress(): void;
40
+ done(): void;
41
+ }
42
+ export = ProgressTimeout;
43
+ }
44
+
45
+ declare module "@scaleflex/widget-utils/lib/RateLimitedQueue" {
46
+ namespace RateLimitedQueue {
47
+ export type AbortFunction = () => void;
48
+ export type PromiseFunction = (...args: any[]) => Promise<any>;
49
+ export type QueueEntry = {
50
+ abort: () => void;
51
+ done: () => void;
52
+ };
53
+ export type QueueOptions = {
54
+ priority?: number;
55
+ };
56
+ }
57
+
58
+ class RateLimitedQueue {
59
+ constructor(limit: number);
60
+ run(
61
+ fn: () => RateLimitedQueue.AbortFunction,
62
+ queueOptions?: RateLimitedQueue.QueueOptions
63
+ ): RateLimitedQueue.QueueEntry;
64
+ wrapPromiseFunction(
65
+ fn: () => RateLimitedQueue.PromiseFunction,
66
+ queueOptions?: RateLimitedQueue.QueueOptions
67
+ ): RateLimitedQueue.PromiseFunction;
68
+ }
69
+
70
+ export = RateLimitedQueue;
71
+ }
72
+
73
+ declare module "@scaleflex/widget-utils/lib/canvasToBlob" {
74
+ function canvasToBlob(
75
+ canvas: HTMLCanvasElement,
76
+ type: string,
77
+ quality?: number
78
+ ): Promise<Blob>;
79
+ export = canvasToBlob;
80
+ }
81
+
82
+ declare module "@scaleflex/widget-utils/lib/dataURItoBlob" {
83
+ function dataURItoBlob(
84
+ dataURI: string,
85
+ opts: { mimeType?: string; name?: string }
86
+ ): Blob;
87
+ export = dataURItoBlob;
88
+ }
89
+
90
+ declare module "@scaleflex/widget-utils/lib/dataURItoFile" {
91
+ function dataURItoFile(
92
+ dataURI: string,
93
+ opts: { mimeType?: string; name?: string }
94
+ ): File;
95
+ export = dataURItoFile;
96
+ }
97
+
98
+ declare module "@scaleflex/widget-utils/lib/emitSocketProgress" {
99
+ import FilerobotUtils = require("@scaleflex/widget-utils");
100
+
101
+ interface ProgressData {
102
+ progress: number;
103
+ bytesFinished: number;
104
+ bytesTotal: number;
105
+ }
106
+
107
+ function emitSocketProgress(
108
+ filerobot: object,
109
+ progressData: ProgressData,
110
+ file: FilerobotUtils.FilerobotFile
111
+ ): void;
112
+ export = emitSocketProgress;
113
+ }
114
+
115
+ declare module "@scaleflex/widget-utils/lib/findAllDOMElements" {
116
+ function findAllDOMElements(element: string | HTMLElement): HTMLElement[];
117
+ export = findAllDOMElements;
118
+ }
119
+
120
+ declare module "@scaleflex/widget-utils/lib/findDOMElement" {
121
+ function findDOMElement(element: string | HTMLElement): HTMLElement | null;
122
+ export = findDOMElement;
123
+ }
124
+
125
+ declare module "@scaleflex/widget-utils/lib/generateFileId" {
126
+ import FilerobotUtils = require("@scaleflex/widget-utils");
127
+
128
+ function generateFileId(file: FilerobotUtils.FilerobotFile): string;
129
+ export = generateFileId;
130
+ }
131
+
132
+ declare module "@scaleflex/widget-utils/lib/getBytesRemaining" {
133
+ function getBytesRemaining(files): number;
134
+ export = getBytesRemaining;
135
+ }
136
+
137
+ declare module "@scaleflex/widget-utils/lib/getETA" {
138
+ function getETA(progress: object): number;
139
+ export = getETA;
140
+ }
141
+
142
+ declare module "@scaleflex/widget-utils/lib/getFileNameAndExtension" {
143
+ function getFileNameAndExtension(filename: string): {
144
+ name: string;
145
+ extension: string | undefined;
146
+ };
147
+ export = getFileNameAndExtension;
148
+ }
149
+
150
+ declare module "@scaleflex/widget-utils/lib/getFileType" {
151
+ import FilerobotUtils = require("@scaleflex/widget-utils");
152
+
153
+ function getFileType(file: FilerobotUtils.FilerobotFile): string | null;
154
+ export = getFileType;
155
+ }
156
+
157
+ declare module "@scaleflex/widget-utils/lib/getFileTypeExtension" {
158
+ function getFileTypeExtension(mime: string): string;
159
+ export = getFileTypeExtension;
160
+ }
161
+
162
+ declare module "@scaleflex/widget-utils/lib/getSocketHost" {
163
+ function getSocketHost(url: string): string;
164
+ export = getSocketHost;
165
+ }
166
+
167
+ declare module "@scaleflex/widget-utils/lib/getSpeed" {
168
+ function getSpeed(progress: {
169
+ bytesTotal: number;
170
+ bytesFinished: number;
171
+ }): number;
172
+ export = getSpeed;
173
+ }
174
+
175
+ declare module "@scaleflex/widget-utils/lib/getTimeStamp" {
176
+ function getTimeStamp(): string;
177
+ export = getTimeStamp;
178
+ }
179
+
180
+ declare module "@scaleflex/widget-utils/lib/isDOMElement" {
181
+ function isDOMElement(element: any): boolean;
182
+ export = isDOMElement;
183
+ }
184
+
185
+ declare module "@scaleflex/widget-utils/lib/isObjectURL" {
186
+ function isObjectURL(url: string): boolean;
187
+ export = isObjectURL;
188
+ }
189
+
190
+ declare module "@scaleflex/widget-utils/lib/isDragDropSupported" {
191
+ function isDragDropSupported(): boolean;
192
+ export = isDragDropSupported;
193
+ }
194
+
195
+ declare module "@scaleflex/widget-utils/lib/isPreviewSupported" {
196
+ function isPreviewSupported(mime: string): boolean;
197
+ export = isPreviewSupported;
198
+ }
199
+
200
+ declare module "@scaleflex/widget-utils/lib/isTouchDevice" {
201
+ function isTouchDevice(): boolean;
202
+ export = isTouchDevice;
203
+ }
204
+
205
+ declare module "@scaleflex/widget-utils/lib/prettyETA" {
206
+ function prettyETA(seconds: number): string;
207
+ export = prettyETA;
208
+ }
209
+
210
+ declare module "@scaleflex/widget-utils/lib/secondsToTime" {
211
+ function secondsToTime(seconds: number): string;
212
+ export = secondsToTime;
213
+ }
214
+
215
+ declare module "@scaleflex/widget-utils/lib/settle" {
216
+ function settle<T>(
217
+ promises: Promise<T>[]
218
+ ): Promise<{ successful: T[]; failed: any[] }>;
219
+ export = settle;
220
+ }
221
+
222
+ declare module "@scaleflex/widget-utils/lib/toArray" {
223
+ function toArray(list: any): any[];
224
+ export = toArray;
225
+ }
226
+
227
+ declare module "@scaleflex/widget-utils/lib/getDroppedFiles" {
228
+ function getDroppedFiles(
229
+ dataTransfer: DataTransfer,
230
+ options?: object
231
+ ): Promise<File[]>;
232
+ export = getDroppedFiles;
233
+ }
234
+
235
+ declare module "@scaleflex/widget-utils" {
236
+ interface IndexedObject<T> {
237
+ [key: string]: T;
238
+ [key: number]: T;
239
+ }
240
+ export type InternalMetadata = { name: string; type?: string };
241
+ export interface FilerobotFile<
242
+ TMeta = IndexedObject<any>,
243
+ TBody = IndexedObject<any>
244
+ > {
245
+ data: Blob | File;
246
+ extension: string;
247
+ id: string;
248
+ isRemote: boolean;
249
+ meta: InternalMetadata & TMeta;
250
+ name: string;
251
+ preview?: string;
252
+ progress?: {
253
+ activity: string;
254
+ startedAt: number | null;
255
+ percentage: number;
256
+ bytesFinished: number;
257
+ bytesTotal: number;
258
+ status: string;
259
+ };
260
+ remote?: {
261
+ host: string;
262
+ url: string;
263
+ body?: object;
264
+ };
265
+ size: number;
266
+ source?: string;
267
+ type?: string;
268
+ response?: {
269
+ body: TBody;
270
+ status: number;
271
+ uploadURL: string | undefined;
272
+ };
273
+ }
274
+ export interface Store {
275
+ getState(): object;
276
+ setState(patch: object): void;
277
+ subscribe(listener: any): () => void;
278
+ }
279
+ }