@tamagui/image 1.97.1 → 1.98.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/Image.js CHANGED
@@ -17,21 +17,19 @@ __export(Image_exports, {
17
17
  Image: () => Image
18
18
  });
19
19
  module.exports = __toCommonJS(Image_exports);
20
- var import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_react = require("react"), import_react_native = require("react-native-web"), import_jsx_runtime = require("react/jsx-runtime");
20
+ var import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_react_native = require("react-native-web"), import_jsx_runtime = require("react/jsx-runtime");
21
21
  const StyledImage = (0, import_core.styled)(import_react_native.Image, {
22
22
  name: "Image"
23
23
  });
24
24
  let hasWarned = !1;
25
- const Image = StyledImage.extractable(
26
- (0, import_react.forwardRef)((inProps, ref) => {
27
- const [props, style] = (0, import_core.usePropsAndStyle)(inProps), { src, source, ...rest } = props;
28
- 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(
29
- '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.'
30
- )));
31
- let finalSource = typeof src == "string" ? { uri: src, ...import_constants.isWeb && { width: props.width, height: props.height } } : source ?? src;
32
- return finalSource && typeof finalSource == "object" && finalSource.default && (finalSource = finalSource.default), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledImage, { ref, source: finalSource, style, ...rest });
33
- })
34
- );
25
+ const Image = StyledImage.styleable((inProps, ref) => {
26
+ const [props, style] = (0, import_core.usePropsAndStyle)(inProps), { src, source, ...rest } = props;
27
+ 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(
28
+ '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.'
29
+ )));
30
+ let finalSource = typeof src == "string" ? { uri: src, ...import_constants.isWeb && { width: props.width, height: props.height } } : source ?? src;
31
+ return finalSource && typeof finalSource == "object" && finalSource.default && (finalSource = finalSource.default), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledImage, { ref, source: finalSource, style, ...rest });
32
+ });
35
33
  Image.getSize = import_react_native.Image.getSize;
36
34
  Image.getSizeWithHeaders = import_react_native.Image.getSizeWithHeaders;
37
35
  Image.prefetch = import_react_native.Image.prefetch;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Image.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAsB,+BAQtB,cAAyC,0BACzC,eAAoC,kBACpC,sBAAiC,yBAoFtB;AAlFX,MAAM,kBAAc,oBAAO,oBAAAA,OAAS;AAAA,EAClC,MAAM;AACR,CAAC;AA6BD,IAAI,YAAY;AAET,MAAM,QAAQ,YAAY;AAAA,MAC/B,yBAAW,CAAC,SAAqB,QAAQ;AACvC,UAAM,CAAC,OAAO,KAAK,QAAI,8BAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,GAAG,KAAK,IAAI;AAEjC,IAAI,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,MACN;AAAA,IACF;AAMR,QAAI,cACF,OAAO,OAAQ,WACX,EAAE,KAAK,KAAK,GAAI,0BAAS,EAAE,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO,EAAG,IACvE,UAAU;AAEhB,WAAI,eAAe,OAAO,eAAgB,YAiBpC,YAAY,YACd,cAAc,YAAY,UAKvB,4CAAC,eAAY,KAAU,QAAQ,aAAa,OAAe,GAAI,MAAc;AAAA,EACtF,CAAC;AACH;AAEA,MAAM,UAAU,oBAAAA,MAAQ;AACxB,MAAM,qBAAqB,oBAAAA,MAAQ;AACnC,MAAM,WAAW,oBAAAA,MAAQ;AACzB,MAAM,uBAAuB,oBAAAA,MAAQ;AACrC,MAAM,gBAAgB,oBAAAA,MAAQ;AAC9B,MAAM,aAAa,oBAAAA,MAAQ;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAsB,+BAQtB,cAAyC,0BAEzC,sBAAiC,yBAyFxB;AAvFT,MAAM,kBAAc,oBAAO,oBAAAA,OAAS;AAAA,EAClC,MAAM;AACR,CAAC;AAmCD,IAAI,YAAY;AAET,MAAM,QAAQ,YAAY,UAAsB,CAAC,SAAS,QAAQ;AACvE,QAAM,CAAC,OAAO,KAAK,QAAI,8BAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,GAAG,KAAK,IAAI;AAEjC,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,EAAE,KAAK,KAAK,GAAI,0BAAS,EAAE,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO,EAAG,IACvE,UAAU;AAEhB,SAAI,eAAe,OAAO,eAAgB,YAiBpC,YAAY,YACd,cAAc,YAAY,UAKvB,4CAAC,eAAY,KAAU,QAAQ,aAAa,OAAe,GAAI,MAAc;AACtF,CAAC;AAED,MAAM,UAAU,oBAAAA,MAAQ;AACxB,MAAM,qBAAqB,oBAAAA,MAAQ;AACnC,MAAM,WAAW,oBAAAA,MAAQ;AACzB,MAAM,uBAAuB,oBAAAA,MAAQ;AACrC,MAAM,gBAAgB,oBAAAA,MAAQ;AAC9B,MAAM,aAAa,oBAAAA,MAAQ;",
5
5
  "names": ["RNImage"]
6
6
  }
@@ -18,7 +18,7 @@ __export(Image_exports, {
18
18
  Image: () => Image
19
19
  });
20
20
  module.exports = __toCommonJS(Image_exports);
21
- var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_react = require("react"), import_react_native = require("react-native");
21
+ var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_react_native = require("react-native");
22
22
  function _array_like_to_array(arr, len) {
23
23
  (len == null || len > arr.length) && (len = arr.length);
24
24
  for (var i = 0, arr2 = new Array(len); i < len; i++)
@@ -106,7 +106,7 @@ function _unsupported_iterable_to_array(o, minLen) {
106
106
  }
107
107
  var StyledImage = (0, import_core.styled)(import_react_native.Image, {
108
108
  name: "Image"
109
- }), hasWarned = !1, Image = StyledImage.extractable(/* @__PURE__ */ (0, import_react.forwardRef)(function(inProps, ref) {
109
+ }), hasWarned = !1, Image = StyledImage.styleable(function(inProps, ref) {
110
110
  var _usePropsAndStyle = _sliced_to_array((0, import_core.usePropsAndStyle)(inProps), 2), props = _usePropsAndStyle[0], style = _usePropsAndStyle[1], src = props.src, source = props.source, rest = _object_without_properties(props, [
111
111
  "src",
112
112
  "source"
@@ -132,7 +132,7 @@ var StyledImage = (0, import_core.styled)(import_react_native.Image, {
132
132
  source: finalSource,
133
133
  style
134
134
  }, rest));
135
- }));
135
+ });
136
136
  Image.getSize = import_react_native.Image.getSize;
