@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,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Image.tsx"],
4
- "mappings": "AAAA,SAAS,MAAM,cAAc;AAwBlB;AArBX,MAAM,cAAc,OAAO,MAAM;AAAA,EAC/B,MAAM;AAAA,EACN,QAAQ;AACV,CAAC,GAEY,QAAQ,YAAY;AAAA,EAC/B,CAAC,SAAS,QAAQ;AAChB,UAAM;AAAA;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AACJ,WAAO,oBAAC,eAAY,KAAW,GAAG,MAAM;AAAA,EAC1C;AAAA,EACA;AAAA,IACE,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,EACF;AACF,GAEM,QAAQ,MAAM;AAAC;AAErB,MAAM,UAAU;AAChB,MAAM,qBAAqB;AAC3B,MAAM,WAAW;AACjB,MAAM,uBAAuB;AAC7B,MAAM,gBAAgB;AACtB,MAAM,aAAa;",
5
- "names": []
6
- }
@@ -1,112 +0,0 @@
1
- import { getTokenValue, styled } from "@tamagui/web";
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
- }
16
- }, defaultTransformSource = (props) => {
17
- const { src, source, width, height } = props;
18
- return source || (src && typeof src != "string" ? src : {
19
- uri: src,
20
- width,
21
- height
22
- });
23
- };
24
- function createImage(options) {
25
- const {
26
- Component,
27
- mapObjectFitToResizeMode = defaultObjectFitMap,
28
- resizeModePropName = "resizeMode",
29
- objectPositionPropName,
30
- transformSource = defaultTransformSource
31
- } = options, ImageComponent = styled(
32
- Component,
33
- {
34
- name: "Image"
35
- },
36
- {
37
- inlineProps: /* @__PURE__ */ new Set([
38
- "source",
39
- "placeholder",
40
- "transition",
41
- "contentFit",
42
- "contentPosition",
43
- "cachePolicy",
44
- "recyclingKey",
45
- "allowDownscaling",
46
- "autoplay",
47
- "blurRadius",
48
- "priority",
49
- "placeholderContentFit",
50
- "responsivePolicy",
51
- "onLoadStart",
52
- "onProgress",
53
- "onLoadEnd"
54
- ])
55
- }
56
- ).styleable((incomingProps, ref) => {
57
- const props = incomingProps, {
58
- src,
59
- width,
60
- height,
61
- objectFit,
62
- objectPosition,
63
- // web only props - filter out on native
64
- decoding,
65
- elementTiming,
66
- fetchpriority,
67
- isMap,
68
- loading,
69
- sizes,
70
- useMap,
71
- onLoad,
72
- onError,
73
- ...rest
74
- } = props, resolvedWidth = typeof width == "string" && width[0] === "$" ? getTokenValue(width) : width, resolvedHeight = typeof height == "string" && height[0] === "$" ? getTokenValue(height) : height, finalSource = transformSource({
75
- src,
76
- width: resolvedWidth,
77
- height: resolvedHeight
78
- }), finalProps = {
79
- ...rest,
80
- source: finalSource,
81
- style: {
82
- width: resolvedWidth,
83
- height: resolvedHeight
84
- }
85
- };
86
- return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = (e) => {
87
- const source = e?.nativeEvent?.source || e?.source || {};
88
- onLoad({
89
- target: {
90
- naturalHeight: source?.height,
91
- naturalWidth: source?.width
92
- },
93
- type: "load"
94
- });
95
- }), onError && (finalProps.onError = () => {
96
- onError({
97
- type: "error"
98
- });
99
- }), /* @__PURE__ */ jsx(Component, { ref, ...finalProps });
100
- }), comp = Component;
101
- return ImageComponent.getSize = comp.getSize || (() => {
102
- }), ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => {
103
- }), ImageComponent.prefetch = comp.prefetch || (() => {
104
- }), ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => {
105
- }), ImageComponent.abortPrefetch = comp.abortPrefetch || (() => {
106
- }), ImageComponent.queryCache = comp.queryCache || (() => {
107
- }), ImageComponent;
108
- }
109
- export {
110
- createImage
111
- };
112
- //# sourceMappingURL=createImage.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createImage.tsx"],
4
- "mappings": "AAAA,SAAS,eAAe,cAAc;AAyN3B;AA/KX,MAAM,sBAAsB,CAAC,cAAuC;AAClE,UAAQ,WAAW;AAAA,IACjB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF,GAEM,yBAAyB,CAAC,UAK1B;AACJ,QAAM,EAAE,KAAK,QAAQ,OAAO,OAAO,IAAI;AACvC,SAAI,WACA,OAAO,OAAO,OAAQ,WAAiB,MACpC;AAAA,IACL,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAyBO,SAAS,YACd,SACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA,2BAA2B;AAAA,IAC3B,qBAAqB;AAAA,IACrB;AAAA,IACA,kBAAkB;AAAA,EACpB,IAAI,SAmCE,iBAbc;AAAA,IAClB;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,aAzBmB,oBAAI,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IASC;AAAA,EACF,EAKmC,UAAyB,CAAC,eAAe,QAAQ;AAClF,UAAM,QAAQ,eACR;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,OAEE,gBACJ,OAAO,SAAU,YAAY,MAAM,CAAC,MAAM,MAAM,cAAc,KAAY,IAAI,OAC1E,iBACJ,OAAO,UAAW,YAAY,OAAO,CAAC,MAAM,MACxC,cAAc,MAAa,IAC3B,QAEA,cAAc,gBAAgB;AAAA,MAClC;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAC,GAEK,aAAkB;AAAA,MACtB,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AAGA,WAAI,cACF,WAAW,kBAAkB,IAAI,yBAAyB,SAAS,IAIjE,0BAA0B,mBAC5B,WAAW,sBAAsB,IAAI,iBAInC,WACF,WAAW,SAAS,CAAC,MAAW;AAC9B,YAAM,SAAS,GAAG,aAAa,UAAU,GAAG,UAAU,CAAC;AACvD,aAAO;AAAA,QACL,QAAQ;AAAA,UACN,eAAe,QAAQ;AAAA,UACvB,cAAc,QAAQ;AAAA,QACxB;AAAA,QACA,MAAM;AAAA,MACR,CAAQ;AAAA,IACV,IAIE,YACF,WAAW,UAAU,MAAM;AACzB,cAAQ;AAAA,QACN,MAAM;AAAA,MACR,CAAQ;AAAA,IACV,IAIK,oBAAC,aAAU,KAAW,GAAG,YAAY;AAAA,EAC9C,CAAC,GAGK,OAAO;AACb,wBAAe,UAAU,KAAK,YAAY,MAAM;AAAA,EAAC,IACjD,eAAe,qBAAqB,KAAK,uBAAuB,MAAM;AAAA,EAAC,IACvE,eAAe,WAAW,KAAK,aAAa,MAAM;AAAA,EAAC,IACnD,eAAe,uBAAuB,KAAK,yBAAyB,MAAM;AAAA,EAAC,IAC3E,eAAe,gBAAgB,KAAK,kBAAkB,MAAM;AAAA,EAAC,IAC7D,eAAe,aAAa,KAAK,eAAe,MAAM;AAAA,EAAC,IAEhD;AACT;",
5
- "names": []
6
- }
package/dist/esm/types.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
@@ -1,52 +0,0 @@
1
- import React from "react";
2
- import { isWeb } from "@tamagui/constants";
3
- import { styled, usePropsAndStyle } from "@tamagui/web";
4
- import { Image as RNImage } from "react-native-web";
5
- import { jsx } from "react/jsx-runtime";
6
- const StyledImage = styled(RNImage, {
7
- name: "Image"
8
- });
9
- let hasWarned = !1;
10
- const Image = StyledImage.styleable((inProps, ref) => {
11
- const [props, style] = usePropsAndStyle(inProps), { src, source, objectFit, ...rest } = props;
12
- 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(
13
- '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.'
14
- )));
15
- let finalSource = typeof src == "string" ? {
16
- uri: src,
17
- ...isWeb && {
18
- width: props.width || style?.width,
19
- height: props.height || style?.height
20
- }
21
- } : source ?? src;
22
- return finalSource && typeof finalSource == "object" && (process.env.NODE_ENV === "development" && process.env.TAMAGUI_IMAGE_CHECK_ERROR && React.useEffect(() => {
23
- async function run() {
24
- if (typeof src == "string")
25
- try {
26
- await fetch(src).then((res) => res.text());
27
- } catch {
28
- console.error(`Error loading image: ${src}`, { props });
29
- }
30
- }
31
- run();
32
- }, [src]), finalSource.default && (finalSource = finalSource.default)), /* @__PURE__ */ jsx(
33
- RNImage,
34
- {
35
- resizeMode: objectFit,
36
- ref,
37
- source: finalSource,
38
- style,
39
- ...rest
40
- }
41
- );
42
- });
43
- Image.getSize = RNImage.getSize;
44
- Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
45
- Image.prefetch = RNImage.prefetch;
46
- Image.prefetchWithMetadata = RNImage.prefetchWithMetadata;
47
- Image.abortPrefetch = RNImage.abortPrefetch;
48
- Image.queryCache = RNImage.queryCache;
49
- export {
50
- Image
51
- };
52
- //# sourceMappingURL=Image.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/v1/Image.tsx"],
4
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,aAAa;AAQtB,SAAS,QAAQ,wBAAwB;AAEzC,SAAS,SAAS,eAAe;AAqH7B;AAnHJ,MAAM,cAAc,OAAO,SAAS;AAAA,EAClC,MAAM;AACR,CAAC;AAmCD,IAAI,YAAY;AAMT,MAAM,QAAQ,YAAY,UAAsB,CAAC,SAAS,QAAQ;AACvE,QAAM,CAAC,OAAO,KAAK,IAAI,iBAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,WAAW,GAAG,KAAK,IAAI;AAE5C,EAAI,QAAQ,IAAI,aAAa,iBACvB,OAAO,OAAQ,aAEd,OAAO,MAAM,SAAU,YAAY,MAAM,MAAM,CAAC,MAAM,OACtD,OAAO,MAAM,UAAW,YAAY,MAAM,OAAO,CAAC,MAAM,SAEpD,cACH,YAAY,IACZ,QAAQ;AAAA,IACN;AAAA,EACF;AAMR,MAAI,cACF,OAAO,OAAQ,WACX;AAAA,IACE,KAAK;AAAA,IACL,GAAI,SAAS;AAAA,MACX,OAAO,MAAM,SAAS,OAAO;AAAA,MAC7B,QAAQ,MAAM,UAAU,OAAO;AAAA,IACjC;AAAA,EACF,IACC,UAAU;AAEjB,SAAI,eAAe,OAAO,eAAgB,aAgBpC,QAAQ,IAAI,aAAa,iBAAiB,QAAQ,IAAI,6BAExD,MAAM,UAAU,MAAM;AACpB,mBAAe,MAAM;AACnB,UAAI,OAAO,OAAQ;AACjB,YAAI;AACF,gBAAM,MAAM,GAAG,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;AAAA,QAC3C,QAAc;AACZ,kBAAQ,MAAM,wBAAwB,GAAG,IAAI,EAAE,MAAM,CAAC;AAAA,QACxD;AAAA,IAEJ;AAEA,QAAI;AAAA,EACN,GAAG,CAAC,GAAG,CAAC,GAIN,YAAY,YACd,cAAc,YAAY,WAM5B;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,MACZ;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACC,GAAI;AAAA;AAAA,EACP;AAEJ,CAAC;AAED,MAAM,UAAU,QAAQ;AACxB,MAAM,qBAAqB,QAAQ;AACnC,MAAM,WAAW,QAAQ;AACzB,MAAM,uBAAuB,QAAQ;AACrC,MAAM,gBAAgB,QAAQ;AAC9B,MAAM,aAAa,QAAQ;",
5
- "names": []
6
- }
@@ -1,2 +0,0 @@
1
- export * from "./Image";
2
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/v1/index.ts"],
4
- "mappings": "AAAA,cAAc;",
5
- "names": []
6
- }
package/dist/jsx/Image.js DELETED
@@ -1,40 +0,0 @@
1
- import { View, styled } from "@tamagui/web";
2
- import { jsx } from "react/jsx-runtime";
3
- const StyledImage = styled(View, {
4
- name: "Image",
5
- render: "img"
6
- }), Image = StyledImage.styleable(
7
- (inProps, ref) => {
8
- const {
9
- // exclude native only props
10
- blurRadius,
11
- capInsets,
12
- defaultSource,
13
- fadeDuration,
14
- loadingIndicatorSource,
15
- onLoadEnd,
16
- onPartialLoad,
17
- progressiveRenderingEnabled,
18
- resizeMethod,
19
- tintColor,
20
- ...rest
21
- } = inProps;
22
- return /* @__PURE__ */ jsx(StyledImage, { ref, ...rest });
23
- },
24
- {
25
- staticConfig: {
26
- memo: !0
27
- }
28
- }
29
- ), func = (() => {
30
- });
31
- Image.getSize = func;
32
- Image.getSizeWithHeaders = func;
33
- Image.prefetch = func;
34
- Image.prefetchWithMetadata = func;
35
- Image.abortPrefetch = func;
36
- Image.queryCache = func;
37
- export {
38
- Image
39
- };
40
- //# sourceMappingURL=Image.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Image.tsx"],
4
- "mappings": "AAAA,SAAS,MAAM,cAAc;AAwBlB;AArBX,MAAM,cAAc,OAAO,MAAM;AAAA,EAC/B,MAAM;AAAA,EACN,QAAQ;AACV,CAAC,GAEY,QAAQ,YAAY;AAAA,EAC/B,CAAC,SAAS,QAAQ;AAChB,UAAM;AAAA;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AACJ,WAAO,oBAAC,eAAY,KAAW,GAAG,MAAM;AAAA,EAC1C;AAAA,EACA;AAAA,IACE,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,EACF;AACF,GAEM,QAAQ,MAAM;AAAC;AAErB,MAAM,UAAU;AAChB,MAAM,qBAAqB;AAC3B,MAAM,WAAW;AACjB,MAAM,uBAAuB;AAC7B,MAAM,gBAAgB;AACtB,MAAM,aAAa;",
5
- "names": []
6
- }
@@ -1,112 +0,0 @@
1
- import { getTokenValue, styled } from "@tamagui/web";
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
- }
16
- }, defaultTransformSource = (props) => {
17
- const { src, source, width, height } = props;
18
- return source || (src && typeof src != "string" ? src : {
19
- uri: src,
20
- width,
21
- height
22
- });
23
- };
24
- function createImage(options) {
25
- const {
26
- Component,
27
- mapObjectFitToResizeMode = defaultObjectFitMap,
28
- resizeModePropName = "resizeMode",
29
- objectPositionPropName,
30
- transformSource = defaultTransformSource
31
- } = options, ImageComponent = styled(
32
- Component,
33
- {
34
- name: "Image"
35
- },
36
- {
37
- inlineProps: /* @__PURE__ */ new Set([
38
- "source",
39
- "placeholder",
40
- "transition",
41
- "contentFit",
42
- "contentPosition",
43
- "cachePolicy",
44
- "recyclingKey",
45
- "allowDownscaling",
46
- "autoplay",
47
- "blurRadius",
48
- "priority",
49
- "placeholderContentFit",
50
- "responsivePolicy",
51
- "onLoadStart",
52
- "onProgress",
53
- "onLoadEnd"
54
- ])
55
- }
56
- ).styleable((incomingProps, ref) => {
57
- const props = incomingProps, {
58
- src,
59
- width,
60
- height,
61
- objectFit,
62
- objectPosition,
63
- // web only props - filter out on native
64
- decoding,
65
- elementTiming,
66
- fetchpriority,
67
- isMap,
68
- loading,
69
- sizes,
70
- useMap,
71
- onLoad,
72
- onError,
73
- ...rest
74
- } = props, resolvedWidth = typeof width == "string" && width[0] === "$" ? getTokenValue(width) : width, resolvedHeight = typeof height == "string" && height[0] === "$" ? getTokenValue(height) : height, finalSource = transformSource({
75
- src,
76
- width: resolvedWidth,
77
- height: resolvedHeight
78
- }), finalProps = {
79
- ...rest,
80
- source: finalSource,
81
- style: {
82
- width: resolvedWidth,
83
- height: resolvedHeight
84
- }
85
- };
86
- return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = (e) => {
87
- const source = e?.nativeEvent?.source || e?.source || {};
88
- onLoad({
89
- target: {
90
- naturalHeight: source?.height,
91
- naturalWidth: source?.width
92
- },
93
- type: "load"
94
- });
95
- }), onError && (finalProps.onError = () => {
96
- onError({
97
- type: "error"
98
- });
99
- }), /* @__PURE__ */ jsx(Component, { ref, ...finalProps });
100
- }), comp = Component;
101
- return ImageComponent.getSize = comp.getSize || (() => {
102
- }), ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => {
103
- }), ImageComponent.prefetch = comp.prefetch || (() => {
104
- }), ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => {
105
- }), ImageComponent.abortPrefetch = comp.abortPrefetch || (() => {
106
- }), ImageComponent.queryCache = comp.queryCache || (() => {
107
- }), ImageComponent;
108
- }
109
- export {
110
- createImage
111
- };
112
- //# sourceMappingURL=createImage.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createImage.tsx"],
4
- "mappings": "AAAA,SAAS,eAAe,cAAc;AAyN3B;AA/KX,MAAM,sBAAsB,CAAC,cAAuC;AAClE,UAAQ,WAAW;AAAA,IACjB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF,GAEM,yBAAyB,CAAC,UAK1B;AACJ,QAAM,EAAE,KAAK,QAAQ,OAAO,OAAO,IAAI;AACvC,SAAI,WACA,OAAO,OAAO,OAAQ,WAAiB,MACpC;AAAA,IACL,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAyBO,SAAS,YACd,SACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA,2BAA2B;AAAA,IAC3B,qBAAqB;AAAA,IACrB;AAAA,IACA,kBAAkB;AAAA,EACpB,IAAI,SAmCE,iBAbc;AAAA,IAClB;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,aAzBmB,oBAAI,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IASC;AAAA,EACF,EAKmC,UAAyB,CAAC,eAAe,QAAQ;AAClF,UAAM,QAAQ,eACR;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,OAEE,gBACJ,OAAO,SAAU,YAAY,MAAM,CAAC,MAAM,MAAM,cAAc,KAAY,IAAI,OAC1E,iBACJ,OAAO,UAAW,YAAY,OAAO,CAAC,MAAM,MACxC,cAAc,MAAa,IAC3B,QAEA,cAAc,gBAAgB;AAAA,MAClC;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAC,GAEK,aAAkB;AAAA,MACtB,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AAGA,WAAI,cACF,WAAW,kBAAkB,IAAI,yBAAyB,SAAS,IAIjE,0BAA0B,mBAC5B,WAAW,sBAAsB,IAAI,iBAInC,WACF,WAAW,SAAS,CAAC,MAAW;AAC9B,YAAM,SAAS,GAAG,aAAa,UAAU,GAAG,UAAU,CAAC;AACvD,aAAO;AAAA,QACL,QAAQ;AAAA,UACN,eAAe,QAAQ;AAAA,UACvB,cAAc,QAAQ;AAAA,QACxB;AAAA,QACA,MAAM;AAAA,MACR,CAAQ;AAAA,IACV,IAIE,YACF,WAAW,UAAU,MAAM;AACzB,cAAQ;AAAA,QACN,MAAM;AAAA,MACR,CAAQ;AAAA,IACV,IAIK,oBAAC,aAAU,KAAW,GAAG,YAAY;AAAA,EAC9C,CAAC,GAGK,OAAO;AACb,wBAAe,UAAU,KAAK,YAAY,MAAM;AAAA,EAAC,IACjD,eAAe,qBAAqB,KAAK,uBAAuB,MAAM;AAAA,EAAC,IACvE,eAAe,WAAW,KAAK,aAAa,MAAM;AAAA,EAAC,IACnD,eAAe,uBAAuB,KAAK,yBAAyB,MAAM;AAAA,EAAC,IAC3E,eAAe,gBAAgB,KAAK,kBAAkB,MAAM;AAAA,EAAC,IAC7D,eAAe,aAAa,KAAK,eAAe,MAAM;AAAA,EAAC,IAEhD;AACT;",
5
- "names": []
6
- }
package/dist/jsx/types.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
@@ -1,52 +0,0 @@
1
- import React from "react";
2
- import { isWeb } from "@tamagui/constants";
3
- import { styled, usePropsAndStyle } from "@tamagui/web";
4
- import { Image as RNImage } from "react-native-web";
5
- import { jsx } from "react/jsx-runtime";
6
- const StyledImage = styled(RNImage, {
7
- name: "Image"
8
- });
9
- let hasWarned = !1;
10
- const Image = StyledImage.styleable((inProps, ref) => {
11
- const [props, style] = usePropsAndStyle(inProps), { src, source, objectFit, ...rest } = props;
12
- 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(
13
- '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.'
14
- )));
15
- let finalSource = typeof src == "string" ? {
16
- uri: src,
17
- ...isWeb && {
18
- width: props.width || style?.width,
19
- height: props.height || style?.height
20
- }
21
- } : source ?? src;
22
- return finalSource && typeof finalSource == "object" && (process.env.NODE_ENV === "development" && process.env.TAMAGUI_IMAGE_CHECK_ERROR && React.useEffect(() => {
23
- async function run() {
24
- if (typeof src == "string")
25
- try {
26
- await fetch(src).then((res) => res.text());
27
- } catch {
28
- console.error(`Error loading image: ${src}`, { props });
29
- }
30
- }
31
- run();
32
- }, [src]), finalSource.default && (finalSource = finalSource.default)), /* @__PURE__ */ jsx(
33
- RNImage,
34
- {
35
- resizeMode: objectFit,
36
- ref,
37
- source: finalSource,
38
- style,
39
- ...rest
40
- }
41
- );
42
- });
43
- Image.getSize = RNImage.getSize;
44
- Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
45
- Image.prefetch = RNImage.prefetch;
46
- Image.prefetchWithMetadata = RNImage.prefetchWithMetadata;
47
- Image.abortPrefetch = RNImage.abortPrefetch;
48
- Image.queryCache = RNImage.queryCache;
49
- export {
50
- Image
51
- };
52
- //# sourceMappingURL=Image.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/v1/Image.tsx"],
4
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,aAAa;AAQtB,SAAS,QAAQ,wBAAwB;AAEzC,SAAS,SAAS,eAAe;AAqH7B;AAnHJ,MAAM,cAAc,OAAO,SAAS;AAAA,EAClC,MAAM;AACR,CAAC;AAmCD,IAAI,YAAY;AAMT,MAAM,QAAQ,YAAY,UAAsB,CAAC,SAAS,QAAQ;AACvE,QAAM,CAAC,OAAO,KAAK,IAAI,iBAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,WAAW,GAAG,KAAK,IAAI;AAE5C,EAAI,QAAQ,IAAI,aAAa,iBACvB,OAAO,OAAQ,aAEd,OAAO,MAAM,SAAU,YAAY,MAAM,MAAM,CAAC,MAAM,OACtD,OAAO,MAAM,UAAW,YAAY,MAAM,OAAO,CAAC,MAAM,SAEpD,cACH,YAAY,IACZ,QAAQ;AAAA,IACN;AAAA,EACF;AAMR,MAAI,cACF,OAAO,OAAQ,WACX;AAAA,IACE,KAAK;AAAA,IACL,GAAI,SAAS;AAAA,MACX,OAAO,MAAM,SAAS,OAAO;AAAA,MAC7B,QAAQ,MAAM,UAAU,OAAO;AAAA,IACjC;AAAA,EACF,IACC,UAAU;AAEjB,SAAI,eAAe,OAAO,eAAgB,aAgBpC,QAAQ,IAAI,aAAa,iBAAiB,QAAQ,IAAI,6BAExD,MAAM,UAAU,MAAM;AACpB,mBAAe,MAAM;AACnB,UAAI,OAAO,OAAQ;AACjB,YAAI;AACF,gBAAM,MAAM,GAAG,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;AAAA,QAC3C,QAAc;AACZ,kBAAQ,MAAM,wBAAwB,GAAG,IAAI,EAAE,MAAM,CAAC;AAAA,QACxD;AAAA,IAEJ;AAEA,QAAI;AAAA,EACN,GAAG,CAAC,GAAG,CAAC,GAIN,YAAY,YACd,cAAc,YAAY,WAM5B;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,MACZ;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACC,GAAI;AAAA;AAAA,EACP;AAEJ,CAAC;AAED,MAAM,UAAU,QAAQ;AACxB,MAAM,qBAAqB,QAAQ;AACnC,MAAM,WAAW,QAAQ;AACzB,MAAM,uBAAuB,QAAQ;AACrC,MAAM,gBAAgB,QAAQ;AAC9B,MAAM,aAAa,QAAQ;",
5
- "names": []
6
- }
@@ -1,2 +0,0 @@
1
- export * from "./Image";
2
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/v1/index.ts"],
4
- "mappings": "AAAA,cAAc;",
5
- "names": []
6
- }