@hanzogui/avatar 8.3.1 → 8.3.2
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.js +126 -0
- package/dist/cjs/Avatar.js.map +1 -0
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/Avatar.js +119 -0
- package/dist/esm/Avatar.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/package.json +28 -23
- package/src/index.ts +1 -1
- package/types/Avatar.d.ts +21 -21
- package/types/Avatar.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/dist/cjs/Avatar.cjs +0 -160
- package/dist/cjs/Avatar.native.js +0 -184
- package/dist/cjs/Avatar.native.js.map +0 -1
- package/dist/cjs/index.cjs +0 -20
- package/dist/cjs/index.native.js +0 -23
- package/dist/cjs/index.native.js.map +0 -1
- package/dist/esm/Avatar.mjs +0 -119
- package/dist/esm/Avatar.mjs.map +0 -1
- package/dist/esm/Avatar.native.js +0 -140
- package/dist/esm/Avatar.native.js.map +0 -1
- package/dist/esm/index.mjs +0 -2
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js +0 -2
- package/dist/esm/index.native.js.map +0 -1
- package/dist/jsx/Avatar.mjs +0 -119
- package/dist/jsx/Avatar.mjs.map +0 -1
- package/dist/jsx/Avatar.native.js +0 -184
- package/dist/jsx/Avatar.native.js.map +0 -1
- package/dist/jsx/index.js +0 -2
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs +0 -2
- package/dist/jsx/index.mjs.map +0 -1
- package/dist/jsx/index.native.js +0 -23
- package/dist/jsx/index.native.js.map +0 -1
|
@@ -1,184 +0,0 @@
|
|
|
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
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all) __defProp(target, name, {
|
|
11
|
-
get: all[name],
|
|
12
|
-
enumerable: true
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
var __copyProps = (to, from, except, desc) => {
|
|
16
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
-
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
-
get: () => from[key],
|
|
19
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
return to;
|
|
23
|
-
};
|
|
24
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
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
|
|
32
|
-
}) : target, mod));
|
|
33
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
-
value: true
|
|
35
|
-
}), mod);
|
|
36
|
-
var Avatar_exports = {};
|
|
37
|
-
__export(Avatar_exports, {
|
|
38
|
-
Avatar: () => Avatar,
|
|
39
|
-
AvatarFallback: () => AvatarFallback,
|
|
40
|
-
AvatarFallbackFrame: () => AvatarFallbackFrame,
|
|
41
|
-
AvatarFrame: () => AvatarFrame,
|
|
42
|
-
AvatarImage: () => AvatarImage,
|
|
43
|
-
createAvatarScope: () => createAvatarScope
|
|
44
|
-
});
|
|
45
|
-
module.exports = __toCommonJS(Avatar_exports);
|
|
46
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
47
|
-
var import_core = require("@hanzogui/core");
|
|
48
|
-
var import_create_context = require("@hanzogui/create-context");
|
|
49
|
-
var import_helpers = require("@hanzogui/helpers");
|
|
50
|
-
var import_image = require("@hanzogui/image");
|
|
51
|
-
var import_shapes = require("@hanzogui/shapes");
|
|
52
|
-
var import_stacks = require("@hanzogui/stacks");
|
|
53
|
-
var React = __toESM(require("react"), 1);
|
|
54
|
-
function _type_of(obj) {
|
|
55
|
-
"@swc/helpers - typeof";
|
|
56
|
-
|
|
57
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
58
|
-
}
|
|
59
|
-
var AVATAR_NAME = "Avatar";
|
|
60
|
-
var [createAvatarContext, createAvatarScope] = (0, import_create_context.createContextScope)(AVATAR_NAME);
|
|
61
|
-
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
62
|
-
var IMAGE_NAME = "AvatarImage";
|
|
63
|
-
var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
64
|
-
var {
|
|
65
|
-
__scopeAvatar,
|
|
66
|
-
src,
|
|
67
|
-
source,
|
|
68
|
-
onLoadingStatusChange = function () {},
|
|
69
|
-
...imageProps
|
|
70
|
-
} = props;
|
|
71
|
-
var context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
72
|
-
var [status, setStatus] = React.useState("idle");
|
|
73
|
-
var resolvedSrc = src || (source && (typeof source === "undefined" ? "undefined" : _type_of(source)) === "object" && "uri" in source ? source.uri : source);
|
|
74
|
-
React.useEffect(function () {
|
|
75
|
-
if (!resolvedSrc) {
|
|
76
|
-
setStatus("error");
|
|
77
|
-
} else {
|
|
78
|
-
setStatus("idle");
|
|
79
|
-
}
|
|
80
|
-
}, [resolvedSrc]);
|
|
81
|
-
React.useEffect(function () {
|
|
82
|
-
onLoadingStatusChange(status);
|
|
83
|
-
context.onImageLoadingStatusChange(status);
|
|
84
|
-
}, [status]);
|
|
85
|
-
if (!resolvedSrc) {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_stacks.YStack, {
|
|
89
|
-
fullscreen: true,
|
|
90
|
-
zIndex: 1,
|
|
91
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_image.Image, {
|
|
92
|
-
position: "absolute",
|
|
93
|
-
top: 0,
|
|
94
|
-
left: 0,
|
|
95
|
-
right: 0,
|
|
96
|
-
bottom: 0,
|
|
97
|
-
objectFit: "cover",
|
|
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%",
|
|
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
|
-
});
|
|
123
|
-
});
|
|
124
|
-
AvatarImage.displayName = IMAGE_NAME;
|
|
125
|
-
var FALLBACK_NAME = "AvatarFallback";
|
|
126
|
-
var AvatarFallbackFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
127
|
-
name: FALLBACK_NAME,
|
|
128
|
-
position: "absolute",
|
|
129
|
-
fullscreen: true,
|
|
130
|
-
zIndex: 0
|
|
131
|
-
});
|
|
132
|
-
var AvatarFallback = AvatarFallbackFrame.styleable(function (props, forwardedRef) {
|
|
133
|
-
var {
|
|
134
|
-
__scopeAvatar,
|
|
135
|
-
delayMs,
|
|
136
|
-
...fallbackProps
|
|
137
|
-
} = props;
|
|
138
|
-
var context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
|
139
|
-
var [canRender, setCanRender] = React.useState(delayMs === void 0);
|
|
140
|
-
React.useEffect(function () {
|
|
141
|
-
if (delayMs !== void 0) {
|
|
142
|
-
var timerId = setTimeout(function () {
|
|
143
|
-
return setCanRender(true);
|
|
144
|
-
}, delayMs);
|
|
145
|
-
return function () {
|
|
146
|
-
return clearTimeout(timerId);
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
}, [delayMs]);
|
|
150
|
-
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(AvatarFallbackFrame, {
|
|
151
|
-
...fallbackProps,
|
|
152
|
-
ref: forwardedRef
|
|
153
|
-
}) : null;
|
|
154
|
-
});
|
|
155
|
-
AvatarFallback.displayName = FALLBACK_NAME;
|
|
156
|
-
var AvatarFrame = (0, import_core.styled)(import_shapes.Square, {
|
|
157
|
-
name: AVATAR_NAME,
|
|
158
|
-
position: "relative",
|
|
159
|
-
overflow: "hidden"
|
|
160
|
-
});
|
|
161
|
-
var Avatar = (0, import_helpers.withStaticProperties)(/* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
162
|
-
var {
|
|
163
|
-
__scopeAvatar,
|
|
164
|
-
size = "$true",
|
|
165
|
-
...avatarProps
|
|
166
|
-
} = props;
|
|
167
|
-
var [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
|
168
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AvatarProvider, {
|
|
169
|
-
size,
|
|
170
|
-
scope: __scopeAvatar,
|
|
171
|
-
imageLoadingStatus,
|
|
172
|
-
onImageLoadingStatusChange: setImageLoadingStatus,
|
|
173
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(AvatarFrame, {
|
|
174
|
-
size,
|
|
175
|
-
...avatarProps,
|
|
176
|
-
ref: forwardedRef
|
|
177
|
-
})
|
|
178
|
-
});
|
|
179
|
-
}), {
|
|
180
|
-
Image: AvatarImage,
|
|
181
|
-
Fallback: AvatarFallback
|
|
182
|
-
});
|
|
183
|
-
Avatar.displayName = AVATAR_NAME;
|
|
184
|
-
//# sourceMappingURL=Avatar.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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/cjs/index.cjs
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
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") {
|
|
7
|
-
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
8
|
-
get: () => from[key],
|
|
9
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
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);
|
|
18
|
-
var index_exports = {};
|
|
19
|
-
module.exports = __toCommonJS(index_exports);
|
|
20
|
-
__reExport(index_exports, require("./Avatar.cjs"), module.exports);
|
package/dist/cjs/index.native.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
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") {
|
|
9
|
-
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
10
|
-
get: () => from[key],
|
|
11
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
return to;
|
|
15
|
-
};
|
|
16
|
-
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);
|
|
20
|
-
var index_exports = {};
|
|
21
|
-
module.exports = __toCommonJS(index_exports);
|
|
22
|
-
__reExport(index_exports, require("./Avatar.native.js"), module.exports);
|
|
23
|
-
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAc,CAAAK,aAAA","ignoreList":[]}
|
package/dist/esm/Avatar.mjs
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { styled } from "@hanzogui/core";
|
|
2
|
-
import { createContextScope } from "@hanzogui/create-context";
|
|
3
|
-
import { withStaticProperties } from "@hanzogui/helpers";
|
|
4
|
-
import { Image } from "@hanzogui/image";
|
|
5
|
-
import { Square } from "@hanzogui/shapes";
|
|
6
|
-
import { YStack } from "@hanzogui/stacks";
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
import { jsx } from "react/jsx-runtime";
|
|
9
|
-
const AVATAR_NAME = "Avatar";
|
|
10
|
-
const [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);
|
|
11
|
-
const [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
12
|
-
const IMAGE_NAME = "AvatarImage";
|
|
13
|
-
const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
14
|
-
const {
|
|
15
|
-
__scopeAvatar,
|
|
16
|
-
src,
|
|
17
|
-
source,
|
|
18
|
-
onLoadingStatusChange = () => {},
|
|
19
|
-
...imageProps
|
|
20
|
-
} = props;
|
|
21
|
-
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
22
|
-
const [status, setStatus] = React.useState("idle");
|
|
23
|
-
const resolvedSrc = src || (source && typeof source === "object" && "uri" in source ? source.uri : source);
|
|
24
|
-
React.useEffect(() => {
|
|
25
|
-
if (!resolvedSrc) {
|
|
26
|
-
setStatus("error");
|
|
27
|
-
} else {
|
|
28
|
-
setStatus("idle");
|
|
29
|
-
}
|
|
30
|
-
}, [resolvedSrc]);
|
|
31
|
-
React.useEffect(() => {
|
|
32
|
-
onLoadingStatusChange(status);
|
|
33
|
-
context.onImageLoadingStatusChange(status);
|
|
34
|
-
}, [status]);
|
|
35
|
-
if (!resolvedSrc) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
return /* @__PURE__ */jsx(YStack, {
|
|
39
|
-
fullscreen: true,
|
|
40
|
-
zIndex: 1,
|
|
41
|
-
children: /* @__PURE__ */jsx(Image, {
|
|
42
|
-
position: "absolute",
|
|
43
|
-
top: 0,
|
|
44
|
-
left: 0,
|
|
45
|
-
right: 0,
|
|
46
|
-
bottom: 0,
|
|
47
|
-
objectFit: "cover",
|
|
48
|
-
width: "100%",
|
|
49
|
-
height: "100%",
|
|
50
|
-
...imageProps,
|
|
51
|
-
ref: forwardedRef,
|
|
52
|
-
src: resolvedSrc,
|
|
53
|
-
onError: () => {
|
|
54
|
-
setStatus("error");
|
|
55
|
-
},
|
|
56
|
-
onLoad: () => {
|
|
57
|
-
setStatus("loaded");
|
|
58
|
-
}
|
|
59
|
-
})
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
AvatarImage.displayName = IMAGE_NAME;
|
|
63
|
-
const FALLBACK_NAME = "AvatarFallback";
|
|
64
|
-
const AvatarFallbackFrame = styled(YStack, {
|
|
65
|
-
name: FALLBACK_NAME,
|
|
66
|
-
position: "absolute",
|
|
67
|
-
fullscreen: true,
|
|
68
|
-
zIndex: 0
|
|
69
|
-
});
|
|
70
|
-
const AvatarFallback = AvatarFallbackFrame.styleable((props, forwardedRef) => {
|
|
71
|
-
const {
|
|
72
|
-
__scopeAvatar,
|
|
73
|
-
delayMs,
|
|
74
|
-
...fallbackProps
|
|
75
|
-
} = props;
|
|
76
|
-
const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
|
77
|
-
const [canRender, setCanRender] = React.useState(delayMs === void 0);
|
|
78
|
-
React.useEffect(() => {
|
|
79
|
-
if (delayMs !== void 0) {
|
|
80
|
-
const timerId = setTimeout(() => setCanRender(true), delayMs);
|
|
81
|
-
return () => clearTimeout(timerId);
|
|
82
|
-
}
|
|
83
|
-
}, [delayMs]);
|
|
84
|
-
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */jsx(AvatarFallbackFrame, {
|
|
85
|
-
...fallbackProps,
|
|
86
|
-
ref: forwardedRef
|
|
87
|
-
}) : null;
|
|
88
|
-
});
|
|
89
|
-
AvatarFallback.displayName = FALLBACK_NAME;
|
|
90
|
-
const AvatarFrame = styled(Square, {
|
|
91
|
-
name: AVATAR_NAME,
|
|
92
|
-
position: "relative",
|
|
93
|
-
overflow: "hidden"
|
|
94
|
-
});
|
|
95
|
-
const Avatar = withStaticProperties(React.forwardRef((props, forwardedRef) => {
|
|
96
|
-
const {
|
|
97
|
-
__scopeAvatar,
|
|
98
|
-
size = "$true",
|
|
99
|
-
...avatarProps
|
|
100
|
-
} = props;
|
|
101
|
-
const [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
|
102
|
-
return /* @__PURE__ */jsx(AvatarProvider, {
|
|
103
|
-
size,
|
|
104
|
-
scope: __scopeAvatar,
|
|
105
|
-
imageLoadingStatus,
|
|
106
|
-
onImageLoadingStatusChange: setImageLoadingStatus,
|
|
107
|
-
children: /* @__PURE__ */jsx(AvatarFrame, {
|
|
108
|
-
size,
|
|
109
|
-
...avatarProps,
|
|
110
|
-
ref: forwardedRef
|
|
111
|
-
})
|
|
112
|
-
});
|
|
113
|
-
}), {
|
|
114
|
-
Image: AvatarImage,
|
|
115
|
-
Fallback: AvatarFallback
|
|
116
|
-
});
|
|
117
|
-
Avatar.displayName = AVATAR_NAME;
|
|
118
|
-
export { Avatar, AvatarFallback, AvatarFallbackFrame, AvatarFrame, AvatarImage, createAvatarScope };
|
|
119
|
-
//# sourceMappingURL=Avatar.mjs.map
|
package/dist/esm/Avatar.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,140 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { styled } from "@hanzogui/core";
|
|
3
|
-
import { createContextScope } from "@hanzogui/create-context";
|
|
4
|
-
import { withStaticProperties } from "@hanzogui/helpers";
|
|
5
|
-
import { Image } from "@hanzogui/image";
|
|
6
|
-
import { Square } from "@hanzogui/shapes";
|
|
7
|
-
import { YStack } from "@hanzogui/stacks";
|
|
8
|
-
import * as React from "react";
|
|
9
|
-
function _type_of(obj) {
|
|
10
|
-
"@swc/helpers - typeof";
|
|
11
|
-
|
|
12
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
13
|
-
}
|
|
14
|
-
var AVATAR_NAME = "Avatar";
|
|
15
|
-
var [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);
|
|
16
|
-
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
17
|
-
var IMAGE_NAME = "AvatarImage";
|
|
18
|
-
var AvatarImage = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
19
|
-
var {
|
|
20
|
-
__scopeAvatar,
|
|
21
|
-
src,
|
|
22
|
-
source,
|
|
23
|
-
onLoadingStatusChange = function () {},
|
|
24
|
-
...imageProps
|
|
25
|
-
} = props;
|
|
26
|
-
var context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
27
|
-
var [status, setStatus] = React.useState("idle");
|
|
28
|
-
var resolvedSrc = src || (source && (typeof source === "undefined" ? "undefined" : _type_of(source)) === "object" && "uri" in source ? source.uri : source);
|
|
29
|
-
React.useEffect(function () {
|
|
30
|
-
if (!resolvedSrc) {
|
|
31
|
-
setStatus("error");
|
|
32
|
-
} else {
|
|
33
|
-
setStatus("idle");
|
|
34
|
-
}
|
|
35
|
-
}, [resolvedSrc]);
|
|
36
|
-
React.useEffect(function () {
|
|
37
|
-
onLoadingStatusChange(status);
|
|
38
|
-
context.onImageLoadingStatusChange(status);
|
|
39
|
-
}, [status]);
|
|
40
|
-
if (!resolvedSrc) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
return /* @__PURE__ */_jsx(YStack, {
|
|
44
|
-
fullscreen: true,
|
|
45
|
-
zIndex: 1,
|
|
46
|
-
children: /* @__PURE__ */_jsx(Image, {
|
|
47
|
-
position: "absolute",
|
|
48
|
-
top: 0,
|
|
49
|
-
left: 0,
|
|
50
|
-
right: 0,
|
|
51
|
-
bottom: 0,
|
|
52
|
-
objectFit: "cover",
|
|
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%",
|
|
62
|
-
...imageProps,
|
|
63
|
-
// @ts-ignore
|
|
64
|
-
ref: forwardedRef,
|
|
65
|
-
// @ts-ignore
|
|
66
|
-
src: resolvedSrc,
|
|
67
|
-
// onLoadStart={() => {
|
|
68
|
-
// // setStatus('loading')
|
|
69
|
-
// }}
|
|
70
|
-
onError: function () {
|
|
71
|
-
setStatus("error");
|
|
72
|
-
},
|
|
73
|
-
onLoad: function () {
|
|
74
|
-
setStatus("loaded");
|
|
75
|
-
}
|
|
76
|
-
})
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
AvatarImage.displayName = IMAGE_NAME;
|
|
80
|
-
var FALLBACK_NAME = "AvatarFallback";
|
|
81
|
-
var AvatarFallbackFrame = styled(YStack, {
|
|
82
|
-
name: FALLBACK_NAME,
|
|
83
|
-
position: "absolute",
|
|
84
|
-
fullscreen: true,
|
|
85
|
-
zIndex: 0
|
|
86
|
-
});
|
|
87
|
-
var AvatarFallback = AvatarFallbackFrame.styleable(function (props, forwardedRef) {
|
|
88
|
-
var {
|
|
89
|
-
__scopeAvatar,
|
|
90
|
-
delayMs,
|
|
91
|
-
...fallbackProps
|
|
92
|
-
} = props;
|
|
93
|
-
var context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
|
94
|
-
var [canRender, setCanRender] = React.useState(delayMs === void 0);
|
|
95
|
-
React.useEffect(function () {
|
|
96
|
-
if (delayMs !== void 0) {
|
|
97
|
-
var timerId = setTimeout(function () {
|
|
98
|
-
return setCanRender(true);
|
|
99
|
-
}, delayMs);
|
|
100
|
-
return function () {
|
|
101
|
-
return clearTimeout(timerId);
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
}, [delayMs]);
|
|
105
|
-
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */_jsx(AvatarFallbackFrame, {
|
|
106
|
-
...fallbackProps,
|
|
107
|
-
ref: forwardedRef
|
|
108
|
-
}) : null;
|
|
109
|
-
});
|
|
110
|
-
AvatarFallback.displayName = FALLBACK_NAME;
|
|
111
|
-
var AvatarFrame = styled(Square, {
|
|
112
|
-
name: AVATAR_NAME,
|
|
113
|
-
position: "relative",
|
|
114
|
-
overflow: "hidden"
|
|
115
|
-
});
|
|
116
|
-
var Avatar = withStaticProperties(/* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
117
|
-
var {
|
|
118
|
-
__scopeAvatar,
|
|
119
|
-
size = "$true",
|
|
120
|
-
...avatarProps
|
|
121
|
-
} = props;
|
|
122
|
-
var [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
|
123
|
-
return /* @__PURE__ */_jsx(AvatarProvider, {
|
|
124
|
-
size,
|
|
125
|
-
scope: __scopeAvatar,
|
|
126
|
-
imageLoadingStatus,
|
|
127
|
-
onImageLoadingStatusChange: setImageLoadingStatus,
|
|
128
|
-
children: /* @__PURE__ */_jsx(AvatarFrame, {
|
|
129
|
-
size,
|
|
130
|
-
...avatarProps,
|
|
131
|
-
ref: forwardedRef
|
|
132
|
-
})
|
|
133
|
-
});
|
|
134
|
-
}), {
|
|
135
|
-
Image: AvatarImage,
|
|
136
|
-
Fallback: AvatarFallback
|
|
137
|
-
});
|
|
138
|
-
Avatar.displayName = AVATAR_NAME;
|
|
139
|
-
export { Avatar, AvatarFallback, AvatarFallbackFrame, AvatarFrame, AvatarImage, createAvatarScope };
|
|
140
|
-
//# sourceMappingURL=Avatar.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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":"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","ignoreList":[]}
|
package/dist/esm/index.mjs
DELETED
package/dist/esm/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
|
package/dist/esm/index.native.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
|
package/dist/jsx/Avatar.mjs
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { styled } from "@hanzogui/core";
|
|
2
|
-
import { createContextScope } from "@hanzogui/create-context";
|
|
3
|
-
import { withStaticProperties } from "@hanzogui/helpers";
|
|
4
|
-
import { Image } from "@hanzogui/image";
|
|
5
|
-
import { Square } from "@hanzogui/shapes";
|
|
6
|
-
import { YStack } from "@hanzogui/stacks";
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
import { jsx } from "react/jsx-runtime";
|
|
9
|
-
const AVATAR_NAME = "Avatar";
|
|
10
|
-
const [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);
|
|
11
|
-
const [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
12
|
-
const IMAGE_NAME = "AvatarImage";
|
|
13
|
-
const AvatarImage = React.forwardRef((props, forwardedRef) => {
|
|
14
|
-
const {
|
|
15
|
-
__scopeAvatar,
|
|
16
|
-
src,
|
|
17
|
-
source,
|
|
18
|
-
onLoadingStatusChange = () => {},
|
|
19
|
-
...imageProps
|
|
20
|
-
} = props;
|
|
21
|
-
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
22
|
-
const [status, setStatus] = React.useState("idle");
|
|
23
|
-
const resolvedSrc = src || (source && typeof source === "object" && "uri" in source ? source.uri : source);
|
|
24
|
-
React.useEffect(() => {
|
|
25
|
-
if (!resolvedSrc) {
|
|
26
|
-
setStatus("error");
|
|
27
|
-
} else {
|
|
28
|
-
setStatus("idle");
|
|
29
|
-
}
|
|
30
|
-
}, [resolvedSrc]);
|
|
31
|
-
React.useEffect(() => {
|
|
32
|
-
onLoadingStatusChange(status);
|
|
33
|
-
context.onImageLoadingStatusChange(status);
|
|
34
|
-
}, [status]);
|
|
35
|
-
if (!resolvedSrc) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
return /* @__PURE__ */jsx(YStack, {
|
|
39
|
-
fullscreen: true,
|
|
40
|
-
zIndex: 1,
|
|
41
|
-
children: /* @__PURE__ */jsx(Image, {
|
|
42
|
-
position: "absolute",
|
|
43
|
-
top: 0,
|
|
44
|
-
left: 0,
|
|
45
|
-
right: 0,
|
|
46
|
-
bottom: 0,
|
|
47
|
-
objectFit: "cover",
|
|
48
|
-
width: "100%",
|
|
49
|
-
height: "100%",
|
|
50
|
-
...imageProps,
|
|
51
|
-
ref: forwardedRef,
|
|
52
|
-
src: resolvedSrc,
|
|
53
|
-
onError: () => {
|
|
54
|
-
setStatus("error");
|
|
55
|
-
},
|
|
56
|
-
onLoad: () => {
|
|
57
|
-
setStatus("loaded");
|
|
58
|
-
}
|
|
59
|
-
})
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
AvatarImage.displayName = IMAGE_NAME;
|
|
63
|
-
const FALLBACK_NAME = "AvatarFallback";
|
|
64
|
-
const AvatarFallbackFrame = styled(YStack, {
|
|
65
|
-
name: FALLBACK_NAME,
|
|
66
|
-
position: "absolute",
|
|
67
|
-
fullscreen: true,
|
|
68
|
-
zIndex: 0
|
|
69
|
-
});
|
|
70
|
-
const AvatarFallback = AvatarFallbackFrame.styleable((props, forwardedRef) => {
|
|
71
|
-
const {
|
|
72
|
-
__scopeAvatar,
|
|
73
|
-
delayMs,
|
|
74
|
-
...fallbackProps
|
|
75
|
-
} = props;
|
|
76
|
-
const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
|
77
|
-
const [canRender, setCanRender] = React.useState(delayMs === void 0);
|
|
78
|
-
React.useEffect(() => {
|
|
79
|
-
if (delayMs !== void 0) {
|
|
80
|
-
const timerId = setTimeout(() => setCanRender(true), delayMs);
|
|
81
|
-
return () => clearTimeout(timerId);
|
|
82
|
-
}
|
|
83
|
-
}, [delayMs]);
|
|
84
|
-
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */jsx(AvatarFallbackFrame, {
|
|
85
|
-
...fallbackProps,
|
|
86
|
-
ref: forwardedRef
|
|
87
|
-
}) : null;
|
|
88
|
-
});
|
|
89
|
-
AvatarFallback.displayName = FALLBACK_NAME;
|
|
90
|
-
const AvatarFrame = styled(Square, {
|
|
91
|
-
name: AVATAR_NAME,
|
|
92
|
-
position: "relative",
|
|
93
|
-
overflow: "hidden"
|
|
94
|
-
});
|
|
95
|
-
const Avatar = withStaticProperties(React.forwardRef((props, forwardedRef) => {
|
|
96
|
-
const {
|
|
97
|
-
__scopeAvatar,
|
|
98
|
-
size = "$true",
|
|
99
|
-
...avatarProps
|
|
100
|
-
} = props;
|
|
101
|
-
const [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
|
102
|
-
return /* @__PURE__ */jsx(AvatarProvider, {
|
|
103
|
-
size,
|
|
104
|
-
scope: __scopeAvatar,
|
|
105
|
-
imageLoadingStatus,
|
|
106
|
-
onImageLoadingStatusChange: setImageLoadingStatus,
|
|
107
|
-
children: /* @__PURE__ */jsx(AvatarFrame, {
|
|
108
|
-
size,
|
|
109
|
-
...avatarProps,
|
|
110
|
-
ref: forwardedRef
|
|
111
|
-
})
|
|
112
|
-
});
|
|
113
|
-
}), {
|
|
114
|
-
Image: AvatarImage,
|
|
115
|
-
Fallback: AvatarFallback
|
|
116
|
-
});
|
|
117
|
-
Avatar.displayName = AVATAR_NAME;
|
|
118
|
-
export { Avatar, AvatarFallback, AvatarFallbackFrame, AvatarFrame, AvatarImage, createAvatarScope };
|
|
119
|
-
//# sourceMappingURL=Avatar.mjs.map
|
package/dist/jsx/Avatar.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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":[]}
|