137
137
  Image.getSizeWithHeaders = import_react_native.Image.getSizeWithHeaders;
138
138
  Image.prefetch = import_react_native.Image.prefetch;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/packages/image/src/Image.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;uDAAA,mBAAsB,+BAQtB,cAAyC,0BACzC,eAAoC,kBACpC,sBAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,IAAMA,kBAAcC,oBAAOC,oBAAAA,OAAS;EAClCC,MAAM;AACR,CAAA,GA6BIC,YAAY,IAEHC,QAAQL,YAAYM,YAC/BC,6CAAW,SAACC,SAAqBC,KAAAA;AAC/B,MAAuBC,oBAAAA,qBAAAA,8BAAiBF,OAAAA,GAAAA,CAAAA,GAAjCG,QAAgBD,kBAAAA,CAAAA,GAATE,QAASF,kBAAAA,CAAAA,GACfG,MAAyBF,MAAzBE,KAAKC,SAAoBH,MAApBG,QAAWC,OAAAA,2BAASJ,OAAAA;IAAzBE;IAAKC;;AAEb,EAAIE,QAAQC,IAAIC,aAAa,iBACvB,OAAOL,OAAQ,aAEd,OAAOF,MAAMQ,SAAU,YAAYR,MAAMQ,MAAM,CAAA,MAAO,OACtD,OAAOR,MAAMS,UAAW,YAAYT,MAAMS,OAAO,CAAA,MAAO,SAEpDhB,cACHA,YAAY,IACZiB,QAAQC,KACL,4IAAA;AAOX,MAAIC,cACF,OAAOV,OAAQ,WACX,eAAA;IAAEW,KAAKX;KAASY,0BAAS;IAAEN,OAAOR,MAAMQ;IAAOC,QAAQT,MAAMS;EAAO,CAAA,IACpEN,UAAUD;AAEhB,MAAIU,eAAe,OAAOA,eAAgB,UAAU;AAGhD,QAAI,CAACG,MAAMC,QAAQJ,WAAAA,KACb,OAAOA,YAAYC,OAAQ,aAC7BD,cAAcA,YAAYC,KACtBV,UAAU,OAAOA,UAAW,YAAY,CAACY,MAAMC,QAAQb,MAAAA,IAAS;UAElEF,QAEAA;AAFAA,OAAAA,UAAAA,SAAAA,OAAMO,WAAAA,QAAAA,WAAAA,WAANP,OAAMO,QAAUL,OAAOK;;AAEvBP,OAAAA,WAAAA,UAAAA,OAAMQ,YAAAA,QAAAA,YAAAA,WAANR,QAAMQ,SAAWN,OAAOM;IAC1B;AAMN,IAAIG,YAAY,YACdA,cAAcA,YAAY;EAE9B;AAGA,SAAO,uCAAAK,KAAC5B,aAAAA,eAAAA;IAAYS;IAAUK,QAAQS;IAAaX;KAAmBG,IAAAA,CAAAA;AACxE,CAAA,CAAA;AAGFV,MAAMwB,UAAU3B,oBAAAA,MAAQ2B;AACxBxB,MAAMyB,qBAAqB5B,oBAAAA,MAAQ4B;AACnCzB,MAAM0B,WAAW7B,oBAAAA,MAAQ6B;AACzB1B,MAAM2B,uBAAuB9B,oBAAAA,MAAQ8B;AACrC3B,MAAM4B,gBAAgB/B,oBAAAA,MAAQ+B;AAC9B5B,MAAM6B,aAAahC,oBAAAA,MAAQgC;",
5
- "names": ["StyledImage", "styled", "RNImage", "name", "hasWarned", "Image", "extractable", "forwardRef", "inProps", "ref", "usePropsAndStyle", "props", "style", "src", "source", "rest", "process", "env", "NODE_ENV", "width", "height", "console", "warn", "finalSource", "uri", "isWeb", "Array", "isArray", "_jsx", "getSize", "getSizeWithHeaders", "prefetch", "prefetchWithMetadata", "abortPrefetch", "queryCache"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;uDAAA,mBAAsB,+BAQtB,cAAyC,0BAEzC,sBAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,IAAMA,kBAAcC,oBAAOC,oBAAAA,OAAS;EAClCC,MAAM;AACR,CAAA,GAmCIC,YAAY,IAEHC,QAAQL,YAAYM,UAAsB,SAACC,SAASC,KAAAA;AAC/D,MAAuBC,oBAAAA,qBAAAA,8BAAiBF,OAAAA,GAAAA,CAAAA,GAAjCG,QAAgBD,kBAAAA,CAAAA,GAATE,QAASF,kBAAAA,CAAAA,GACfG,MAAyBF,MAAzBE,KAAKC,SAAoBH,MAApBG,QAAWC,OAAAA,2BAASJ,OAAAA;IAAzBE;IAAKC;;AAEb,EAAIE,QAAQC,IAAIC,aAAa,iBACvB,OAAOL,OAAQ,aAEd,OAAOF,MAAMQ,SAAU,YAAYR,MAAMQ,MAAM,CAAA,MAAO,OACtD,OAAOR,MAAMS,UAAW,YAAYT,MAAMS,OAAO,CAAA,MAAO,SAEpDf,cACHA,YAAY,IACZgB,QAAQC,KACL,4IAAA;AAOX,MAAIC,cACF,OAAOV,OAAQ,WACX,eAAA;IAAEW,KAAKX;KAASY,0BAAS;IAAEN,OAAOR,MAAMQ;IAAOC,QAAQT,MAAMS;EAAO,CAAA,IACpEN,UAAUD;AAEhB,MAAIU,eAAe,OAAOA,eAAgB,UAAU;AAGhD,QAAI,CAACG,MAAMC,QAAQJ,WAAAA,KACb,OAAOA,YAAYC,OAAQ,aAC7BD,cAAcA,YAAYC,KACtBV,UAAU,OAAOA,UAAW,YAAY,CAACY,MAAMC,QAAQb,MAAAA,IAAS;UAElEF,QAEAA;AAFAA,OAAAA,UAAAA,SAAAA,OAAMO,WAAAA,QAAAA,WAAAA,WAANP,OAAMO,QAAUL,OAAOK;;AAEvBP,OAAAA,WAAAA,UAAAA,OAAMQ,YAAAA,QAAAA,YAAAA,WAANR,QAAMQ,SAAWN,OAAOM;IAC1B;AAMN,IAAIG,YAAY,YACdA,cAAcA,YAAY;EAE9B;AAGA,SAAO,uCAAAK,KAAC3B,aAAAA,eAAAA;IAAYQ;IAAUK,QAAQS;IAAaX;KAAmBG,IAAAA,CAAAA;AACxE,CAAA;AAEAT,MAAMuB,UAAU1B,oBAAAA,MAAQ0B;AACxBvB,MAAMwB,qBAAqB3B,oBAAAA,MAAQ2B;AACnCxB,MAAMyB,WAAW5B,oBAAAA,MAAQ4B;AACzBzB,MAAM0B,uBAAuB7B,oBAAAA,MAAQ6B;AACrC1B,MAAM2B,gBAAgB9B,oBAAAA,MAAQ8B;AAC9B3B,MAAM4B,aAAa/B,oBAAAA,MAAQ+B;",
5
+ "names": ["StyledImage", "styled", "RNImage", "name", "hasWarned", "Image", "styleable", "inProps", "ref", "usePropsAndStyle", "props", "style", "src", "source", "rest", "process", "env", "NODE_ENV", "width", "height", "console", "warn", "finalSource", "uri", "isWeb", "Array", "isArray", "_jsx", "getSize", "getSizeWithHeaders", "prefetch", "prefetchWithMetadata", "abortPrefetch", "queryCache"]
6
6
  }
