@tamagui/image 2.0.0-rc.4 → 2.0.0-rc.40

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 (87) hide show
  1. package/dist/cjs/Image.cjs +42 -40
  2. package/dist/cjs/Image.native.js +17 -15
  3. package/dist/cjs/Image.native.js.map +1 -1
  4. package/dist/cjs/createImage.cjs +123 -88
  5. package/dist/cjs/createImage.native.js +128 -95
  6. package/dist/cjs/createImage.native.js.map +1 -1
  7. package/dist/cjs/index.cjs +7 -5
  8. package/dist/cjs/index.native.js +7 -5
  9. package/dist/cjs/index.native.js.map +1 -1
  10. package/dist/cjs/types.cjs +7 -5
  11. package/dist/cjs/types.native.js +7 -5
  12. package/dist/cjs/types.native.js.map +1 -1
  13. package/dist/cjs/v1/Image.cjs +63 -48
  14. package/dist/cjs/v1/Image.native.js +91 -73
  15. package/dist/cjs/v1/Image.native.js.map +1 -1
  16. package/dist/cjs/v1/index.cjs +7 -5
  17. package/dist/cjs/v1/index.native.js +7 -5
  18. package/dist/cjs/v1/index.native.js.map +1 -1
  19. package/dist/esm/Image.mjs +28 -28
  20. package/dist/esm/Image.mjs.map +1 -1
  21. package/dist/esm/createImage.mjs +109 -76
  22. package/dist/esm/createImage.mjs.map +1 -1
  23. package/dist/esm/createImage.native.js +113 -82
  24. package/dist/esm/createImage.native.js.map +1 -1
  25. package/dist/esm/index.js +2 -2
  26. package/dist/esm/index.js.map +1 -6
  27. package/dist/esm/v1/Image.mjs +34 -21
  28. package/dist/esm/v1/Image.mjs.map +1 -1
  29. package/dist/esm/v1/Image.native.js +62 -46
  30. package/dist/esm/v1/Image.native.js.map +1 -1
  31. package/dist/jsx/Image.mjs +28 -28
  32. package/dist/jsx/Image.mjs.map +1 -1
  33. package/dist/jsx/Image.native.js +17 -15
  34. package/dist/jsx/Image.native.js.map +1 -1
  35. package/dist/jsx/createImage.mjs +109 -76
  36. package/dist/jsx/createImage.mjs.map +1 -1
  37. package/dist/jsx/createImage.native.js +128 -95
  38. package/dist/jsx/createImage.native.js.map +1 -1
  39. package/dist/jsx/index.js +2 -2
  40. package/dist/jsx/index.js.map +1 -6
  41. package/dist/jsx/index.native.js +7 -5
  42. package/dist/jsx/types.native.js +7 -5
  43. package/dist/jsx/v1/Image.mjs +34 -21
  44. package/dist/jsx/v1/Image.mjs.map +1 -1
  45. package/dist/jsx/v1/Image.native.js +91 -73
  46. package/dist/jsx/v1/Image.native.js.map +1 -1
  47. package/dist/jsx/v1/index.native.js +7 -5
  48. package/package.json +9 -12
  49. package/src/createImage.tsx +20 -6
  50. package/src/types.ts +1 -1
  51. package/types/Image.native.d.ts +1 -1
  52. package/types/createImage.d.ts +2 -2
  53. package/types/createImage.d.ts.map +1 -1
  54. package/types/types.d.ts +1 -1
  55. package/types/types.d.ts.map +1 -1
  56. package/dist/cjs/Image.js +0 -55
  57. package/dist/cjs/Image.js.map +0 -6
  58. package/dist/cjs/createImage.js +0 -127
  59. package/dist/cjs/createImage.js.map +0 -6
  60. package/dist/cjs/index.js +0 -16
  61. package/dist/cjs/index.js.map +0 -6
  62. package/dist/cjs/types.js +0 -14
  63. package/dist/cjs/types.js.map +0 -6
  64. package/dist/cjs/v1/Image.js +0 -72
  65. package/dist/cjs/v1/Image.js.map +0 -6
  66. package/dist/cjs/v1/index.js +0 -15
  67. package/dist/cjs/v1/index.js.map +0 -6
  68. package/dist/esm/Image.js +0 -40
  69. package/dist/esm/Image.js.map +0 -6
  70. package/dist/esm/createImage.js +0 -112
  71. package/dist/esm/createImage.js.map +0 -6
  72. package/dist/esm/types.js +0 -1
  73. package/dist/esm/types.js.map +0 -6
  74. package/dist/esm/v1/Image.js +0 -52
  75. package/dist/esm/v1/Image.js.map +0 -6
  76. package/dist/esm/v1/index.js +0 -2
  77. package/dist/esm/v1/index.js.map +0 -6
  78. package/dist/jsx/Image.js +0 -40
  79. package/dist/jsx/Image.js.map +0 -6
  80. package/dist/jsx/createImage.js +0 -112
  81. package/dist/jsx/createImage.js.map +0 -6
  82. package/dist/jsx/types.js +0 -1
  83. package/dist/jsx/types.js.map +0 -6
  84. package/dist/jsx/v1/Image.js +0 -52
  85. package/dist/jsx/v1/Image.js.map +0 -6
  86. package/dist/jsx/v1/index.js +0 -2
  87. package/dist/jsx/v1/index.js.map +0 -6
