@tradly/asset 1.0.24 → 1.0.25
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.
|
@@ -171,6 +171,11 @@ var FileUpload = function FileUpload(_ref) {
|
|
|
171
171
|
return mimeMap[ext] || "image/jpeg";
|
|
172
172
|
};
|
|
173
173
|
var mimeType = pickerResult.mimeType || pickerResult.type || getMimeType(fileName, null);
|
|
174
|
+
console.log("mimeType", {
|
|
175
|
+
fileName: fileName,
|
|
176
|
+
mimeType: mimeType,
|
|
177
|
+
pickerResult: pickerResult
|
|
178
|
+
});
|
|
174
179
|
return {
|
|
175
180
|
uri: uri,
|
|
176
181
|
name: fileName,
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { View, StyleSheet, Dimensions, ActivityIndicator } from "react-native";
|
|
2
|
+
import { View, StyleSheet, Dimensions, ActivityIndicator, FlatList } from "react-native";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
var _Dimensions$get = Dimensions.get("window"),
|
|
5
5
|
SCREEN_WIDTH = _Dimensions$get.width;
|
|
6
6
|
var NUM_COLUMNS = 3;
|
|
7
7
|
var ITEM_MARGIN = 4; // Match MediaGallery margin
|
|
8
|
-
// Calculate item size
|
|
8
|
+
// Calculate item size - must match MediaGallery exactly
|
|
9
9
|
// - Container padding (md = 12px on each side = 24px total)
|
|
10
10
|
// - Grid padding (2px on each side = 4px total)
|
|
11
|
-
// - Item margins
|
|
12
|
-
|
|
11
|
+
// - Item margins: (NUM_COLUMNS - 1) gaps between items
|
|
12
|
+
// Each gap = 2 * ITEM_MARGIN (left margin of right item + right margin of left item)
|
|
13
|
+
// Total: (3 - 1) * 2 * 4 = 16px
|
|
14
|
+
var CONTAINER_PADDING = 24; // paddingHorizontal md (12 * 2)
|
|
13
15
|
var GRID_PADDING = 4; // padding 2 on each side (2 * 2)
|
|
14
|
-
var TOTAL_MARGINS = ITEM_MARGIN * (NUM_COLUMNS - 1) * 2; //
|
|
16
|
+
var TOTAL_MARGINS = ITEM_MARGIN * (NUM_COLUMNS - 1) * 2; // 4 * 2 * 2 = 16px
|
|
15
17
|
var ITEM_SIZE = (SCREEN_WIDTH - CONTAINER_PADDING - GRID_PADDING - TOTAL_MARGINS) / NUM_COLUMNS;
|
|
16
18
|
var ImagesSkeleton = function ImagesSkeleton(_ref) {
|
|
17
19
|
var _ref$per_page = _ref.per_page,
|
|
18
20
|
per_page = _ref$per_page === void 0 ? 30 : _ref$per_page;
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
var skeletonData = Array.from({
|
|
22
|
+
length: per_page
|
|
23
|
+
}, function (_, i) {
|
|
24
|
+
return {
|
|
25
|
+
id: i
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
var renderItem = function renderItem() {
|
|
29
|
+
return /*#__PURE__*/_jsx(View, {
|
|
22
30
|
style: [styles.skeletonItem, {
|
|
23
31
|
width: ITEM_SIZE,
|
|
24
32
|
height: ITEM_SIZE,
|
|
@@ -28,17 +36,21 @@ var ImagesSkeleton = function ImagesSkeleton(_ref) {
|
|
|
28
36
|
size: "small",
|
|
29
37
|
color: "#3B3269"
|
|
30
38
|
})
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return /*#__PURE__*/_jsx(
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
return /*#__PURE__*/_jsx(FlatList, {
|
|
42
|
+
data: skeletonData,
|
|
43
|
+
renderItem: renderItem,
|
|
44
|
+
keyExtractor: function keyExtractor(item) {
|
|
45
|
+
return "skeleton-".concat(item.id);
|
|
46
|
+
},
|
|
47
|
+
numColumns: NUM_COLUMNS,
|
|
48
|
+
contentContainerStyle: styles.grid,
|
|
49
|
+
showsVerticalScrollIndicator: false
|
|
36
50
|
});
|
|
37
51
|
};
|
|
38
52
|
var styles = StyleSheet.create({
|
|
39
|
-
|
|
40
|
-
flexDirection: "row",
|
|
41
|
-
flexWrap: "wrap",
|
|
53
|
+
grid: {
|
|
42
54
|
padding: 2 // Match MediaGallery grid padding
|
|
43
55
|
},
|
|
44
56
|
skeletonItem: {
|
|
@@ -176,6 +176,11 @@ var FileUpload = function FileUpload(_ref) {
|
|
|
176
176
|
return mimeMap[ext] || "image/jpeg";
|
|
177
177
|
};
|
|
178
178
|
var mimeType = pickerResult.mimeType || pickerResult.type || getMimeType(fileName, null);
|
|
179
|
+
console.log("mimeType", {
|
|
180
|
+
fileName: fileName,
|
|
181
|
+
mimeType: mimeType,
|
|
182
|
+
pickerResult: pickerResult
|
|
183
|
+
});
|
|
179
184
|
return {
|
|
180
185
|
uri: uri,
|
|
181
186
|
name: fileName,
|
|
@@ -12,20 +12,28 @@ var _Dimensions$get = _reactNative.Dimensions.get("window"),
|
|
|
12
12
|
SCREEN_WIDTH = _Dimensions$get.width;
|
|
13
13
|
var NUM_COLUMNS = 3;
|
|
14
14
|
var ITEM_MARGIN = 4; // Match MediaGallery margin
|
|
15
|
-
// Calculate item size
|
|
15
|
+
// Calculate item size - must match MediaGallery exactly
|
|
16
16
|
// - Container padding (md = 12px on each side = 24px total)
|
|
17
17
|
// - Grid padding (2px on each side = 4px total)
|
|
18
|
-
// - Item margins
|
|
19
|
-
|
|
18
|
+
// - Item margins: (NUM_COLUMNS - 1) gaps between items
|
|
19
|
+
// Each gap = 2 * ITEM_MARGIN (left margin of right item + right margin of left item)
|
|
20
|
+
// Total: (3 - 1) * 2 * 4 = 16px
|
|
21
|
+
var CONTAINER_PADDING = 24; // paddingHorizontal md (12 * 2)
|
|
20
22
|
var GRID_PADDING = 4; // padding 2 on each side (2 * 2)
|
|
21
|
-
var TOTAL_MARGINS = ITEM_MARGIN * (NUM_COLUMNS - 1) * 2; //
|
|
23
|
+
var TOTAL_MARGINS = ITEM_MARGIN * (NUM_COLUMNS - 1) * 2; // 4 * 2 * 2 = 16px
|
|
22
24
|
var ITEM_SIZE = (SCREEN_WIDTH - CONTAINER_PADDING - GRID_PADDING - TOTAL_MARGINS) / NUM_COLUMNS;
|
|
23
25
|
var ImagesSkeleton = function ImagesSkeleton(_ref) {
|
|
24
26
|
var _ref$per_page = _ref.per_page,
|
|
25
27
|
per_page = _ref$per_page === void 0 ? 30 : _ref$per_page;
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
var skeletonData = Array.from({
|
|
29
|
+
length: per_page
|
|
30
|
+
}, function (_, i) {
|
|
31
|
+
return {
|
|
32
|
+
id: i
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
var renderItem = function renderItem() {
|
|
36
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
29
37
|
style: [styles.skeletonItem, {
|
|
30
38
|
width: ITEM_SIZE,
|
|
31
39
|
height: ITEM_SIZE,
|
|
@@ -35,17 +43,21 @@ var ImagesSkeleton = function ImagesSkeleton(_ref) {
|
|
|
35
43
|
size: "small",
|
|
36
44
|
color: "#3B3269"
|
|
37
45
|
})
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.FlatList, {
|
|
49
|
+
data: skeletonData,
|
|
50
|
+
renderItem: renderItem,
|
|
51
|
+
keyExtractor: function keyExtractor(item) {
|
|
52
|
+
return "skeleton-".concat(item.id);
|
|
53
|
+
},
|
|
54
|
+
numColumns: NUM_COLUMNS,
|
|
55
|
+
contentContainerStyle: styles.grid,
|
|
56
|
+
showsVerticalScrollIndicator: false
|
|
43
57
|
});
|
|
44
58
|
};
|
|
45
59
|
var styles = _reactNative.StyleSheet.create({
|
|
46
|
-
|
|
47
|
-
flexDirection: "row",
|
|
48
|
-
flexWrap: "wrap",
|
|
60
|
+
grid: {
|
|
49
61
|
padding: 2 // Match MediaGallery grid padding
|
|
50
62
|
},
|
|
51
63
|
skeletonItem: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradly/asset",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
4
4
|
"description": "A reusable media gallery component for uploading and selecting images, videos, and files with Tradly authentication",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|