package/dist/esm/Image.js CHANGED
@@ -1,22 +1,19 @@
1
1
  import { isWeb } from "@tamagui/constants";
2
2
  import { styled, usePropsAndStyle } from "@tamagui/core";
3
- import { forwardRef } from "react";
4
3
  import { Image as RNImage } from "react-native-web";
5
4
  import { jsx } from "react/jsx-runtime";
6
5
  const StyledImage = styled(RNImage, {
7
6
  name: "Image"
8
7
  });
9
8
  let hasWarned = !1;
10
- const Image = StyledImage.extractable(
11
- forwardRef((inProps, ref) => {
12
- const [props, style] = usePropsAndStyle(inProps), { src, source, ...rest } = props;
13
- 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(
14
- '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.'
15
- )));
16
- let finalSource = typeof src == "string" ? { uri: src, ...isWeb && { width: props.width, height: props.height } } : source ?? src;
17
- return finalSource && typeof finalSource == "object" && finalSource.default && (finalSource = finalSource.default), /* @__PURE__ */ jsx(StyledImage, { ref, source: finalSource, style, ...rest });
18
- })
19
- );
9
+ const Image = StyledImage.styleable((inProps, ref) => {
10
+ const [props, style] = usePropsAndStyle(inProps), { src, source, ...rest } = props;
11
+ 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(
12
+ '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.'
13
+ )));
14
+ let finalSource = typeof src == "string" ? { uri: src, ...isWeb && { width: props.width, height: props.height } } : source ?? src;
15
+ return finalSource && typeof finalSource == "object" && finalSource.default && (finalSource = finalSource.default), /* @__PURE__ */ jsx(StyledImage, { ref, source: finalSource, style, ...rest });
16
+ });
20
17
  Image.getSize = RNImage.getSize;
21
18
  Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
22
19
  Image.prefetch = RNImage.prefetch;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Image.tsx"],
4
- "mappings": "AAAA,SAAS,aAAa;AAQtB,SAAS,QAAQ,wBAAwB;AACzC,SAAkB,kBAAkB;AACpC,SAAS,SAAS,eAAe;AAoFtB;AAlFX,MAAM,cAAc,OAAO,SAAS;AAAA,EAClC,MAAM;AACR,CAAC;AA6BD,IAAI,YAAY;AAET,MAAM,QAAQ,YAAY;AAAA,EAC/B,WAAW,CAAC,SAAqB,QAAQ;AACvC,UAAM,CAAC,OAAO,KAAK,IAAI,iBAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,GAAG,KAAK,IAAI;AAEjC,IAAI,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,MACN;AAAA,IACF;AAMR,QAAI,cACF,OAAO,OAAQ,WACX,EAAE,KAAK,KAAK,GAAI,SAAS,EAAE,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO,EAAG,IACvE,UAAU;AAEhB,WAAI,eAAe,OAAO,eAAgB,YAiBpC,YAAY,YACd,cAAc,YAAY,UAKvB,oBAAC,eAAY,KAAU,QAAQ,aAAa,OAAe,GAAI,MAAc;AAAA,EACtF,CAAC;AACH;AAEA,MAAM,UAAU,QAAQ;AACxB,MAAM,qBAAqB,QAAQ;AACnC,MAAM,WAAW,QAAQ;AACzB,MAAM,uBAAuB,QAAQ;AACrC,MAAM,gBAAgB,QAAQ;AAC9B,MAAM,aAAa,QAAQ;",
4
+ "mappings": "AAAA,SAAS,aAAa;AAQtB,SAAS,QAAQ,wBAAwB;AAEzC,SAAS,SAAS,eAAe;AAyFxB;AAvFT,MAAM,cAAc,OAAO,SAAS;AAAA,EAClC,MAAM;AACR,CAAC;AAmCD,IAAI,YAAY;AAET,MAAM,QAAQ,YAAY,UAAsB,CAAC,SAAS,QAAQ;AACvE,QAAM,CAAC,OAAO,KAAK,IAAI,iBAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,GAAG,KAAK,IAAI;AAEjC,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,EAAE,KAAK,KAAK,GAAI,SAAS,EAAE,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO,EAAG,IACvE,UAAU;AAEhB,SAAI,eAAe,OAAO,eAAgB,YAiBpC,YAAY,YACd,cAAc,YAAY,UAKvB,oBAAC,eAAY,KAAU,QAAQ,aAAa,OAAe,GAAI,MAAc;AACtF,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
5
  "names": []
6
6
  }
@@ -1,13 +1,12 @@
1
1
  import { isWeb } from "@tamagui/constants";
2
2
  import { styled, usePropsAndStyle } from "@tamagui/core";
3
- import { forwardRef } from "react";
4
3
  import { Image as RNImage } from "react-native-web";
5
4
  import { jsx } from "react/jsx-runtime";
6
5
  const StyledImage = styled(RNImage, {
7
6
  name: "Image"
8
7
  });
9
8
  let hasWarned = !1;
