@tamagui/image 2.7.7 → 3.0.0-beta.643.1
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/Image.cjs +25 -45
- package/dist/cjs/Image.native.cjs +29 -0
- package/dist/cjs/Image.native.js +16 -20
- package/dist/cjs/Image.native.js.map +1 -1
- package/dist/cjs/createImage.cjs +112 -145
- package/dist/cjs/createImage.native.cjs +133 -0
- package/dist/cjs/createImage.native.js +116 -145
- package/dist/cjs/createImage.native.js.map +1 -1
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/index.native.cjs +22 -0
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +10 -11
- package/dist/cjs/types.native.cjs +19 -0
- package/dist/cjs/types.native.js +10 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/esm/Image.mjs +13 -28
- package/dist/esm/Image.mjs.map +1 -1
- package/dist/esm/Image.native.js +4 -4
- package/dist/esm/Image.native.js.map +1 -1
- package/dist/esm/createImage.mjs +100 -128
- package/dist/esm/createImage.mjs.map +1 -1
- package/dist/esm/createImage.native.js +105 -130
- package/dist/esm/createImage.native.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.native.js +0 -2
- package/dist/jsx/Image.mjs +13 -28
- package/dist/jsx/Image.mjs.map +1 -1
- package/dist/jsx/Image.native.cjs +29 -0
- package/dist/jsx/Image.native.js +16 -20
- package/dist/jsx/Image.native.js.map +1 -1
- package/dist/jsx/createImage.mjs +100 -128
- package/dist/jsx/createImage.mjs.map +1 -1
- package/dist/jsx/createImage.native.cjs +133 -0
- package/dist/jsx/createImage.native.js +116 -145
- package/dist/jsx/createImage.native.js.map +1 -1
- package/dist/jsx/index.js +3 -3
- package/dist/jsx/index.mjs +3 -3
- package/dist/jsx/index.native.cjs +22 -0
- package/dist/jsx/index.native.js +10 -10
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/types.mjs +0 -2
- package/dist/jsx/types.native.cjs +19 -0
- package/dist/jsx/types.native.js +10 -10
- package/dist/jsx/types.native.js.map +1 -1
- package/package.json +8 -7
- package/src/Image.tsx +5 -4
- package/src/createImage.tsx +99 -89
- package/types/Image.d.ts.map +1 -1
- package/types/Image.native.d.ts +4 -4
- package/types/Image.native.d.ts.map +1 -1
- package/types/createImage.d.ts +4 -4
- package/types/createImage.d.ts.map +1 -1
- package/dist/cjs/v1/Image.cjs +0 -101
- package/dist/cjs/v1/Image.native.js +0 -123
- package/dist/cjs/v1/Image.native.js.map +0 -1
- package/dist/cjs/v1/index.cjs +0 -20
- package/dist/cjs/v1/index.native.js +0 -23
- package/dist/cjs/v1/index.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/types.native.js.map +0 -1
- package/dist/esm/v1/Image.mjs +0 -65
- package/dist/esm/v1/Image.mjs.map +0 -1
- package/dist/esm/v1/Image.native.js +0 -84
- package/dist/esm/v1/Image.native.js.map +0 -1
- package/dist/esm/v1/index.mjs +0 -2
- package/dist/esm/v1/index.mjs.map +0 -1
- package/dist/esm/v1/index.native.js +0 -2
- package/dist/esm/v1/index.native.js.map +0 -1
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs.map +0 -1
- package/dist/jsx/types.mjs.map +0 -1
- package/dist/jsx/v1/Image.mjs +0 -65
- package/dist/jsx/v1/Image.mjs.map +0 -1
- package/dist/jsx/v1/Image.native.js +0 -123
- package/dist/jsx/v1/Image.native.js.map +0 -1
- package/dist/jsx/v1/index.mjs +0 -2
- package/dist/jsx/v1/index.mjs.map +0 -1
- package/dist/jsx/v1/index.native.js +0 -23
- package/dist/jsx/v1/index.native.js.map +0 -1
- package/src/v1/Image.tsx +0 -144
- package/src/v1/index.ts +0 -1
- package/types/v1/Image.d.ts +0 -36
- package/types/v1/Image.d.ts.map +0 -1
- package/types/v1/index.d.ts +0 -2
- package/types/v1/index.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Image.native.js","names":["RNImage"],"sources":["esm/Image.native.js"],"sourcesContent":["import { Image as RNImage } from \"react-native\";\nimport { createImage } from \"./createImage\";\nvar Image = createImage({\n Component: RNImage\n});\nexport {\n Image\n};\n//# sourceMappingURL=Image.native.js.map\n"],"mappings":";;;;AAEA,IAAI,QAAQ,YAAY,EACtB,WAAWA,QACb,CAAC"}
|
package/dist/esm/createImage.mjs
CHANGED
|
@@ -1,135 +1,107 @@
|
|
|
1
|
-
import { getTokenValue, styled } from "@tamagui/web";
|
|
1
|
+
import { createStyledHOC, getTokenValue, styled } from "@tamagui/web";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return "contain";
|
|
13
|
-
default:
|
|
14
|
-
return "cover";
|
|
15
|
-
}
|
|
3
|
+
|
|
4
|
+
const defaultObjectFitMap = (objectFit) => {
|
|
5
|
+
switch (objectFit) {
|
|
6
|
+
case "fill": return "stretch";
|
|
7
|
+
case "none": return "center";
|
|
8
|
+
case "scale-down": return "contain";
|
|
9
|
+
case "contain": return "contain";
|
|
10
|
+
default: return "cover";
|
|
11
|
+
}
|
|
16
12
|
};
|
|
17
|
-
const defaultTransformSource = props => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
if (source !== void 0 && source !== null) return source;
|
|
28
|
-
if (src !== void 0 && src !== null) return src;
|
|
29
|
-
return {
|
|
30
|
-
uri: src
|
|
31
|
-
};
|
|
13
|
+
const defaultTransformSource = (props) => {
|
|
14
|
+
const { src, source } = props;
|
|
15
|
+
if (typeof src === "string") {
|
|
16
|
+
return { uri: src };
|
|
17
|
+
}
|
|
18
|
+
if (source !== void 0 && source !== null) return source;
|
|
19
|
+
if (src !== void 0 && src !== null) return src;
|
|
20
|
+
return { uri: src };
|
|
32
21
|
};
|
|
33
22
|
function createImage(options) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
onError({
|
|
116
|
-
type: "error"
|
|
117
|
-
});
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return /* @__PURE__ */jsx(StyledImage, {
|
|
121
|
-
ref,
|
|
122
|
-
...finalProps
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
const comp = Component;
|
|
126
|
-
ImageComponent.getSize = comp.getSize || (() => {});
|
|
127
|
-
ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => {});
|
|
128
|
-
ImageComponent.prefetch = comp.prefetch || (() => {});
|
|
129
|
-
ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => {});
|
|
130
|
-
ImageComponent.abortPrefetch = comp.abortPrefetch || (() => {});
|
|
131
|
-
ImageComponent.queryCache = comp.queryCache || (() => {});
|
|
132
|
-
return ImageComponent;
|
|
23
|
+
const { Component, mapObjectFitToResizeMode = defaultObjectFitMap, resizeModePropName = "resizeMode", objectPositionPropName, transformSource = defaultTransformSource } = options;
|
|
24
|
+
const inlinePropsSet = /* @__PURE__ */ new Set([
|
|
25
|
+
"source",
|
|
26
|
+
"placeholder",
|
|
27
|
+
"transition",
|
|
28
|
+
"contentFit",
|
|
29
|
+
"contentPosition",
|
|
30
|
+
"cachePolicy",
|
|
31
|
+
"recyclingKey",
|
|
32
|
+
"allowDownscaling",
|
|
33
|
+
"autoplay",
|
|
34
|
+
"blurRadius",
|
|
35
|
+
"priority",
|
|
36
|
+
"placeholderContentFit",
|
|
37
|
+
"responsivePolicy",
|
|
38
|
+
"onLoadStart",
|
|
39
|
+
"onProgress",
|
|
40
|
+
"onLoadEnd"
|
|
41
|
+
]);
|
|
42
|
+
const StyledImage = styled(Component, { displayName: "Image" }, { inlineProps: inlinePropsSet });
|
|
43
|
+
const ImageComponent = createStyledHOC(StyledImage, (incomingProps, ref) => {
|
|
44
|
+
const props = incomingProps;
|
|
45
|
+
const { src, source, width, height, borderRadius, objectFit, objectPosition, decoding, elementTiming, fetchpriority, isMap, loading, sizes, useMap, onLoad, onError, ...rest } = props;
|
|
46
|
+
const resolvedWidth = typeof width === "string" ? getTokenValue(width, "size") ?? width : width;
|
|
47
|
+
const resolvedHeight = typeof height === "string" ? getTokenValue(height, "size") ?? height : height;
|
|
48
|
+
const finalSource = transformSource({
|
|
49
|
+
src,
|
|
50
|
+
source,
|
|
51
|
+
width: resolvedWidth,
|
|
52
|
+
height: resolvedHeight
|
|
53
|
+
});
|
|
54
|
+
const incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;
|
|
55
|
+
const resolvedBorderRadius = typeof borderRadius === "string" ? getTokenValue(borderRadius, "radius") ?? borderRadius : borderRadius;
|
|
56
|
+
const finalProps = {
|
|
57
|
+
...rest,
|
|
58
|
+
source: finalSource,
|
|
59
|
+
style: {
|
|
60
|
+
...incomingStyle,
|
|
61
|
+
...resolvedBorderRadius !== void 0 && { borderRadius: resolvedBorderRadius },
|
|
62
|
+
...resolvedWidth !== void 0 && { width: resolvedWidth },
|
|
63
|
+
...resolvedHeight !== void 0 && { height: resolvedHeight },
|
|
64
|
+
...objectFit !== void 0 && { objectFit },
|
|
65
|
+
...objectPosition !== void 0 && { objectPosition }
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
if (objectFit) {
|
|
69
|
+
finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);
|
|
70
|
+
}
|
|
71
|
+
if (objectPositionPropName && objectPosition) {
|
|
72
|
+
finalProps[objectPositionPropName] = objectPosition;
|
|
73
|
+
}
|
|
74
|
+
if (onLoad) {
|
|
75
|
+
finalProps.onLoad = (e) => {
|
|
76
|
+
const source2 = e?.nativeEvent?.source || e?.source || {};
|
|
77
|
+
onLoad({
|
|
78
|
+
target: {
|
|
79
|
+
naturalHeight: source2?.height,
|
|
80
|
+
naturalWidth: source2?.width
|
|
81
|
+
},
|
|
82
|
+
type: "load"
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (onError) {
|
|
87
|
+
finalProps.onError = () => {
|
|
88
|
+
onError({ type: "error" });
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return /* @__PURE__ */ jsx(StyledImage, {
|
|
92
|
+
ref,
|
|
93
|
+
...finalProps
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
const comp = Component;
|
|
97
|
+
ImageComponent.getSize = comp.getSize || (() => {});
|
|
98
|
+
ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => {});
|
|
99
|
+
ImageComponent.prefetch = comp.prefetch || (() => {});
|
|
100
|
+
ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => {});
|
|
101
|
+
ImageComponent.abortPrefetch = comp.abortPrefetch || (() => {});
|
|
102
|
+
ImageComponent.queryCache = comp.queryCache || (() => {});
|
|
103
|
+
return ImageComponent;
|
|
133
104
|
}
|
|
105
|
+
|
|
134
106
|
export { createImage };
|
|
135
107
|
//# sourceMappingURL=createImage.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"createImage.js","names":[],"sources":["esm/createImage.js"],"sourcesContent":["import { createStyledHOC, getTokenValue, styled } from \"@tamagui/web\";\nimport { jsx } from \"react/jsx-runtime\";\nconst defaultObjectFitMap = (objectFit) => {\n switch (objectFit) {\n case \"fill\":\n return \"stretch\";\n case \"none\":\n return \"center\";\n case \"scale-down\":\n return \"contain\";\n case \"contain\":\n return \"contain\";\n default:\n return \"cover\";\n }\n};\nconst defaultTransformSource = (props) => {\n const { src, source } = props;\n if (typeof src === \"string\") {\n return {\n uri: src\n };\n }\n if (source !== void 0 && source !== null) return source;\n if (src !== void 0 && src !== null) return src;\n return {\n uri: src\n };\n};\nfunction createImage(options) {\n const {\n Component,\n mapObjectFitToResizeMode = defaultObjectFitMap,\n resizeModePropName = \"resizeMode\",\n objectPositionPropName,\n transformSource = defaultTransformSource\n } = options;\n const inlinePropsSet = /* @__PURE__ */ new Set([\n \"source\",\n \"placeholder\",\n \"transition\",\n \"contentFit\",\n \"contentPosition\",\n \"cachePolicy\",\n \"recyclingKey\",\n \"allowDownscaling\",\n \"autoplay\",\n \"blurRadius\",\n \"priority\",\n \"placeholderContentFit\",\n \"responsivePolicy\",\n \"onLoadStart\",\n \"onProgress\",\n \"onLoadEnd\"\n ]);\n const StyledImage = styled(\n Component,\n {\n displayName: \"Image\"\n },\n {\n inlineProps: inlinePropsSet\n }\n );\n const ImageComponent = createStyledHOC(\n StyledImage,\n (incomingProps, ref) => {\n const props = incomingProps;\n const {\n src,\n source,\n width,\n height,\n borderRadius,\n objectFit,\n objectPosition,\n // web only props - filter out on native\n decoding,\n elementTiming,\n fetchpriority,\n isMap,\n loading,\n sizes,\n useMap,\n onLoad,\n onError,\n ...rest\n } = props;\n const resolvedWidth = typeof width === \"string\" ? getTokenValue(width, \"size\") ?? width : width;\n const resolvedHeight = typeof height === \"string\" ? getTokenValue(height, \"size\") ?? height : height;\n const finalSource = transformSource({\n src,\n source,\n width: resolvedWidth,\n height: resolvedHeight\n });\n const incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;\n const resolvedBorderRadius = typeof borderRadius === \"string\" ? getTokenValue(borderRadius, \"radius\") ?? borderRadius : borderRadius;\n const finalProps = {\n ...rest,\n source: finalSource,\n style: {\n ...incomingStyle,\n ...resolvedBorderRadius !== void 0 && {\n borderRadius: resolvedBorderRadius\n },\n ...resolvedWidth !== void 0 && { width: resolvedWidth },\n ...resolvedHeight !== void 0 && { height: resolvedHeight },\n // RN 0.76+ reads objectFit from style natively on Image; harmless on older.\n // Also forwarded to the resize-mode prop below for back-compat / non-RN components.\n ...objectFit !== void 0 && { objectFit },\n // RN doesn't currently read objectPosition from style; expo-image uses\n // contentPosition (handled via objectPositionPropName below). Forwarding\n // through style is a no-op there but matches CSS shape and is forward-compatible.\n ...objectPosition !== void 0 && { objectPosition }\n }\n };\n if (objectFit) {\n finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);\n }\n if (objectPositionPropName && objectPosition) {\n finalProps[objectPositionPropName] = objectPosition;\n }\n if (onLoad) {\n finalProps.onLoad = (e) => {\n const source2 = e?.nativeEvent?.source || e?.source || {};\n onLoad({\n target: {\n naturalHeight: source2?.height,\n naturalWidth: source2?.width\n },\n type: \"load\"\n });\n };\n }\n if (onError) {\n finalProps.onError = () => {\n onError({\n type: \"error\"\n });\n };\n }\n return /* @__PURE__ */ jsx(StyledImage, { ref, ...finalProps });\n }\n );\n const comp = Component;\n ImageComponent.getSize = comp.getSize || (() => {\n });\n ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => {\n });\n ImageComponent.prefetch = comp.prefetch || (() => {\n });\n ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => {\n });\n ImageComponent.abortPrefetch = comp.abortPrefetch || (() => {\n });\n ImageComponent.queryCache = comp.queryCache || (() => {\n });\n return ImageComponent;\n}\nexport {\n createImage\n};\n//# sourceMappingURL=createImage.js.map\n"],"mappings":"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"}
|
|
@@ -1,136 +1,111 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import { getTokenValue, styled } from "@tamagui/web";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return "contain";
|
|
13
|
-
default:
|
|
14
|
-
return "cover";
|
|
15
|
-
}
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createStyledHOC, getTokenValue, styled } from "@tamagui/web";
|
|
3
|
+
|
|
4
|
+
var defaultObjectFitMap = function(objectFit) {
|
|
5
|
+
switch (objectFit) {
|
|
6
|
+
case "fill": return "stretch";
|
|
7
|
+
case "none": return "center";
|
|
8
|
+
case "scale-down": return "contain";
|
|
9
|
+
case "contain": return "contain";
|
|
10
|
+
default: return "cover";
|
|
11
|
+
}
|
|
16
12
|
};
|
|
17
|
-
var defaultTransformSource = function
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
if (source !== void 0 && source !== null) return source;
|
|
28
|
-
if (src !== void 0 && src !== null) return src;
|
|
29
|
-
return {
|
|
30
|
-
uri: src
|
|
31
|
-
};
|
|
13
|
+
var defaultTransformSource = function(props) {
|
|
14
|
+
var { src, source } = props;
|
|
15
|
+
if (typeof src === "string") {
|
|
16
|
+
return { uri: src };
|
|
17
|
+
}
|
|
18
|
+
if (source !== void 0 && source !== null) return source;
|
|
19
|
+
if (src !== void 0 && src !== null) return src;
|
|
20
|
+
return { uri: src };
|
|
32
21
|
};
|
|
33
22
|
function createImage(options) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
return /* @__PURE__ */_jsx(StyledImage, {
|
|
122
|
-
ref,
|
|
123
|
-
...finalProps
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
var comp = Component;
|
|
127
|
-
ImageComponent.getSize = comp.getSize || function () {};
|
|
128
|
-
ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || function () {};
|
|
129
|
-
ImageComponent.prefetch = comp.prefetch || function () {};
|
|
130
|
-
ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || function () {};
|
|
131
|
-
ImageComponent.abortPrefetch = comp.abortPrefetch || function () {};
|
|
132
|
-
ImageComponent.queryCache = comp.queryCache || function () {};
|
|
133
|
-
return ImageComponent;
|
|
23
|
+
var { Component, mapObjectFitToResizeMode = defaultObjectFitMap, resizeModePropName = "resizeMode", objectPositionPropName, transformSource = defaultTransformSource } = options;
|
|
24
|
+
var inlinePropsSet = /* @__PURE__ */ new Set([
|
|
25
|
+
"source",
|
|
26
|
+
"placeholder",
|
|
27
|
+
"transition",
|
|
28
|
+
"contentFit",
|
|
29
|
+
"contentPosition",
|
|
30
|
+
"cachePolicy",
|
|
31
|
+
"recyclingKey",
|
|
32
|
+
"allowDownscaling",
|
|
33
|
+
"autoplay",
|
|
34
|
+
"blurRadius",
|
|
35
|
+
"priority",
|
|
36
|
+
"placeholderContentFit",
|
|
37
|
+
"responsivePolicy",
|
|
38
|
+
"onLoadStart",
|
|
39
|
+
"onProgress",
|
|
40
|
+
"onLoadEnd"
|
|
41
|
+
]);
|
|
42
|
+
var StyledImage = styled(Component, { displayName: "Image" }, { inlineProps: inlinePropsSet });
|
|
43
|
+
var ImageComponent = createStyledHOC(StyledImage, function(incomingProps, ref) {
|
|
44
|
+
var props = incomingProps;
|
|
45
|
+
var { src, source, width, height, borderRadius, objectFit, objectPosition, decoding, elementTiming, fetchpriority, isMap, loading, sizes, useMap, onLoad, onError, ...rest } = props;
|
|
46
|
+
var _getTokenValue;
|
|
47
|
+
var resolvedWidth = typeof width === "string" ? (_getTokenValue = getTokenValue(width, "size")) !== null && _getTokenValue !== void 0 ? _getTokenValue : width : width;
|
|
48
|
+
var _getTokenValue1;
|
|
49
|
+
var resolvedHeight = typeof height === "string" ? (_getTokenValue1 = getTokenValue(height, "size")) !== null && _getTokenValue1 !== void 0 ? _getTokenValue1 : height : height;
|
|
50
|
+
var finalSource = transformSource({
|
|
51
|
+
src,
|
|
52
|
+
source,
|
|
53
|
+
width: resolvedWidth,
|
|
54
|
+
height: resolvedHeight
|
|
55
|
+
});
|
|
56
|
+
var incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;
|
|
57
|
+
var _getTokenValue2;
|
|
58
|
+
var resolvedBorderRadius = typeof borderRadius === "string" ? (_getTokenValue2 = getTokenValue(borderRadius, "radius")) !== null && _getTokenValue2 !== void 0 ? _getTokenValue2 : borderRadius : borderRadius;
|
|
59
|
+
var finalProps = {
|
|
60
|
+
...rest,
|
|
61
|
+
source: finalSource,
|
|
62
|
+
style: {
|
|
63
|
+
...incomingStyle,
|
|
64
|
+
...resolvedBorderRadius !== void 0 && { borderRadius: resolvedBorderRadius },
|
|
65
|
+
...resolvedWidth !== void 0 && { width: resolvedWidth },
|
|
66
|
+
...resolvedHeight !== void 0 && { height: resolvedHeight },
|
|
67
|
+
...objectFit !== void 0 && { objectFit },
|
|
68
|
+
...objectPosition !== void 0 && { objectPosition }
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
if (objectFit) {
|
|
72
|
+
finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);
|
|
73
|
+
}
|
|
74
|
+
if (objectPositionPropName && objectPosition) {
|
|
75
|
+
finalProps[objectPositionPropName] = objectPosition;
|
|
76
|
+
}
|
|
77
|
+
if (onLoad) {
|
|
78
|
+
finalProps.onLoad = function(e) {
|
|
79
|
+
var _e_nativeEvent;
|
|
80
|
+
var source2 = (e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.source) || (e === null || e === void 0 ? void 0 : e.source) || {};
|
|
81
|
+
onLoad({
|
|
82
|
+
target: {
|
|
83
|
+
naturalHeight: source2 === null || source2 === void 0 ? void 0 : source2.height,
|
|
84
|
+
naturalWidth: source2 === null || source2 === void 0 ? void 0 : source2.width
|
|
85
|
+
},
|
|
86
|
+
type: "load"
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (onError) {
|
|
91
|
+
finalProps.onError = function() {
|
|
92
|
+
onError({ type: "error" });
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return /* @__PURE__ */ jsx(StyledImage, {
|
|
96
|
+
ref,
|
|
97
|
+
...finalProps
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
var comp = Component;
|
|
101
|
+
ImageComponent.getSize = comp.getSize || function() {};
|
|
102
|
+
ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || function() {};
|
|
103
|
+
ImageComponent.prefetch = comp.prefetch || function() {};
|
|
104
|
+
ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || function() {};
|
|
105
|
+
ImageComponent.abortPrefetch = comp.abortPrefetch || function() {};
|
|
106
|
+
ImageComponent.queryCache = comp.queryCache || function() {};
|
|
107
|
+
return ImageComponent;
|
|
134
108
|
}
|
|
109
|
+
|
|
135
110
|
export { createImage };
|
|
136
111
|
//# sourceMappingURL=createImage.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"file":"createImage.native.js","names":[],"sources":["esm/createImage.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createStyledHOC, getTokenValue, styled } from \"@tamagui/web\";\nvar defaultObjectFitMap = function(objectFit) {\n switch (objectFit) {\n case \"fill\":\n return \"stretch\";\n case \"none\":\n return \"center\";\n case \"scale-down\":\n return \"contain\";\n case \"contain\":\n return \"contain\";\n default:\n return \"cover\";\n }\n};\nvar defaultTransformSource = function(props) {\n var { src, source } = props;\n if (typeof src === \"string\") {\n return {\n uri: src\n };\n }\n if (source !== void 0 && source !== null) return source;\n if (src !== void 0 && src !== null) return src;\n return {\n uri: src\n };\n};\nfunction createImage(options) {\n var { Component, mapObjectFitToResizeMode = defaultObjectFitMap, resizeModePropName = \"resizeMode\", objectPositionPropName, transformSource = defaultTransformSource } = options;\n var inlinePropsSet = /* @__PURE__ */ new Set([\n \"source\",\n \"placeholder\",\n \"transition\",\n \"contentFit\",\n \"contentPosition\",\n \"cachePolicy\",\n \"recyclingKey\",\n \"allowDownscaling\",\n \"autoplay\",\n \"blurRadius\",\n \"priority\",\n \"placeholderContentFit\",\n \"responsivePolicy\",\n \"onLoadStart\",\n \"onProgress\",\n \"onLoadEnd\"\n ]);\n var StyledImage = styled(Component, {\n displayName: \"Image\"\n }, {\n inlineProps: inlinePropsSet\n });\n var ImageComponent = createStyledHOC(StyledImage, function(incomingProps, ref) {\n var props = incomingProps;\n var {\n src,\n source,\n width,\n height,\n borderRadius,\n objectFit,\n objectPosition,\n // web only props - filter out on native\n decoding,\n elementTiming,\n fetchpriority,\n isMap,\n loading,\n sizes,\n useMap,\n onLoad,\n onError,\n ...rest\n } = props;\n var _getTokenValue;\n var resolvedWidth = typeof width === \"string\" ? (_getTokenValue = getTokenValue(width, \"size\")) !== null && _getTokenValue !== void 0 ? _getTokenValue : width : width;\n var _getTokenValue1;\n var resolvedHeight = typeof height === \"string\" ? (_getTokenValue1 = getTokenValue(height, \"size\")) !== null && _getTokenValue1 !== void 0 ? _getTokenValue1 : height : height;\n var finalSource = transformSource({\n src,\n source,\n width: resolvedWidth,\n height: resolvedHeight\n });\n var incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;\n var _getTokenValue2;\n var resolvedBorderRadius = typeof borderRadius === \"string\" ? (_getTokenValue2 = getTokenValue(borderRadius, \"radius\")) !== null && _getTokenValue2 !== void 0 ? _getTokenValue2 : borderRadius : borderRadius;\n var finalProps = {\n ...rest,\n source: finalSource,\n style: {\n ...incomingStyle,\n ...resolvedBorderRadius !== void 0 && {\n borderRadius: resolvedBorderRadius\n },\n ...resolvedWidth !== void 0 && {\n width: resolvedWidth\n },\n ...resolvedHeight !== void 0 && {\n height: resolvedHeight\n },\n // RN 0.76+ reads objectFit from style natively on Image; harmless on older.\n // Also forwarded to the resize-mode prop below for back-compat / non-RN components.\n ...objectFit !== void 0 && {\n objectFit\n },\n // RN doesn't currently read objectPosition from style; expo-image uses\n // contentPosition (handled via objectPositionPropName below). Forwarding\n // through style is a no-op there but matches CSS shape and is forward-compatible.\n ...objectPosition !== void 0 && {\n objectPosition\n }\n }\n };\n if (objectFit) {\n finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);\n }\n if (objectPositionPropName && objectPosition) {\n finalProps[objectPositionPropName] = objectPosition;\n }\n if (onLoad) {\n finalProps.onLoad = function(e) {\n var _e_nativeEvent;\n var source2 = (e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.source) || (e === null || e === void 0 ? void 0 : e.source) || {};\n onLoad({\n target: {\n naturalHeight: source2 === null || source2 === void 0 ? void 0 : source2.height,\n naturalWidth: source2 === null || source2 === void 0 ? void 0 : source2.width\n },\n type: \"load\"\n });\n };\n }\n if (onError) {\n finalProps.onError = function() {\n onError({\n type: \"error\"\n });\n };\n }\n return /* @__PURE__ */ _jsx(StyledImage, {\n ref,\n ...finalProps\n });\n });\n var comp = Component;\n ImageComponent.getSize = comp.getSize || function() {\n };\n ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || function() {\n };\n ImageComponent.prefetch = comp.prefetch || function() {\n };\n ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || function() {\n };\n ImageComponent.abortPrefetch = comp.abortPrefetch || function() {\n };\n ImageComponent.queryCache = comp.queryCache || function() {\n };\n return ImageComponent;\n}\nexport {\n createImage\n};\n//# sourceMappingURL=createImage.js.map\n"],"mappings":";;;;AAEA,IAAI,sBAAsB,SAAS,WAAW;CAC5C,QAAQ,WAAR;EACE,KAAK,QACH,OAAO;EACT,KAAK,QACH,OAAO;EACT,KAAK,cACH,OAAO;EACT,KAAK,WACH,OAAO;EACT,SACE,OAAO;CACX;AACF;AACA,IAAI,yBAAyB,SAAS,OAAO;CAC3C,IAAI,EAAE,KAAK,WAAW;CACtB,IAAI,OAAO,QAAQ,UAAU;EAC3B,OAAO,EACL,KAAK,IACP;CACF;CACA,IAAI,WAAW,KAAK,KAAK,WAAW,MAAM,OAAO;CACjD,IAAI,QAAQ,KAAK,KAAK,QAAQ,MAAM,OAAO;CAC3C,OAAO,EACL,KAAK,IACP;AACF;AACA,SAAS,YAAY,SAAS;CAC5B,IAAI,EAAE,WAAW,2BAA2B,qBAAqB,qBAAqB,cAAc,wBAAwB,kBAAkB,2BAA2B;CACzK,IAAI,iCAAiC,IAAI,IAAI;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,IAAI,cAAc,OAAO,WAAW,EAClC,aAAa,QACf,GAAG,EACD,aAAa,eACf,CAAC;CACD,IAAI,iBAAiB,gBAAgB,aAAa,SAAS,eAAe,KAAK;EAC7E,IAAI,QAAQ;EACZ,IAAI,EACF,KACA,QACA,OACA,QACA,cACA,WACA,gBAEA,UACA,eACA,eACA,OACA,SACA,OACA,QACA,QACA,SACA,GAAG,SACD;EACJ,IAAI;EACJ,IAAI,gBAAgB,OAAO,UAAU,YAAY,iBAAiB,cAAc,OAAO,MAAM,OAAO,QAAQ,mBAAmB,KAAK,IAAI,iBAAiB,QAAQ;EACjK,IAAI;EACJ,IAAI,iBAAiB,OAAO,WAAW,YAAY,kBAAkB,cAAc,QAAQ,MAAM,OAAO,QAAQ,oBAAoB,KAAK,IAAI,kBAAkB,SAAS;EACxK,IAAI,cAAc,gBAAgB;GAChC;GACA;GACA,OAAO;GACP,QAAQ;EACV,CAAC;EACD,IAAI,gBAAgB,MAAM,QAAQ,KAAK,KAAK,IAAI,OAAO,OAAO,CAAC,GAAG,GAAG,KAAK,MAAM,KAAK,CAAC,IAAI,KAAK;EAC/F,IAAI;EACJ,IAAI,uBAAuB,OAAO,iBAAiB,YAAY,kBAAkB,cAAc,cAAc,QAAQ,OAAO,QAAQ,oBAAoB,KAAK,IAAI,kBAAkB,eAAe;EAClM,IAAI,aAAa;GACf,GAAG;GACH,QAAQ;GACR,OAAO;IACL,GAAG;IACH,GAAG,yBAAyB,KAAK,KAAK,EACpC,cAAc,qBAChB;IACA,GAAG,kBAAkB,KAAK,KAAK,EAC7B,OAAO,cACT;IACA,GAAG,mBAAmB,KAAK,KAAK,EAC9B,QAAQ,eACV;IAGA,GAAG,cAAc,KAAK,KAAK,EACzB,UACF;IAIA,GAAG,mBAAmB,KAAK,KAAK,EAC9B,eACF;GACF;EACF;EACA,IAAI,WAAW;GACb,WAAW,sBAAsB,yBAAyB,SAAS;EACrE;EACA,IAAI,0BAA0B,gBAAgB;GAC5C,WAAW,0BAA0B;EACvC;EACA,IAAI,QAAQ;GACV,WAAW,SAAS,SAAS,GAAG;IAC9B,IAAI;IACJ,IAAI,WAAW,MAAM,QAAQ,MAAM,KAAK,IAAI,KAAK,KAAK,iBAAiB,EAAE,iBAAiB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe,YAAY,MAAM,QAAQ,MAAM,KAAK,IAAI,KAAK,IAAI,EAAE,WAAW,CAAC;IACtN,OAAO;KACL,QAAQ;MACN,eAAe,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ;MACzE,cAAc,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ;KAC1E;KACA,MAAM;IACR,CAAC;GACH;EACF;EACA,IAAI,SAAS;GACX,WAAW,UAAU,WAAW;IAC9B,QAAQ,EACN,MAAM,QACR,CAAC;GACH;EACF;EACA,OAAuB,oBAAK,aAAa;GACvC;GACA,GAAG;EACL,CAAC;CACH,CAAC;CACD,IAAI,OAAO;CACX,eAAe,UAAU,KAAK,WAAW,WAAW,CACpD;CACA,eAAe,qBAAqB,KAAK,sBAAsB,WAAW,CAC1E;CACA,eAAe,WAAW,KAAK,YAAY,WAAW,CACtD;CACA,eAAe,uBAAuB,KAAK,wBAAwB,WAAW,CAC9E;CACA,eAAe,gBAAgB,KAAK,iBAAiB,WAAW,CAChE;CACA,eAAe,aAAa,KAAK,cAAc,WAAW,CAC1D;CACA,OAAO;AACT"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./Image.mjs"
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export * from "./Image.mjs"
|
|
2
|
+
|
|
3
|
+
export * from "./createImage.mjs"
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./Image.mjs"
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export * from "./Image.mjs"
|
|
2
|
+
|
|
3
|
+
export * from "./createImage.mjs"
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./Image.native.js"
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export * from "./Image.native.js"
|
|
2
|
+
|
|
3
|
+
export * from "./createImage.native.js"
|
package/dist/esm/types.mjs
CHANGED
package/dist/esm/types.native.js
CHANGED