@replyke/core 7.0.0-beta.31 → 7.0.0-beta.32
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/dist/cjs/hooks/entities/useCreateEntity.d.ts +2 -9
- package/dist/cjs/hooks/entities/useCreateEntity.js.map +1 -1
- package/dist/cjs/hooks/storage/useUploadImage.d.ts +1 -1
- package/dist/cjs/hooks/storage/useUploadImage.js +96 -98
- package/dist/cjs/hooks/storage/useUploadImage.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/interfaces/models/Image.d.ts +34 -4
- package/dist/esm/hooks/entities/useCreateEntity.d.ts +2 -9
- package/dist/esm/hooks/entities/useCreateEntity.js.map +1 -1
- package/dist/esm/hooks/storage/useUploadImage.d.ts +1 -1
- package/dist/esm/hooks/storage/useUploadImage.js +96 -98
- package/dist/esm/hooks/storage/useUploadImage.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/interfaces/models/Image.d.ts +34 -4
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Entity } from "../../interfaces/models/Entity";
|
|
2
2
|
import { Mention } from "../../interfaces/models/Mention";
|
|
3
|
-
import {
|
|
3
|
+
import { UploadImageOptions } from "../../interfaces/models/Image";
|
|
4
4
|
type BrowserFile = File;
|
|
5
5
|
type RNFile = {
|
|
6
6
|
uri: string;
|
|
@@ -10,14 +10,7 @@ type RNFile = {
|
|
|
10
10
|
type UniversalFile = BrowserFile | RNFile;
|
|
11
11
|
interface ImageUploadConfig {
|
|
12
12
|
files: UniversalFile[];
|
|
13
|
-
options?:
|
|
14
|
-
sizes?: ImageSizeConfig;
|
|
15
|
-
quality?: number;
|
|
16
|
-
format?: "webp" | "jpeg" | "png" | "original";
|
|
17
|
-
pathParts?: string[];
|
|
18
|
-
stripExif?: boolean;
|
|
19
|
-
fit?: "cover" | "contain" | "inside" | "outside";
|
|
20
|
-
};
|
|
13
|
+
options?: UploadImageOptions;
|
|
21
14
|
}
|
|
22
15
|
interface FileUploadConfig {
|
|
23
16
|
files: UniversalFile[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateEntity.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useCreateEntity.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAE3D,sEAAgD;AAShD,SAAS,aAAa,CAAC,IAAmB;IACxC,OAAO,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,CAAC;AAC7D,CAAC;
|
|
1
|
+
{"version":3,"file":"useCreateEntity.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useCreateEntity.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ type RNFile = {
|
|
|
7
7
|
};
|
|
8
8
|
type UniversalFile = BrowserFile | RNFile;
|
|
9
9
|
declare function useUploadImage(): {
|
|
10
|
-
uploadImage: (file: UniversalFile, options
|
|
10
|
+
uploadImage: (file: UniversalFile, options: UploadImageOptions) => Promise<Image>;
|
|
11
11
|
uploading: boolean;
|
|
12
12
|
progress: number;
|
|
13
13
|
};
|
|
@@ -35,15 +35,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
-
if (ar || !(i in from)) {
|
|
41
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
-
ar[i] = from[i];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
-
};
|
|
47
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
48
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
40
|
};
|
|
@@ -61,96 +52,103 @@ function useUploadImage() {
|
|
|
61
52
|
var projectId = (0, useProject_1.default)().projectId;
|
|
62
53
|
var _a = (0, react_1.useState)(false), uploading = _a[0], setUploading = _a[1];
|
|
63
54
|
var _b = (0, react_1.useState)(0), progress = _b[0], setProgress = _b[1];
|
|
64
|
-
var uploadImage = (0, react_1.useCallback)(function (
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
formData
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
55
|
+
var uploadImage = (0, react_1.useCallback)(function (file, options) { return __awaiter(_this, void 0, void 0, function () {
|
|
56
|
+
var formData, response;
|
|
57
|
+
return __generator(this, function (_a) {
|
|
58
|
+
switch (_a.label) {
|
|
59
|
+
case 0:
|
|
60
|
+
// Validate required inputs
|
|
61
|
+
if (!projectId) {
|
|
62
|
+
throw new Error("No projectId available.");
|
|
63
|
+
}
|
|
64
|
+
if (!file) {
|
|
65
|
+
throw new Error("No file provided.");
|
|
66
|
+
}
|
|
67
|
+
setUploading(true);
|
|
68
|
+
setProgress(0);
|
|
69
|
+
_a.label = 1;
|
|
70
|
+
case 1:
|
|
71
|
+
_a.trys.push([1, , 3, 4]);
|
|
72
|
+
formData = new FormData();
|
|
73
|
+
// Append file (handle both browser and React Native)
|
|
74
|
+
if (isBrowserFile(file)) {
|
|
75
|
+
formData.append("file", file, file.name);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
formData.append("file", {
|
|
79
|
+
uri: file.uri,
|
|
80
|
+
type: file.type || "image/jpeg",
|
|
81
|
+
name: file.name,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
// Append mode (required)
|
|
85
|
+
formData.append("mode", options.mode);
|
|
86
|
+
// Append mode-specific fields
|
|
87
|
+
if (options.mode === "exact-dimensions") {
|
|
88
|
+
formData.append("dimensions", JSON.stringify(options.dimensions));
|
|
89
|
+
}
|
|
90
|
+
else if (options.mode === "aspect-ratio-width-based") {
|
|
91
|
+
formData.append("aspectRatio", JSON.stringify(options.aspectRatio));
|
|
92
|
+
formData.append("widths", JSON.stringify(options.widths));
|
|
93
|
+
}
|
|
94
|
+
else if (options.mode === "aspect-ratio-height-based") {
|
|
95
|
+
formData.append("aspectRatio", JSON.stringify(options.aspectRatio));
|
|
96
|
+
formData.append("heights", JSON.stringify(options.heights));
|
|
97
|
+
}
|
|
98
|
+
else if (options.mode === "original-aspect") {
|
|
99
|
+
formData.append("sizes", JSON.stringify(options.sizes));
|
|
100
|
+
}
|
|
101
|
+
// Append common optional fields
|
|
102
|
+
if (options.pathParts) {
|
|
103
|
+
formData.append("pathParts", JSON.stringify(options.pathParts));
|
|
104
|
+
}
|
|
105
|
+
if (options.quality !== undefined) {
|
|
106
|
+
formData.append("quality", options.quality.toString());
|
|
107
|
+
}
|
|
108
|
+
if (options.format) {
|
|
109
|
+
formData.append("format", options.format);
|
|
110
|
+
}
|
|
111
|
+
if (options.stripExif !== undefined) {
|
|
112
|
+
formData.append("stripExif", options.stripExif.toString());
|
|
113
|
+
}
|
|
114
|
+
if (options.fit) {
|
|
115
|
+
formData.append("fit", options.fit);
|
|
116
|
+
}
|
|
117
|
+
// Append optional associations
|
|
118
|
+
if (options.entityId) {
|
|
119
|
+
formData.append("entityId", options.entityId);
|
|
120
|
+
}
|
|
121
|
+
if (options.commentId) {
|
|
122
|
+
formData.append("commentId", options.commentId);
|
|
123
|
+
}
|
|
124
|
+
if (options.spaceId) {
|
|
125
|
+
formData.append("spaceId", options.spaceId);
|
|
126
|
+
}
|
|
127
|
+
return [4 /*yield*/, axios.post("/".concat(projectId, "/storage/images"), formData, {
|
|
128
|
+
headers: {
|
|
129
|
+
"Content-Type": "multipart/form-data",
|
|
130
|
+
},
|
|
131
|
+
withCredentials: true,
|
|
132
|
+
onUploadProgress: function (progressEvent) {
|
|
133
|
+
var _a;
|
|
134
|
+
if (progressEvent.total) {
|
|
135
|
+
var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
|
|
136
|
+
setProgress(percentCompleted);
|
|
137
|
+
(_a = options.onProgress) === null || _a === void 0 ? void 0 : _a.call(options, percentCompleted);
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
})];
|
|
141
|
+
case 2:
|
|
142
|
+
response = _a.sent();
|
|
143
|
+
return [2 /*return*/, response.data];
|
|
144
|
+
case 3:
|
|
145
|
+
setUploading(false);
|
|
146
|
+
setProgress(0);
|
|
147
|
+
return [7 /*endfinally*/];
|
|
148
|
+
case 4: return [2 /*return*/];
|
|
149
|
+
}
|
|
152
150
|
});
|
|
153
|
-
}, [projectId, axios]);
|
|
151
|
+
}); }, [projectId, axios]);
|
|
154
152
|
return {
|
|
155
153
|
uploadImage: uploadImage,
|
|
156
154
|
uploading: uploading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUploadImage.js","sourceRoot":"","sources":["../../../../src/hooks/storage/useUploadImage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUploadImage.js","sourceRoot":"","sources":["../../../../src/hooks/storage/useUploadImage.tsx"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -46,4 +46,4 @@ export type { EntityListSortByOptions, SortDirection, SortType, } from "./interf
|
|
|
46
46
|
export { validateSortBy, validateMetadataPropertyName, validateSortType, } from "./interfaces/EntityListSortByOptions";
|
|
47
47
|
export type { TimeFrame } from "./interfaces/TimeFrame";
|
|
48
48
|
export type { Connection, EstablishedConnection, PendingConnection, ConnectionsResponse, PendingConnectionsResponse, PendingConnectionListResponse, ConnectionRequestParams, ConnectionActionResponse, ConnectionWithdrawResponse, ConnectionCountResponse, RemoveConnectionByUserIdResponse, ConnectionStatusResponse, ConnectionStatus, } from "./interfaces/models/Connection";
|
|
49
|
-
export type { Image, ImageVariant,
|
|
49
|
+
export type { Image, ImageVariant, UploadImageOptions, } from "./interfaces/models/Image";
|
|
@@ -20,16 +20,46 @@ export interface Image {
|
|
|
20
20
|
};
|
|
21
21
|
createdAt: string;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
export interface UploadImageOptions {
|
|
25
|
-
sizes?: ImageSizeConfig;
|
|
23
|
+
interface BaseImageOptions {
|
|
26
24
|
quality?: number;
|
|
27
25
|
format?: "webp" | "jpeg" | "png" | "original";
|
|
28
26
|
stripExif?: boolean;
|
|
29
|
-
fit?: "cover" | "contain" | "inside" | "outside";
|
|
30
27
|
pathParts?: string[];
|
|
31
28
|
entityId?: string;
|
|
32
29
|
commentId?: string;
|
|
33
30
|
spaceId?: string;
|
|
34
31
|
onProgress?: (progress: number) => void;
|
|
35
32
|
}
|
|
33
|
+
export interface ExactDimensionsMode extends BaseImageOptions {
|
|
34
|
+
mode: "exact-dimensions";
|
|
35
|
+
dimensions: Record<string, {
|
|
36
|
+
width: number;
|
|
37
|
+
height: number;
|
|
38
|
+
}>;
|
|
39
|
+
fit?: "cover" | "contain" | "inside" | "outside";
|
|
40
|
+
}
|
|
41
|
+
export interface AspectRatioWidthMode extends BaseImageOptions {
|
|
42
|
+
mode: "aspect-ratio-width-based";
|
|
43
|
+
aspectRatio: {
|
|
44
|
+
width: number;
|
|
45
|
+
height: number;
|
|
46
|
+
};
|
|
47
|
+
widths: Record<string, number>;
|
|
48
|
+
fit?: "cover" | "contain" | "inside" | "outside";
|
|
49
|
+
}
|
|
50
|
+
export interface AspectRatioHeightMode extends BaseImageOptions {
|
|
51
|
+
mode: "aspect-ratio-height-based";
|
|
52
|
+
aspectRatio: {
|
|
53
|
+
width: number;
|
|
54
|
+
height: number;
|
|
55
|
+
};
|
|
56
|
+
heights: Record<string, number>;
|
|
57
|
+
fit?: "cover" | "contain" | "inside" | "outside";
|
|
58
|
+
}
|
|
59
|
+
export interface OriginalAspectMode extends BaseImageOptions {
|
|
60
|
+
mode: "original-aspect";
|
|
61
|
+
sizes: Record<string, number>;
|
|
62
|
+
fit?: "inside" | "outside";
|
|
63
|
+
}
|
|
64
|
+
export type UploadImageOptions = ExactDimensionsMode | AspectRatioWidthMode | AspectRatioHeightMode | OriginalAspectMode;
|
|
65
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Entity } from "../../interfaces/models/Entity";
|
|
2
2
|
import { Mention } from "../../interfaces/models/Mention";
|
|
3
|
-
import {
|
|
3
|
+
import { UploadImageOptions } from "../../interfaces/models/Image";
|
|
4
4
|
type BrowserFile = File;
|
|
5
5
|
type RNFile = {
|
|
6
6
|
uri: string;
|
|
@@ -10,14 +10,7 @@ type RNFile = {
|
|
|
10
10
|
type UniversalFile = BrowserFile | RNFile;
|
|
11
11
|
interface ImageUploadConfig {
|
|
12
12
|
files: UniversalFile[];
|
|
13
|
-
options?:
|
|
14
|
-
sizes?: ImageSizeConfig;
|
|
15
|
-
quality?: number;
|
|
16
|
-
format?: "webp" | "jpeg" | "png" | "original";
|
|
17
|
-
pathParts?: string[];
|
|
18
|
-
stripExif?: boolean;
|
|
19
|
-
fit?: "cover" | "contain" | "inside" | "outside";
|
|
20
|
-
};
|
|
13
|
+
options?: UploadImageOptions;
|
|
21
14
|
}
|
|
22
15
|
interface FileUploadConfig {
|
|
23
16
|
files: UniversalFile[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateEntity.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useCreateEntity.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAE3D,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAShD,SAAS,aAAa,CAAC,IAAmB;IACxC,OAAO,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,CAAC;AAC7D,CAAC;
|
|
1
|
+
{"version":3,"file":"useCreateEntity.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useCreateEntity.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ type RNFile = {
|
|
|
7
7
|
};
|
|
8
8
|
type UniversalFile = BrowserFile | RNFile;
|
|
9
9
|
declare function useUploadImage(): {
|
|
10
|
-
uploadImage: (file: UniversalFile, options
|
|
10
|
+
uploadImage: (file: UniversalFile, options: UploadImageOptions) => Promise<Image>;
|
|
11
11
|
uploading: boolean;
|
|
12
12
|
progress: number;
|
|
13
13
|
};
|
|
@@ -34,15 +34,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
-
if (ar || !(i in from)) {
|
|
40
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
-
ar[i] = from[i];
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
-
};
|
|
46
37
|
import { useCallback, useState } from "react";
|
|
47
38
|
import useAxiosPrivate from "../../config/useAxiosPrivate";
|
|
48
39
|
import useProject from "../projects/useProject";
|
|
@@ -56,96 +47,103 @@ function useUploadImage() {
|
|
|
56
47
|
var projectId = useProject().projectId;
|
|
57
48
|
var _a = useState(false), uploading = _a[0], setUploading = _a[1];
|
|
58
49
|
var _b = useState(0), progress = _b[0], setProgress = _b[1];
|
|
59
|
-
var uploadImage = useCallback(function (
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
formData
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
50
|
+
var uploadImage = useCallback(function (file, options) { return __awaiter(_this, void 0, void 0, function () {
|
|
51
|
+
var formData, response;
|
|
52
|
+
return __generator(this, function (_a) {
|
|
53
|
+
switch (_a.label) {
|
|
54
|
+
case 0:
|
|
55
|
+
// Validate required inputs
|
|
56
|
+
if (!projectId) {
|
|
57
|
+
throw new Error("No projectId available.");
|
|
58
|
+
}
|
|
59
|
+
if (!file) {
|
|
60
|
+
throw new Error("No file provided.");
|
|
61
|
+
}
|
|
62
|
+
setUploading(true);
|
|
63
|
+
setProgress(0);
|
|
64
|
+
_a.label = 1;
|
|
65
|
+
case 1:
|
|
66
|
+
_a.trys.push([1, , 3, 4]);
|
|
67
|
+
formData = new FormData();
|
|
68
|
+
// Append file (handle both browser and React Native)
|
|
69
|
+
if (isBrowserFile(file)) {
|
|
70
|
+
formData.append("file", file, file.name);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
formData.append("file", {
|
|
74
|
+
uri: file.uri,
|
|
75
|
+
type: file.type || "image/jpeg",
|
|
76
|
+
name: file.name,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
// Append mode (required)
|
|
80
|
+
formData.append("mode", options.mode);
|
|
81
|
+
// Append mode-specific fields
|
|
82
|
+
if (options.mode === "exact-dimensions") {
|
|
83
|
+
formData.append("dimensions", JSON.stringify(options.dimensions));
|
|
84
|
+
}
|
|
85
|
+
else if (options.mode === "aspect-ratio-width-based") {
|
|
86
|
+
formData.append("aspectRatio", JSON.stringify(options.aspectRatio));
|
|
87
|
+
formData.append("widths", JSON.stringify(options.widths));
|
|
88
|
+
}
|
|
89
|
+
else if (options.mode === "aspect-ratio-height-based") {
|
|
90
|
+
formData.append("aspectRatio", JSON.stringify(options.aspectRatio));
|
|
91
|
+
formData.append("heights", JSON.stringify(options.heights));
|
|
92
|
+
}
|
|
93
|
+
else if (options.mode === "original-aspect") {
|
|
94
|
+
formData.append("sizes", JSON.stringify(options.sizes));
|
|
95
|
+
}
|
|
96
|
+
// Append common optional fields
|
|
97
|
+
if (options.pathParts) {
|
|
98
|
+
formData.append("pathParts", JSON.stringify(options.pathParts));
|
|
99
|
+
}
|
|
100
|
+
if (options.quality !== undefined) {
|
|
101
|
+
formData.append("quality", options.quality.toString());
|
|
102
|
+
}
|
|
103
|
+
if (options.format) {
|
|
104
|
+
formData.append("format", options.format);
|
|
105
|
+
}
|
|
106
|
+
if (options.stripExif !== undefined) {
|
|
107
|
+
formData.append("stripExif", options.stripExif.toString());
|
|
108
|
+
}
|
|
109
|
+
if (options.fit) {
|
|
110
|
+
formData.append("fit", options.fit);
|
|
111
|
+
}
|
|
112
|
+
// Append optional associations
|
|
113
|
+
if (options.entityId) {
|
|
114
|
+
formData.append("entityId", options.entityId);
|
|
115
|
+
}
|
|
116
|
+
if (options.commentId) {
|
|
117
|
+
formData.append("commentId", options.commentId);
|
|
118
|
+
}
|
|
119
|
+
if (options.spaceId) {
|
|
120
|
+
formData.append("spaceId", options.spaceId);
|
|
121
|
+
}
|
|
122
|
+
return [4 /*yield*/, axios.post("/".concat(projectId, "/storage/images"), formData, {
|
|
123
|
+
headers: {
|
|
124
|
+
"Content-Type": "multipart/form-data",
|
|
125
|
+
},
|
|
126
|
+
withCredentials: true,
|
|
127
|
+
onUploadProgress: function (progressEvent) {
|
|
128
|
+
var _a;
|
|
129
|
+
if (progressEvent.total) {
|
|
130
|
+
var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
|
|
131
|
+
setProgress(percentCompleted);
|
|
132
|
+
(_a = options.onProgress) === null || _a === void 0 ? void 0 : _a.call(options, percentCompleted);
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
})];
|
|
136
|
+
case 2:
|
|
137
|
+
response = _a.sent();
|
|
138
|
+
return [2 /*return*/, response.data];
|
|
139
|
+
case 3:
|
|
140
|
+
setUploading(false);
|
|
141
|
+
setProgress(0);
|
|
142
|
+
return [7 /*endfinally*/];
|
|
143
|
+
case 4: return [2 /*return*/];
|
|
144
|
+
}
|
|
147
145
|
});
|
|
148
|
-
}, [projectId, axios]);
|
|
146
|
+
}); }, [projectId, axios]);
|
|
149
147
|
return {
|
|
150
148
|
uploadImage: uploadImage,
|
|
151
149
|
uploading: uploading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUploadImage.js","sourceRoot":"","sources":["../../../../src/hooks/storage/useUploadImage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUploadImage.js","sourceRoot":"","sources":["../../../../src/hooks/storage/useUploadImage.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -46,4 +46,4 @@ export type { EntityListSortByOptions, SortDirection, SortType, } from "./interf
|
|
|
46
46
|
export { validateSortBy, validateMetadataPropertyName, validateSortType, } from "./interfaces/EntityListSortByOptions";
|
|
47
47
|
export type { TimeFrame } from "./interfaces/TimeFrame";
|
|
48
48
|
export type { Connection, EstablishedConnection, PendingConnection, ConnectionsResponse, PendingConnectionsResponse, PendingConnectionListResponse, ConnectionRequestParams, ConnectionActionResponse, ConnectionWithdrawResponse, ConnectionCountResponse, RemoveConnectionByUserIdResponse, ConnectionStatusResponse, ConnectionStatus, } from "./interfaces/models/Connection";
|
|
49
|
-
export type { Image, ImageVariant,
|
|
49
|
+
export type { Image, ImageVariant, UploadImageOptions, } from "./interfaces/models/Image";
|
|
@@ -20,16 +20,46 @@ export interface Image {
|
|
|
20
20
|
};
|
|
21
21
|
createdAt: string;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
export interface UploadImageOptions {
|
|
25
|
-
sizes?: ImageSizeConfig;
|
|
23
|
+
interface BaseImageOptions {
|
|
26
24
|
quality?: number;
|
|
27
25
|
format?: "webp" | "jpeg" | "png" | "original";
|
|
28
26
|
stripExif?: boolean;
|
|
29
|
-
fit?: "cover" | "contain" | "inside" | "outside";
|
|
30
27
|
pathParts?: string[];
|
|
31
28
|
entityId?: string;
|
|
32
29
|
commentId?: string;
|
|
33
30
|
spaceId?: string;
|
|
34
31
|
onProgress?: (progress: number) => void;
|
|
35
32
|
}
|
|
33
|
+
export interface ExactDimensionsMode extends BaseImageOptions {
|
|
34
|
+
mode: "exact-dimensions";
|
|
35
|
+
dimensions: Record<string, {
|
|
36
|
+
width: number;
|
|
37
|
+
height: number;
|
|
38
|
+
}>;
|
|
39
|
+
fit?: "cover" | "contain" | "inside" | "outside";
|
|
40
|
+
}
|
|
41
|
+
export interface AspectRatioWidthMode extends BaseImageOptions {
|
|
42
|
+
mode: "aspect-ratio-width-based";
|
|
43
|
+
aspectRatio: {
|
|
44
|
+
width: number;
|
|
45
|
+
height: number;
|
|
46
|
+
};
|
|
47
|
+
widths: Record<string, number>;
|
|
48
|
+
fit?: "cover" | "contain" | "inside" | "outside";
|
|
49
|
+
}
|
|
50
|
+
export interface AspectRatioHeightMode extends BaseImageOptions {
|
|
51
|
+
mode: "aspect-ratio-height-based";
|
|
52
|
+
aspectRatio: {
|
|
53
|
+
width: number;
|
|
54
|
+
height: number;
|
|
55
|
+
};
|
|
56
|
+
heights: Record<string, number>;
|
|
57
|
+
fit?: "cover" | "contain" | "inside" | "outside";
|
|
58
|
+
}
|
|
59
|
+
export interface OriginalAspectMode extends BaseImageOptions {
|
|
60
|
+
mode: "original-aspect";
|
|
61
|
+
sizes: Record<string, number>;
|
|
62
|
+
fit?: "inside" | "outside";
|
|
63
|
+
}
|
|
64
|
+
export type UploadImageOptions = ExactDimensionsMode | AspectRatioWidthMode | AspectRatioHeightMode | OriginalAspectMode;
|
|
65
|
+
export {};
|