@unisim/sdk 0.79.1 → 0.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,17 +5,19 @@ export interface ProfileAvatarIconProps {
|
|
|
5
5
|
/** Edge length in px. Defaults to 36 — the navbar trigger's inner circle. */
|
|
6
6
|
size?: number;
|
|
7
7
|
/**
|
|
8
|
-
* Pin a specific figure instead of taking the
|
|
9
|
-
* screenshots, docs and visual tests that need a stable frame
|
|
8
|
+
* Pin a specific figure instead of taking the rotation. Useful for
|
|
9
|
+
* screenshots, docs and visual tests that need a stable frame — and it stops
|
|
10
|
+
* the carousel dead, so a pinned avatar never moves.
|
|
10
11
|
*/
|
|
11
12
|
variant?: ProfileAvatarVariant;
|
|
12
13
|
style?: CSSProperties;
|
|
13
14
|
className?: string;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
|
-
* One of {@link PROFILE_AVATAR_VARIANTS},
|
|
17
|
-
* only — it carries no identity,
|
|
18
|
-
* labelling to whatever control
|
|
17
|
+
* One of {@link PROFILE_AVATAR_VARIANTS}, advancing on each page load AND every
|
|
18
|
+
* few seconds while the page is open. Decorative only — it carries no identity,
|
|
19
|
+
* so it renders `aria-hidden` and leaves the labelling to whatever control
|
|
20
|
+
* wraps it.
|
|
19
21
|
*/
|
|
20
22
|
export declare function ProfileAvatarIcon({ size, variant, style, className }: ProfileAvatarIconProps): import("react/jsx-runtime").JSX.Element;
|
|
21
23
|
//# sourceMappingURL=ProfileAvatarIcon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileAvatarIcon.d.ts","sourceRoot":"","sources":["../src/ProfileAvatarIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAgBtE,eAAO,MAAM,uBAAuB,iDAAkD,CAAA;AAEtF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ProfileAvatarIcon.d.ts","sourceRoot":"","sources":["../src/ProfileAvatarIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAgBtE,eAAO,MAAM,uBAAuB,iDAAkD,CAAA;AAEtF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAqG3E,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,IAAS,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CA4DjG"}
|
|
@@ -23,15 +23,12 @@ const ROTATION_KEY = 'unisim.profileAvatar';
|
|
|
23
23
|
* applied in an effect once the component is on the client.
|
|
24
24
|
*/
|
|
25
25
|
const SSR_VARIANT = PROFILE_AVATAR_VARIANTS[0];
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
function rotateVariant() {
|
|
33
|
-
if (rotated)
|
|
34
|
-
return rotated;
|
|
26
|
+
/** How long each figure is held before the next fades in. */
|
|
27
|
+
const AVATAR_ROTATE_MS = 5000;
|
|
28
|
+
/** Cross-fade duration. Kept well under the hold so the swap reads as a swap. */
|
|
29
|
+
const AVATAR_FADE_MS = 350;
|
|
30
|
+
/** Advance the stored counter one step and return the figure it lands on. */
|
|
31
|
+
function advanceVariant() {
|
|
35
32
|
const count = PROFILE_AVATAR_VARIANTS.length;
|
|
36
33
|
let index;
|
|
37
34
|
try {
|
|
@@ -44,29 +41,132 @@ function rotateVariant() {
|
|
|
44
41
|
// it just can't guarantee it differs from the previous load.
|
|
45
42
|
index = Math.floor(Math.random() * count);
|
|
46
43
|
}
|
|
47
|
-
|
|
44
|
+
return PROFILE_AVATAR_VARIANTS[index] ?? SSR_VARIANT;
|
|
45
|
+
}
|
|
46
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
47
|
+
// Shared rotation
|
|
48
|
+
//
|
|
49
|
+
// ONE timer and one current figure for the whole page, not one per component.
|
|
50
|
+
// A page routinely mounts two triggers (the desktop cluster and the mobile row),
|
|
51
|
+
// and two independent timers would drift apart within a minute — you'd see two
|
|
52
|
+
// different figures in the same header. Subscribing them to a single tick keeps
|
|
53
|
+
// them identical, and means the cost doesn't scale with how many are mounted.
|
|
54
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
55
|
+
/**
|
|
56
|
+
* Resolved once per page load, so every trigger agrees on the starting figure
|
|
57
|
+
* and React 18's double-invoked effects in StrictMode don't skip one.
|
|
58
|
+
*/
|
|
59
|
+
let rotated = null;
|
|
60
|
+
function currentVariant() {
|
|
61
|
+
if (!rotated)
|
|
62
|
+
rotated = advanceVariant();
|
|
48
63
|
return rotated;
|
|
49
64
|
}
|
|
65
|
+
const listeners = new Set();
|
|
66
|
+
let ticker = null;
|
|
67
|
+
/** Teardown returned by each listener's last invocation, keyed by listener. */
|
|
68
|
+
const pending = new Map();
|
|
69
|
+
function tick() {
|
|
70
|
+
// A tab nobody is looking at should not be burning through the rotation —
|
|
71
|
+
// come back to it and the figure would have moved for no one. Matches the
|
|
72
|
+
// marketing site, which the artwork and the cadence both come from.
|
|
73
|
+
if (typeof document !== 'undefined' && document.visibilityState !== 'visible')
|
|
74
|
+
return;
|
|
75
|
+
rotated = advanceVariant();
|
|
76
|
+
for (const listener of listeners) {
|
|
77
|
+
pending.get(listener)?.();
|
|
78
|
+
const teardown = listener(rotated);
|
|
79
|
+
if (teardown)
|
|
80
|
+
pending.set(listener, teardown);
|
|
81
|
+
else
|
|
82
|
+
pending.delete(listener);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Register for the page-wide rotation. Returns an unsubscribe that also stops
|
|
87
|
+
* the timer once the last subscriber has gone, so an app that unmounts its
|
|
88
|
+
* navbar isn't left with an interval running forever.
|
|
89
|
+
*
|
|
90
|
+
* No-ops (beyond registering) when the visitor has asked for reduced motion:
|
|
91
|
+
* they still get a figure per page load, it just never moves.
|
|
92
|
+
*/
|
|
93
|
+
function subscribeToRotation(listener) {
|
|
94
|
+
listeners.add(listener);
|
|
95
|
+
const reduced = typeof window !== 'undefined' &&
|
|
96
|
+
typeof window.matchMedia === 'function' &&
|
|
97
|
+
window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
98
|
+
if (!reduced && ticker === null)
|
|
99
|
+
ticker = setInterval(tick, AVATAR_ROTATE_MS);
|
|
100
|
+
return () => {
|
|
101
|
+
pending.get(listener)?.();
|
|
102
|
+
pending.delete(listener);
|
|
103
|
+
listeners.delete(listener);
|
|
104
|
+
if (listeners.size === 0 && ticker !== null) {
|
|
105
|
+
clearInterval(ticker);
|
|
106
|
+
ticker = null;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
50
110
|
/**
|
|
51
|
-
* One of {@link PROFILE_AVATAR_VARIANTS},
|
|
52
|
-
* only — it carries no identity,
|
|
53
|
-
* labelling to whatever control
|
|
111
|
+
* One of {@link PROFILE_AVATAR_VARIANTS}, advancing on each page load AND every
|
|
112
|
+
* few seconds while the page is open. Decorative only — it carries no identity,
|
|
113
|
+
* so it renders `aria-hidden` and leaves the labelling to whatever control
|
|
114
|
+
* wraps it.
|
|
54
115
|
*/
|
|
55
116
|
export function ProfileAvatarIcon({ size = 36, variant, style, className }) {
|
|
56
|
-
|
|
117
|
+
// Both start on the SSR figure so the server render and the first client
|
|
118
|
+
// render agree; the effect below takes over once we're on the client.
|
|
119
|
+
const [shown, setShown] = useState(SSR_VARIANT);
|
|
120
|
+
// The figure fading IN over `shown`. Null except during a swap.
|
|
121
|
+
const [incoming, setIncoming] = useState(null);
|
|
122
|
+
// Drives the incoming layer's opacity: mounted at 0, flipped to 1 a frame
|
|
123
|
+
// later so the browser has something to transition FROM.
|
|
124
|
+
const [lit, setLit] = useState(false);
|
|
57
125
|
useEffect(() => {
|
|
58
126
|
if (variant)
|
|
59
127
|
return;
|
|
60
|
-
|
|
128
|
+
// First figure of the page load lands instantly — the header should settle,
|
|
129
|
+
// not animate on arrival. Only the every-few-seconds swaps cross-fade.
|
|
130
|
+
setShown(currentVariant());
|
|
131
|
+
return subscribeToRotation((next) => {
|
|
132
|
+
setIncoming(next);
|
|
133
|
+
setLit(false);
|
|
134
|
+
const raf = requestAnimationFrame(() => requestAnimationFrame(() => setLit(true)));
|
|
135
|
+
const done = setTimeout(() => {
|
|
136
|
+
setShown(next);
|
|
137
|
+
setIncoming(null);
|
|
138
|
+
setLit(false);
|
|
139
|
+
}, AVATAR_FADE_MS);
|
|
140
|
+
return () => {
|
|
141
|
+
cancelAnimationFrame(raf);
|
|
142
|
+
clearTimeout(done);
|
|
143
|
+
};
|
|
144
|
+
});
|
|
61
145
|
}, [variant]);
|
|
62
146
|
// useId() emits ':' in React 18, which is legal in an id but awkward inside a
|
|
63
147
|
// url(#…) reference — strip it so the gradient and clip resolve everywhere.
|
|
64
148
|
const uid = useId().replace(/[^a-zA-Z0-9_-]/g, '');
|
|
149
|
+
const base = variant ?? shown;
|
|
150
|
+
// No wrapper when nothing is fading: the common case stays a single <svg>,
|
|
151
|
+
// exactly the box every existing caller lays out around.
|
|
152
|
+
if (!incoming) {
|
|
153
|
+
return _jsx(AvatarDisc, { variant: base, size: size, uid: uid, className: className, style: style });
|
|
154
|
+
}
|
|
155
|
+
return (_jsxs("span", { className: className, style: { position: 'relative', display: 'block', width: size, height: size, ...style }, children: [_jsx(AvatarDisc, { variant: base, size: size, uid: `${uid}-a`, style: LAYER_STYLE }), _jsx(AvatarDisc, { variant: incoming, size: size, uid: `${uid}-b`, style: {
|
|
156
|
+
...LAYER_STYLE,
|
|
157
|
+
opacity: lit ? 1 : 0,
|
|
158
|
+
transition: `opacity ${AVATAR_FADE_MS}ms ease`,
|
|
159
|
+
} })] }));
|
|
160
|
+
}
|
|
161
|
+
const LAYER_STYLE = { position: 'absolute', inset: 0 };
|
|
162
|
+
// The disc itself. Split out so a cross-fade can stack two of them; `uid` is
|
|
163
|
+
// passed in rather than taken from useId() because the two layers of one
|
|
164
|
+
// component must not share gradient/clip ids.
|
|
165
|
+
function AvatarDisc({ variant, size, uid, style, className, }) {
|
|
65
166
|
const gradId = `unisim-pa-grad-${uid}`;
|
|
66
167
|
const clipId = `unisim-pa-clip-${uid}`;
|
|
67
168
|
const clip = `url(#${clipId})`;
|
|
68
|
-
|
|
69
|
-
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", width: size, height: size, "aria-hidden": true, focusable: "false", className: className, style: { display: 'block', borderRadius: '50%', ...style }, children: [_jsxs("defs", { children: [_jsxs("radialGradient", { id: gradId, cx: "35%", cy: "30%", r: "75%", children: [_jsx("stop", { offset: "0%", stopColor: "#FF9A45" }), _jsx("stop", { offset: "100%", stopColor: "#F2650A" })] }), _jsx("clipPath", { id: clipId, children: _jsx("circle", { cx: "256", cy: "256", r: "256" }) })] }), _jsx("circle", { cx: "256", cy: "256", r: "256", fill: `url(#${gradId})` }), _jsx("circle", { cx: "256", cy: "256", r: "248", fill: "none", stroke: "#111111", strokeOpacity: "0.10", strokeWidth: "4" }), active === 'child' && _jsx(ChildFigure, { clip: clip }), active === 'man' && _jsx(ManFigure, { clip: clip }), active === 'woman' && _jsx(WomanFigure, { clip: clip }), active === 'superhero' && _jsx(SuperheroFigure, { clip: clip }), _jsx("circle", { cx: "256", cy: "256", r: "255", fill: "none", stroke: "#111111", strokeWidth: "2" })] }));
|
|
169
|
+
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", width: size, height: size, "aria-hidden": true, focusable: "false", className: className, style: { display: 'block', borderRadius: '50%', ...style }, children: [_jsxs("defs", { children: [_jsxs("radialGradient", { id: gradId, cx: "35%", cy: "30%", r: "75%", children: [_jsx("stop", { offset: "0%", stopColor: "#FF9A45" }), _jsx("stop", { offset: "100%", stopColor: "#F2650A" })] }), _jsx("clipPath", { id: clipId, children: _jsx("circle", { cx: "256", cy: "256", r: "256" }) })] }), _jsx("circle", { cx: "256", cy: "256", r: "256", fill: `url(#${gradId})` }), _jsx("circle", { cx: "256", cy: "256", r: "248", fill: "none", stroke: "#111111", strokeOpacity: "0.10", strokeWidth: "4" }), variant === 'child' && _jsx(ChildFigure, { clip: clip }), variant === 'man' && _jsx(ManFigure, { clip: clip }), variant === 'woman' && _jsx(WomanFigure, { clip: clip }), variant === 'superhero' && _jsx(SuperheroFigure, { clip: clip }), _jsx("circle", { cx: "256", cy: "256", r: "255", fill: "none", stroke: "#111111", strokeWidth: "2" })] }));
|
|
70
170
|
}
|
|
71
171
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
72
172
|
// Figures
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileAvatarIcon.js","sourceRoot":"","sources":["../src/ProfileAvatarIcon.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAA;AAEtE,iFAAiF;AACjF,4BAA4B;AAC5B,iFAAiF;AACjF,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,6EAA6E;AAC7E,yCAAyC;AACzC,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAU,CAAA;AAItF,gFAAgF;AAChF,MAAM,YAAY,GAAG,sBAAsB,CAAA;AAE3C;;;;GAIG;AACH,MAAM,WAAW,GAAyB,uBAAuB,CAAC,CAAC,CAAC,CAAA;AAEpE
|
|
1
|
+
{"version":3,"file":"ProfileAvatarIcon.js","sourceRoot":"","sources":["../src/ProfileAvatarIcon.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED