@tamagui/avatar 2.7.7 → 3.0.0-beta.643.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Avatar.cjs +103 -122
- package/dist/cjs/Avatar.native.cjs +151 -0
- package/dist/cjs/Avatar.native.js +109 -140
- package/dist/cjs/Avatar.native.js.map +1 -1
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/index.native.cjs +21 -0
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/Avatar.mjs +83 -94
- package/dist/esm/Avatar.mjs.map +1 -1
- package/dist/esm/Avatar.native.js +90 -114
- package/dist/esm/Avatar.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/index.native.js +1 -2
- package/dist/jsx/Avatar.mjs +83 -94
- package/dist/jsx/Avatar.mjs.map +1 -1
- package/dist/jsx/Avatar.native.cjs +151 -0
- package/dist/jsx/Avatar.native.js +109 -140
- package/dist/jsx/Avatar.native.js.map +1 -1
- package/dist/jsx/index.js +1 -2
- package/dist/jsx/index.mjs +1 -2
- package/dist/jsx/index.native.cjs +21 -0
- package/dist/jsx/index.native.js +10 -10
- package/dist/jsx/index.native.js.map +1 -1
- package/package.json +10 -10
- package/src/Avatar.tsx +31 -29
- package/types/Avatar.d.ts +55 -60
- package/types/Avatar.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
var __create = Object.create;
|
|
4
5
|
var __defProp = Object.defineProperty;
|
|
5
6
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -7,40 +8,33 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
7
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
8
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
10
|
var __export = (target, all) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
for (var name in all) __defProp(target, name, {
|
|
12
|
+
get: all[name],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
14
15
|
};
|
|
15
16
|
var __copyProps = (to, from, except, desc) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
19
|
+
get: () => from[key],
|
|
20
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
23
24
|
};
|
|
24
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
-
value: mod,
|
|
31
|
-
enumerable: true
|
|
25
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
+
value: mod,
|
|
27
|
+
enumerable: true
|
|
32
28
|
}) : target, mod));
|
|
33
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
-
value: true
|
|
35
|
-
}), mod);
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
36
30
|
var Avatar_exports = {};
|
|
37
31
|
__export(Avatar_exports, {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
Avatar: () => Avatar,
|
|
33
|
+
AvatarFallback: () => AvatarFallback,
|
|
34
|
+
AvatarFallbackFrame: () => AvatarFallbackFrame,
|
|
35
|
+
AvatarFrame: () => AvatarFrame,
|
|
36
|
+
AvatarImage: () => AvatarImage,
|
|
37
|
+
createAvatarScope: () => createAvatarScope
|
|
44
38
|
});
|
|
45
39
|
module.exports = __toCommonJS(Avatar_exports);
|
|
46
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -52,133 +46,108 @@ var import_shapes = require("@tamagui/shapes");
|
|
|
52
46
|
var import_stacks = require("@tamagui/stacks");
|
|
53
47
|
var React = __toESM(require("react"), 1);
|
|
54
48
|
function _type_of(obj) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
49
|
+
"@swc/helpers - typeof";
|
|
50
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
58
51
|
}
|
|
59
52
|
var AVATAR_NAME = "Avatar";
|
|
60
53
|
var [createAvatarContext, createAvatarScope] = (0, import_create_context.createContextScope)(AVATAR_NAME);
|
|
61
54
|
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
62
55
|
var IMAGE_NAME = "AvatarImage";
|
|
63
|
-
var AvatarImage =
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
height: "100%",
|
|
107
|
-
...imageProps,
|
|
108
|
-
// @ts-ignore
|
|
109
|
-
ref: forwardedRef,
|
|
110
|
-
// @ts-ignore
|
|
111
|
-
src: resolvedSrc,
|
|
112
|
-
// onLoadStart={() => {
|
|
113
|
-
// // setStatus('loading')
|
|
114
|
-
// }}
|
|
115
|
-
onError: function () {
|
|
116
|
-
setStatus("error");
|
|
117
|
-
},
|
|
118
|
-
onLoad: function () {
|
|
119
|
-
setStatus("loaded");
|
|
120
|
-
}
|
|
121
|
-
})
|
|
122
|
-
});
|
|
56
|
+
var AvatarImage = (0, import_core.createRefComponent)(function(props, forwardedRef) {
|
|
57
|
+
var { __scopeAvatar, src, source, onLoadingStatusChange = function() {}, ...imageProps } = props;
|
|
58
|
+
var context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
59
|
+
var [status, setStatus] = React.useState("idle");
|
|
60
|
+
var resolvedSrc = src || (source && (typeof source === "undefined" ? "undefined" : _type_of(source)) === "object" && "uri" in source ? source.uri : source);
|
|
61
|
+
React.useEffect(function() {
|
|
62
|
+
if (!resolvedSrc) {
|
|
63
|
+
setStatus("error");
|
|
64
|
+
} else {
|
|
65
|
+
setStatus("idle");
|
|
66
|
+
}
|
|
67
|
+
}, [resolvedSrc]);
|
|
68
|
+
React.useEffect(function() {
|
|
69
|
+
onLoadingStatusChange(status);
|
|
70
|
+
context.onImageLoadingStatusChange(status);
|
|
71
|
+
}, [status]);
|
|
72
|
+
if (!resolvedSrc) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
|
|
76
|
+
position: "absolute",
|
|
77
|
+
inset: 0,
|
|
78
|
+
zIndex: 1,
|
|
79
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_image.Image, {
|
|
80
|
+
position: "absolute",
|
|
81
|
+
top: 0,
|
|
82
|
+
left: 0,
|
|
83
|
+
right: 0,
|
|
84
|
+
bottom: 0,
|
|
85
|
+
objectFit: "cover",
|
|
86
|
+
width: "100%",
|
|
87
|
+
height: "100%",
|
|
88
|
+
...imageProps,
|
|
89
|
+
ref: forwardedRef,
|
|
90
|
+
src: resolvedSrc,
|
|
91
|
+
onError: function() {
|
|
92
|
+
setStatus("error");
|
|
93
|
+
},
|
|
94
|
+
onLoad: function() {
|
|
95
|
+
setStatus("loaded");
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
});
|
|
123
99
|
});
|
|
124
100
|
AvatarImage.displayName = IMAGE_NAME;
|
|
125
101
|
var FALLBACK_NAME = "AvatarFallback";
|
|
126
102
|
var AvatarFallbackFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
103
|
+
displayName: FALLBACK_NAME,
|
|
104
|
+
position: "absolute",
|
|
105
|
+
inset: 0,
|
|
106
|
+
zIndex: 0
|
|
131
107
|
});
|
|
132
|
-
var AvatarFallback =
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(AvatarFallbackFrame, {
|
|
151
|
-
...fallbackProps,
|
|
152
|
-
ref: forwardedRef
|
|
153
|
-
}) : null;
|
|
108
|
+
var AvatarFallback = (0, import_core.createStyledHOC)(AvatarFallbackFrame, function(props, forwardedRef) {
|
|
109
|
+
var { __scopeAvatar, delay, ...fallbackProps } = props;
|
|
110
|
+
var context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
|
111
|
+
var [canRender, setCanRender] = React.useState(delay === void 0);
|
|
112
|
+
React.useEffect(function() {
|
|
113
|
+
if (delay !== void 0) {
|
|
114
|
+
var timerId = setTimeout(function() {
|
|
115
|
+
return setCanRender(true);
|
|
116
|
+
}, delay);
|
|
117
|
+
return function() {
|
|
118
|
+
return clearTimeout(timerId);
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}, [delay]);
|
|
122
|
+
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarFallbackFrame, {
|
|
123
|
+
...fallbackProps,
|
|
124
|
+
ref: forwardedRef
|
|
125
|
+
}) : null;
|
|
154
126
|
});
|
|
155
127
|
AvatarFallback.displayName = FALLBACK_NAME;
|
|
156
128
|
var AvatarFrame = (0, import_core.styled)(import_shapes.Square, {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
129
|
+
displayName: AVATAR_NAME,
|
|
130
|
+
position: "relative",
|
|
131
|
+
overflow: "hidden"
|
|
160
132
|
});
|
|
161
|
-
var Avatar = (0, import_helpers.withStaticProperties)(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
...avatarProps,
|
|
176
|
-
ref: forwardedRef
|
|
177
|
-
})
|
|
178
|
-
});
|
|
133
|
+
var Avatar = (0, import_helpers.withStaticProperties)((0, import_core.createRefComponent)(function(props, forwardedRef) {
|
|
134
|
+
var { __scopeAvatar, size = true, ...avatarProps } = props;
|
|
135
|
+
var [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
|
136
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarProvider, {
|
|
137
|
+
size,
|
|
138
|
+
scope: __scopeAvatar,
|
|
139
|
+
imageLoadingStatus,
|
|
140
|
+
onImageLoadingStatusChange: setImageLoadingStatus,
|
|
141
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarFrame, {
|
|
142
|
+
size,
|
|
143
|
+
...avatarProps,
|
|
144
|
+
ref: forwardedRef
|
|
145
|
+
})
|
|
146
|
+
});
|
|
179
147
|
}), {
|
|
180
|
-
|
|
181
|
-
|
|
148
|
+
Image: AvatarImage,
|
|
149
|
+
Fallback: AvatarFallback
|
|
182
150
|
});
|
|
183
151
|
Avatar.displayName = AVATAR_NAME;
|
|
152
|
+
|
|
184
153
|
//# sourceMappingURL=Avatar.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Avatar_exports","__export","Avatar","AvatarFallback","AvatarFallbackFrame","AvatarFrame","AvatarImage","createAvatarScope","module","exports","import_jsx_runtime","require","import_core","import_create_context","import_helpers","import_image","import_shapes","import_stacks","React","__toESM","_type_of","obj","Symbol","constructor","AVATAR_NAME","createAvatarContext","createContextScope","AvatarProvider","useAvatarContext","IMAGE_NAME","forwardRef","props","forwardedRef","__scopeAvatar","src","source","onLoadingStatusChange","imageProps","context","status","setStatus","useState","resolvedSrc","uri","useEffect","onImageLoadingStatusChange","jsx","YStack","fullscreen","zIndex","children","Image","position","top","left","right","bottom","objectFit","width","height","ref","onError","onLoad","displayName","FALLBACK_NAME","styled","name","styleable","delayMs","fallbackProps","canRender","setCanRender","timerId","setTimeout","clearTimeout","imageLoadingStatus","Square","overflow"],"sources":["../../src/Avatar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Avatar.native.js","names":[],"sources":["cjs/Avatar.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Avatar_exports = {};\n__export(Avatar_exports, {\n Avatar: () => Avatar,\n AvatarFallback: () => AvatarFallback,\n AvatarFallbackFrame: () => AvatarFallbackFrame,\n AvatarFrame: () => AvatarFrame,\n AvatarImage: () => AvatarImage,\n createAvatarScope: () => createAvatarScope\n});\nmodule.exports = __toCommonJS(Avatar_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@tamagui/core\");\nvar import_create_context = require(\"@tamagui/create-context\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_image = require(\"@tamagui/image\");\nvar import_shapes = require(\"@tamagui/shapes\");\nvar import_stacks = require(\"@tamagui/stacks\");\nvar React = __toESM(require(\"react\"), 1);\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar AVATAR_NAME = \"Avatar\";\nvar [createAvatarContext, createAvatarScope] = (0, import_create_context.createContextScope)(AVATAR_NAME);\nvar [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\nvar IMAGE_NAME = \"AvatarImage\";\nvar AvatarImage = (0, import_core.createRefComponent)(function(props, forwardedRef) {\n var { __scopeAvatar, src, source, onLoadingStatusChange = function() {\n }, ...imageProps } = props;\n var context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n var [status, setStatus] = React.useState(\"idle\");\n var resolvedSrc = src || (source && (typeof source === \"undefined\" ? \"undefined\" : _type_of(source)) === \"object\" && \"uri\" in source ? source.uri : source);\n React.useEffect(function() {\n if (!resolvedSrc) {\n setStatus(\"error\");\n } else {\n setStatus(\"idle\");\n }\n }, [\n resolvedSrc\n ]);\n React.useEffect(function() {\n onLoadingStatusChange(status);\n context.onImageLoadingStatusChange(status);\n }, [\n status\n ]);\n if (!resolvedSrc) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {\n position: \"absolute\",\n inset: 0,\n zIndex: 1,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_image.Image, {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n objectFit: \"cover\",\n // fill the frame. previously the image was sized to\n // getShapeSize(context.size) — but that resolves a numeric `size`\n // (e.g. <Avatar size={16} />) as a size-TOKEN index (tokens.size[16]),\n // so it got the token-scale value (~224px) instead of 16px, blowing\n // the image far past its frame; object-fit:cover then showed a\n // blurry mis-cropped corner. the frame already owns the size, so the\n // image just fills it — correct for numeric and token sizes alike.\n width: \"100%\",\n height: \"100%\",\n ...imageProps,\n // @ts-ignore\n ref: forwardedRef,\n // @ts-ignore\n src: resolvedSrc,\n // onLoadStart={() => {\n // // setStatus('loading')\n // }}\n onError: function() {\n setStatus(\"error\");\n },\n onLoad: function() {\n setStatus(\"loaded\");\n }\n })\n });\n});\nAvatarImage.displayName = IMAGE_NAME;\nvar FALLBACK_NAME = \"AvatarFallback\";\nvar AvatarFallbackFrame = (0, import_core.styled)(import_stacks.YStack, {\n displayName: FALLBACK_NAME,\n position: \"absolute\",\n inset: 0,\n zIndex: 0\n});\nvar AvatarFallback = (0, import_core.createStyledHOC)(AvatarFallbackFrame, function(props, forwardedRef) {\n var { __scopeAvatar, delay, ...fallbackProps } = props;\n var context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n var [canRender, setCanRender] = React.useState(delay === void 0);\n React.useEffect(function() {\n if (delay !== void 0) {\n var timerId = setTimeout(function() {\n return setCanRender(true);\n }, delay);\n return function() {\n return clearTimeout(timerId);\n };\n }\n }, [\n delay\n ]);\n return canRender && context.imageLoadingStatus !== \"loaded\" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarFallbackFrame, {\n ...fallbackProps,\n ref: forwardedRef\n }) : null;\n});\nAvatarFallback.displayName = FALLBACK_NAME;\nvar AvatarFrame = (0, import_core.styled)(import_shapes.Square, {\n displayName: AVATAR_NAME,\n position: \"relative\",\n overflow: \"hidden\"\n});\nvar Avatar = (0, import_helpers.withStaticProperties)((0, import_core.createRefComponent)(function(props, forwardedRef) {\n var { __scopeAvatar, size = true, ...avatarProps } = props;\n var [imageLoadingStatus, setImageLoadingStatus] = React.useState(\"idle\");\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarProvider, {\n size,\n scope: __scopeAvatar,\n imageLoadingStatus,\n onImageLoadingStatusChange: setImageLoadingStatus,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarFrame, {\n size,\n ...avatarProps,\n ref: forwardedRef\n })\n });\n}), {\n Image: AvatarImage,\n Fallback: AvatarFallback\n});\nAvatar.displayName = AVATAR_NAME;\n//# sourceMappingURL=Avatar.js.map\n"],"mappings":"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"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
+
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
6
|
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
9
|
+
get: () => from[key],
|
|
10
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
return to;
|
|
13
14
|
};
|
|
14
15
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
16
|
-
value: true
|
|
17
|
-
}), mod);
|
|
16
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
17
|
var index_exports = {};
|
|
19
18
|
module.exports = __toCommonJS(index_exports);
|
|
20
|
-
__reExport(index_exports, require("./Avatar.cjs"), module.exports);
|
|
19
|
+
__reExport(index_exports, require("./Avatar.cjs"), module.exports);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
11
|
+
get: () => from[key],
|
|
12
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var index_exports = {};
|
|
20
|
+
module.exports = __toCommonJS(index_exports);
|
|
21
|
+
__reExport(index_exports, require("./Avatar.native.js"), module.exports);
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
8
|
var __copyProps = (to, from, except, desc) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
11
|
+
get: () => from[key],
|
|
12
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
15
16
|
};
|
|
16
17
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
17
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
18
|
-
value: true
|
|
19
|
-
}), mod);
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
19
|
var index_exports = {};
|
|
21
20
|
module.exports = __toCommonJS(index_exports);
|
|
22
21
|
__reExport(index_exports, require("./Avatar.native.js"), module.exports);
|
|
22
|
+
|
|
23
23
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\nmodule.exports = __toCommonJS(index_exports);\n__reExport(index_exports, require(\"./Avatar\"), module.exports);\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,cAAc,QAAQ,KAAK,kBAAkB,YAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgB,YAAY,cAAc,KAAK,SAAS;AAC9I,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gBAAgB,CAAC;AACrB,OAAO,UAAU,aAAa,aAAa;AAC3C,WAAW,eAAe,QAAQ,oBAAU,GAAG,OAAO,OAAO"}
|
package/dist/esm/Avatar.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { styled } from "@tamagui/core";
|
|
1
|
+
import { createRefComponent, createStyledHOC, styled } from "@tamagui/core";
|
|
2
2
|
import { createContextScope } from "@tamagui/create-context";
|
|
3
3
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
4
4
|
import { Image } from "@tamagui/image";
|
|
@@ -6,114 +6,103 @@ import { Square } from "@tamagui/shapes";
|
|
|
6
6
|
import { YStack } from "@tamagui/stacks";
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
|
|
9
10
|
const AVATAR_NAME = "Avatar";
|
|
10
11
|
const [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);
|
|
11
12
|
const [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
12
13
|
const IMAGE_NAME = "AvatarImage";
|
|
13
|
-
const AvatarImage =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
onLoad: () => {
|
|
57
|
-
setStatus("loaded");
|
|
58
|
-
}
|
|
59
|
-
})
|
|
60
|
-
});
|
|
14
|
+
const AvatarImage = createRefComponent((props, forwardedRef) => {
|
|
15
|
+
const { __scopeAvatar, src, source, onLoadingStatusChange = () => {}, ...imageProps } = props;
|
|
16
|
+
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
17
|
+
const [status, setStatus] = React.useState("idle");
|
|
18
|
+
const resolvedSrc = src || (source && typeof source === "object" && "uri" in source ? source.uri : source);
|
|
19
|
+
React.useEffect(() => {
|
|
20
|
+
if (!resolvedSrc) {
|
|
21
|
+
setStatus("error");
|
|
22
|
+
} else {
|
|
23
|
+
setStatus("idle");
|
|
24
|
+
}
|
|
25
|
+
}, [resolvedSrc]);
|
|
26
|
+
React.useEffect(() => {
|
|
27
|
+
onLoadingStatusChange(status);
|
|
28
|
+
context.onImageLoadingStatusChange(status);
|
|
29
|
+
}, [status]);
|
|
30
|
+
if (!resolvedSrc) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return /* @__PURE__ */ jsx(YStack, {
|
|
34
|
+
position: "absolute",
|
|
35
|
+
inset: 0,
|
|
36
|
+
zIndex: 1,
|
|
37
|
+
children: /* @__PURE__ */ jsx(Image, {
|
|
38
|
+
position: "absolute",
|
|
39
|
+
top: 0,
|
|
40
|
+
left: 0,
|
|
41
|
+
right: 0,
|
|
42
|
+
bottom: 0,
|
|
43
|
+
objectFit: "cover",
|
|
44
|
+
width: "100%",
|
|
45
|
+
height: "100%",
|
|
46
|
+
...imageProps,
|
|
47
|
+
ref: forwardedRef,
|
|
48
|
+
src: resolvedSrc,
|
|
49
|
+
onError: () => {
|
|
50
|
+
setStatus("error");
|
|
51
|
+
},
|
|
52
|
+
onLoad: () => {
|
|
53
|
+
setStatus("loaded");
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
});
|
|
61
57
|
});
|
|
62
58
|
AvatarImage.displayName = IMAGE_NAME;
|
|
63
59
|
const FALLBACK_NAME = "AvatarFallback";
|
|
64
60
|
const AvatarFallbackFrame = styled(YStack, {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
61
|
+
displayName: FALLBACK_NAME,
|
|
62
|
+
position: "absolute",
|
|
63
|
+
inset: 0,
|
|
64
|
+
zIndex: 0
|
|
69
65
|
});
|
|
70
|
-
const AvatarFallback = AvatarFallbackFrame
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */jsx(AvatarFallbackFrame, {
|
|
85
|
-
...fallbackProps,
|
|
86
|
-
ref: forwardedRef
|
|
87
|
-
}) : null;
|
|
66
|
+
const AvatarFallback = createStyledHOC(AvatarFallbackFrame, (props, forwardedRef) => {
|
|
67
|
+
const { __scopeAvatar, delay, ...fallbackProps } = props;
|
|
68
|
+
const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
|
69
|
+
const [canRender, setCanRender] = React.useState(delay === void 0);
|
|
70
|
+
React.useEffect(() => {
|
|
71
|
+
if (delay !== void 0) {
|
|
72
|
+
const timerId = setTimeout(() => setCanRender(true), delay);
|
|
73
|
+
return () => clearTimeout(timerId);
|
|
74
|
+
}
|
|
75
|
+
}, [delay]);
|
|
76
|
+
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ jsx(AvatarFallbackFrame, {
|
|
77
|
+
...fallbackProps,
|
|
78
|
+
ref: forwardedRef
|
|
79
|
+
}) : null;
|
|
88
80
|
});
|
|
89
81
|
AvatarFallback.displayName = FALLBACK_NAME;
|
|
90
82
|
const AvatarFrame = styled(Square, {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
83
|
+
displayName: AVATAR_NAME,
|
|
84
|
+
position: "relative",
|
|
85
|
+
overflow: "hidden"
|
|
94
86
|
});
|
|
95
|
-
const Avatar = withStaticProperties(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
...avatarProps,
|
|
110
|
-
ref: forwardedRef
|
|
111
|
-
})
|
|
112
|
-
});
|
|
87
|
+
const Avatar = withStaticProperties(createRefComponent((props, forwardedRef) => {
|
|
88
|
+
const { __scopeAvatar, size = true, ...avatarProps } = props;
|
|
89
|
+
const [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
|
90
|
+
return /* @__PURE__ */ jsx(AvatarProvider, {
|
|
91
|
+
size,
|
|
92
|
+
scope: __scopeAvatar,
|
|
93
|
+
imageLoadingStatus,
|
|
94
|
+
onImageLoadingStatusChange: setImageLoadingStatus,
|
|
95
|
+
children: /* @__PURE__ */ jsx(AvatarFrame, {
|
|
96
|
+
size,
|
|
97
|
+
...avatarProps,
|
|
98
|
+
ref: forwardedRef
|
|
99
|
+
})
|
|
100
|
+
});
|
|
113
101
|
}), {
|
|
114
|
-
|
|
115
|
-
|
|
102
|
+
Image: AvatarImage,
|
|
103
|
+
Fallback: AvatarFallback
|
|
116
104
|
});
|
|
117
105
|
Avatar.displayName = AVATAR_NAME;
|
|
106
|
+
|
|
118
107
|
export { Avatar, AvatarFallback, AvatarFallbackFrame, AvatarFrame, AvatarImage, createAvatarScope };
|
|
119
108
|
//# sourceMappingURL=Avatar.mjs.map
|