@@ -1 +1 @@
1
- {"version":3,"names":["View","styled","jsx","StyledImage","name","render","Image","styleable","inProps","ref","blurRadius","capInsets","defaultSource","fadeDuration","loadingIndicatorSource","onLoadEnd","onPartialLoad","progressiveRenderingEnabled","resizeMethod","tintColor","rest","staticConfig","memo","func","getSize","getSizeWithHeaders","prefetch","prefetchWithMetadata","abortPrefetch","queryCache"],"sources":["../../src/Image.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAA,EAAMC,MAAA,QAAc;AAwBlB,SAAAC,GAAA;AArBX,MAAMC,WAAA,GAAcF,MAAA,CAAOD,IAAA,EAAM;IAC/BI,IAAA,EAAM;IACNC,MAAA,EAAQ;EACV,CAAC;EAEYC,KAAA,GAAQH,WAAA,CAAYI,SAAA,CAC/B,CAACC,OAAA,EAASC,GAAA,KAAQ;IAChB,MAAM;MAAA;MAEJC,UAAA;MACAC,SAAA;MACAC,aAAA;MACAC,YAAA;MACAC,sBAAA;MACAC,SAAA;MACAC,aAAA;MACAC,2BAAA;MACAC,YAAA;MACAC,SAAA;MACA,GAAGC;IACL,IAAIZ,OAAA;IACJ,OAAO,eAAAN,GAAA,CAACC,WAAA;MAAYM,GAAA;MAAW,GAAGW;IAAA,CAAM;EAC1C,GACA;IACEC,YAAA,EAAc;MACZC,IAAA,EAAM;IACR;EACF,CACF;EAEMC,IAAA,GAAQA,CAAA,KAAM,CAAC;AAErBjB,KAAA,CAAMkB,OAAA,GAAUD,IAAA;AAChBjB,KAAA,CAAMmB,kBAAA,GAAqBF,IAAA;AAC3BjB,KAAA,CAAMoB,QAAA,GAAWH,IAAA;AACjBjB,KAAA,CAAMqB,oBAAA,GAAuBJ,IAAA;AAC7BjB,KAAA,CAAMsB,aAAA,GAAgBL,IAAA;AACtBjB,KAAA,CAAMuB,UAAA,GAAaN,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["View","styled","jsx","StyledImage","name","render","Image","styleable","inProps","ref","blurRadius","capInsets","defaultSource","fadeDuration","loadingIndicatorSource","onLoadEnd","onPartialLoad","progressiveRenderingEnabled","resizeMethod","tintColor","rest","staticConfig","memo","func","getSize","getSizeWithHeaders","prefetch","prefetchWithMetadata","abortPrefetch","queryCache"],"sources":["../../src/Image.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAA,EAAMC,MAAA,QAAc;AAwBlB,SAAAC,GAAA;AArBX,MAAMC,WAAA,GAAcF,MAAA,CAAOD,IAAA,EAAM;EAC/BI,IAAA,EAAM;EACNC,MAAA,EAAQ;AACV,CAAC;AAEM,MAAMC,KAAA,GAAQH,WAAA,CAAYI,SAAA,CAC/B,CAACC,OAAA,EAASC,GAAA,KAAQ;EAChB,MAAM;IAAA;IAEJC,UAAA;IACAC,SAAA;IACAC,aAAA;IACAC,YAAA;IACAC,sBAAA;IACAC,SAAA;IACAC,aAAA;IACAC,2BAAA;IACAC,YAAA;IACAC,SAAA;IACA,GAAGC;EACL,IAAIZ,OAAA;EACJ,OAAO,eAAAN,GAAA,CAACC,WAAA;IAAYM,GAAA;IAAW,GAAGW;EAAA,CAAM;AAC1C,GACA;EACEC,YAAA,EAAc;IACZC,IAAA,EAAM;EACR;AACF,CACF;AAEA,MAAMC,IAAA,GAAQA,CAAA,KAAM,CAAC;AAErBjB,KAAA,CAAMkB,OAAA,GAAUD,IAAA;AAChBjB,KAAA,CAAMmB,kBAAA,GAAqBF,IAAA;AAC3BjB,KAAA,CAAMoB,QAAA,GAAWH,IAAA;AACjBjB,KAAA,CAAMqB,oBAAA,GAAuBJ,IAAA;AAC7BjB,KAAA,CAAMsB,aAAA,GAAgBL,IAAA;AACtBjB,KAAA,CAAMuB,UAAA,GAAaN,IAAA","ignoreList":[]}
@@ -1,80 +1,102 @@
1
1
  import { getTokenValue, styled } from "@tamagui/web";
2
2
  import { jsx } from "react/jsx-runtime";
3
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
- }
16
- },
17
- defaultTransformSource = props => {
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
+ }
16
+ };
17
+ const defaultTransformSource = props => {
18
+ const {
19
+ src,
20
+ source,
21
+ width,
22
+ height
23
+ } = props;
24
+ if (source) return source;
25
+ if (src && typeof src !== "string") return src;
26
+ return {
27
+ uri: src,
28
+ width,
29
+ height
30
+ };
31
+ };
32
+ function createImage(options) {
33
+ const {
34
+ Component,
35
+ mapObjectFitToResizeMode = defaultObjectFitMap,
36
+ resizeModePropName = "resizeMode",
37
+ objectPositionPropName,
38
+ transformSource = defaultTransformSource
39
+ } = options;
40
+ const inlinePropsSet = /* @__PURE__ */new Set(["source", "placeholder", "transition", "contentFit", "contentPosition", "cachePolicy", "recyclingKey", "allowDownscaling", "autoplay", "blurRadius", "priority", "placeholderContentFit", "responsivePolicy", "onLoadStart", "onProgress", "onLoadEnd"]);
41
+ const StyledImage = styled(Component, {
42
+ name: "Image"
43
+ }, {
44
+ inlineProps: inlinePropsSet
45
+ });
46
+ const ImageComponent = StyledImage.styleable((incomingProps, ref) => {
47
+ const props = incomingProps;
18
48
  const {
19
49
  src,
20
- source,
21
50
  width,
22
- height
51
+ height,
52
+ borderRadius,
53
+ objectFit,
54
+ objectPosition,
55
+ // web only props - filter out on native
56
+ decoding,
57
+ elementTiming,
58
+ fetchpriority,
59
+ isMap,
60
+ loading,
61
+ sizes,
62
+ useMap,
63
+ onLoad,
64
+ onError,
65
+ ...rest
23
66
  } = props;
24
- return source || (src && typeof src != "string" ? src : {
25
- uri: src,
26
- width,
27
- height
67
+ const resolvedWidth = typeof width === "string" && width[0] === "$" ? getTokenValue(width, "size") : width;
68
+ const resolvedHeight = typeof height === "string" && height[0] === "$" ? getTokenValue(height, "size") : height;
69
+ const finalSource = transformSource({
70
+ src,
71
+ width: resolvedWidth,
72
+ height: resolvedHeight
28
73
  });
29
- };
30
- function createImage(options) {
31
- const {
32
- Component,
33
- mapObjectFitToResizeMode = defaultObjectFitMap,
34
- resizeModePropName = "resizeMode",
35
- objectPositionPropName,
36
- transformSource = defaultTransformSource
37
- } = options,
38
- ImageComponent = styled(Component, {
39
- name: "Image"
40
- }, {
41
- inlineProps: /* @__PURE__ */new Set(["source", "placeholder", "transition", "contentFit", "contentPosition", "cachePolicy", "recyclingKey", "allowDownscaling", "autoplay", "blurRadius", "priority", "placeholderContentFit", "responsivePolicy", "onLoadStart", "onProgress", "onLoadEnd"])
42
- }).styleable((incomingProps, ref) => {
43
- const props = incomingProps,
44
- {
45
- src,
46
- width,
47
- height,
48
- objectFit,
49
- objectPosition,
50
- // web only props - filter out on native
51
- decoding,
52
- elementTiming,
53
- fetchpriority,
54
- isMap,
55
- loading,
56
- sizes,
57
- useMap,
58
- onLoad,
59
- onError,
60
- ...rest
61
- } = props,
62
- resolvedWidth = typeof width == "string" && width[0] === "$" ? getTokenValue(width) : width,
63
- resolvedHeight = typeof height == "string" && height[0] === "$" ? getTokenValue(height) : height,
64
- finalSource = transformSource({
65
- src,
66
- width: resolvedWidth,
67
- height: resolvedHeight
74
+ const incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;
75
+ const resolvedBorderRadius = typeof borderRadius === "string" && borderRadius[0] === "$" ? getTokenValue(borderRadius, "radius") : borderRadius;
76
+ const finalProps = {
77
+ ...rest,
78
+ source: finalSource,
79
+ style: {
80
+ ...incomingStyle,
81
+ ...(resolvedBorderRadius !== void 0 && {
82
+ borderRadius: resolvedBorderRadius
83
+ }),
84
+ ...(resolvedWidth !== void 0 && {
85
+ width: resolvedWidth
68
86
  }),
69
- finalProps = {
70
- ...rest,
71
- source: finalSource,
72
- style: {
73
- width: resolvedWidth,
74
- height: resolvedHeight
75
- }
76
- };
77
- return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = e => {
87
+ ...(resolvedHeight !== void 0 && {
88
+ height: resolvedHeight
89
+ })
90
+ }
91
+ };
92
+ if (objectFit) {
93
+ finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);
94
+ }
95
+ if (objectPositionPropName && objectPosition) {
96
+ finalProps[objectPositionPropName] = objectPosition;
97
+ }
98
+ if (onLoad) {
99
+ finalProps.onLoad = e => {
78
100
  const source = e?.nativeEvent?.source || e?.source || {};
79
101
  onLoad({
80
102
  target: {
@@ -83,17 +105,28 @@ function createImage(options) {
83
105
  },
84
106
  type: "load"
85
107
  });
86
- }), onError && (finalProps.onError = () => {
108
+ };
109
+ }
110
+ if (onError) {
111
+ finalProps.onError = () => {
87
112
  onError({
88
113
  type: "error"
89
114
  });
90
- }), /* @__PURE__ */jsx(Component, {
91
- ref,
92
- ...finalProps
93
- });
94
- }),
95
- comp = Component;
96
- return ImageComponent.getSize = comp.getSize || (() => {}), ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => {}), ImageComponent.prefetch = comp.prefetch || (() => {}), ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => {}), ImageComponent.abortPrefetch = comp.abortPrefetch || (() => {}), ImageComponent.queryCache = comp.queryCache || (() => {}), ImageComponent;
115
+ };
116
+ }
117
+ return /* @__PURE__ */jsx(Component, {
118
+ ref,
119
+ ...finalProps
120
+ });
121
+ });
122
+ const comp = Component;
123
+ ImageComponent.getSize = comp.getSize || (() => {});
124
+ ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => {});
125
+ ImageComponent.prefetch = comp.prefetch || (() => {});
126
+ ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => {});
127
+ ImageComponent.abortPrefetch = comp.abortPrefetch || (() => {});
128
+ ImageComponent.queryCache = comp.queryCache || (() => {});
129
+ return ImageComponent;
97
130
  }