10
- const Image = StyledImage.extractable(forwardRef((inProps, ref) => {
9
+ const Image = StyledImage.styleable((inProps, ref) => {
11
10
  const [props, style] = usePropsAndStyle(inProps),
12
11
  {
13
12
  src,
@@ -28,7 +27,7 @@ const Image = StyledImage.extractable(forwardRef((inProps, ref) => {
28
27
  style,
29
28
  ...rest
30
29
  });
31
- }));
30
+ });
32
31
  Image.getSize = RNImage.getSize;
33
32
  Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
34
33
  Image.prefetch = RNImage.prefetch;
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { isWeb } from "@tamagui/constants";
3
3
  import { styled, usePropsAndStyle } from "@tamagui/core";
4
- import { forwardRef } from "react";
5
4
  import { Image as RNImage } from "react-native";
6
5
  function _array_like_to_array(arr, len) {
7
6
  (len == null || len > arr.length) && (len = arr.length);
@@ -90,7 +89,7 @@ function _unsupported_iterable_to_array(o, minLen) {
90
89
  }
91
90
  var StyledImage = styled(RNImage, {
92
91
  name: "Image"
93
- }), hasWarned = !1, Image = StyledImage.extractable(/* @__PURE__ */ forwardRef(function(inProps, ref) {
92
+ }), hasWarned = !1, Image = StyledImage.styleable(function(inProps, ref) {
94
93
  var _usePropsAndStyle = _sliced_to_array(usePropsAndStyle(inProps), 2), props = _usePropsAndStyle[0], style = _usePropsAndStyle[1], src = props.src, source = props.source, rest = _object_without_properties(props, [
95
94
  "src",
96
95
  "source"
@@ -116,7 +115,7 @@ var StyledImage = styled(RNImage, {
116
115
  source: finalSource,
117
116
  style
118
117
  }, rest));
119
- }));
118
+ });
120
119
  Image.getSize = RNImage.getSize;
121
120
  Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
122
121
  Image.prefetch = RNImage.prefetch;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/packages/image/src/Image.tsx"],
4
- "mappings": ";AAAA,SAASA,aAAa;AAQtB,SAASC,QAAQC,wBAAwB;AACzC,SAAkBC,kBAAkB;AACpC,SAASC,SAASC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,IAAMC,cAAcL,OAAOI,SAAS;EAClCE,MAAM;AACR,CAAA,GA6BIC,YAAY,IAEHJ,QAAQE,YAAYG,YAC/BN,2BAAW,SAACO,SAAqBC,KAAAA;AAC/B,MAAuBT,oBAAAA,iBAAAA,iBAAiBQ,OAAAA,GAAAA,CAAAA,GAAjCE,QAAgBV,kBAAAA,CAAAA,GAATW,QAASX,kBAAAA,CAAAA,GACfY,MAAyBF,MAAzBE,KAAKC,SAAoBH,MAApBG,QAAWC,OAAAA,2BAASJ,OAAAA;IAAzBE;IAAKC;;AAEb,EAAIE,QAAQC,IAAIC,aAAa,iBACvB,OAAOL,OAAQ,aAEd,OAAOF,MAAMQ,SAAU,YAAYR,MAAMQ,MAAM,CAAA,MAAO,OACtD,OAAOR,MAAMS,UAAW,YAAYT,MAAMS,OAAO,CAAA,MAAO,SAEpDb,cACHA,YAAY,IACZc,QAAQC,KACL,4IAAA;AAOX,MAAIC,cACF,OAAOV,OAAQ,WACX,eAAA;IAAEW,KAAKX;KAASd,SAAS;IAAEoB,OAAOR,MAAMQ;IAAOC,QAAQT,MAAMS;EAAO,CAAA,IACpEN,UAAUD;AAEhB,MAAIU,eAAe,OAAOA,eAAgB,UAAU;AAGhD,QAAI,CAACE,MAAMC,QAAQH,WAAAA,KACb,OAAOA,YAAYC,OAAQ,aAC7BD,cAAcA,YAAYC,KACtBV,UAAU,OAAOA,UAAW,YAAY,CAACW,MAAMC,QAAQZ,MAAAA,IAAS;UAElEF,QAEAA;AAFAA,OAAAA,UAAAA,SAAAA,OAAMO,WAAAA,QAAAA,WAAAA,WAANP,OAAMO,QAAUL,OAAOK;;AAEvBP,OAAAA,WAAAA,UAAAA,OAAMQ,YAAAA,QAAAA,YAAAA,WAANR,QAAMQ,SAAWN,OAAOM;IAC1B;AAMN,IAAIG,YAAY,YACdA,cAAcA,YAAY;EAE9B;AAGA,SAAO,qBAAClB,aAAAA,eAAAA;IAAYK;IAAUI,QAAQS;IAAaX;KAAmBG,IAAAA,CAAAA;AACxE,CAAA,CAAA;AAGFZ,MAAMwB,UAAUvB,QAAQuB;AACxBxB,MAAMyB,qBAAqBxB,QAAQwB;AACnCzB,MAAM0B,WAAWzB,QAAQyB;AACzB1B,MAAM2B,uBAAuB1B,QAAQ0B;AACrC3B,MAAM4B,gBAAgB3B,QAAQ2B;AAC9B5B,MAAM6B,aAAa5B,QAAQ4B;",
5
- "names": ["isWeb", "styled", "usePropsAndStyle", "forwardRef", "Image", "RNImage", "StyledImage", "name", "hasWarned", "extractable", "inProps", "ref", "props", "style", "src", "source", "rest", "process", "env", "NODE_ENV", "width", "height", "console", "warn", "finalSource", "uri", "Array", "isArray", "getSize", "getSizeWithHeaders", "prefetch", "prefetchWithMetadata", "abortPrefetch", "queryCache"]
4
+ "mappings": ";AAAA,SAASA,aAAa;AAQtB,SAASC,QAAQC,wBAAwB;AAEzC,SAASC,SAASC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,IAAMC,cAAcJ,OAAOG,SAAS;EAClCE,MAAM;AACR,CAAA,GAmCIC,YAAY,IAEHJ,QAAQE,YAAYG,UAAsB,SAACC,SAASC,KAAAA;AAC/D,MAAuBR,oBAAAA,iBAAAA,iBAAiBO,OAAAA,GAAAA,CAAAA,GAAjCE,QAAgBT,kBAAAA,CAAAA,GAATU,QAASV,kBAAAA,CAAAA,GACfW,MAAyBF,MAAzBE,KAAKC,SAAoBH,MAApBG,QAAWC,OAAAA,2BAASJ,OAAAA;IAAzBE;IAAKC;;AAEb,EAAIE,QAAQC,IAAIC,aAAa,iBACvB,OAAOL,OAAQ,aAEd,OAAOF,MAAMQ,SAAU,YAAYR,MAAMQ,MAAM,CAAA,MAAO,OACtD,OAAOR,MAAMS,UAAW,YAAYT,MAAMS,OAAO,CAAA,MAAO,SAEpDb,cACHA,YAAY,IACZc,QAAQC,KACL,4IAAA;AAOX,MAAIC,cACF,OAAOV,OAAQ,WACX,eAAA;IAAEW,KAAKX;KAASb,SAAS;IAAEmB,OAAOR,MAAMQ;IAAOC,QAAQT,MAAMS;EAAO,CAAA,IACpEN,UAAUD;AAEhB,MAAIU,eAAe,OAAOA,eAAgB,UAAU;AAGhD,QAAI,CAACE,MAAMC,QAAQH,WAAAA,KACb,OAAOA,YAAYC,OAAQ,aAC7BD,cAAcA,YAAYC,KACtBV,UAAU,OAAOA,UAAW,YAAY,CAACW,MAAMC,QAAQZ,MAAAA,IAAS;UAElEF,QAEAA;AAFAA,OAAAA,UAAAA,SAAAA,OAAMO,WAAAA,QAAAA,WAAAA,WAANP,OAAMO,QAAUL,OAAOK;;AAEvBP,OAAAA,WAAAA,UAAAA,OAAMQ,YAAAA,QAAAA,YAAAA,WAANR,QAAMQ,SAAWN,OAAOM;IAC1B;AAMN,IAAIG,YAAY,YACdA,cAAcA,YAAY;EAE9B;AAGA,SAAO,qBAAClB,aAAAA,eAAAA;IAAYK;IAAUI,QAAQS;IAAaX;KAAmBG,IAAAA,CAAAA;AACxE,CAAA;AAEAZ,MAAMwB,UAAUvB,QAAQuB;AACxBxB,MAAMyB,qBAAqBxB,QAAQwB;AACnCzB,MAAM0B,WAAWzB,QAAQyB;AACzB1B,MAAM2B,uBAAuB1B,QAAQ0B;AACrC3B,MAAM4B,gBAAgB3B,QAAQ2B;AAC9B5B,MAAM6B,aAAa5B,QAAQ4B;",
5
+ "names": ["isWeb", "styled", "usePropsAndStyle", "Image", "RNImage", "StyledImage", "name", "hasWarned", "styleable", "inProps", "ref", "props", "style", "src", "source", "rest", "process", "env", "NODE_ENV", "width", "height", "console", "warn", "finalSource", "uri", "Array", "isArray", "getSize", "getSizeWithHeaders", "prefetch", "prefetchWithMetadata", "abortPrefetch", "queryCache"]
6
6
  }
package/dist/jsx/Image.js CHANGED
@@ -1,22 +1,19 @@
1
1
  import { isWeb } from "@tamagui/constants";
2
2
  import { styled, usePropsAndStyle } from "@tamagui/core";
3
- import { forwardRef } from "react";
4
3
  import { Image as RNImage } from "react-native-web";
5
4
  import { jsx } from "react/jsx-runtime";
6
5
  const StyledImage = styled(RNImage, {
7
6
  name: "Image"
8
7
  });
9
8
  let hasWarned = !1;
10
- const Image = StyledImage.extractable(
11
- forwardRef((inProps, ref) => {
12
- const [props, style] = usePropsAndStyle(inProps), { src, source, ...rest } = props;
13
- 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(
14
- '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.'
15
- )));
16
- let finalSource = typeof src == "string" ? { uri: src, ...isWeb && { width: props.width, height: props.height } } : source ?? src;
17
- return finalSource && typeof finalSource == "object" && finalSource.default && (finalSource = finalSource.default), /* @__PURE__ */ jsx(StyledImage, { ref, source: finalSource, style, ...rest });
18
- })
19
- );
9
+ const Image = StyledImage.styleable((inProps, ref) => {
10
+ const [props, style] = usePropsAndStyle(inProps), { src, source, ...rest } = props;
11
+ 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(
12
+ '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.'
13
+ )));
14
+ let finalSource = typeof src == "string" ? { uri: src, ...isWeb && { width: props.width, height: props.height } } : source ?? src;
15
+ return finalSource && typeof finalSource == "object" && finalSource.default && (finalSource = finalSource.default), /* @__PURE__ */ jsx(StyledImage, { ref, source: finalSource, style, ...rest });
16
+ });
20
17
  Image.getSize = RNImage.getSize;
