@snokam/ui 7.10.0 → 7.11.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.
- package/CHANGELOG.md +12 -0
- package/dist/components/dropzone/Dropzone.d.ts.map +1 -1
- package/dist/components/dropzone/Dropzone.js +63 -83
- package/dist/components/dropzone/Dropzone.js.map +1 -1
- package/dist/components/dropzone/components/BatchProgressView.d.ts +10 -0
- package/dist/components/dropzone/components/BatchProgressView.d.ts.map +1 -0
- package/dist/components/dropzone/components/BatchProgressView.js +5 -0
- package/dist/components/dropzone/components/BatchProgressView.js.map +1 -0
- package/dist/components/dropzone/components/FilePreviewCard.d.ts.map +1 -1
- package/dist/components/dropzone/components/FilePreviewCard.js +7 -4
- package/dist/components/dropzone/components/FilePreviewCard.js.map +1 -1
- package/dist/components/dropzone/components/Rejections.d.ts +13 -0
- package/dist/components/dropzone/components/Rejections.d.ts.map +1 -0
- package/dist/components/dropzone/components/Rejections.js +15 -0
- package/dist/components/dropzone/components/Rejections.js.map +1 -0
- package/dist/components/dropzone/components/Rejections.styles.d.ts +8 -0
- package/dist/components/dropzone/components/Rejections.styles.d.ts.map +1 -0
- package/dist/components/dropzone/components/Rejections.styles.js +11 -0
- package/dist/components/dropzone/components/Rejections.styles.js.map +1 -0
- package/dist/components/dropzone/components/UploadArea.d.ts +2 -7
- package/dist/components/dropzone/components/UploadArea.d.ts.map +1 -1
- package/dist/components/dropzone/components/UploadArea.js +3 -2
- package/dist/components/dropzone/components/UploadArea.js.map +1 -1
- package/dist/components/dropzone/components/UploadArea.styles.d.ts +3 -0
- package/dist/components/dropzone/components/UploadArea.styles.d.ts.map +1 -1
- package/dist/components/dropzone/components/UploadArea.styles.js +13 -0
- package/dist/components/dropzone/components/UploadArea.styles.js.map +1 -1
- package/dist/components/dropzone/hooks/useBatchUpload.d.ts.map +1 -1
- package/dist/components/dropzone/hooks/useBatchUpload.js +83 -114
- package/dist/components/dropzone/hooks/useBatchUpload.js.map +1 -1
- package/dist/components/dropzone/hooks/useThumbnail.d.ts +2 -0
- package/dist/components/dropzone/hooks/useThumbnail.d.ts.map +1 -0
- package/dist/components/dropzone/hooks/useThumbnail.js +28 -0
- package/dist/components/dropzone/hooks/useThumbnail.js.map +1 -0
- package/dist/components/dropzone/index.d.ts +5 -2
- package/dist/components/dropzone/index.d.ts.map +1 -1
- package/dist/components/dropzone/index.js +4 -1
- package/dist/components/dropzone/index.js.map +1 -1
- package/dist/components/dropzone/styled.d.ts +3 -0
- package/dist/components/dropzone/styled.d.ts.map +1 -1
- package/dist/components/dropzone/styled.js +4 -1
- package/dist/components/dropzone/styled.js.map +1 -1
- package/dist/components/dropzone/types.d.ts +21 -8
- package/dist/components/dropzone/types.d.ts.map +1 -1
- package/dist/components/dropzone/types.js +8 -0
- package/dist/components/dropzone/types.js.map +1 -1
- package/dist/components/dropzone/utils/accept.d.ts +7 -0
- package/dist/components/dropzone/utils/accept.d.ts.map +1 -0
- package/dist/components/dropzone/utils/accept.js +9 -0
- package/dist/components/dropzone/utils/accept.js.map +1 -0
- package/dist/components/dropzone/utils/blobUtils.d.ts +2 -1
- package/dist/components/dropzone/utils/blobUtils.d.ts.map +1 -1
- package/dist/components/dropzone/utils/blobUtils.js +12 -3
- package/dist/components/dropzone/utils/blobUtils.js.map +1 -1
- package/dist/components/dropzone/utils/imageCompression.d.ts.map +1 -1
- package/dist/components/dropzone/utils/imageCompression.js +5 -2
- package/dist/components/dropzone/utils/imageCompression.js.map +1 -1
- package/dist/components/dropzone/utils/limits.d.ts +6 -0
- package/dist/components/dropzone/utils/limits.d.ts.map +1 -0
- package/dist/components/dropzone/utils/limits.js +10 -0
- package/dist/components/dropzone/utils/limits.js.map +1 -0
- package/dist/components/dropzone/utils/progress.d.ts +7 -0
- package/dist/components/dropzone/utils/progress.d.ts.map +1 -0
- package/dist/components/dropzone/utils/progress.js +29 -0
- package/dist/components/dropzone/utils/progress.js.map +1 -0
- package/dist/components/dropzone/utils/retry.d.ts +9 -0
- package/dist/components/dropzone/utils/retry.d.ts.map +1 -0
- package/dist/components/dropzone/utils/retry.js +16 -0
- package/dist/components/dropzone/utils/retry.js.map +1 -0
- package/dist/utils/format.d.ts +1 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +4 -0
- package/dist/utils/format.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const COMPRESSIBLE_MIME = new Set(["image/jpeg", "image/png", "image/webp"]);
|
|
2
2
|
const nativeSupported = () => typeof createImageBitmap !== "undefined";
|
|
3
|
+
const hasQuality = (type) => type !== "image/png";
|
|
3
4
|
const fitInside = (srcW, srcH, maxWidthOrHeight) => {
|
|
4
5
|
const longest = Math.max(srcW, srcH);
|
|
5
6
|
if (longest <= maxWidthOrHeight)
|
|
@@ -18,7 +19,7 @@ const compressWithOffscreenCanvas = async (bitmap, width, height, outputType, ta
|
|
|
18
19
|
ctx.drawImage(bitmap, 0, 0, width, height);
|
|
19
20
|
let quality = 0.82;
|
|
20
21
|
let blob = await canvas.convertToBlob({ type: outputType, quality });
|
|
21
|
-
while (blob.size > targetBytes && quality > 0.4) {
|
|
22
|
+
while (blob.size > targetBytes && quality > 0.4 && hasQuality(outputType)) {
|
|
22
23
|
quality -= 0.1;
|
|
23
24
|
blob = await canvas.convertToBlob({ type: outputType, quality });
|
|
24
25
|
}
|
|
@@ -39,7 +40,7 @@ const compressWithHtmlCanvas = async (bitmap, width, height, outputType, targetB
|
|
|
39
40
|
});
|
|
40
41
|
let quality = 0.82;
|
|
41
42
|
let blob = await toBlob(quality);
|
|
42
|
-
while (blob.size > targetBytes && quality > 0.4) {
|
|
43
|
+
while (blob.size > targetBytes && quality > 0.4 && hasQuality(outputType)) {
|
|
43
44
|
quality -= 0.1;
|
|
44
45
|
blob = await toBlob(quality);
|
|
45
46
|
}
|
|
@@ -101,6 +102,8 @@ export const createThumbnailBlob = async (file, maxDim = 400, quality = 0.7) =>
|
|
|
101
102
|
try {
|
|
102
103
|
bitmap = await createImageBitmap(file, {
|
|
103
104
|
imageOrientation: "from-image",
|
|
105
|
+
resizeWidth: maxDim,
|
|
106
|
+
resizeQuality: "medium",
|
|
104
107
|
});
|
|
105
108
|
const { width, height } = fitInside(bitmap.width, bitmap.height, maxDim);
|
|
106
109
|
if (typeof OffscreenCanvas !== "undefined") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageCompression.js","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/imageCompression.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAE7E,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,OAAO,iBAAiB,KAAK,WAAW,CAAC;AAEhF,MAAM,SAAS,GAAG,CAChB,IAAY,EACZ,IAAY,EACZ,gBAAwB,EACW,EAAE;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,IAAI,gBAAgB;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,gBAAgB,GAAG,OAAO,CAAC;IACzC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,KAAK,EACvC,MAAmB,EACnB,KAAa,EACb,MAAc,EACd,UAAkB,EAClB,WAAmB,EACJ,EAAE;IACjB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE3C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC,IAAI,GAAG,WAAW,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"imageCompression.js","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/imageCompression.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FileKind } from "../types";
|
|
2
|
+
export type SizeLimits = Partial<Record<FileKind, number>>;
|
|
3
|
+
export declare const megabytes: (count: number) => number;
|
|
4
|
+
export declare const formatLimit: (bytes: number) => string;
|
|
5
|
+
export declare const sizeLimitFor: (kind: FileKind, size: number, limits: SizeLimits | undefined) => number | null;
|
|
6
|
+
//# sourceMappingURL=limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/limits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAI3D,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,WAAqB,CAAC;AAE7D,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WAGC,CAAC;AAE3C,eAAO,MAAM,YAAY,GACvB,MAAM,QAAQ,EACd,MAAM,MAAM,EACZ,QAAQ,UAAU,GAAG,SAAS,KAC7B,MAAM,GAAG,IAGX,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const MEGABYTE = 1024 * 1024;
|
|
2
|
+
export const megabytes = (count) => count * MEGABYTE;
|
|
3
|
+
export const formatLimit = (bytes) => bytes >= 1024 * MEGABYTE
|
|
4
|
+
? `${Math.round(bytes / (1024 * MEGABYTE))} GB`
|
|
5
|
+
: `${Math.round(bytes / MEGABYTE)} MB`;
|
|
6
|
+
export const sizeLimitFor = (kind, size, limits) => {
|
|
7
|
+
const limit = limits?.[kind];
|
|
8
|
+
return limit !== undefined && size > limit ? limit : null;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/limits.ts"],"names":[],"mappings":"AAIA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAC3C,KAAK,IAAI,IAAI,GAAG,QAAQ;IACtB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,KAAK;IAC/C,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAc,EACd,IAAY,EACZ,MAA8B,EACf,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,KAAK,KAAK,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BatchProgress, DropzoneTexts } from "../types";
|
|
2
|
+
export declare const startProgress: (totalFiles: number) => BatchProgress;
|
|
3
|
+
export declare const countResult: (progress: BatchProgress, success: boolean) => BatchProgress;
|
|
4
|
+
export declare const percentOf: (loaded: number, total: number) => number;
|
|
5
|
+
export declare const isProgressStep: (previous: number, next: number) => boolean;
|
|
6
|
+
export declare const progressText: (progress: BatchProgress, texts: Pick<DropzoneTexts, "uploadProgress" | "uploadFailedCount">) => string;
|
|
7
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,KAAG,aAMjD,CAAC;AAEH,eAAO,MAAM,WAAW,GACtB,UAAU,aAAa,EACvB,SAAS,OAAO,KACf,aASF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,WACY,CAAC;AAEpE,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,MAAM,MAAM,YACvB,CAAC;AAEvC,eAAO,MAAM,YAAY,GACvB,UAAU,aAAa,EACvB,OAAO,IAAI,CAAC,aAAa,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,WAWnE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const startProgress = (totalFiles) => ({
|
|
2
|
+
totalFiles,
|
|
3
|
+
processedFiles: 0,
|
|
4
|
+
uploadedFiles: 0,
|
|
5
|
+
failedFiles: 0,
|
|
6
|
+
percentage: 0,
|
|
7
|
+
});
|
|
8
|
+
export const countResult = (progress, success) => {
|
|
9
|
+
const processedFiles = progress.processedFiles + 1;
|
|
10
|
+
return {
|
|
11
|
+
totalFiles: progress.totalFiles,
|
|
12
|
+
processedFiles,
|
|
13
|
+
uploadedFiles: progress.uploadedFiles + (success ? 1 : 0),
|
|
14
|
+
failedFiles: progress.failedFiles + (success ? 0 : 1),
|
|
15
|
+
percentage: (processedFiles / progress.totalFiles) * 100,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export const percentOf = (loaded, total) => total > 0 ? Math.min(100, Math.floor((loaded / total) * 100)) : 0;
|
|
19
|
+
export const isProgressStep = (previous, next) => next === 100 || next - previous >= 5;
|
|
20
|
+
export const progressText = (progress, texts) => {
|
|
21
|
+
const done = texts.uploadProgress
|
|
22
|
+
.replace("{done}", String(progress.uploadedFiles))
|
|
23
|
+
.replace("{total}", String(progress.totalFiles));
|
|
24
|
+
if (progress.failedFiles === 0)
|
|
25
|
+
return done;
|
|
26
|
+
const failed = texts.uploadFailedCount.replace("{failed}", String(progress.failedFiles));
|
|
27
|
+
return `${done} · ${failed}`;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/progress.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAiB,EAAE,CAAC,CAAC;IACnE,UAAU;IACV,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAuB,EACvB,OAAgB,EACD,EAAE;IACjB,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;IACnD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,cAAc;QACd,aAAa,EAAE,QAAQ,CAAC,aAAa,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,UAAU,EAAE,CAAC,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CACzD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAE,EAAE,CAC/D,IAAI,KAAK,GAAG,IAAI,IAAI,GAAG,QAAQ,IAAI,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,QAAuB,EACvB,KAAkE,EAClE,EAAE;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc;SAC9B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SACjD,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,WAAW,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAC5C,UAAU,EACV,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC7B,CAAC;IACF,OAAO,GAAG,IAAI,MAAM,MAAM,EAAE,CAAC;AAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface RetryOptions {
|
|
2
|
+
retries: number;
|
|
3
|
+
delayMs: (attempt: number) => number;
|
|
4
|
+
sleep?: (ms: number) => Promise<void>;
|
|
5
|
+
onRetry?: (attempt: number) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const backoffMs: (attempt: number) => number;
|
|
8
|
+
export declare const withRetry: <T>(task: (attempt: number) => Promise<T>, { retries, delayMs, sleep, onRetry }: RetryOptions) => Promise<T>;
|
|
9
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/retry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAKD,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,WAA8B,CAAC;AAExE,eAAO,MAAM,SAAS,GAAU,CAAC,EAC/B,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACrC,sCAA6C,YAAY,KACxD,OAAO,CAAC,CAAC,CAUX,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
2
|
+
export const backoffMs = (attempt) => 1000 * 2 ** (attempt - 1);
|
|
3
|
+
export const withRetry = async (task, { retries, delayMs, sleep = wait, onRetry }) => {
|
|
4
|
+
for (let attempt = 0;; attempt++) {
|
|
5
|
+
try {
|
|
6
|
+
return await task(attempt);
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
if (attempt >= retries)
|
|
10
|
+
throw error;
|
|
11
|
+
onRetry?.(attempt + 1);
|
|
12
|
+
await sleep(delayMs(attempt + 1));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../../src/components/dropzone/utils/retry.ts"],"names":[],"mappings":"AAOA,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAC1B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,IAAqC,EACrC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAgB,EAC7C,EAAE;IACd,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,IAAI,OAAO;gBAAE,MAAM,KAAK,CAAC;YACpC,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
package/dist/utils/format.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const BUSINESS_TIME_ZONE = "Europe/Oslo";
|
|
2
2
|
export type DateValue = Date | string | number;
|
|
3
3
|
export declare const formatKroner: (amount?: number | null) => string;
|
|
4
|
+
export declare const formatPercent: (percent: number, fractionDigits?: number) => string;
|
|
4
5
|
export declare const formatDate: (value: DateValue, pattern: string) => string;
|
|
5
6
|
export declare const formatDateParts: (value: DateValue, options: Intl.DateTimeFormatOptions) => string;
|
|
6
7
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAIhD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,GAAG,IAAI,WAM/C,CAAC;AAEL,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,EAAE,SAAS,MAAM,WACA,CAAC;AAE7D,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,EAChB,SAAS,IAAI,CAAC,qBAAqB,WAKT,CAAC"}
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAIhD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,GAAG,IAAI,WAM/C,CAAC;AAEL,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,uBAAkB,WAIzD,CAAC;AAET,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,EAAE,SAAS,MAAM,WACA,CAAC;AAE7D,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,EAChB,SAAS,IAAI,CAAC,qBAAqB,WAKT,CAAC"}
|
package/dist/utils/format.js
CHANGED
|
@@ -9,6 +9,10 @@ export const formatKroner = (amount) => amount?.toLocaleString("nb-NO", {
|
|
|
9
9
|
currencyDisplay: "narrowSymbol",
|
|
10
10
|
maximumFractionDigits: 0,
|
|
11
11
|
});
|
|
12
|
+
export const formatPercent = (percent, fractionDigits = 0) => `${percent.toLocaleString("nb-NO", {
|
|
13
|
+
minimumFractionDigits: fractionDigits,
|
|
14
|
+
maximumFractionDigits: fractionDigits,
|
|
15
|
+
})} %`;
|
|
12
16
|
export const formatDate = (value, pattern) => format(value, pattern, { locale: nb, in: inBusinessTime });
|
|
13
17
|
export const formatDateParts = (value, options) => new Intl.DateTimeFormat("nb-NO", {
|
|
14
18
|
...options,
|
package/dist/utils/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,MAAM,cAAc,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAI9C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAE,EAAE,CACrD,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE;IAC9B,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,cAAc;IAC/B,qBAAqB,EAAE,CAAC;CACzB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,OAAe,EAAE,EAAE,CAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAgB,EAChB,OAAmC,EACnC,EAAE,CACF,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;IAC/B,GAAG,OAAO;IACV,QAAQ,EAAE,kBAAkB;CAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,MAAM,cAAc,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAI9C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAE,EAAE,CACrD,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE;IAC9B,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,cAAc;IAC/B,qBAAqB,EAAE,CAAC;CACzB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,cAAc,GAAG,CAAC,EAAE,EAAE,CACnE,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE;IACjC,qBAAqB,EAAE,cAAc;IACrC,qBAAqB,EAAE,cAAc;CACtC,CAAC,IAAI,CAAC;AAET,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,OAAe,EAAE,EAAE,CAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAgB,EAChB,OAAmC,EACnC,EAAE,CACF,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;IAC/B,GAAG,OAAO;IACV,QAAQ,EAAE,kBAAkB;CAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED