@hanzogui/image 2.0.0

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 (86) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/Image.cjs +62 -0
  3. package/dist/cjs/Image.native.js +33 -0
  4. package/dist/cjs/Image.native.js.map +1 -0
  5. package/dist/cjs/createImage.cjs +128 -0
  6. package/dist/cjs/createImage.native.js +134 -0
  7. package/dist/cjs/createImage.native.js.map +1 -0
  8. package/dist/cjs/index.cjs +19 -0
  9. package/dist/cjs/index.native.js +22 -0
  10. package/dist/cjs/index.native.js.map +1 -0
  11. package/dist/cjs/types.cjs +16 -0
  12. package/dist/cjs/types.native.js +19 -0
  13. package/dist/cjs/types.native.js.map +1 -0
  14. package/dist/cjs/v1/Image.cjs +86 -0
  15. package/dist/cjs/v1/Image.native.js +105 -0
  16. package/dist/cjs/v1/Image.native.js.map +1 -0
  17. package/dist/cjs/v1/index.cjs +18 -0
  18. package/dist/cjs/v1/index.native.js +21 -0
  19. package/dist/cjs/v1/index.native.js.map +1 -0
  20. package/dist/esm/Image.mjs +39 -0
  21. package/dist/esm/Image.mjs.map +1 -0
  22. package/dist/esm/Image.native.js +7 -0
  23. package/dist/esm/Image.native.js.map +1 -0
  24. package/dist/esm/createImage.mjs +105 -0
  25. package/dist/esm/createImage.mjs.map +1 -0
  26. package/dist/esm/createImage.native.js +108 -0
  27. package/dist/esm/createImage.native.js.map +1 -0
  28. package/dist/esm/index.js +3 -0
  29. package/dist/esm/index.js.map +1 -0
  30. package/dist/esm/index.mjs +3 -0
  31. package/dist/esm/index.mjs.map +1 -0
  32. package/dist/esm/index.native.js +3 -0
  33. package/dist/esm/index.native.js.map +1 -0
  34. package/dist/esm/types.mjs +2 -0
  35. package/dist/esm/types.mjs.map +1 -0
  36. package/dist/esm/types.native.js +2 -0
  37. package/dist/esm/types.native.js.map +1 -0
  38. package/dist/esm/v1/Image.mjs +52 -0
  39. package/dist/esm/v1/Image.mjs.map +1 -0
  40. package/dist/esm/v1/Image.native.js +68 -0
  41. package/dist/esm/v1/Image.native.js.map +1 -0
  42. package/dist/esm/v1/index.mjs +2 -0
  43. package/dist/esm/v1/index.mjs.map +1 -0
  44. package/dist/esm/v1/index.native.js +2 -0
  45. package/dist/esm/v1/index.native.js.map +1 -0
  46. package/dist/jsx/Image.mjs +39 -0
  47. package/dist/jsx/Image.mjs.map +1 -0
  48. package/dist/jsx/Image.native.js +33 -0
  49. package/dist/jsx/Image.native.js.map +1 -0
  50. package/dist/jsx/createImage.mjs +105 -0
  51. package/dist/jsx/createImage.mjs.map +1 -0
  52. package/dist/jsx/createImage.native.js +134 -0
  53. package/dist/jsx/createImage.native.js.map +1 -0
  54. package/dist/jsx/index.js +3 -0
  55. package/dist/jsx/index.js.map +1 -0
  56. package/dist/jsx/index.mjs +3 -0
  57. package/dist/jsx/index.mjs.map +1 -0
  58. package/dist/jsx/index.native.js +22 -0
  59. package/dist/jsx/index.native.js.map +1 -0
  60. package/dist/jsx/types.mjs +2 -0
  61. package/dist/jsx/types.mjs.map +1 -0
  62. package/dist/jsx/types.native.js +19 -0
  63. package/dist/jsx/types.native.js.map +1 -0
  64. package/dist/jsx/v1/Image.mjs +52 -0
  65. package/dist/jsx/v1/Image.mjs.map +1 -0
  66. package/dist/jsx/v1/Image.native.js +105 -0
  67. package/dist/jsx/v1/Image.native.js.map +1 -0
  68. package/dist/jsx/v1/index.mjs +2 -0
  69. package/dist/jsx/v1/index.mjs.map +1 -0
  70. package/dist/jsx/v1/index.native.js +21 -0
  71. package/dist/jsx/v1/index.native.js.map +1 -0
  72. package/package.json +53 -0
  73. package/src/Image.native.tsx +6 -0
  74. package/src/Image.tsx +41 -0
  75. package/src/createImage.tsx +236 -0
  76. package/src/index.ts +3 -0
  77. package/src/types.ts +54 -0
  78. package/src/v1/Image.tsx +144 -0
  79. package/src/v1/index.ts +1 -0
  80. package/types/Image.d.ts +3 -0
  81. package/types/Image.native.d.ts +16 -0
  82. package/types/createImage.d.ts +77 -0
  83. package/types/index.d.ts +4 -0
  84. package/types/types.d.ts +42 -0
  85. package/types/v1/Image.d.ts +36 -0
  86. package/types/v1/index.d.ts +2 -0
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf,
8
+ __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: !0
13
+ });
14
+ },
15
+ __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
34
+ var Image_exports = {};
35
+ __export(Image_exports, {
36
+ Image: () => Image
37
+ });
38
+ module.exports = __toCommonJS(Image_exports);
39
+ var import_jsx_runtime = require("react/jsx-runtime"),
40
+ import_react = __toESM(require("react"), 1),
41
+ import_gui_constants = require("@hanzo/gui-constants"),
42
+ import_gui_web = require("@hanzo/gui-web"),
43
+ import_react_native = require("react-native");
44
+ function _type_of(obj) {
45
+ "@swc/helpers - typeof";
46
+
47
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
48
+ }
49
+ var StyledImage = (0, import_gui_web.styled)(import_react_native.Image, {
50
+ name: "Image"
51
+ }),
52
+ hasWarned = !1,
53
+ Image = StyledImage.styleable(function (inProps, ref) {
54
+ var [props, style] = (0, import_gui_web.usePropsAndStyle)(inProps),
55
+ {
56
+ src,
57
+ source,
58
+ objectFit,
59
+ ...rest
60
+ } = props;
61
+ 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.')));
62
+ var finalSource = typeof src == "string" ? {
63
+ uri: src,
64
+ ...(import_gui_constants.isWeb && {
65
+ width: props.width || style?.width,
66
+ height: props.height || style?.height
67
+ })
68
+ } : source ?? src;
69
+ if (finalSource && (typeof finalSource > "u" ? "undefined" : _type_of(finalSource)) === "object") {
70
+ if (!Array.isArray(finalSource) && typeof finalSource.uri == "number" && (finalSource = finalSource.uri, source && (typeof source > "u" ? "undefined" : _type_of(source)) === "object" && !Array.isArray(source))) {
71
+ var _style, _style1, _width;
72
+ (_width = (_style = style).width) !== null && _width !== void 0 || (_style.width = source.width);
73
+ var _height;
74
+ (_height = (_style1 = style).height) !== null && _height !== void 0 || (_style1.height = source.height);
75
+ }
76
+ process.env.NODE_ENV === "development" && process.env.HANZO_GUI_IMAGE_CHECK_ERROR && import_react.default.useEffect(function () {
77
+ async function run() {
78
+ if (typeof src == "string") try {
79
+ await fetch(src).then(function (res) {
80
+ return res.text();
81
+ });
82
+ } catch {
83
+ console.error(`Error loading image: ${src}`, {
84
+ props
85
+ });
86
+ }
87
+ }
88
+ run();
89
+ }, [src]), finalSource.default && (finalSource = finalSource.default);
90
+ }
91
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.Image, {
92
+ resizeMode: objectFit,
93
+ ref,
94
+ source: finalSource,
95
+ style,
96
+ ...rest
97
+ });
98
+ });
99
+ Image.getSize = import_react_native.Image.getSize;
100
+ Image.getSizeWithHeaders = import_react_native.Image.getSizeWithHeaders;
101
+ Image.prefetch = import_react_native.Image.prefetch;
102
+ Image.prefetchWithMetadata = import_react_native.Image.prefetchWithMetadata;
103
+ Image.abortPrefetch = import_react_native.Image.abortPrefetch;
104
+ Image.queryCache = import_react_native.Image.queryCache;
105
+ //# sourceMappingURL=Image.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Image_exports","__export","Image","module","exports","import_jsx_runtime","require","import_react","__toESM","import_gui_constants","import_gui_web","import_react_native","_type_of","obj","Symbol","constructor","StyledImage","styled","name","hasWarned","styleable","inProps","ref","props","style","usePropsAndStyle","src","source","objectFit","rest","process","env","NODE_ENV","width","height","console","warn","finalSource","uri","isWeb","Array","isArray","_style","_style1","_width","_height","HANZO_GUI_IMAGE_CHECK_ERROR","default","useEffect","run","fetch","then","res","text","error","jsx"],"sources":["../../../src/v1/Image.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
7
+ get: () => from[key],
8
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
9
+ });
10
+ return to;
11
+ },
12
+ __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
13
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
14
+ value: !0
15
+ }), mod);
16
+ var v1_exports = {};
17
+ module.exports = __toCommonJS(v1_exports);
18
+ __reExport(v1_exports, require("./Image.cjs"), module.exports);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
9
+ get: () => from[key],
10
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
11
+ });
12
+ return to;
13
+ },
14
+ __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
+ value: !0
17
+ }), mod);
18
+ var v1_exports = {};
19
+ module.exports = __toCommonJS(v1_exports);
20
+ __reExport(v1_exports, require("./Image.native.js"), module.exports);
21
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","v1_exports","module","exports"],"sources":["../../../src/v1/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,UAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAc,CAAAK,UAAA","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ import { View, styled } from "@hanzo/gui-web";
2
+ import { jsx } from "react/jsx-runtime";
3
+ const StyledImage = styled(View, {
4
+ name: "Image",
5
+ render: "img"
6
+ }),
7
+ Image = StyledImage.styleable((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, {
23
+ ref,
24
+ ...rest
25
+ });
26
+ }, {
27
+ staticConfig: {
28
+ memo: !0
29
+ }
30
+ }),
31
+ func = () => {};
32
+ Image.getSize = func;
33
+ Image.getSizeWithHeaders = func;
34
+ Image.prefetch = func;
35
+ Image.prefetchWithMetadata = func;
36
+ Image.abortPrefetch = func;
37
+ Image.queryCache = func;
38
+ export { Image };
39
+ //# sourceMappingURL=Image.mjs.map
@@ -0,0 +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":[]}
@@ -0,0 +1,7 @@
1
+ import { Image as RNImage } from "react-native";
2
+ import { createImage } from "./createImage.native.js";
3
+ var Image = createImage({
4
+ Component: RNImage
5
+ });
6
+ export { Image };
7
+ //# sourceMappingURL=Image.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Image","RNImage","createImage","Component"],"sources":["../../src/Image.native.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,IAASC,OAAA,QAAe;AACjC,SAASC,WAAA,QAAmB;AACrB,IAAIF,KAAA,GAAQE,WAAA,CAAY;EAC3BC,SAAA,EAAWF;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ import { getTokenValue, styled } from "@hanzo/gui-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
+ },
17
+ defaultTransformSource = props => {
18
+ const {
19
+ src,
20
+ source,
21
+ width,
22
+ height
23
+ } = props;
24
+ return source || (src && typeof src != "string" ? src : {
25
+ uri: src,
26
+ width,
27
+ height
28
+ });
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
68
+ }),
69
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style,
70
+ finalProps = {
71
+ ...rest,
72
+ source: finalSource,
73
+ style: {
74
+ ...incomingStyle,
75
+ ...(resolvedWidth !== void 0 && {
76
+ width: resolvedWidth
77
+ }),
78
+ ...(resolvedHeight !== void 0 && {
79
+ height: resolvedHeight
80
+ })
81
+ }
82
+ };
83
+ return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = e => {
84
+ const source = e?.nativeEvent?.source || e?.source || {};
85
+ onLoad({
86
+ target: {
87
+ naturalHeight: source?.height,
88
+ naturalWidth: source?.width
89
+ },
90
+ type: "load"
91
+ });
92
+ }), onError && (finalProps.onError = () => {
93
+ onError({
94
+ type: "error"
95
+ });
96
+ }), /* @__PURE__ */jsx(Component, {
97
+ ref,
98
+ ...finalProps
99
+ });
100
+ }),
101
+ comp = Component;
102
+ 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;
103
+ }
104
+ export { createImage };
105
+ //# sourceMappingURL=createImage.mjs.map
@@ -0,0 +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","incomingStyle","Array","isArray","style","Object","assign","flat","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":[]}
@@ -0,0 +1,108 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { getTokenValue, styled } from "@hanzo/gui-web";
3
+ var defaultObjectFitMap = function (objectFit) {
4
+ switch (objectFit) {
5
+ case "fill":
6
+ return "stretch";
7
+ case "none":
8
+ return "center";
9
+ case "scale-down":
10
+ return "contain";
11
+ case "contain":
12
+ return "contain";
13
+ default:
14
+ return "cover";
15
+ }
16
+ },
17
+ defaultTransformSource = function (props) {
18
+ var {
19
+ src,
20
+ source,
21
+ width,
22
+ height
23
+ } = props;
24
+ return source || (src && typeof src != "string" ? src : {
25
+ uri: src,
26
+ width,
27
+ height
28
+ });
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
70
+ }),
71
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style,
72
+ finalProps = {
73
+ ...rest,
74
+ source: finalSource,
75
+ style: {
76
+ ...incomingStyle,
77
+ ...(resolvedWidth !== void 0 && {
78
+ width: resolvedWidth
79
+ }),
80
+ ...(resolvedHeight !== void 0 && {
81
+ height: resolvedHeight
82
+ })
83
+ }
84
+ };
85
+ return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = function (e) {
86
+ var _e_nativeEvent,
87
+ source = (e == null || (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _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 = function () {
96
+ onError({
97
+ type: "error"
98
+ });
99
+ }), /* @__PURE__ */_jsx(Component, {
100
+ ref,
101
+ ...finalProps
102
+ });
103
+ }),
104
+ comp = Component;
105
+ 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;
106
+ }
107
+ export { createImage };
108
+ //# sourceMappingURL=createImage.native.js.map
@@ -0,0 +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","incomingStyle","Array","isArray","style","Object","assign","flat","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":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./Image.mjs";
2
+ export * from "./createImage.mjs";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./Image.mjs";
2
+ export * from "./createImage.mjs";
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./Image.native.js";
2
+ export * from "./createImage.native.js";
3
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+ import { isWeb } from "@hanzo/gui-constants";
3
+ import { styled, usePropsAndStyle } from "@hanzo/gui-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),
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" ? {
20
+ uri: src,
21
+ ...(isWeb && {
22
+ width: props.width || style?.width,
23
+ height: props.height || style?.height
24
+ })
25
+ } : source ?? src;
26
+ return finalSource && typeof finalSource == "object" && (process.env.NODE_ENV === "development" && process.env.HANZO_GUI_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
+ });
34
+ }
35
+ }
36
+ run();
37
+ }, [src]), finalSource.default && (finalSource = finalSource.default)), /* @__PURE__ */jsx(RNImage, {
38
+ resizeMode: objectFit,
39
+ ref,
40
+ source: finalSource,
41
+ style,
42
+ ...rest
43
+ });
44
+ });
45
+ Image.getSize = RNImage.getSize;
46
+ Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
47
+ Image.prefetch = RNImage.prefetch;
48
+ Image.prefetchWithMetadata = RNImage.prefetchWithMetadata;
49
+ Image.abortPrefetch = RNImage.abortPrefetch;
50
+ Image.queryCache = RNImage.queryCache;
51
+ export { Image };
52
+ //# sourceMappingURL=Image.mjs.map
@@ -0,0 +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","HANZO_GUI_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,2BAAA,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":[]}
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { isWeb } from "@hanzo/gui-constants";
4
+ import { styled, usePropsAndStyle } from "@hanzo/gui-web";
5
+ import { Image as RNImage } from "react-native";
6
+ function _type_of(obj) {
7
+ "@swc/helpers - typeof";
8
+
9
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
10
+ }
11
+ var StyledImage = styled(RNImage, {
12
+ name: "Image"
13
+ }),
14
+ hasWarned = !1,
15
+ Image = StyledImage.styleable(function (inProps, ref) {
16
+ var [props, style] = usePropsAndStyle(inProps),
17
+ {
18
+ src,
19
+ source,
20
+ objectFit,
21
+ ...rest
22
+ } = props;
23
+ 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.')));
24
+ var finalSource = typeof src == "string" ? {
25
+ uri: src,
26
+ ...(isWeb && {
27
+ width: props.width || style?.width,
28
+ height: props.height || style?.height
29
+ })
30
+ } : source ?? src;
31
+ if (finalSource && (typeof finalSource > "u" ? "undefined" : _type_of(finalSource)) === "object") {
32
+ if (!Array.isArray(finalSource) && typeof finalSource.uri == "number" && (finalSource = finalSource.uri, source && (typeof source > "u" ? "undefined" : _type_of(source)) === "object" && !Array.isArray(source))) {
33
+ var _style, _style1, _width;
34
+ (_width = (_style = style).width) !== null && _width !== void 0 || (_style.width = source.width);
35
+ var _height;
36
+ (_height = (_style1 = style).height) !== null && _height !== void 0 || (_style1.height = source.height);
37
+ }
38
+ process.env.NODE_ENV === "development" && process.env.HANZO_GUI_IMAGE_CHECK_ERROR && React.useEffect(function () {
39
+ async function run() {
40
+ if (typeof src == "string") try {
41
+ await fetch(src).then(function (res) {
42
+ return res.text();
43
+ });
44
+ } catch {
45
+ console.error(`Error loading image: ${src}`, {
46
+ props
47
+ });
48
+ }
49
+ }
50
+ run();
51
+ }, [src]), finalSource.default && (finalSource = finalSource.default);
52
+ }
53
+ return /* @__PURE__ */_jsx(RNImage, {
54
+ resizeMode: objectFit,
55
+ ref,
56
+ source: finalSource,
57
+ style,
58
+ ...rest
59
+ });
60
+ });
61
+ Image.getSize = RNImage.getSize;
62
+ Image.getSizeWithHeaders = RNImage.getSizeWithHeaders;
63
+ Image.prefetch = RNImage.prefetch;
64
+ Image.prefetchWithMetadata = RNImage.prefetchWithMetadata;
65
+ Image.abortPrefetch = RNImage.abortPrefetch;
66
+ Image.queryCache = RNImage.queryCache;
67
+ export { Image };
68
+ //# sourceMappingURL=Image.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","React","isWeb","styled","usePropsAndStyle","Image","RNImage","_type_of","obj","Symbol","constructor","StyledImage","name","hasWarned","styleable","inProps","ref","props","style","src","source","objectFit","rest","process","env","NODE_ENV","width","height","console","warn","finalSource","uri","Array","isArray","_style","_style1","_width","_height","HANZO_GUI_IMAGE_CHECK_ERROR","useEffect","run","fetch","then","res","text","error","default","resizeMode"],"sources":["../../../src/v1/Image.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAOA,GAAA,IAAAC,IAAW;AAClB,OAAAC,KAAS,aAAa;AAQtB,SAASC,KAAA,QAAQ,sBAAwB;AAEzC,SAASC,MAAA,EAAAC,gBAAwB;AAqH7B,SAAAC,KAAA,IAAAC,OAAA;AAnHJ,SAAMC,SAAAC,GAAc;EAClB,uBAAM;;EACP,OAAAA,GAAA,WAAAC,MAAA,UAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAmCD;AAMO,IAAAG,WAAc,GAAAR,MAAA,CAAAG,OAAY;IAC/BM,IAAA,EAAM;EAGN,EAAI;EAAAC,SAAQ,GAAI;EAAAR,KAAA,GAAaM,WAAA,CAAAG,SACvB,WAAeC,OAAA,EAAAC,GAEd;IAKS,IACN,CAAAC,KAAA,EAAAC,KAAA,IAAAd,gBAAA,CAAAW,OAAA;MAAA;QAAAI,GAAA;QAAAC,MAAA;QAAAC,SAAA;QAAA,GAAAC;MAAA,IAAAL,KAAA;IACFM,OAAA,CAAAC,GAAA,CAAAC,QAAA,6BAAAN,GAAA,wBAAAF,KAAA,CAAAS,KAAA,gBAAAT,KAAA,CAAAS,KAAA,sBAAAT,KAAA,CAAAU,MAAA,gBAAAV,KAAA,CAAAU,MAAA,iBAAAd,SAAA,KAAAA,SAAA,OAAAe,OAAA,CAAAC,IAAA;IAMR,IAAIC,WAAA,GACF,OAAOX,GAAA,IAAQ,WACX;MACEY,GAAA,EAAKZ,GAAA;MACL,IAAIjB,KAAA,IAAS;QACXwB,KAAA,EAAOT,KAAA,CAAMS,KAAA,IAASR,KAAA,EAAOQ,KAAA;QAC7BC,MAAA,EAAQV,KAAA,CAAMU,MAAA,IAAUT,KAAA,EAAOS;MACjC;IACF,IACCP,MAAA,IAAUD,GAAA;IAEjB,IAAAW,WAAI,YAAeA,WAAO,MAAgB,cAgBpC,GAAAvB,QAAY,CAAAuB,WAAA,CAAa;MAGzB,KAAAE,KAAA,CAAAC,OAAe,CAAAH,WAAM,YAAAA,WAAA,CAAAC,GAAA,iBAAAD,WAAA,GAAAA,WAAA,CAAAC,GAAA,EAAAX,MAAA,YAAAA,MAAA,uBAAAb,QAAA,CAAAa,MAAA,oBAAAY,KAAA,CAAAC,OAAA,CAAAb,MAAA;QACnB,IAAIc,MAAA,EAAOC,OAAQ,EAAAC,MAAA;QACjB,CAAAA,MAAI,IAAAF,MAAA,GAAAhB,KAAA,EAAAQ,KAAA,cAAAU,MAAA,gBAAAF,MAAA,CAAAR,KAAA,GAAAN,MAAA,CAAAM,KAAA;QACF,IAAAW,OAAM;QAAmC,CAAAA,OAC3C,GAAc,CAAAF,OAAA,GAAAjB,KAAA,EAAAS,MAAA,cAAAU,OAAA,gBAAAF,OAAA,CAAAR,MAAA,GAAAP,MAAA,CAAAO,MAAA;MACZ;MAAsDJ,OACxD,CAAAC,GAAA,CAAAC,QAAA,sBAAAF,OAAA,CAAAC,GAAA,CAAAc,2BAAA,IAAArC,KAAA,CAAAsC,SAAA;QAEJ,eAAAC,IAAA;UAEI,WAAArB,GAAA,cACE,IAIN;YAOH,MAAAsB,KAAA,CAAAtB,GAAA,EAAAuB,IAAA,WAAAC,GAAA;cAAA,OAAAA,GAAA,CAAAC,IAAA;YACC;UACA;YACAhB,OAAQ,CAAAiB,KAAA,yBAAA1B,GAAA;cACRF;YACK;UAAA;QACP;QAEHuB,GAAA;MAED,GAAM,CACArB,GAAA,CACN,CAAM,EAAAW,WAAW,CAAAgB,OAAQ,KAAAhB,WAAA,GAAAA,WAAA,CAAAgB,OAAA;IACzB;IACA,OAAM,eAAgB9C,IAAA,CAAQM,OAAA;MAC9ByC,UAAM,EAAA1B,SAAa","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./Image.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/v1/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./Image.native.js";
2
+ //# sourceMappingURL=index.native.js.map