21
18
  Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
22
19
  Image.prefetch = RNImage.prefetch;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Image.tsx"],
4
- "mappings": "AAAA,SAAS,aAAa;AAQtB,SAAS,QAAQ,wBAAwB;AACzC,SAAkB,kBAAkB;AACpC,SAAS,SAAS,eAAe;AAoFtB;AAlFX,MAAM,cAAc,OAAO,SAAS;AAAA,EAClC,MAAM;AACR,CAAC;AA6BD,IAAI,YAAY;AAET,MAAM,QAAQ,YAAY;AAAA,EAC/B,WAAW,CAAC,SAAqB,QAAQ;AACvC,UAAM,CAAC,OAAO,KAAK,IAAI,iBAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,GAAG,KAAK,IAAI;AAEjC,IAAI,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,MACN;AAAA,IACF;AAMR,QAAI,cACF,OAAO,OAAQ,WACX,EAAE,KAAK,KAAK,GAAI,SAAS,EAAE,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO,EAAG,IACvE,UAAU;AAEhB,WAAI,eAAe,OAAO,eAAgB,YAiBpC,YAAY,YACd,cAAc,YAAY,UAKvB,oBAAC,eAAY,KAAU,QAAQ,aAAa,OAAe,GAAI,MAAc;AAAA,EACtF,CAAC;AACH;AAEA,MAAM,UAAU,QAAQ;AACxB,MAAM,qBAAqB,QAAQ;AACnC,MAAM,WAAW,QAAQ;AACzB,MAAM,uBAAuB,QAAQ;AACrC,MAAM,gBAAgB,QAAQ;AAC9B,MAAM,aAAa,QAAQ;",
4
+ "mappings": "AAAA,SAAS,aAAa;AAQtB,SAAS,QAAQ,wBAAwB;AAEzC,SAAS,SAAS,eAAe;AAyFxB;AAvFT,MAAM,cAAc,OAAO,SAAS;AAAA,EAClC,MAAM;AACR,CAAC;AAmCD,IAAI,YAAY;AAET,MAAM,QAAQ,YAAY,UAAsB,CAAC,SAAS,QAAQ;AACvE,QAAM,CAAC,OAAO,KAAK,IAAI,iBAAiB,OAAO,GACzC,EAAE,KAAK,QAAQ,GAAG,KAAK,IAAI;AAEjC,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,EAAE,KAAK,KAAK,GAAI,SAAS,EAAE,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO,EAAG,IACvE,UAAU;AAEhB,SAAI,eAAe,OAAO,eAAgB,YAiBpC,YAAY,YACd,cAAc,YAAY,UAKvB,oBAAC,eAAY,KAAU,QAAQ,aAAa,OAAe,GAAI,MAAc;AACtF,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
5
  "names": []
