@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.
Files changed (92) hide show
  1. package/dist/cjs/Image.cjs +25 -45
  2. package/dist/cjs/Image.native.cjs +29 -0
  3. package/dist/cjs/Image.native.js +16 -20
  4. package/dist/cjs/Image.native.js.map +1 -1
  5. package/dist/cjs/createImage.cjs +112 -145
  6. package/dist/cjs/createImage.native.cjs +133 -0
  7. package/dist/cjs/createImage.native.js +116 -145
  8. package/dist/cjs/createImage.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +10 -11
  10. package/dist/cjs/index.native.cjs +22 -0
  11. package/dist/cjs/index.native.js +10 -10
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/types.cjs +10 -11
  14. package/dist/cjs/types.native.cjs +19 -0
  15. package/dist/cjs/types.native.js +10 -10
  16. package/dist/cjs/types.native.js.map +1 -1
  17. package/dist/esm/Image.mjs +13 -28
  18. package/dist/esm/Image.mjs.map +1 -1
  19. package/dist/esm/Image.native.js +4 -4
  20. package/dist/esm/Image.native.js.map +1 -1
  21. package/dist/esm/createImage.mjs +100 -128
  22. package/dist/esm/createImage.mjs.map +1 -1
  23. package/dist/esm/createImage.native.js +105 -130
  24. package/dist/esm/createImage.native.js.map +1 -1
  25. package/dist/esm/index.js +3 -3
  26. package/dist/esm/index.mjs +3 -3
  27. package/dist/esm/index.native.js +3 -3
  28. package/dist/esm/types.mjs +0 -2
  29. package/dist/esm/types.native.js +0 -2
  30. package/dist/jsx/Image.mjs +13 -28
  31. package/dist/jsx/Image.mjs.map +1 -1
  32. package/dist/jsx/Image.native.cjs +29 -0
  33. package/dist/jsx/Image.native.js +16 -20
  34. package/dist/jsx/Image.native.js.map +1 -1
  35. package/dist/jsx/createImage.mjs +100 -128
  36. package/dist/jsx/createImage.mjs.map +1 -1
  37. package/dist/jsx/createImage.native.cjs +133 -0
  38. package/dist/jsx/createImage.native.js +116 -145
  39. package/dist/jsx/createImage.native.js.map +1 -1
  40. package/dist/jsx/index.js +3 -3
  41. package/dist/jsx/index.mjs +3 -3
  42. package/dist/jsx/index.native.cjs +22 -0
  43. package/dist/jsx/index.native.js +10 -10
  44. package/dist/jsx/index.native.js.map +1 -1
  45. package/dist/jsx/types.mjs +0 -2
  46. package/dist/jsx/types.native.cjs +19 -0
  47. package/dist/jsx/types.native.js +10 -10
  48. package/dist/jsx/types.native.js.map +1 -1
  49. package/package.json +8 -7
  50. package/src/Image.tsx +5 -4
  51. package/src/createImage.tsx +99 -89
  52. package/types/Image.d.ts.map +1 -1
  53. package/types/Image.native.d.ts +4 -4
  54. package/types/Image.native.d.ts.map +1 -1
  55. package/types/createImage.d.ts +4 -4
  56. package/types/createImage.d.ts.map +1 -1
  57. package/dist/cjs/v1/Image.cjs +0 -101
  58. package/dist/cjs/v1/Image.native.js +0 -123
  59. package/dist/cjs/v1/Image.native.js.map +0 -1
  60. package/dist/cjs/v1/index.cjs +0 -20
  61. package/dist/cjs/v1/index.native.js +0 -23
  62. package/dist/cjs/v1/index.native.js.map +0 -1
  63. package/dist/esm/index.js.map +0 -1
  64. package/dist/esm/index.mjs.map +0 -1
  65. package/dist/esm/index.native.js.map +0 -1
  66. package/dist/esm/types.mjs.map +0 -1
  67. package/dist/esm/types.native.js.map +0 -1
  68. package/dist/esm/v1/Image.mjs +0 -65
  69. package/dist/esm/v1/Image.mjs.map +0 -1
  70. package/dist/esm/v1/Image.native.js +0 -84
  71. package/dist/esm/v1/Image.native.js.map +0 -1
  72. package/dist/esm/v1/index.mjs +0 -2
  73. package/dist/esm/v1/index.mjs.map +0 -1
  74. package/dist/esm/v1/index.native.js +0 -2
  75. package/dist/esm/v1/index.native.js.map +0 -1
  76. package/dist/jsx/index.js.map +0 -1
  77. package/dist/jsx/index.mjs.map +0 -1
  78. package/dist/jsx/types.mjs.map +0 -1
  79. package/dist/jsx/v1/Image.mjs +0 -65
  80. package/dist/jsx/v1/Image.mjs.map +0 -1
  81. package/dist/jsx/v1/Image.native.js +0 -123
  82. package/dist/jsx/v1/Image.native.js.map +0 -1
  83. package/dist/jsx/v1/index.mjs +0 -2
  84. package/dist/jsx/v1/index.mjs.map +0 -1
  85. package/dist/jsx/v1/index.native.js +0 -23
  86. package/dist/jsx/v1/index.native.js.map +0 -1
  87. package/src/v1/Image.tsx +0 -144
  88. package/src/v1/index.ts +0 -1
  89. package/types/v1/Image.d.ts +0 -36
  90. package/types/v1/Image.d.ts.map +0 -1
  91. package/types/v1/index.d.ts +0 -2
  92. package/types/v1/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Image","RNImage","createImage","Component"],"sources":["../../src/Image.native.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,IAASC,OAAA,QAAe;AACjC,SAASC,WAAA,QAAmB;AACrB,IAAIF,KAAA,GAAQE,WAAA,CAAY;EAC3BC,SAAA,EAAWF;AACf,CAAC","ignoreList":[]}
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"}
@@ -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
- const defaultObjectFitMap = objectFit => {
4
- switch (objectFit) {
5
- case "fill":
6
- return "stretch";
7
- case "none":
8
- return "center";
9
- case "scale-down":
10
- return "contain";
11
- case "contain":
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
- const {
19
- src,
20
- source
21
- } = props;
22
- if (typeof src === "string") {
23
- return {
24
- uri: src
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
- const {
35
- Component,
36
- mapObjectFitToResizeMode = defaultObjectFitMap,
37
- resizeModePropName = "resizeMode",
38
- objectPositionPropName,
39
- transformSource = defaultTransformSource
40
- } = options;
41
- const inlinePropsSet = /* @__PURE__ */new Set(["source", "placeholder", "transition", "contentFit", "contentPosition", "cachePolicy", "recyclingKey", "allowDownscaling", "autoplay", "blurRadius", "priority", "placeholderContentFit", "responsivePolicy", "onLoadStart", "onProgress", "onLoadEnd"]);
42
- const StyledImage = styled(Component, {
43
- name: "Image"
44
- }, {
45
- inlineProps: inlinePropsSet
46
- });
47
- const ImageComponent = StyledImage.styleable((incomingProps, ref) => {
48
- const props = incomingProps;
49
- const {
50
- src,
51
- source,
52
- width,
53
- height,
54
- borderRadius,
55
- objectFit,
56
- objectPosition,
57
- // web only props - filter out on native
58
- decoding,
59
- elementTiming,
60
- fetchpriority,
61
- isMap,
62
- loading,
63
- sizes,
64
- useMap,
65
- onLoad,
66
- onError,
67
- ...rest
68
- } = props;
69
- const resolvedWidth = typeof width === "string" && width[0] === "$" ? getTokenValue(width, "size") : width;
70
- const resolvedHeight = typeof height === "string" && height[0] === "$" ? getTokenValue(height, "size") : height;
71
- const finalSource = transformSource({
72
- src,
73
- source,
74
- width: resolvedWidth,
75
- height: resolvedHeight
76
- });
77
- const incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;
78
- const resolvedBorderRadius = typeof borderRadius === "string" && borderRadius[0] === "$" ? getTokenValue(borderRadius, "radius") : borderRadius;
79
- const finalProps = {
80
- ...rest,
81
- source: finalSource,
82
- style: {
83
- ...incomingStyle,
84
- ...(resolvedBorderRadius !== void 0 && {
85
- borderRadius: resolvedBorderRadius
86
- }),
87
- ...(resolvedWidth !== void 0 && {
88
- width: resolvedWidth
89
- }),
90
- ...(resolvedHeight !== void 0 && {
91
- height: resolvedHeight
92
- })
93
- }
94
- };
95
- if (objectFit) {
96
- finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);
97
- }
98
- if (objectPositionPropName && objectPosition) {
99
- finalProps[objectPositionPropName] = objectPosition;
100
- }
101
- if (onLoad) {
102
- finalProps.onLoad = e => {
103
- const source2 = e?.nativeEvent?.source || e?.source || {};
104
- onLoad({
105
- target: {
106
- naturalHeight: source2?.height,
107
- naturalWidth: source2?.width
108
- },
109
- type: "load"
110
- });
111
- };
112
- }
113
- if (onError) {
114
- finalProps.onError = () => {
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,"names":["getTokenValue","styled","jsx","defaultObjectFitMap","objectFit","defaultTransformSource","props","src","source","uri","createImage","options","Component","mapObjectFitToResizeMode","resizeModePropName","objectPositionPropName","transformSource","inlinePropsSet","Set","StyledImage","name","inlineProps","ImageComponent","styleable","incomingProps","ref","width","height","borderRadius","objectPosition","decoding","elementTiming","fetchpriority","isMap","loading","sizes","useMap","onLoad","onError","rest","resolvedWidth","resolvedHeight","finalSource","incomingStyle","Array","isArray","style","Object","assign","flat","resolvedBorderRadius","finalProps","e","nativeEvent","target","naturalHeight","naturalWidth","type","comp","getSize","getSizeWithHeaders","prefetch","prefetchWithMetadata","abortPrefetch","queryCache"],"sources":["../../src/createImage.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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 as _jsx } from "react/jsx-runtime";
2
- import { getTokenValue, styled } from "@tamagui/web";
3
- var defaultObjectFitMap = function (objectFit) {
4
- switch (objectFit) {
5
- case "fill":
6
- return "stretch";
7
- case "none":
8
- return "center";
9
- case "scale-down":
10
- return "contain";
11
- case "contain":
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 (props) {
18
- var {
19
- src,
20
- source
21
- } = props;
22
- if (typeof src === "string") {
23
- return {
24
- uri: src
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
- var {
35
- Component,
36
- mapObjectFitToResizeMode = defaultObjectFitMap,
37
- resizeModePropName = "resizeMode",
38
- objectPositionPropName,
39
- transformSource = defaultTransformSource
40
- } = options;
41
- var inlinePropsSet = /* @__PURE__ */new Set(["source", "placeholder", "transition", "contentFit", "contentPosition", "cachePolicy", "recyclingKey", "allowDownscaling", "autoplay", "blurRadius", "priority", "placeholderContentFit", "responsivePolicy", "onLoadStart", "onProgress", "onLoadEnd"]);
42
- var StyledImage = styled(Component, {
43
- name: "Image"
44
- }, {
45
- inlineProps: inlinePropsSet
46
- });
47
- var ImageComponent = StyledImage.styleable(function (incomingProps, ref) {
48
- var props = incomingProps;
49
- var {
50
- src,
51
- source,
52
- width,
53
- height,
54
- borderRadius,
55
- objectFit,
56
- objectPosition,
57
- // web only props - filter out on native
58
- decoding,
59
- elementTiming,
60
- fetchpriority,
61
- isMap,
62
- loading,
63
- sizes,
64
- useMap,
65
- onLoad,
66
- onError,
67
- ...rest
68
- } = props;
69
- var resolvedWidth = typeof width === "string" && width[0] === "$" ? getTokenValue(width, "size") : width;
70
- var resolvedHeight = typeof height === "string" && height[0] === "$" ? getTokenValue(height, "size") : height;
71
- var finalSource = transformSource({
72
- src,
73
- source,
74
- width: resolvedWidth,
75
- height: resolvedHeight
76
- });
77
- var incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;
78
- var resolvedBorderRadius = typeof borderRadius === "string" && borderRadius[0] === "$" ? getTokenValue(borderRadius, "radius") : borderRadius;
79
- var finalProps = {
80
- ...rest,
81
- source: finalSource,
82
- style: {
83
- ...incomingStyle,
84
- ...(resolvedBorderRadius !== void 0 && {
85
- borderRadius: resolvedBorderRadius
86
- }),
87
- ...(resolvedWidth !== void 0 && {
88
- width: resolvedWidth
89
- }),
90
- ...(resolvedHeight !== void 0 && {
91
- height: resolvedHeight
92
- })
93
- }
94
- };
95
- if (objectFit) {
96
- finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);
97
- }
98
- if (objectPositionPropName && objectPosition) {
99
- finalProps[objectPositionPropName] = objectPosition;
100
- }
101
- if (onLoad) {
102
- finalProps.onLoad = function (e) {
103
- var _e_nativeEvent;
104
- 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) || {};
105
- onLoad({
106
- target: {
107
- naturalHeight: source2 === null || source2 === void 0 ? void 0 : source2.height,
108
- naturalWidth: source2 === null || source2 === void 0 ? void 0 : source2.width
109
- },
110
- type: "load"
111
- });
112
- };
113
- }
114
- if (onError) {
115
- finalProps.onError = function () {
116
- onError({
117
- type: "error"
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":["jsx","_jsx","getTokenValue","styled","defaultObjectFitMap","objectFit","defaultTransformSource","props","src","source","uri","createImage","options","Component","mapObjectFitToResizeMode","resizeModePropName","objectPositionPropName","transformSource","inlinePropsSet","Set","StyledImage","name","inlineProps","ImageComponent","styleable","incomingProps","ref","width","height","borderRadius","objectPosition","decoding","elementTiming","fetchpriority","isMap","loading","sizes","useMap","onLoad","onError","rest","resolvedWidth","resolvedHeight","finalSource","incomingStyle","Array","isArray","style","Object","assign","flat","resolvedBorderRadius","finalProps","e","_e_nativeEvent","source2","nativeEvent","target","naturalHeight","naturalWidth","type","comp","getSize","getSizeWithHeaders","prefetch","prefetchWithMetadata","abortPrefetch","queryCache"],"sources":["../../src/createImage.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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":"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"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./Image.mjs";
2
- export * from "./createImage.mjs";
3
- //# sourceMappingURL=index.js.map
1
+ export * from "./Image.mjs"
2
+
3
+ export * from "./createImage.mjs"
@@ -1,3 +1,3 @@
1
- export * from "./Image.mjs";
2
- export * from "./createImage.mjs";
3
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./Image.mjs"
2
+
3
+ export * from "./createImage.mjs"
@@ -1,3 +1,3 @@
1
- export * from "./Image.native.js";
2
- export * from "./createImage.native.js";
3
- //# sourceMappingURL=index.native.js.map
1
+ export * from "./Image.native.js"
2
+
3
+ export * from "./createImage.native.js"
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.mjs.map
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.native.js.map