@tamagui/avatar 1.74.2 → 1.74.4

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.
@@ -0,0 +1,102 @@
1
+ import {
2
+ getTokens,
3
+ getVariableValue,
4
+ styled,
5
+ withStaticProperties
6
+ } from "@tamagui/core";
7
+ import { createContextScope } from "@tamagui/create-context";
8
+ import { Image } from "@tamagui/image";
9
+ import { Square, getShapeSize } from "@tamagui/shapes";
10
+ import { YStack } from "@tamagui/stacks";
11
+ import * as React from "react";
12
+ import { jsx } from "react/jsx-runtime";
13
+ const AVATAR_NAME = "Avatar", [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME), [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME), IMAGE_NAME = "AvatarImage", AvatarImage = React.forwardRef(
14
+ (props, forwardedRef) => {
15
+ const { __scopeAvatar, src, onLoadingStatusChange = () => {
16
+ }, ...imageProps } = props, context = useAvatarContext(IMAGE_NAME, __scopeAvatar), [status, setStatus] = React.useState("idle"), shapeSize = getVariableValue(
17
+ getShapeSize(
18
+ context.size,
19
+ // @ts-expect-error
20
+ { tokens: getTokens() }
21
+ )?.width
22
+ );
23
+ return React.useEffect(() => {
24
+ setStatus("idle");
25
+ }, [JSON.stringify(src)]), React.useEffect(() => {
26
+ onLoadingStatusChange(status), context.onImageLoadingStatusChange(status);
27
+ }, [status]), /* @__PURE__ */ jsx(YStack, { fullscreen: !0, zIndex: 1, children: /* @__PURE__ */ jsx(
28
+ Image,
29
+ {
30
+ fullscreen: !0,
31
+ ...typeof shapeSize == "number" && !isNaN(shapeSize) && {
32
+ width: shapeSize,
33
+ height: shapeSize
34
+ },
35
+ ...imageProps,
36
+ ref: forwardedRef,
37
+ src,
38
+ onError: () => {
39
+ setStatus("error");
40
+ },
41
+ onLoad: () => {
42
+ setStatus("loaded");
43
+ }
44
+ }
45
+ ) });
46
+ }
47
+ );
48
+ AvatarImage.displayName = IMAGE_NAME;
49
+ const FALLBACK_NAME = "AvatarFallback", AvatarFallbackFrame = styled(YStack, {
50
+ name: FALLBACK_NAME,
51
+ position: "absolute",
52
+ fullscreen: !0,
53
+ zIndex: 0
54
+ }), AvatarFallback = AvatarFallbackFrame.extractable(
55
+ React.forwardRef(
56
+ (props, forwardedRef) => {
57
+ const { __scopeAvatar, delayMs, ...fallbackProps } = props, context = useAvatarContext(FALLBACK_NAME, __scopeAvatar), [canRender, setCanRender] = React.useState(delayMs === void 0);
58
+ return React.useEffect(() => {
59
+ if (delayMs !== void 0) {
60
+ const timerId = setTimeout(() => setCanRender(!0), delayMs);
61
+ return () => clearTimeout(timerId);
62
+ }
63
+ }, [delayMs]), canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ jsx(AvatarFallbackFrame, { ...fallbackProps, ref: forwardedRef }) : null;
64
+ }
65
+ )
66
+ );
67
+ AvatarFallback.displayName = FALLBACK_NAME;
68
+ const AvatarFrame = styled(Square, {
69
+ name: AVATAR_NAME,
70
+ position: "relative",
71
+ overflow: "hidden"
72
+ }), Avatar = withStaticProperties(
73
+ React.forwardRef(
74
+ (props, forwardedRef) => {
75
+ const { __scopeAvatar, size = "$true", ...avatarProps } = props, [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
76
+ return /* @__PURE__ */ jsx(
77
+ AvatarProvider,
78
+ {
79
+ size,
80
+ scope: __scopeAvatar,
81
+ imageLoadingStatus,
82
+ onImageLoadingStatusChange: setImageLoadingStatus,
83
+ children: /* @__PURE__ */ jsx(AvatarFrame, { size, ...avatarProps, ref: forwardedRef })
84
+ }
85
+ );
86
+ }
87
+ ),
88
+ {
89
+ Image: AvatarImage,
90
+ Fallback: AvatarFallback
91
+ }
92
+ );
93
+ Avatar.displayName = AVATAR_NAME;
94
+ export {
95
+ Avatar,
96
+ AvatarFallback,
97
+ AvatarFallbackFrame,
98
+ AvatarFrame,
99
+ AvatarImage,
100
+ createAvatarScope
101
+ };
102
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Avatar.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./Avatar";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": "AAAA,cAAc;",
5
+ "names": []
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/avatar",
3
- "version": "1.74.2",
3
+ "version": "1.74.4",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -31,17 +31,17 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/core": "1.74.2",
35
- "@tamagui/image": "1.74.2",
36
- "@tamagui/shapes": "1.74.2",
37
- "@tamagui/text": "1.74.2"
34
+ "@tamagui/core": "1.74.4",
35
+ "@tamagui/image": "1.74.4",
36
+ "@tamagui/shapes": "1.74.4",
37
+ "@tamagui/text": "1.74.4"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "react": "*",
41
41
  "react-native": "*"
42
42
  },
43
43
  "devDependencies": {
44
- "@tamagui/build": "1.74.2",
44
+ "@tamagui/build": "1.74.4",
45
45
  "react": "^18.2.0",
46
46
  "react-native": "^0.72.1"
47
47
  },