6
6
  }
@@ -1,13 +1,12 @@
1
1
  import { isWeb } from "@tamagui/constants";
2
2
  import { styled, usePropsAndStyle } from "@tamagui/core";
3
- import { forwardRef } from "react";
4
3
  import { Image as RNImage } from "react-native-web";
5
4
  import { jsx } from "react/jsx-runtime";
6
5
  const StyledImage = styled(RNImage, {
7
6
  name: "Image"
8
7
  });
9
8
  let hasWarned = !1;
10
- const Image = StyledImage.extractable(forwardRef((inProps, ref) => {
9
+ const Image = StyledImage.styleable((inProps, ref) => {
11
10
  const [props, style] = usePropsAndStyle(inProps),
12
11
  {
13
12
  src,
@@ -28,7 +27,7 @@ const Image = StyledImage.extractable(forwardRef((inProps, ref) => {
28
27
  style,
29
28
  ...rest
30
29
  });
31
- }));
30
+ });
32
31
  Image.getSize = RNImage.getSize;
33
32
  Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
34
33
  Image.prefetch = RNImage.prefetch;
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { isWeb } from "@tamagui/constants";
3
3
  import { styled, usePropsAndStyle } from "@tamagui/core";
4
- import { forwardRef } from "react";
5
4
  import { Image as RNImage } from "react-native";
6
5
  function _array_like_to_array(arr, len) {
7
6
  (len == null || len > arr.length) && (len = arr.length);
@@ -90,7 +89,7 @@ function _unsupported_iterable_to_array(o, minLen) {
90
89
  }
91
90
  var StyledImage = styled(RNImage, {
92
91
  name: "Image"
93
- }), hasWarned = !1, Image = StyledImage.extractable(/* @__PURE__ */ forwardRef(function(inProps, ref) {
92
+ }), hasWarned = !1, Image = StyledImage.styleable(function(inProps, ref) {
94
93
  var _usePropsAndStyle = _sliced_to_array(usePropsAndStyle(inProps), 2), props = _usePropsAndStyle[0], style = _usePropsAndStyle[1], src = props.src, source = props.source, rest = _object_without_properties(props, [
95
94
  "src",
96
95
  "source"
@@ -116,7 +115,7 @@ var StyledImage = styled(RNImage, {
116
115
  source: finalSource,
117
116
  style
118
117
  }, rest));
119
- }));
118
+ });
120
119
  Image.getSize = RNImage.getSize;
121
120
  Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
122
121
  Image.prefetch = RNImage.prefetch;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/packages/image/src/Image.tsx"],
4
- "mappings": ";AAAA,SAASA,aAAa;AAQtB,SAASC,QAAQC,wBAAwB;AACzC,SAAkBC,kBAAkB;AACpC,SAASC,SAASC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,IAAMC,cAAcL,OAAOI,SAAS;EAClCE,MAAM;AACR,CAAA,GA6BIC,YAAY,IAEHJ,QAAQE,YAAYG,YAC/BN,2BAAW,SAACO,SAAqBC,KAAAA;AAC/B,MAAuBT,oBAAAA,iBAAAA,iBAAiBQ,OAAAA,GAAAA,CAAAA,GAAjCE,QAAgBV,kBAAAA,CAAAA,GAATW,QAASX,kBAAAA,CAAAA,GACfY,MAAyBF,MAAzBE,KAAKC,SAAoBH,MAApBG,QAAWC,OAAAA,2BAASJ,OAAAA;IAAzBE;IAAKC;;AAEb,EAAIE,QAAQC,IAAIC,aAAa,iBACvB,OAAOL,OAAQ,aAEd,OAAOF,MAAMQ,SAAU,YAAYR,MAAMQ,MAAM,CAAA,MAAO,OACtD,OAAOR,MAAMS,UAAW,YAAYT,MAAMS,OAAO,CAAA,MAAO,SAEpDb,cACHA,YAAY,IACZc,QAAQC,KACL,4IAAA;AAOX,MAAIC,cACF,OAAOV,OAAQ,WACX,eAAA;IAAEW,KAAKX;KAASd,SAAS;IAAEoB,OAAOR,MAAMQ;IAAOC,QAAQT,MAAMS;EAAO,CAAA,IACpEN,UAAUD;AAEhB,MAAIU,eAAe,OAAOA,eAAgB,UAAU;AAGhD,QAAI,CAACE,MAAMC,QAAQH,WAAAA,KACb,OAAOA,YAAYC,OAAQ,aAC7BD,cAAcA,YAAYC,KACtBV,UAAU,OAAOA,UAAW,YAAY,CAACW,MAAMC,QAAQZ,MAAAA,IAAS;UAElEF,QAEAA;AAFAA,OAAAA,UAAAA,SAAAA,OAAMO,WAAAA,QAAAA,WAAAA,WAANP,OAAMO,QAAUL,OAAOK;;AAEvBP,OAAAA,WAAAA,UAAAA,OAAMQ,YAAAA,QAAAA,YAAAA,WAANR,QAAMQ,SAAWN,OAAOM;IAC1B;AAMN,IAAIG,YAAY,YACdA,cAAcA,YAAY;EAE9B;AAGA,SAAO,qBAAClB,aAAAA,eAAAA;IAAYK;IAAUI,QAAQS;IAAaX;KAAmBG,IAAAA,CAAAA;AACxE,CAAA,CAAA;AAGFZ,MAAMwB,UAAUvB,QAAQuB;AACxBxB,MAAMyB,qBAAqBxB,QAAQwB;AACnCzB,MAAM0B,WAAWzB,QAAQyB;AACzB1B,MAAM2B,uBAAuB1B,QAAQ0B;AACrC3B,MAAM4B,gBAAgB3B,QAAQ2B;AAC9B5B,MAAM6B,aAAa5B,QAAQ4B;",
5
- "names": ["isWeb", "styled", "usePropsAndStyle", "forwardRef", "Image", "RNImage", "StyledImage", "name", "hasWarned", "extractable", "inProps", "ref", "props", "style", "src", "source", "rest", "process", "env", "NODE_ENV", "width", "height", "console", "warn", "finalSource", "uri", "Array", "isArray", "getSize", "getSizeWithHeaders", "prefetch", "prefetchWithMetadata", "abortPrefetch", "queryCache"]
4
+ "mappings": ";AAAA,SAASA,aAAa;AAQtB,SAASC,QAAQC,wBAAwB;AAEzC,SAASC,SAASC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,IAAMC,cAAcJ,OAAOG,SAAS;EAClCE,MAAM;AACR,CAAA,GAmCIC,YAAY,IAEHJ,QAAQE,YAAYG,UAAsB,SAACC,SAASC,KAAAA;AAC/D,MAAuBR,oBAAAA,iBAAAA,iBAAiBO,OAAAA,GAAAA,CAAAA,GAAjCE,QAAgBT,kBAAAA,CAAAA,GAATU,QAASV,kBAAAA,CAAAA,GACfW,MAAyBF,MAAzBE,KAAKC,SAAoBH,MAApBG,QAAWC,OAAAA,2BAASJ,OAAAA;IAAzBE;IAAKC;;AAEb,EAAIE,QAAQC,IAAIC,aAAa,iBACvB,OAAOL,OAAQ,aAEd,OAAOF,MAAMQ,SAAU,YAAYR,MAAMQ,MAAM,CAAA,MAAO,OACtD,OAAOR,MAAMS,UAAW,YAAYT,MAAMS,OAAO,CAAA,MAAO,SAEpDb,cACHA,YAAY,IACZc,QAAQC,KACL,4IAAA;AAOX,MAAIC,cACF,OAAOV,OAAQ,WACX,eAAA;IAAEW,KAAKX;KAASb,SAAS;IAAEmB,OAAOR,MAAMQ;IAAOC,QAAQT,MAAMS;EAAO,CAAA,IACpEN,UAAUD;AAEhB,MAAIU,eAAe,OAAOA,eAAgB,UAAU;AAGhD,QAAI,CAACE,MAAMC,QAAQH,WAAAA,KACb,OAAOA,YAAYC,OAAQ,aAC7BD,cAAcA,YAAYC,KACtBV,UAAU,OAAOA,UAAW,YAAY,CAACW,MAAMC,QAAQZ,MAAAA,IAAS;UAElEF,QAEAA;AAFAA,OAAAA,UAAAA,SAAAA,OAAMO,WAAAA,QAAAA,WAAAA,WAANP,OAAMO,QAAUL,OAAOK;;AAEvBP,OAAAA,WAAAA,UAAAA,OAAMQ,YAAAA,QAAAA,YAAAA,WAANR,QAAMQ,SAAWN,OAAOM;IAC1B;AAMN,IAAIG,YAAY,YACdA,cAAcA,YAAY;EAE9B;AAGA,SAAO,qBAAClB,aAAAA,eAAAA;IAAYK;IAAUI,QAAQS;IAAaX;KAAmBG,IAAAA,CAAAA;AACxE,CAAA;AAEAZ,MAAMwB,UAAUvB,QAAQuB;AACxBxB,MAAMyB,qBAAqBxB,QAAQwB;AACnCzB,MAAM0B,WAAWzB,QAAQyB;AACzB1B,MAAM2B,uBAAuB1B,QAAQ0B;AACrC3B,MAAM4B,gBAAgB3B,QAAQ2B;AAC9B5B,MAAM6B,aAAa5B,QAAQ4B;",
5
+ "names": ["isWeb", "styled", "usePropsAndStyle", "Image", "RNImage", "StyledImage", "name", "hasWarned", "styleable", "inProps", "ref", "props", "style", "src", "source", "rest", "process", "env", "NODE_ENV", "width", "height", "console", "warn", "finalSource", "uri", "Array", "isArray", "getSize", "getSizeWithHeaders", "prefetch", "prefetchWithMetadata", "abortPrefetch", "queryCache"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/image",
3
- "version": "1.97.1",
3
+ "version": "1.98.1",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -32,17 +32,17 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@tamagui/constants": "1.97.1",
36
- "@tamagui/core": "1.97.1"
35
+ "@tamagui/constants": "1.98.1",
36
+ "@tamagui/core": "1.98.1"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": "*",
40
40
  "react-native": "*"
41
41
  },
42
42
  "devDependencies": {
43
- "@tamagui/build": "1.97.1",
43
+ "@tamagui/build": "1.98.1",
44
44
  "react": "^18.2.0",
45
- "react-native": "^0.73.4"
45
+ "react-native": "0.74.1"
46
46
  },
47
47
  "publishConfig": {
48
48
  "access": "public"
package/src/Image.tsx CHANGED
@@ -18,7 +18,10 @@ type StyledImageProps = Omit<GetProps<typeof StyledImage>, 'borderRadius'> & {
18
18
  borderRadius?: RadiusTokens
19
19
  }
20
20
 
21
- type BaseProps = Omit<StyledImageProps, 'width' | 'height' | 'style' | 'onLayout'> & {
21
+ type BaseProps = Omit<
22
+ StyledImageProps,
23
+ 'width' | 'height' | 'style' | 'onLayout' | 'resizeMode'
24
+ > & {
22
25
  width?: string | number | SizeTokens | ThemeValueFallback
23
26
  height?: string | number | SizeTokens | ThemeValueFallback
24
27
 
@@ -26,6 +29,9 @@ type BaseProps = Omit<StyledImageProps, 'width' | 'height' | 'style' | 'onLayout
26
29
  * @deprecated use `source` instead to disambiguate width/height style from width/height of the actual image
27
30
  */
28
31
  src?: string | StyledImageProps['source']
32
+ /** @deprecated use objectFit instead */
33
+ resizeMode?: StyledImageProps['resizeMode']
34
+ objectFit?: React.CSSProperties['objectFit']
29
35
  }
30
36
 
31
37
  export type ImageProps = BaseProps & Omit<StackProps, keyof BaseProps>
@@ -43,58 +49,56 @@ type ImageType = FC<ImageProps> & {
43
49
 
44
50
  let hasWarned = false
45
51
 
46
- export const Image = StyledImage.extractable(
47
- forwardRef((inProps: ImageProps, ref) => {
48
- const [props, style] = usePropsAndStyle(inProps)
49
- const { src, source, ...rest } = props
52
+ export const Image = StyledImage.styleable<ImageProps>((inProps, ref) => {
53
+ const [props, style] = usePropsAndStyle(inProps)
54
+ const { src, source, ...rest } = props
50
55
 
51
- if (process.env.NODE_ENV === 'development') {
52
- if (typeof src === 'string') {
53
- if (
54
- (typeof props.width === 'string' && props.width[0] !== '$') ||
55
- (typeof props.height === 'string' && props.height[0] !== '$')
56
- ) {
57
- if (!hasWarned) {
58
- hasWarned = true
59
- console.warn(
60
- `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.`
61
- )
62
- }
56
+ if (process.env.NODE_ENV === 'development') {
57
+ if (typeof src === 'string') {
58
+ if (
59
+ (typeof props.width === 'string' && props.width[0] !== '$') ||
60
+ (typeof props.height === 'string' && props.height[0] !== '$')
61
+ ) {
62
+ if (!hasWarned) {
63
+ hasWarned = true
64
+ console.warn(
65
+ `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.`
66
+ )
63
67
  }
64
68
  }
65
69
  }
70
+ }
66
71
 
67
- let finalSource =
68
- typeof src === 'string'
69
- ? { uri: src, ...(isWeb && { width: props.width, height: props.height }) }
70
- : source ?? src
72
+ let finalSource =
73
+ typeof src === 'string'
74
+ ? { uri: src, ...(isWeb && { width: props.width, height: props.height }) }
75
+ : source ?? src
71
76
 
72
- if (finalSource && typeof finalSource === 'object') {
73
- if (process.env.TAMAGUI_TARGET === 'native') {
74
- // fix: normalize import style images
75
- if (!Array.isArray(finalSource)) {
76
- if (typeof finalSource.uri === 'number') {
77
- finalSource = finalSource.uri
78
- if (source && typeof source === 'object' && !Array.isArray(source)) {
79
- // @ts-ignore
80
- style.width ??= source.width
81
- // @ts-ignore
82
- style.height ??= source.height
83
- }
77
+ if (finalSource && typeof finalSource === 'object') {
78
+ if (process.env.TAMAGUI_TARGET === 'native') {
79
+ // fix: normalize import style images
80
+ if (!Array.isArray(finalSource)) {
81
+ if (typeof finalSource.uri === 'number') {
82
+ finalSource = finalSource.uri
83
+ if (source && typeof source === 'object' && !Array.isArray(source)) {
84
+ // @ts-ignore
85
+ style.width ??= source.width
86
+ // @ts-ignore
87
+ style.height ??= source.height
84
88
  }
85
89
  }
86
90
  }
91
+ }
87
92
 
88
- // require compat across native/web
89
- if (finalSource['default']) {
90
- finalSource = finalSource['default']
91
- }
93
+ // require compat across native/web
94
+ if (finalSource['default']) {
95
+ finalSource = finalSource['default']
92
96
  }
97
+ }
93
98
 
94
- // must set defaultSource to allow SSR, default it to the same as src
95
- return <StyledImage ref={ref} source={finalSource} style={style} {...(rest as any)} />
96
- })
97
- ) as any as ImageType
99
+ // must set defaultSource to allow SSR, default it to the same as src
100
+ return <StyledImage ref={ref} source={finalSource} style={style} {...(rest as any)} />
101
+ }) as any as ImageType
98
102
 
99
103
  Image.getSize = RNImage.getSize
100
104
  Image.getSizeWithHeaders = RNImage.getSizeWithHeaders
package/types/Image.d.ts CHANGED
@@ -5,13 +5,16 @@ declare const StyledImage: import("@tamagui/core").TamaguiComponent<import("@tam
5
5
  type StyledImageProps = Omit<GetProps<typeof StyledImage>, 'borderRadius'> & {
6
6
  borderRadius?: RadiusTokens;
7
7
  };
8
- type BaseProps = Omit<StyledImageProps, 'width' | 'height' | 'style' | 'onLayout'> & {
8
+ type BaseProps = Omit<StyledImageProps, 'width' | 'height' | 'style' | 'onLayout' | 'resizeMode'> & {
9
9
  width?: string | number | SizeTokens | ThemeValueFallback;
10
10
  height?: string | number | SizeTokens | ThemeValueFallback;
11
11
  /**
12
12
  * @deprecated use `source` instead to disambiguate width/height style from width/height of the actual image
13
13
  */
14
14
  src?: string | StyledImageProps['source'];
15
+ /** @deprecated use objectFit instead */
16
+ resizeMode?: StyledImageProps['resizeMode'];
17
+ objectFit?: React.CSSProperties['objectFit'];
15
18
  };
16
19
  export type ImageProps = BaseProps & Omit<StackProps, keyof BaseProps>;
17
20
  type RNImageType = typeof RNImage;
@@ -1 +1 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../src/Image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EACnB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,KAAK,EAAE,EAAc,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AAE/C,QAAA,MAAM,WAAW,yQAEf,CAAA;AAEF,KAAK,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,WAAW,CAAC,EAAE,cAAc,CAAC,GAAG;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,KAAK,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG;IACnF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,kBAAkB,CAAA;IACzD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,kBAAkB,CAAA;IAE1D;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,SAAS,CAAC,CAAA;AAEtE,KAAK,WAAW,GAAG,OAAO,OAAO,CAAA;AAEjC,KAAK,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG;IAChC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAC/B,kBAAkB,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAA;IACrD,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IACjC,oBAAoB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAA;IACzD,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IAC3C,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;CACtC,CAAA;AAID,eAAO,MAAM,KAAK,WAmDG,CAAA"}
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../src/Image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EACnB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,KAAK,EAAE,EAAc,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AAE/C,QAAA,MAAM,WAAW,yQAEf,CAAA;AAEF,KAAK,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,WAAW,CAAC,EAAE,cAAc,CAAC,GAAG;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,KAAK,SAAS,GAAG,IAAI,CACnB,gBAAgB,EAChB,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CACzD,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,kBAAkB,CAAA;IACzD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,kBAAkB,CAAA;IAE1D;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACzC,wCAAwC;IACxC,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAC3C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,SAAS,CAAC,CAAA;AAEtE,KAAK,WAAW,GAAG,OAAO,OAAO,CAAA;AAEjC,KAAK,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG;IAChC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAC/B,kBAAkB,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAA;IACrD,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IACjC,oBAAoB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAA;IACzD,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IAC3C,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;CACtC,CAAA;AAID,eAAO,MAAM,KAAK,WAiDI,CAAA"}