@tamagui/avatar 2.3.3 → 2.4.0-1783099846627
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 +2 -9
- package/dist/cjs/Avatar.native.js +9 -10
- package/dist/cjs/Avatar.native.js.map +1 -1
- package/dist/esm/Avatar.mjs +4 -11
- package/dist/esm/Avatar.mjs.map +1 -1
- package/dist/esm/Avatar.native.js +11 -12
- package/dist/esm/Avatar.native.js.map +1 -1
- package/dist/jsx/Avatar.mjs +4 -11
- package/dist/jsx/Avatar.mjs.map +1 -1
- package/dist/jsx/Avatar.native.js +9 -10
- package/dist/jsx/Avatar.native.js.map +1 -1
- package/package.json +9 -9
- package/src/Avatar.tsx +11 -14
- package/types/Avatar.d.ts.map +1 -1
package/dist/cjs/Avatar.cjs
CHANGED
|
@@ -63,11 +63,6 @@ const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
|
63
63
|
} = props;
|
|
64
64
|
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
65
65
|
const [status, setStatus] = React.useState("idle");
|
|
66
|
-
const shapeSize = (0, import_core.getVariableValue)((0, import_shapes.getShapeSize)(context.size,
|
|
67
|
-
// @ts-expect-error
|
|
68
|
-
{
|
|
69
|
-
tokens: (0, import_core.getTokens)()
|
|
70
|
-
})?.width);
|
|
71
66
|
const resolvedSrc = src || (source && typeof source === "object" && "uri" in source ? source.uri : source);
|
|
72
67
|
React.useEffect(() => {
|
|
73
68
|
if (!resolvedSrc) {
|
|
@@ -93,10 +88,8 @@ const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
|
93
88
|
right: 0,
|
|
94
89
|
bottom: 0,
|
|
95
90
|
objectFit: "cover",
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
height: shapeSize
|
|
99
|
-
}),
|
|
91
|
+
width: "100%",
|
|
92
|
+
height: "100%",
|
|
100
93
|
...imageProps,
|
|
101
94
|
ref: forwardedRef,
|
|
102
95
|
src: resolvedSrc,
|
|
@@ -61,7 +61,6 @@ var [createAvatarContext, createAvatarScope] = (0, import_create_context.createC
|
|
|
61
61
|
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
62
62
|
var IMAGE_NAME = "AvatarImage";
|
|
63
63
|
var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
64
|
-
var _getShapeSize;
|
|
65
64
|
var {
|
|
66
65
|
__scopeAvatar,
|
|
67
66
|
src,
|
|
@@ -71,11 +70,6 @@ var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef)
|
|
|
71
70
|
} = props;
|
|
72
71
|
var context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
73
72
|
var [status, setStatus] = React.useState("idle");
|
|
74
|
-
var shapeSize = (0, import_core.getVariableValue)((_getShapeSize = (0, import_shapes.getShapeSize)(context.size,
|
|
75
|
-
// @ts-expect-error
|
|
76
|
-
{
|
|
77
|
-
tokens: (0, import_core.getTokens)()
|
|
78
|
-
})) === null || _getShapeSize === void 0 ? void 0 : _getShapeSize.width);
|
|
79
73
|
var resolvedSrc = src || (source && (typeof source === "undefined" ? "undefined" : _type_of(source)) === "object" && "uri" in source ? source.uri : source);
|
|
80
74
|
React.useEffect(function () {
|
|
81
75
|
if (!resolvedSrc) {
|
|
@@ -101,10 +95,15 @@ var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef)
|
|
|
101
95
|
right: 0,
|
|
102
96
|
bottom: 0,
|
|
103
97
|
objectFit: "cover",
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
98
|
+
// fill the frame. previously the image was sized to
|
|
99
|
+
// getShapeSize(context.size) — but that resolves a numeric `size`
|
|
100
|
+
// (e.g. <Avatar size={16} />) as a size-TOKEN index (tokens.size[16]),
|
|
101
|
+
// so it got the token-scale value (~224px) instead of 16px, blowing
|
|
102
|
+
// the image far past its frame; object-fit:cover then showed a
|
|
103
|
+
// blurry mis-cropped corner. the frame already owns the size, so the
|
|
104
|
+
// image just fills it — correct for numeric and token sizes alike.
|
|
105
|
+
width: "100%",
|
|
106
|
+
height: "100%",
|
|
108
107
|
...imageProps,
|
|
109
108
|
// @ts-ignore
|
|
110
109
|
ref: forwardedRef,
|
|
@@ -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","
|
|
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":[]}
|
package/dist/esm/Avatar.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { 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";
|
|
5
|
-
import { Square
|
|
5
|
+
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";
|
|
@@ -20,11 +20,6 @@ const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
|
20
20
|
} = props;
|
|
21
21
|
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
22
22
|
const [status, setStatus] = React.useState("idle");
|
|
23
|
-
const shapeSize = getVariableValue(getShapeSize(context.size,
|
|
24
|
-
// @ts-expect-error
|
|
25
|
-
{
|
|
26
|
-
tokens: getTokens()
|
|
27
|
-
})?.width);
|
|
28
23
|
const resolvedSrc = src || (source && typeof source === "object" && "uri" in source ? source.uri : source);
|
|
29
24
|
React.useEffect(() => {
|
|
30
25
|
if (!resolvedSrc) {
|
|
@@ -50,10 +45,8 @@ const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
|
50
45
|
right: 0,
|
|
51
46
|
bottom: 0,
|
|
52
47
|
objectFit: "cover",
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
height: shapeSize
|
|
56
|
-
}),
|
|
48
|
+
width: "100%",
|
|
49
|
+
height: "100%",
|
|
57
50
|
...imageProps,
|
|
58
51
|
ref: forwardedRef,
|
|
59
52
|
src: resolvedSrc,
|
package/dist/esm/Avatar.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["styled","createContextScope","withStaticProperties","Image","Square","YStack","React","jsx","AVATAR_NAME","createAvatarContext","createAvatarScope","AvatarProvider","useAvatarContext","IMAGE_NAME","AvatarImage","forwardRef","props","forwardedRef","__scopeAvatar","src","source","onLoadingStatusChange","imageProps","context","status","setStatus","useState","resolvedSrc","uri","useEffect","onImageLoadingStatusChange","fullscreen","zIndex","children","position","top","left","right","bottom","objectFit","width","height","ref","onError","onLoad","displayName","FALLBACK_NAME","AvatarFallbackFrame","name","AvatarFallback","styleable","delayMs","fallbackProps","canRender","setCanRender","timerId","setTimeout","clearTimeout","imageLoadingStatus","AvatarFrame","overflow","Avatar","size","avatarProps","setImageLoadingStatus","scope","Fallback"],"sources":["../../src/Avatar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { styled } from "@tamagui/core";
|
|
3
3
|
import { createContextScope } from "@tamagui/create-context";
|
|
4
4
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
5
5
|
import { Image } from "@tamagui/image";
|
|
6
|
-
import { Square
|
|
6
|
+
import { Square } from "@tamagui/shapes";
|
|
7
7
|
import { YStack } from "@tamagui/stacks";
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
function _type_of(obj) {
|
|
@@ -16,7 +16,6 @@ var [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);
|
|
|
16
16
|
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
17
17
|
var IMAGE_NAME = "AvatarImage";
|
|
18
18
|
var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
19
|
-
var _getShapeSize;
|
|
20
19
|
var {
|
|
21
20
|
__scopeAvatar,
|
|
22
21
|
src,
|
|
@@ -26,11 +25,6 @@ var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef)
|
|
|
26
25
|
} = props;
|
|
27
26
|
var context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
28
27
|
var [status, setStatus] = React.useState("idle");
|
|
29
|
-
var shapeSize = getVariableValue((_getShapeSize = getShapeSize(context.size,
|
|
30
|
-
// @ts-expect-error
|
|
31
|
-
{
|
|
32
|
-
tokens: getTokens()
|
|
33
|
-
})) === null || _getShapeSize === void 0 ? void 0 : _getShapeSize.width);
|
|
34
28
|
var resolvedSrc = src || (source && (typeof source === "undefined" ? "undefined" : _type_of(source)) === "object" && "uri" in source ? source.uri : source);
|
|
35
29
|
React.useEffect(function () {
|
|
36
30
|
if (!resolvedSrc) {
|
|
@@ -56,10 +50,15 @@ var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef)
|
|
|
56
50
|
right: 0,
|
|
57
51
|
bottom: 0,
|
|
58
52
|
objectFit: "cover",
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
// fill the frame. previously the image was sized to
|
|
54
|
+
// getShapeSize(context.size) — but that resolves a numeric `size`
|
|
55
|
+
// (e.g. <Avatar size={16} />) as a size-TOKEN index (tokens.size[16]),
|
|
56
|
+
// so it got the token-scale value (~224px) instead of 16px, blowing
|
|
57
|
+
// the image far past its frame; object-fit:cover then showed a
|
|
58
|
+
// blurry mis-cropped corner. the frame already owns the size, so the
|
|
59
|
+
// image just fills it — correct for numeric and token sizes alike.
|
|
60
|
+
width: "100%",
|
|
61
|
+
height: "100%",
|
|
63
62
|
...imageProps,
|
|
64
63
|
// @ts-ignore
|
|
65
64
|
ref: forwardedRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","styled","createContextScope","withStaticProperties","Image","Square","YStack","React","_type_of","obj","Symbol","constructor","AVATAR_NAME","createAvatarContext","createAvatarScope","AvatarProvider","useAvatarContext","IMAGE_NAME","AvatarImage","forwardRef","props","forwardedRef","__scopeAvatar","src","source","onLoadingStatusChange","imageProps","context","status","setStatus","useState","resolvedSrc","uri","useEffect","onImageLoadingStatusChange","fullscreen","zIndex","children","position","top","left","right","bottom","objectFit","width","height","ref","onError","onLoad","displayName","FALLBACK_NAME","AvatarFallbackFrame","name","AvatarFallback","styleable","delayMs","fallbackProps","canRender","setCanRender","timerId","setTimeout","clearTimeout","imageLoadingStatus","AvatarFrame","overflow","Avatar"],"sources":["../../src/Avatar.tsx"],"sourcesContent":[null],"mappings":"AAGA,SAASA,GAAA,IAAAC,IAAA,QAAc;AAEvB,SAASC,MAAA,uBAA0B;AACnC,SAASC,kBAAA,iCAA4B;AAErC,SAASC,oBAAa;AACtB,SAASC,KAAA,wBAAc;AACvB,SAASC,MAAA,QAAc;AACvB,SAAAC,MAAY,QAAW;AAkEf,YAAAC,KAAA;AAhER,SAAMC,SAAAC,GAAc;EAGpB,uBAAO;;EAUP,OAAOA,GAAA,WAAgBC,MAAA,gBACrB,IAAAD,GAAA,CAAAE,WAAwC,KAAAD,MAAW,qBAAAD,GAAA;AAMrD;AAMA,IAAAG,WAAM,WAAoB;AAAA,IACvB,CAAAC,mBAAsC,EAAAC,iBAAiB,IAAAZ,kBAAA,CAAAU,WAAA;AACtD,KAAAG,cAAM,EAAAC,gBAAA,IAAAH,mBAAA,CAAAD,WAAA;AAAA,IAAAK,UACJ;AAAA,IAAAC,WACA,kBAAAX,KAAA,CAAAY,UAAA,WAAAC,KAAA,EAAAC,YAAA;EAAA,IACA;IAAAC,aAAA;IAAAC,GAAA;IAAAC,MAAA;IAAAC,qBAAA,YAAAA,CAAA;IAAA,GACAC;EAAA,IAAAN,KAAA;EAA8B,IAACO,OAAA,GAAAX,gBAAA,CAAAC,UAAA,EAAAK,aAAA;EAAA,IAC/B,CAAAM,MAAG,EAAAC,SAAA,IAAAtB,KAAA,CAAAuB,QAAA;EAAA,IACLC,WAAI,GAAAR,GAAA,KAAAC,MAAA,YAAAA,MAAA,iCAAAhB,QAAA,CAAAgB,MAAA,4BAAAA,MAAA,GAAAA,MAAA,CAAAQ,GAAA,GAAAR,MAAA;EACJjB,KAAA,CAAA0B,SAAM,aAAU;IAChB,KAAAF,WAAe;MAGfF,SAAM,SACJ;IAGF,OAAM;MAEJA,SAAK;IACH;EAAiB,IAEjBE,WAAA,CAAgB;EAClBxB,KACC,CAAC0B,SAAA,aAAY;IAEhBR,qBAAgB,CAAMG,MAAA;IACpBD,OAAA,CAAAO,0BAA4B,CAAAN,MAAA;EAC5B,IACFA,MAAI,CAGJ;EACE,KAAAG,WAAO;IACT;EAEA;EAEI,OAAC,eAAA/B,IAAA,CAAAM,MAAA;IAAA6B,UAAA;IAAAC,MACC;IAASC,QACT,EAAK,eAAArC,IAAA,CAAAI,KAAA;MAAAkC,QACC;MAAAC,GACN;MAAOC,IACP;MAAQC,KACR;MAAUC,MAQV,GAAM;MAAAC,SACN,EAAO;MAAA;MACH;MAEC;MAEA;MAKH;MAAiB;MACnB;MAEEC,KAAA;MAAkBC,MACpB;MAAA,GAAAnB,UAAA;MACF;MAGNoB,GAAA,EAAAzB,YAAA;MACF;MAEAE,GAAA,EAAAQ,WAAY;MAMN;MAEO;MACX;MACAgB,OAAU,WAAAA,CAAA;QACVlB,SAAY;MACZ;MACDmB,MAAA,WAAAA,CAAA;QAOKnB,SAAA,SAAiB;MAGrB;IACA;EACA;AAEA;AACEX,WAAI,CAAA+B,WAAY,GAAAhC,UAAW;AACzB,IAAAiC,aAAM,mBAAqB;AAC3B,IAAAC,mBAAa,GAAAlD,MAAa,CAAAK,MAAO;EAAA8C,IACnC,EAAAF,aAAA;EACFZ,QAAI,YAAQ;EAEZH,UAAO;EAGRC,MAAA;AAED;AAMO,IAAAiB,cAAM,GAAcF,mBAAe,CAAAG,SAAA,WAAAlC,KAAA,EAAAC,YAAA;EACxC;IAAMC,aAAA;IAAAiC,OAAA;IAAA,GAAAC;EAAA,IAAApC,KAAA;EACN,IAAAO,OAAU,GAAAX,gBAAA,CAAAkC,aAAA,EAAA5B,aAAA;EACV,KAAAmC,SAAU,EAAAC,YAAA,IAAAnD,KAAA,CAAAuB,QAAA,CAAAyB,OAAA;EACXhD,KAAA,CAAA0B,SAAA;IAmBD,IAAMsB,OAAS;MACb,IAAMI,OAAA,GAAAC,UAAA;QACH,OAAiCF,YAAA,KAAiB;MACjD,GAAAH,OAAQ;MACR,OAAO;QAEP,OACEM,YAAA,CAAAF,OAAA;MAAA;IAAC;EAAA,IACCJ,OACA,CAAO;EACP,OAAAE,SACA,IAAA9B,OAAA,CAAAmC,kBAA4B,+BAAA9D,IAAA,CAAAmD,mBAAA;IAAA,GAAAK,aAE5B;IAA6DV,GAAA,EAAAzB;EAAA,KAC/D;AAAA;AAEJgC,cACF,CAAAJ,WAAA,GAAAC,aAAA;AAAA,IACAa,WAAA,GAAA9D,MAAA,CAAAI,MAAA;EAAA+C,IACE,EAAAxC,WAAO;EAAA0B,QACP,YAAU;EACZ0B,QAAA;AACF;AAEA,IAAAC,MAAO,GAAA9D,oBAAc,gBAAAI,KAAA,CAAAY,UAAA,WAAAC,KAAA,EAAAC,YAAA","ignoreList":[]}
|
package/dist/jsx/Avatar.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { 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";
|
|
5
|
-
import { Square
|
|
5
|
+
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";
|
|
@@ -20,11 +20,6 @@ const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
|
20
20
|
} = props;
|
|
21
21
|
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
22
22
|
const [status, setStatus] = React.useState("idle");
|
|
23
|
-
const shapeSize = getVariableValue(getShapeSize(context.size,
|
|
24
|
-
// @ts-expect-error
|
|
25
|
-
{
|
|
26
|
-
tokens: getTokens()
|
|
27
|
-
})?.width);
|
|
28
23
|
const resolvedSrc = src || (source && typeof source === "object" && "uri" in source ? source.uri : source);
|
|
29
24
|
React.useEffect(() => {
|
|
30
25
|
if (!resolvedSrc) {
|
|
@@ -50,10 +45,8 @@ const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
|
50
45
|
right: 0,
|
|
51
46
|
bottom: 0,
|
|
52
47
|
objectFit: "cover",
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
height: shapeSize
|
|
56
|
-
}),
|
|
48
|
+
width: "100%",
|
|
49
|
+
height: "100%",
|
|
57
50
|
...imageProps,
|
|
58
51
|
ref: forwardedRef,
|
|
59
52
|
src: resolvedSrc,
|
package/dist/jsx/Avatar.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["styled","createContextScope","withStaticProperties","Image","Square","YStack","React","jsx","AVATAR_NAME","createAvatarContext","createAvatarScope","AvatarProvider","useAvatarContext","IMAGE_NAME","AvatarImage","forwardRef","props","forwardedRef","__scopeAvatar","src","source","onLoadingStatusChange","imageProps","context","status","setStatus","useState","resolvedSrc","uri","useEffect","onImageLoadingStatusChange","fullscreen","zIndex","children","position","top","left","right","bottom","objectFit","width","height","ref","onError","onLoad","displayName","FALLBACK_NAME","AvatarFallbackFrame","name","AvatarFallback","styleable","delayMs","fallbackProps","canRender","setCanRender","timerId","setTimeout","clearTimeout","imageLoadingStatus","AvatarFrame","overflow","Avatar","size","avatarProps","setImageLoadingStatus","scope","Fallback"],"sources":["../../src/Avatar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -61,7 +61,6 @@ var [createAvatarContext, createAvatarScope] = (0, import_create_context.createC
|
|
|
61
61
|
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
62
62
|
var IMAGE_NAME = "AvatarImage";
|
|
63
63
|
var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
64
|
-
var _getShapeSize;
|
|
65
64
|
var {
|
|
66
65
|
__scopeAvatar,
|
|
67
66
|
src,
|
|
@@ -71,11 +70,6 @@ var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef)
|
|
|
71
70
|
} = props;
|
|
72
71
|
var context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
73
72
|
var [status, setStatus] = React.useState("idle");
|
|
74
|
-
var shapeSize = (0, import_core.getVariableValue)((_getShapeSize = (0, import_shapes.getShapeSize)(context.size,
|
|
75
|
-
// @ts-expect-error
|
|
76
|
-
{
|
|
77
|
-
tokens: (0, import_core.getTokens)()
|
|
78
|
-
})) === null || _getShapeSize === void 0 ? void 0 : _getShapeSize.width);
|
|
79
73
|
var resolvedSrc = src || (source && (typeof source === "undefined" ? "undefined" : _type_of(source)) === "object" && "uri" in source ? source.uri : source);
|
|
80
74
|
React.useEffect(function () {
|
|
81
75
|
if (!resolvedSrc) {
|
|
@@ -101,10 +95,15 @@ var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef)
|
|
|
101
95
|
right: 0,
|
|
102
96
|
bottom: 0,
|
|
103
97
|
objectFit: "cover",
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
98
|
+
// fill the frame. previously the image was sized to
|
|
99
|
+
// getShapeSize(context.size) — but that resolves a numeric `size`
|
|
100
|
+
// (e.g. <Avatar size={16} />) as a size-TOKEN index (tokens.size[16]),
|
|
101
|
+
// so it got the token-scale value (~224px) instead of 16px, blowing
|
|
102
|
+
// the image far past its frame; object-fit:cover then showed a
|
|
103
|
+
// blurry mis-cropped corner. the frame already owns the size, so the
|
|
104
|
+
// image just fills it — correct for numeric and token sizes alike.
|
|
105
|
+
width: "100%",
|
|
106
|
+
height: "100%",
|
|
108
107
|
...imageProps,
|
|
109
108
|
// @ts-ignore
|
|
110
109
|
ref: forwardedRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","Avatar_exports","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","_type_of","obj","Symbol","constructor","AVATAR_NAME","createAvatarContext","createContextScope","AvatarProvider","useAvatarContext","IMAGE_NAME","forwardRef","props","forwardedRef","
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","Avatar_exports","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","_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"],"sources":["../../src/Avatar.tsx"],"sourcesContent":[null],"mappings":"AAGA,YAAS;;AAET,IAAAA,QAAS,GAAAC,MAAA,CAAAC,MAAA;AACT,IAAAC,SAAS,GAAAF,MAAA,CAAAG,cAA4B;AAErC,IAAAC,gBAAS,GAAaJ,MAAA,CAAAK,wBAAA;AACtB,IAAAC,iBAAS,GAAcN,MAAA,CAAAO,mBAAA;AACvB,IAAAC,YAAS,GAAAR,MAAc,CAAAS,cAAA;AACvB,IAAAC,YAAY,GAAAV,MAAW,CAAAW,SAAA,CAAAC,cAAA;AAkEf,IAAAC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EAhER,KAAM,IAAAC,IAAA,IAAAD,GAAc,EAGpBb,SAAO,CAAAY,MAAA,EAAAE,IAAA,EAAqB;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAiBE,UAAI;EAAA;AAUjD;AAOA,IAAAC,WAAM,GAAAA,CAAaC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAMnB,IAAMF,IAAA,WAAcA,IAAA,KAAM,mBAAAA,IAAA;IACvB,SAAsCG,GAAA,IAAAlB,iBAAiB,CAAAe,IAAA,GACtD,IAAM,CAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACJpB,SAAA,CAAAkB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAnB,gBAAA,CAAAiB,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAA;EACA,OACAE,EAAA;AAAA;AAC8B,IAAAM,OAAC,GAAAA,CAAAC,GAAA,EAAAC,UAAA,EAAAd,MAAA,MAAAA,MAAA,GAAAa,GAAA,WAAA5B,QAAA,CAAAS,YAAA,CAAAmB,GAAA,SAAAR,WAAA;AAAA;AAC5B;AAEL;AACA;AAGAS,UAAM,KAAAD,GAAA,IACJ,CAAAA,GAAA,CAAAE,UACC,GAAU3B,SAAO,CAAAY,MAAA,EAAW;EAAYgB,KAAA,EAAAH,GAAS;EAAAT,UAAS,EAAO;AAAA,CAAM,IAAAJ,MAAA,EAE1Ea,GAEE;AACE,IAAAI,YAAA,GAAUJ,GAAA,IAAOR,WAAA,CAAAjB,SAAA;EAAA4B,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAK,cACZ;AACLnB,QAAA,CAAAmB,cAAU,EAAM;EAAAC,MAClB,EAAAA,CAAA,KAAAA,MAAA;EAAAC,cACE,EAAAA,CAAA,KAAYA,cAAA;EAEhBC,mBAAgB,EAAAA,CAAA,KAAMA,mBAAA;EACpBC,WAAA,EAAAA,CAAA,KAAAA,WAAsB;EACtBC,WAAA,EAAQA,CAAA,KAAAA,WAAA;EAAiCC,iBAChC,EAAAA,CAAA,KAAAA;AAGX;AACEC,MAAA,CAAAC,OAAO,GAAAT,YAAA,CAAAC,cAAA;AAAA,IACTS,kBAAA,GAAAC,OAAA;AAEA,IAAAC,WACE,GAAAD,OAAA,gBAAQ;AACN,IAAAE,qBAAC,GAAAF,OAAA;AAAA,IAAAG,cAAA,GAAAH,OAAA;AAAA,IAAAI,YACC,GAASJ,OAAA;AAAA,IAAAK,aACJ,GAAAL,OAAA;AAAA,IAAAM,aACC,GAAAN,OAAA;AAAA,IAAAO,KACN,GAAAvB,OAAO,CAAAgB,OAAA;AAAA,SACPQ,QAAQA,CAAAC,GAAA;EAAA,uBACE;;EAAA,OAQVA,GAAA,IAAM,OAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AACC,IAAAG,WACH;AAAA,KAAAC,mBAEC,EAAAjB,iBAAA,QAAAM,qBAAA,CAAAY,kBAAA,EAAAF,WAAA;AAAA,KAAAG,cAEA,EAAAC,gBAAA,IAAAH,mBAAA,CAAAD,WAAA;AAAA,IAAAK,UAIL,GAAS,aAAM;AACb,IAAAtB,WAAA,kBAAiBY,KAAA,CAAAW,UAAA,WAAAC,KAAA,EAAAC,YAAA;EAAA;IACnBC,aAAA;IAAAC,GAAA;IAAAC,MAAA;IAAAC,qBAAA,YAAAA,CAAA;IAAA,GACAC;EAAQ,IAAMN,KAAA;EACZ,IAAAO,OAAA,GAAAV,gBAAkB,CAAAC,UAAA,EAAAI,aAAA;EAAA,KAAAM,MACpB,EAAAC,SAAA,IAAArB,KAAA,CAAAsB,QAAA;EAAA,IAAAC,WAAA,GAAAR,GAAA,KAAAC,MAAA,YAAAA,MAAA,iCAAAf,QAAA,CAAAe,MAAA,4BAAAA,MAAA,GAAAA,MAAA,CAAAQ,GAAA,GAAAR,MAAA;EAAAhB,KAEJ,CAAAyB,SAAA;IAEJ,KAAAF,WAAA;MACFF,SAAA;IAEA;MAMMA,SAAA,OAAgB;IAEf;EACL,IACAE,WAAU,CACV;EACAvB,KAAA,CAAAyB,SAAQ;IACTR,qBAAA,CAAAG,MAAA;IAODD,OAAM,CAAAO,0BAAiB,CAAAN,MAAoB;EAGzC,IACAA,MAAM,CACN;EAEA,KAAAG,WAAgB;IACd,OAAI;EACF;EACA,sBAAa,IAAA/B,kBAAoB,CAAAmC,GAAA,EAAA5B,aAAA,CAAA6B,MAAA;IACnCC,UAAA;IACFC,MAAI,GAAO;IAEXC,QAAO,iBAAqB,IAAAvC,kBAAA,CAAuBmC,GAAA,EAAA9B,YACjD,CAAAmC,KAAA;MAEHC,QAAA;MAEDC,GAAA;MAMaC,IAAA;MACXC,KAAM;MACNC,MAAU;MACVC,SAAU;MACX;MAmBK;MACJ;MACG;MACC;MACA;MAEA;MACEC,KAAC;MAAAC,MAAA;MAAA,GAAAtB,UACC;MAAA;MACOuB,GAAA,EACP5B,YAAA;MAAA;MAC4BE,GAAA,EAE5BQ,WAAA;MAA6D;MAC/D;MAEJ;MACFmB,OAAA,WAAAA,CAAA;QACArB,SAAA;MACE;MACAsB,MAAA,EAAU,SAAAA,CAAA;QACZtB,SAAA;MACF;IAEA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/avatar",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0-1783099846627",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
"clean:build": "tamagui-build clean:build"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tamagui/core": "2.
|
|
38
|
-
"@tamagui/create-context": "2.
|
|
39
|
-
"@tamagui/helpers": "2.
|
|
40
|
-
"@tamagui/image": "2.
|
|
41
|
-
"@tamagui/shapes": "2.
|
|
42
|
-
"@tamagui/stacks": "2.
|
|
43
|
-
"@tamagui/text": "2.
|
|
37
|
+
"@tamagui/core": "2.4.0-1783099846627",
|
|
38
|
+
"@tamagui/create-context": "2.4.0-1783099846627",
|
|
39
|
+
"@tamagui/helpers": "2.4.0-1783099846627",
|
|
40
|
+
"@tamagui/image": "2.4.0-1783099846627",
|
|
41
|
+
"@tamagui/shapes": "2.4.0-1783099846627",
|
|
42
|
+
"@tamagui/stacks": "2.4.0-1783099846627",
|
|
43
|
+
"@tamagui/text": "2.4.0-1783099846627"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@tamagui/build": "2.
|
|
46
|
+
"@tamagui/build": "2.4.0-1783099846627",
|
|
47
47
|
"react": ">=19",
|
|
48
48
|
"react-native": "0.83.2"
|
|
49
49
|
},
|
package/src/Avatar.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// forked from radix https://github.com/radix-ui/primitives/blob/main/packages/react/avatar/src/Avatar.tsx
|
|
2
2
|
|
|
3
3
|
import type { GetProps, SizeTokens, TamaguiElement } from '@tamagui/core'
|
|
4
|
-
import {
|
|
4
|
+
import { styled } from '@tamagui/core'
|
|
5
5
|
import type { Scope } from '@tamagui/create-context'
|
|
6
6
|
import { createContextScope } from '@tamagui/create-context'
|
|
7
7
|
import { withStaticProperties } from '@tamagui/helpers'
|
|
8
8
|
import type { ImageProps } from '@tamagui/image'
|
|
9
9
|
import { Image } from '@tamagui/image'
|
|
10
|
-
import { Square
|
|
10
|
+
import { Square } from '@tamagui/shapes'
|
|
11
11
|
import { YStack } from '@tamagui/stacks'
|
|
12
12
|
import * as React from 'react'
|
|
13
13
|
|
|
@@ -48,13 +48,6 @@ const AvatarImage = React.forwardRef<TamaguiElement, AvatarImageProps>(
|
|
|
48
48
|
} = props
|
|
49
49
|
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar)
|
|
50
50
|
const [status, setStatus] = React.useState<ImageLoadingStatus>('idle')
|
|
51
|
-
const shapeSize = getVariableValue(
|
|
52
|
-
getShapeSize(
|
|
53
|
-
context.size,
|
|
54
|
-
// @ts-expect-error
|
|
55
|
-
{ tokens: getTokens() }
|
|
56
|
-
)?.width
|
|
57
|
-
) as number
|
|
58
51
|
|
|
59
52
|
// Support both `src` (web) and `source` (RN) props
|
|
60
53
|
const resolvedSrc =
|
|
@@ -89,11 +82,15 @@ const AvatarImage = React.forwardRef<TamaguiElement, AvatarImageProps>(
|
|
|
89
82
|
right={0}
|
|
90
83
|
bottom={0}
|
|
91
84
|
objectFit="cover"
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
85
|
+
// fill the frame. previously the image was sized to
|
|
86
|
+
// getShapeSize(context.size) — but that resolves a numeric `size`
|
|
87
|
+
// (e.g. <Avatar size={16} />) as a size-TOKEN index (tokens.size[16]),
|
|
88
|
+
// so it got the token-scale value (~224px) instead of 16px, blowing
|
|
89
|
+
// the image far past its frame; object-fit:cover then showed a
|
|
90
|
+
// blurry mis-cropped corner. the frame already owns the size, so the
|
|
91
|
+
// image just fills it — correct for numeric and token sizes alike.
|
|
92
|
+
width="100%"
|
|
93
|
+
height="100%"
|
|
97
94
|
{...imageProps}
|
|
98
95
|
// @ts-ignore
|
|
99
96
|
ref={forwardedRef}
|
package/types/Avatar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAA4B,iBAAiB,+CAAmC,CAAA;AAEhF,KAAK,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAiBjE,KAAK,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC5C,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;CAC7D,CAAA;AAED,QAAA,MAAM,WAAW;4BAHS,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAA4B,iBAAiB,+CAAmC,CAAA;AAEhF,KAAK,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAiBjE,KAAK,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC5C,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;CAC7D,CAAA;AAED,QAAA,MAAM,WAAW;4BAHS,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI;wCA2E7D,CAAA;AAUD,eAAO,MAAM,mBAAmB;;;8CAK9B,CAAA;AAEF,KAAK,wBAAwB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AACD,KAAK,mBAAmB,GAAG,QAAQ,CAAC,OAAO,mBAAmB,CAAC,GAAG,wBAAwB,CAAA;AAE1F,QAAA,MAAM,cAAc;;;;oBAtHwB,KAAK;;oBAAL,KAAK;;;;8CAuI/C,CAAA;AAQF,eAAO,MAAM,WAAW;;;;;;;;;;;EAItB,CAAA;AAEF,KAAK,WAAW,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAA;AAE/C;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAjJc,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI;;;;;;wBArBlB,KAAK;;wBAAL,KAAK;;;;;CA4LhD,CAAA;AAID,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA;AACjE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAA"}
|