98
131
  export { createImage };
99
132
  //# sourceMappingURL=createImage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getTokenValue","styled","jsx","defaultObjectFitMap","objectFit","defaultTransformSource","props","src","source","width","height","uri","createImage","options","Component","mapObjectFitToResizeMode","resizeModePropName","objectPositionPropName","transformSource","ImageComponent","name","inlineProps","Set","styleable","incomingProps","ref","objectPosition","decoding","elementTiming","fetchpriority","isMap","loading","sizes","useMap","onLoad","onError","rest","resolvedWidth","resolvedHeight","finalSource","finalProps","style","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,"names":["getTokenValue","styled","jsx","defaultObjectFitMap","objectFit","defaultTransformSource","props","src","source","width","height","uri","createImage","options","Component","mapObjectFitToResizeMode","resizeModePropName","objectPositionPropName","transformSource","inlinePropsSet","Set","StyledImage","name","inlineProps","ImageComponent","styleable","incomingProps","ref","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,102 +1,133 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { getTokenValue, styled } from "@tamagui/web";
3
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
- }
16
- },
17
- defaultTransformSource = function (props) {
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
+ }
16
+ };
17
+ var defaultTransformSource = function (props) {
18
+ var {
19
+ src,
20
+ source,
21
+ width,
22
+ height
23
+ } = props;
24
+ if (source) return source;
25
+ if (src && typeof src !== "string") return src;
26
+ return {
27
+ uri: src,
28
+ width,
29
+ height
30
+ };
31
+ };
32
+ function createImage(options) {
33
+ var {
34
+ Component,
35
+ mapObjectFitToResizeMode = defaultObjectFitMap,
36
+ resizeModePropName = "resizeMode",
37
+ objectPositionPropName,
38
+ transformSource = defaultTransformSource
39
+ } = options;
40
+ var inlinePropsSet = /* @__PURE__ */new Set(["source", "placeholder", "transition", "contentFit", "contentPosition", "cachePolicy", "recyclingKey", "allowDownscaling", "autoplay", "blurRadius", "priority", "placeholderContentFit", "responsivePolicy", "onLoadStart", "onProgress", "onLoadEnd"]);
41
+ var StyledImage = styled(Component, {
42
+ name: "Image"
43
+ }, {
44
+ inlineProps: inlinePropsSet
45
+ });
46
+ var ImageComponent = StyledImage.styleable(function (incomingProps, ref) {
47
+ var props = incomingProps;
18
48
  var {
19
49
  src,
20
- source,
21
50
  width,
22
- height
51
+ height,
52
+ borderRadius,
53
+ objectFit,
54
+ objectPosition,
55
+ // web only props - filter out on native
56
+ decoding,
57
+ elementTiming,
58
+ fetchpriority,
59
+ isMap,
60
+ loading,
61
+ sizes,
62
+ useMap,
63
+ onLoad,
64
+ onError,
65
+ ...rest
23
66
  } = props;
24
- return source || (src && typeof src != "string" ? src : {
25
- uri: src,
26
- width,
27
- height
67
+ var resolvedWidth = typeof width === "string" && width[0] === "$" ? getTokenValue(width, "size") : width;
68
+ var resolvedHeight = typeof height === "string" && height[0] === "$" ? getTokenValue(height, "size") : height;
69
+ var finalSource = transformSource({
70
+ src,
71
+ width: resolvedWidth,
72
+ height: resolvedHeight
28
73
  });
29
- };
30
- function createImage(options) {
31
- var {
32
- Component,
33
- mapObjectFitToResizeMode = defaultObjectFitMap,
34
- resizeModePropName = "resizeMode",
35
- objectPositionPropName,
36
- transformSource = defaultTransformSource
37
- } = options,
38
- inlinePropsSet = /* @__PURE__ */new Set(["source", "placeholder", "transition", "contentFit", "contentPosition", "cachePolicy", "recyclingKey", "allowDownscaling", "autoplay", "blurRadius", "priority", "placeholderContentFit", "responsivePolicy", "onLoadStart", "onProgress", "onLoadEnd"]),
39
- StyledImage = styled(Component, {
40
- name: "Image"
41
- }, {
42
- inlineProps: inlinePropsSet
43
- }),
44
- ImageComponent = StyledImage.styleable(function (incomingProps, ref) {
45
- var props = incomingProps,
46
- {
47
- src,
48
- width,
49
- height,
50
- objectFit,
51
- objectPosition,
52
- // web only props - filter out on native
53
- decoding,
54
- elementTiming,
55
- fetchpriority,
56
- isMap,
57
- loading,
58
- sizes,
59
- useMap,
60
- onLoad,
61
- onError,
62
- ...rest
63
- } = props,
64
- resolvedWidth = typeof width == "string" && width[0] === "$" ? getTokenValue(width) : width,
65
- resolvedHeight = typeof height == "string" && height[0] === "$" ? getTokenValue(height) : height,
66
- finalSource = transformSource({
67
- src,
68
- width: resolvedWidth,
69
- height: resolvedHeight
74
+ var incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style;
75
+ var resolvedBorderRadius = typeof borderRadius === "string" && borderRadius[0] === "$" ? getTokenValue(borderRadius, "radius") : borderRadius;
76
+ var finalProps = {
77
+ ...rest,
78
+ source: finalSource,
79
+ style: {
80
+ ...incomingStyle,
81
+ ...(resolvedBorderRadius !== void 0 && {
82
+ borderRadius: resolvedBorderRadius
83
+ }),
84
+ ...(resolvedWidth !== void 0 && {
85
+ width: resolvedWidth
70
86
  }),
71
- finalProps = {
72
- ...rest,
73
- source: finalSource,
74
- style: {
75
- width: resolvedWidth,
76
- height: resolvedHeight
77
- }
78
- };
79
- return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = function (e) {
80
- var _e_nativeEvent,
81
- source = (e == null || (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.source) || e?.source || {};
87
+ ...(resolvedHeight !== void 0 && {
88
+ height: resolvedHeight
89
+ })
90
+ }
91
+ };
92
+ if (objectFit) {
93
+ finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit);
94
+ }
95
+ if (objectPositionPropName && objectPosition) {
96
+ finalProps[objectPositionPropName] = objectPosition;
97
+ }
98
+ if (onLoad) {
99
+ finalProps.onLoad = function (e) {
100
+ var _e_nativeEvent;
101
+ var source = (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) || {};
82
102
  onLoad({
83
103
  target: {
84
- naturalHeight: source?.height,
85
- naturalWidth: source?.width
104
+ naturalHeight: source === null || source === void 0 ? void 0 : source.height,
105
+ naturalWidth: source === null || source === void 0 ? void 0 : source.width
86
106
  },
87
107
  type: "load"
88
108
  });
89
- }), onError && (finalProps.onError = function () {
109
+ };
110
+ }
111
+ if (onError) {
112
+ finalProps.onError = function () {
90
113
  onError({
91
114
  type: "error"
92
115
  });
93
- }), /* @__PURE__ */_jsx(Component, {
94
- ref,
95
- ...finalProps
96
- });
97
- }),
98
- comp = Component;
99
- return ImageComponent.getSize = comp.getSize || function () {}, ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || function () {}, ImageComponent.prefetch = comp.prefetch || function () {}, ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || function () {}, ImageComponent.abortPrefetch = comp.abortPrefetch || function () {}, ImageComponent.queryCache = comp.queryCache || function () {}, ImageComponent;
116
+ };
117
+ }
118
+ return /* @__PURE__ */_jsx(Component, {
119
+ ref,
120
+ ...finalProps
121
+ });
122
+ });
123
+ var comp = Component;
124
+ ImageComponent.getSize = comp.getSize || function () {};
125
+ ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || function () {};
126
+ ImageComponent.prefetch = comp.prefetch || function () {};
127
+ ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || function () {};
128
+ ImageComponent.abortPrefetch = comp.abortPrefetch || function () {};
129
+ ImageComponent.queryCache = comp.queryCache || function () {};
130
+ return ImageComponent;
100
131
  }
101
132
  export { createImage };
102
133
  //# sourceMappingURL=createImage.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","getTokenValue","styled","defaultObjectFitMap","objectFit","defaultTransformSource","props","src","source","width","height","uri","createImage","options","Component","mapObjectFitToResizeMode","resizeModePropName","objectPositionPropName","transformSource","inlinePropsSet","Set","StyledImage","name","inlineProps","ImageComponent","styleable","incomingProps","ref","objectPosition","decoding","elementTiming","fetchpriority","isMap","loading","sizes","useMap","onLoad","onError","rest","resolvedWidth","resolvedHeight","finalSource","finalProps","style","e","_e_nativeEvent","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,"names":["jsx","_jsx","getTokenValue","styled","defaultObjectFitMap","objectFit","defaultTransformSource","props","src","source","width","height","uri","createImage","options","Component","mapObjectFitToResizeMode","resizeModePropName","objectPositionPropName","transformSource","inlinePropsSet","Set","StyledImage","name","inlineProps","ImageComponent","styleable","incomingProps","ref","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","nativeEvent","target","naturalHeight","naturalWidth","type","comp","getSize","getSizeWithHeaders","prefetch","prefetchWithMetadata","abortPrefetch","queryCache"],"sources":["../../src/createImage.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./Image";
2
- export * from "./createImage";
1
+ export * from "./Image.mjs";
2
+ export * from "./createImage.mjs";
3
3
  //# sourceMappingURL=index.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;AACd,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -6,35 +6,48 @@ import { jsx } from "react/jsx-runtime";
6
6
  const StyledImage = styled(RNImage, {
7
7
  name: "Image"
8
8
  });
9
- let hasWarned = !1;
9
+ let hasWarned = false;
10
10
  const Image = StyledImage.styleable((inProps, ref) => {
11
- const [props, style] = usePropsAndStyle(inProps),
12
- {
13
- src,
14
- source,
15
- objectFit,
16
- ...rest
17
- } = props;
18
- process.env.NODE_ENV === "development" && typeof src == "string" && (typeof props.width == "string" && props.width[0] !== "$" || typeof props.height == "string" && props.height[0] !== "$") && (hasWarned || (hasWarned = !0, console.warn('React Native expects a numerical width/height. If you want to use a percent you must define the "source" prop with width, height, and uri.')));
19
- let finalSource = typeof src == "string" ? {
11
+ const [props, style] = usePropsAndStyle(inProps);
12
+ const {
13
+ src,
14
+ source,
15
+ objectFit,
16
+ ...rest
17
+ } = props;
18
+ if (process.env.NODE_ENV === "development") {
19
+ if (typeof src === "string") {
20
+ if (typeof props.width === "string" && props.width[0] !== "$" || typeof props.height === "string" && props.height[0] !== "$") {
21
+ if (!hasWarned) {
22
+ hasWarned = true;
23
+ console.warn(`React Native expects a numerical width/height. If you want to use a percent you must define the "source" prop with width, height, and uri.`);
24
+ }
25
+ }
26
+ }
27
+ }
28
+ let finalSource = typeof src === "string" ? {
20
29
  uri: src,
21
30
  ...(isWeb && {
22
31
  width: props.width || style?.width,
23
32
  height: props.height || style?.height
24
33
  })
25
34
  } : source ?? src;
26
- return finalSource && typeof finalSource == "object" && (process.env.NODE_ENV === "development" && process.env.TAMAGUI_IMAGE_CHECK_ERROR && React.useEffect(() => {
27
- async function run() {
28
- if (typeof src == "string") try {
29
- await fetch(src).then(res => res.text());
30
- } catch {
31
- console.error(`Error loading image: ${src}`, {
32
- props
33
- });
35
+ if (finalSource && typeof finalSource === "object") {
36
+ if (process.env.NODE_ENV === "development" && process.env.TAMAGUI_IMAGE_CHECK_ERROR) React.useEffect(() => {
37
+ async function run() {
38
+ if (typeof src === "string") try {
39
+ await fetch(src).then(res => res.text());
40
+ } catch (err) {
41
+ console.error(`Error loading image: ${src}`, {
42
+ props
43
+ });
44
+ }
34
45
  }
35
- }
36
- run();
37
- }, [src]), finalSource.default && (finalSource = finalSource.default)), /* @__PURE__ */jsx(RNImage, {
46
+ run();
47
+ }, [src]);
48
+ if (finalSource["default"]) finalSource = finalSource["default"];
49
+ }
50
+ return /* @__PURE__ */jsx(RNImage, {
38
51
  resizeMode: objectFit,
39
52
  ref,
40
53
  source: finalSource,
@@ -1 +1 @@
1
- {"version":3,"names":["React","isWeb","styled","usePropsAndStyle","Image","RNImage","jsx","StyledImage","name","hasWarned","styleable","inProps","ref","props","style","src","source","objectFit","rest","process","env","NODE_ENV","width","height","console","warn","finalSource","uri","TAMAGUI_IMAGE_CHECK_ERROR","useEffect","run","fetch","then","res","text","error","default","resizeMode","getSize","getSizeWithHeaders","prefetch","prefetchWithMetadata","abortPrefetch","queryCache"],"sources":["../../../src/v1/Image.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,KAAA,QAAa;AAQtB,SAASC,MAAA,EAAQC,gBAAA,QAAwB;AAEzC,SAASC,KAAA,IAASC,OAAA,QAAe;AAqH7B,SAAAC,GAAA;AAnHJ,MAAMC,WAAA,GAAcL,MAAA,CAAOG,OAAA,EAAS;EAClCG,IAAA,EAAM;AACR,CAAC;AAmCD,IAAIC,SAAA,GAAY;AAMT,MAAML,KAAA,GAAQG,WAAA,CAAYG,SAAA,CAAsB,CAACC,OAAA,EAASC,GAAA,KAAQ;EACvE,MAAM,CAACC,KAAA,EAAOC,KAAK,IAAIX,gBAAA,CAAiBQ,OAAO;IACzC;MAAEI,GAAA;MAAKC,MAAA;MAAQC,SAAA;MAAW,GAAGC;IAAK,IAAIL,KAAA;EAExCM,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvB,OAAON,GAAA,IAAQ,aAEd,OAAOF,KAAA,CAAMS,KAAA,IAAU,YAAYT,KAAA,CAAMS,KAAA,CAAM,CAAC,MAAM,OACtD,OAAOT,KAAA,CAAMU,MAAA,IAAW,YAAYV,KAAA,CAAMU,MAAA,CAAO,CAAC,MAAM,SAEpDd,SAAA,KACHA,SAAA,GAAY,IACZe,OAAA,CAAQC,IAAA,CACN,4IACF;EAMR,IAAIC,WAAA,GACF,OAAOX,GAAA,IAAQ,WACX;IACEY,GAAA,EAAKZ,GAAA;IACL,IAAId,KAAA,IAAS;MACXqB,KAAA,EAAOT,KAAA,CAAMS,KAAA,IAASR,KAAA,EAAOQ,KAAA;MAC7BC,MAAA,EAAQV,KAAA,CAAMU,MAAA,IAAUT,KAAA,EAAOS;IACjC;EACF,IACCP,MAAA,IAAUD,GAAA;EAEjB,OAAIW,WAAA,IAAe,OAAOA,WAAA,IAAgB,aAgBpCP,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiBF,OAAA,CAAQC,GAAA,CAAIQ,yBAAA,IAExD5B,KAAA,CAAM6B,SAAA,CAAU,MAAM;IACpB,eAAeC,IAAA,EAAM;MACnB,IAAI,OAAOf,GAAA,IAAQ,UACjB,IAAI;QACF,MAAMgB,KAAA,CAAMhB,GAAG,EAAEiB,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAA,CAAK,CAAC;MAC3C,QAAc;QACZV,OAAA,CAAQW,KAAA,CAAM,wBAAwBpB,GAAG,IAAI;UAAEF;QAAM,CAAC;MACxD;IAEJ;IAEAiB,GAAA,CAAI;EACN,GAAG,CAACf,GAAG,CAAC,GAINW,WAAA,CAAYU,OAAA,KACdV,WAAA,GAAcA,WAAA,CAAYU,OAAA,IAM5B,eAAA9B,GAAA,CAACD,OAAA;IACCgC,UAAA,EAAYpB,SAAA;IACZL,GAAA;IACAI,MAAA,EAAQU,WAAA;IACRZ,KAAA;IACC,GAAII;EAAA,CACP;AAEJ,CAAC;AAEDd,KAAA,CAAMkC,OAAA,GAAUjC,OAAA,CAAQiC,OAAA;AACxBlC,KAAA,CAAMmC,kBAAA,GAAqBlC,OAAA,CAAQkC,kBAAA;AACnCnC,KAAA,CAAMoC,QAAA,GAAWnC,OAAA,CAAQmC,QAAA;AACzBpC,KAAA,CAAMqC,oBAAA,GAAuBpC,OAAA,CAAQoC,oBAAA;AACrCrC,KAAA,CAAMsC,aAAA,GAAgBrC,OAAA,CAAQqC,aAAA;AAC9BtC,KAAA,CAAMuC,UAAA,GAAatC,OAAA,CAAQsC,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","isWeb","styled","usePropsAndStyle","Image","RNImage","jsx","StyledImage","name","hasWarned","styleable","inProps","ref","props","style","src","source","objectFit","rest","process","env","NODE_ENV","width","height","console","warn","finalSource","uri","TAMAGUI_IMAGE_CHECK_ERROR","useEffect","run","fetch","then","res","text","err","error","resizeMode","getSize","getSizeWithHeaders","prefetch","prefetchWithMetadata","abortPrefetch","queryCache"],"sources":["../../../src/v1/Image.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,KAAA,QAAa;AAQtB,SAASC,MAAA,EAAQC,gBAAA,QAAwB;AAEzC,SAASC,KAAA,IAASC,OAAA,QAAe;AAqH7B,SAAAC,GAAA;AAnHJ,MAAMC,WAAA,GAAcL,MAAA,CAAOG,OAAA,EAAS;EAAAG,IAAA;AAAA;AAAA,IAClCC,SAAM;AACR,MAACL,KAAA,GAAAG,WAAA,CAAAG,SAAA,EAAAC,OAAA,EAAAC,GAAA;EAmCD,MAAI,CAAAC,KAAA,EAAAC,KAAY,IAAAX,gBAAA,CAAAQ,OAAA;EAMT,MAAM;IAAAI,GAAA;IAAQC,MAAA;IAAAC,SAAY;IAAA,GAAsBC;EAAC,IAAAL,KAAS;EAC/D,IAAAM,OAAO,CAAAC,GAAO,CAAAC,QAAS,kBAAiB;IACxC,WAAQN,GAAK,aAAQ;MAErB,IAAI,OAAQF,KAAI,CAAAS,KAAA,aAAa,IAAAT,KAAe,CAAAS,KAAA,sBAAAT,KAAA,CAAAU,MAAA,iBAAAV,KAAA,CAAAU,MAAA;QAC1C,IAAI,CAAAd,SAAO;UACTA,SACG,GAAO;UAGRe,OAAI,CAACC,IAAA,6IAAW;QACd;MACA;IAAQ;EACN;EACF,IAAAC,WACF,UAAAX,GAAA;IAAAY,GAAA,EACFZ,GAAA;IAAA,IACFd,KAAA;MACFqB,KAAA,EAAAT,KAAA,CAAAS,KAAA,IAAAR,KAAA,EAAAQ,KAAA;MAEAC,MAAI,EAAAV,KAAA,CAAAU,MACF,IAAOT,KAAA,EAAAS;IACH;EACO,IACLP,MAAI,IAAAD,GAAS;EAAA,IAAAW,WACJ,IAAM,OAAAA,WAAgB;IAAA,IAC7BP,OAAA,CAAQC,GAAA,CAAAC,QAAM,KAAU,aAAO,IAAAF,OAAA,CAAAC,GAAA,CAAAQ,yBAAA,EAAA5B,KAAA,CAAA6B,SAAA;MAAA,eACjCC,IAAA;QACF,IACC,OAAAf,GAAU;UAEjB,MAAIgB,KAAA,CAAAhB,GAAA,CAAe,CAAAiB,IAAA,CAAOC,GAAA,IAAAA,GAAA,CAAAC,IAAgB;QACxC,SAAIC,GAAQ;UAEVX,OAAK,CAAAY,KAAM,yBAAsBrB,GAAA;YAAAF;UAAA;QAC/B;MACE;MACAiB,GAAA;IAEE,IAAAf,GAAA;IAEA,IAAAW,WAAA,CAAM,YAAWA,WAAO,GAAAA,WAAA;EAAA;EAC1B,OACF,eAAApB,GAAA,CAAAD,OAAA;IAAAgC,UACF,EAAApB,SAAA;IAAAL,GACF;IAEAI,MAAI,EAAAU,WAAY;IAEdZ,KAAA;IACE,GAAAI;EACE;AACE;AACEd,KAAA,CAAAkC,OAAA,GAAAjC,OAAM,CAAAiC,OAAW;AAAwBlC,KAAA,CAAAmC,kBAClC,GAAKlC,OAAA,CAAAkC,kBAAA;AACZnC,KAAA,CAAAoC,QAAA,GAAAnC,OAAQ,CAAAmC,QAAM;AAAwCpC,KAAA,CAAAqC,oBACxD,GAAApC,OAAA,CAAAoC,oBAAA;AAAArC,KAAA,CAAAsC,aACF,GAAArC,OAAA,CAAAqC,aAAA;AAAAtC,KAAA,CAAAuC,UACF,GAAAtC,OAAA,CAAAsC,UAAA;AAEA,SAAAvC,KAAI","ignoreList":[]}