@oxyhq/bloom 0.26.1 → 0.28.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.
- package/lib/commonjs/animated-check/AnimatedCheck.js +162 -0
- package/lib/commonjs/animated-check/AnimatedCheck.js.map +1 -0
- package/lib/commonjs/animated-check/index.js +13 -0
- package/lib/commonjs/animated-check/index.js.map +1 -0
- package/lib/commonjs/avatar/Avatar.js +67 -96
- package/lib/commonjs/avatar/Avatar.js.map +1 -1
- package/lib/commonjs/avatar/AvatarRing.js +183 -0
- package/lib/commonjs/avatar/AvatarRing.js.map +1 -0
- package/lib/commonjs/avatar/index.js.map +1 -1
- package/lib/commonjs/avatar/squircle-path.js +14 -0
- package/lib/commonjs/avatar/squircle-path.js.map +1 -0
- package/lib/commonjs/avatar/svg-module.js +15 -0
- package/lib/commonjs/avatar/svg-module.js.map +1 -0
- package/lib/commonjs/dialog/placement.js +9 -7
- package/lib/commonjs/dialog/placement.js.map +1 -1
- package/lib/commonjs/fill/index.js.map +1 -1
- package/lib/commonjs/hooks/index.js +20 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useGutters.js +106 -0
- package/lib/commonjs/hooks/useGutters.js.map +1 -0
- package/lib/commonjs/hooks/useHaptics.js +69 -0
- package/lib/commonjs/hooks/useHaptics.js.map +1 -0
- package/lib/commonjs/hooks/useInteractionState.js +8 -2
- package/lib/commonjs/hooks/useInteractionState.js.map +1 -1
- package/lib/commonjs/index.js +155 -63
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +155 -63
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/media-inset-border/MediaInsetBorder.js +50 -0
- package/lib/commonjs/media-inset-border/MediaInsetBorder.js.map +1 -0
- package/lib/commonjs/media-inset-border/index.js +13 -0
- package/lib/commonjs/media-inset-border/index.js.map +1 -0
- package/lib/commonjs/motion/ScreenTransition.js +46 -0
- package/lib/commonjs/motion/ScreenTransition.js.map +1 -0
- package/lib/commonjs/motion/index.js +32 -0
- package/lib/commonjs/motion/index.js.map +1 -0
- package/lib/commonjs/motion/motion.js +93 -0
- package/lib/commonjs/motion/motion.js.map +1 -0
- package/lib/commonjs/pressable-scale/PressableScale.js +75 -0
- package/lib/commonjs/pressable-scale/PressableScale.js.map +1 -0
- package/lib/commonjs/pressable-scale/index.js +13 -0
- package/lib/commonjs/pressable-scale/index.js.map +1 -0
- package/lib/commonjs/pressable-with-hover/PressableWithHover.js +36 -0
- package/lib/commonjs/pressable-with-hover/PressableWithHover.js.map +1 -0
- package/lib/commonjs/pressable-with-hover/index.js +13 -0
- package/lib/commonjs/pressable-with-hover/index.js.map +1 -0
- package/lib/commonjs/styles/breakpoints.js +24 -0
- package/lib/commonjs/styles/breakpoints.js.map +1 -0
- package/lib/commonjs/styles/index.js +7 -0
- package/lib/commonjs/styles/index.js.map +1 -1
- package/lib/commonjs/subtle-hover/SubtleHover.js +69 -0
- package/lib/commonjs/subtle-hover/SubtleHover.js.map +1 -0
- package/lib/commonjs/subtle-hover/index.js +13 -0
- package/lib/commonjs/subtle-hover/index.js.map +1 -0
- package/lib/commonjs/theme/build-theme.js +2 -0
- package/lib/commonjs/theme/build-theme.js.map +1 -1
- package/lib/commonjs/theme/gradients.js +39 -0
- package/lib/commonjs/theme/gradients.js.map +1 -0
- package/lib/commonjs/theme/index.js +7 -0
- package/lib/commonjs/theme/index.js.map +1 -1
- package/lib/module/animated-check/AnimatedCheck.js +157 -0
- package/lib/module/animated-check/AnimatedCheck.js.map +1 -0
- package/lib/module/animated-check/index.js +4 -0
- package/lib/module/animated-check/index.js.map +1 -0
- package/lib/module/avatar/Avatar.js +66 -96
- package/lib/module/avatar/Avatar.js.map +1 -1
- package/lib/module/avatar/AvatarRing.js +177 -0
- package/lib/module/avatar/AvatarRing.js.map +1 -0
- package/lib/module/avatar/index.js.map +1 -1
- package/lib/module/avatar/squircle-path.js +10 -0
- package/lib/module/avatar/squircle-path.js.map +1 -0
- package/lib/module/avatar/svg-module.js +11 -0
- package/lib/module/avatar/svg-module.js.map +1 -0
- package/lib/module/dialog/placement.js +9 -7
- package/lib/module/dialog/placement.js.map +1 -1
- package/lib/module/fill/index.js.map +1 -1
- package/lib/module/hooks/index.js +2 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useGutters.js +103 -0
- package/lib/module/hooks/useGutters.js.map +1 -0
- package/lib/module/hooks/useHaptics.js +65 -0
- package/lib/module/hooks/useHaptics.js.map +1 -0
- package/lib/module/hooks/useInteractionState.js +10 -3
- package/lib/module/hooks/useInteractionState.js.map +1 -1
- package/lib/module/index.js +10 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +10 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/media-inset-border/MediaInsetBorder.js +47 -0
- package/lib/module/media-inset-border/MediaInsetBorder.js.map +1 -0
- package/lib/module/media-inset-border/index.js +4 -0
- package/lib/module/media-inset-border/index.js.map +1 -0
- package/lib/module/motion/ScreenTransition.js +40 -0
- package/lib/module/motion/ScreenTransition.js.map +1 -0
- package/lib/module/motion/index.js +5 -0
- package/lib/module/motion/index.js.map +1 -0
- package/lib/module/motion/motion.js +87 -0
- package/lib/module/motion/motion.js.map +1 -0
- package/lib/module/pressable-scale/PressableScale.js +72 -0
- package/lib/module/pressable-scale/PressableScale.js.map +1 -0
- package/lib/module/pressable-scale/index.js +4 -0
- package/lib/module/pressable-scale/index.js.map +1 -0
- package/lib/module/pressable-with-hover/PressableWithHover.js +31 -0
- package/lib/module/pressable-with-hover/PressableWithHover.js.map +1 -0
- package/lib/module/pressable-with-hover/index.js +4 -0
- package/lib/module/pressable-with-hover/index.js.map +1 -0
- package/lib/module/styles/breakpoints.js +20 -0
- package/lib/module/styles/breakpoints.js.map +1 -0
- package/lib/module/styles/index.js +1 -0
- package/lib/module/styles/index.js.map +1 -1
- package/lib/module/subtle-hover/SubtleHover.js +66 -0
- package/lib/module/subtle-hover/SubtleHover.js.map +1 -0
- package/lib/module/subtle-hover/index.js +4 -0
- package/lib/module/subtle-hover/index.js.map +1 -0
- package/lib/module/theme/build-theme.js +2 -0
- package/lib/module/theme/build-theme.js.map +1 -1
- package/lib/module/theme/gradients.js +35 -0
- package/lib/module/theme/gradients.js.map +1 -0
- package/lib/module/theme/index.js +1 -0
- package/lib/module/theme/index.js.map +1 -1
- package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts +18 -0
- package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts.map +1 -0
- package/lib/typescript/commonjs/animated-check/index.d.ts +3 -0
- package/lib/typescript/commonjs/animated-check/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/AvatarRing.d.ts +27 -0
- package/lib/typescript/commonjs/avatar/AvatarRing.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar/index.d.ts +1 -1
- package/lib/typescript/commonjs/avatar/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/squircle-path.d.ts +8 -0
- package/lib/typescript/commonjs/avatar/squircle-path.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar/svg-module.d.ts +8 -0
- package/lib/typescript/commonjs/avatar/svg-module.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar/types.d.ts +30 -0
- package/lib/typescript/commonjs/avatar/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/placement.d.ts +8 -7
- package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -1
- package/lib/typescript/commonjs/fill/index.d.ts +2 -2
- package/lib/typescript/commonjs/fill/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/index.d.ts +4 -0
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/useGutters.d.ts +32 -0
- package/lib/typescript/commonjs/hooks/useGutters.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/useHaptics.d.ts +28 -0
- package/lib/typescript/commonjs/hooks/useHaptics.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/useInteractionState.d.ts +6 -0
- package/lib/typescript/commonjs/hooks/useInteractionState.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +16 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +16 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts +26 -0
- package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
- package/lib/typescript/commonjs/media-inset-border/index.d.ts +3 -0
- package/lib/typescript/commonjs/media-inset-border/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/motion/ScreenTransition.d.ts +33 -0
- package/lib/typescript/commonjs/motion/ScreenTransition.d.ts.map +1 -0
- package/lib/typescript/commonjs/motion/index.d.ts +4 -0
- package/lib/typescript/commonjs/motion/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/motion/motion.d.ts +24 -0
- package/lib/typescript/commonjs/motion/motion.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts +21 -0
- package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-scale/index.d.ts +3 -0
- package/lib/typescript/commonjs/pressable-scale/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts +18 -0
- package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-with-hover/index.d.ts +3 -0
- package/lib/typescript/commonjs/pressable-with-hover/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/styles/breakpoints.d.ts +18 -0
- package/lib/typescript/commonjs/styles/breakpoints.d.ts.map +1 -0
- package/lib/typescript/commonjs/styles/index.d.ts +2 -0
- package/lib/typescript/commonjs/styles/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts +32 -0
- package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts.map +1 -0
- package/lib/typescript/commonjs/subtle-hover/index.d.ts +3 -0
- package/lib/typescript/commonjs/subtle-hover/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/gradients.d.ts +12 -0
- package/lib/typescript/commonjs/theme/gradients.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/index.d.ts +2 -1
- package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/types.d.ts +11 -0
- package/lib/typescript/commonjs/theme/types.d.ts.map +1 -1
- package/lib/typescript/module/animated-check/AnimatedCheck.d.ts +18 -0
- package/lib/typescript/module/animated-check/AnimatedCheck.d.ts.map +1 -0
- package/lib/typescript/module/animated-check/index.d.ts +3 -0
- package/lib/typescript/module/animated-check/index.d.ts.map +1 -0
- package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/module/avatar/AvatarRing.d.ts +27 -0
- package/lib/typescript/module/avatar/AvatarRing.d.ts.map +1 -0
- package/lib/typescript/module/avatar/index.d.ts +1 -1
- package/lib/typescript/module/avatar/index.d.ts.map +1 -1
- package/lib/typescript/module/avatar/squircle-path.d.ts +8 -0
- package/lib/typescript/module/avatar/squircle-path.d.ts.map +1 -0
- package/lib/typescript/module/avatar/svg-module.d.ts +8 -0
- package/lib/typescript/module/avatar/svg-module.d.ts.map +1 -0
- package/lib/typescript/module/avatar/types.d.ts +30 -0
- package/lib/typescript/module/avatar/types.d.ts.map +1 -1
- package/lib/typescript/module/dialog/placement.d.ts +8 -7
- package/lib/typescript/module/dialog/placement.d.ts.map +1 -1
- package/lib/typescript/module/fill/index.d.ts +2 -2
- package/lib/typescript/module/fill/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/index.d.ts +4 -0
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/useGutters.d.ts +32 -0
- package/lib/typescript/module/hooks/useGutters.d.ts.map +1 -0
- package/lib/typescript/module/hooks/useHaptics.d.ts +28 -0
- package/lib/typescript/module/hooks/useHaptics.d.ts.map +1 -0
- package/lib/typescript/module/hooks/useInteractionState.d.ts +6 -0
- package/lib/typescript/module/hooks/useInteractionState.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +16 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +16 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts +26 -0
- package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
- package/lib/typescript/module/media-inset-border/index.d.ts +3 -0
- package/lib/typescript/module/media-inset-border/index.d.ts.map +1 -0
- package/lib/typescript/module/motion/ScreenTransition.d.ts +33 -0
- package/lib/typescript/module/motion/ScreenTransition.d.ts.map +1 -0
- package/lib/typescript/module/motion/index.d.ts +4 -0
- package/lib/typescript/module/motion/index.d.ts.map +1 -0
- package/lib/typescript/module/motion/motion.d.ts +24 -0
- package/lib/typescript/module/motion/motion.d.ts.map +1 -0
- package/lib/typescript/module/pressable-scale/PressableScale.d.ts +21 -0
- package/lib/typescript/module/pressable-scale/PressableScale.d.ts.map +1 -0
- package/lib/typescript/module/pressable-scale/index.d.ts +3 -0
- package/lib/typescript/module/pressable-scale/index.d.ts.map +1 -0
- package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts +18 -0
- package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
- package/lib/typescript/module/pressable-with-hover/index.d.ts +3 -0
- package/lib/typescript/module/pressable-with-hover/index.d.ts.map +1 -0
- package/lib/typescript/module/styles/breakpoints.d.ts +18 -0
- package/lib/typescript/module/styles/breakpoints.d.ts.map +1 -0
- package/lib/typescript/module/styles/index.d.ts +2 -0
- package/lib/typescript/module/styles/index.d.ts.map +1 -1
- package/lib/typescript/module/subtle-hover/SubtleHover.d.ts +32 -0
- package/lib/typescript/module/subtle-hover/SubtleHover.d.ts.map +1 -0
- package/lib/typescript/module/subtle-hover/index.d.ts +3 -0
- package/lib/typescript/module/subtle-hover/index.d.ts.map +1 -0
- package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/module/theme/gradients.d.ts +12 -0
- package/lib/typescript/module/theme/gradients.d.ts.map +1 -0
- package/lib/typescript/module/theme/index.d.ts +2 -1
- package/lib/typescript/module/theme/index.d.ts.map +1 -1
- package/lib/typescript/module/theme/types.d.ts +11 -0
- package/lib/typescript/module/theme/types.d.ts.map +1 -1
- package/package.json +73 -1
- package/src/__tests__/AnimatedCheck.test.tsx +31 -0
- package/src/__tests__/MediaInsetBorder.test.tsx +36 -0
- package/src/__tests__/Motion.test.tsx +58 -0
- package/src/__tests__/PressableScale.test.tsx +29 -0
- package/src/__tests__/PressableWithHover.test.tsx +48 -0
- package/src/__tests__/SubtleHover.test.tsx +42 -0
- package/src/__tests__/theme-gradients.test.ts +31 -0
- package/src/__tests__/theme.test.ts +3 -0
- package/src/__tests__/useGutters.test.ts +58 -0
- package/src/__tests__/useHaptics.test.tsx +58 -0
- package/src/__tests__/useInteractionState.test.ts +27 -0
- package/src/animated-check/AnimatedCheck.stories.tsx +60 -0
- package/src/animated-check/AnimatedCheck.tsx +173 -0
- package/src/animated-check/index.ts +2 -0
- package/src/avatar/Avatar.stories.tsx +95 -0
- package/src/avatar/Avatar.tsx +61 -110
- package/src/avatar/AvatarRing.tsx +170 -0
- package/src/avatar/index.ts +6 -1
- package/src/avatar/squircle-path.ts +11 -0
- package/src/avatar/svg-module.ts +11 -0
- package/src/avatar/types.ts +32 -0
- package/src/dialog/placement.ts +10 -7
- package/src/fill/index.tsx +2 -2
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useGutters.ts +99 -0
- package/src/hooks/useHaptics.tsx +69 -0
- package/src/hooks/useInteractionState.ts +8 -2
- package/src/index.ts +20 -0
- package/src/index.web.ts +20 -0
- package/src/media-inset-border/MediaInsetBorder.stories.tsx +60 -0
- package/src/media-inset-border/MediaInsetBorder.tsx +72 -0
- package/src/media-inset-border/index.ts +2 -0
- package/src/motion/Motion.stories.tsx +99 -0
- package/src/motion/ScreenTransition.tsx +71 -0
- package/src/motion/index.ts +3 -0
- package/src/motion/motion.ts +75 -0
- package/src/pressable-scale/PressableScale.stories.tsx +71 -0
- package/src/pressable-scale/PressableScale.tsx +103 -0
- package/src/pressable-scale/index.ts +2 -0
- package/src/pressable-with-hover/PressableWithHover.stories.tsx +43 -0
- package/src/pressable-with-hover/PressableWithHover.tsx +43 -0
- package/src/pressable-with-hover/index.ts +2 -0
- package/src/styles/breakpoints.ts +18 -0
- package/src/styles/index.ts +2 -0
- package/src/subtle-hover/SubtleHover.stories.tsx +72 -0
- package/src/subtle-hover/SubtleHover.tsx +90 -0
- package/src/subtle-hover/index.ts +2 -0
- package/src/theme/build-theme.ts +2 -0
- package/src/theme/gradients.ts +61 -0
- package/src/theme/index.ts +2 -1
- package/src/theme/types.ts +13 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef, useCallback, useImperativeHandle, useMemo } from 'react';
|
|
4
|
+
import { StyleSheet, Text } from 'react-native';
|
|
5
|
+
import Animated, { Easing, useAnimatedProps, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';
|
|
6
|
+
import { getSvgModule } from "../avatar/svg-module.js";
|
|
7
|
+
import { useTheme } from "../theme/index.js";
|
|
8
|
+
|
|
9
|
+
/** The resolved `react-native-svg` module (non-null branch). */
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
/** Square viewBox the ring + check are drawn on. */
|
|
12
|
+
const VIEW_BOX = 52;
|
|
13
|
+
/** Ring radius within the viewBox. */
|
|
14
|
+
const CIRCLE_RADIUS = 24;
|
|
15
|
+
/** Ring circumference (2·π·r ≈ 150.8) rounded up so the dash fully hides it. */
|
|
16
|
+
const CIRCLE_LENGTH = 166;
|
|
17
|
+
/** Approximate path length of the check stroke. */
|
|
18
|
+
const CHECK_LENGTH = 48;
|
|
19
|
+
/** The check glyph, drawn on the 52×52 canvas. */
|
|
20
|
+
const CHECK_PATH = 'M14.1 27.2l7.1 7.2 16.7-16.8';
|
|
21
|
+
const STROKE_WIDTH = 4;
|
|
22
|
+
/** Ring draw-on duration (ms). */
|
|
23
|
+
const CIRCLE_DURATION = 500;
|
|
24
|
+
/** Check draw-on duration (ms), started once the ring completes. */
|
|
25
|
+
const CHECK_DURATION = 300;
|
|
26
|
+
// `Animated.createAnimatedComponent` must be called once per underlying
|
|
27
|
+
// component (calling it per-render would remount and break the animation).
|
|
28
|
+
// react-native-svg is a lazy/optional peer, so we build the animated wrappers
|
|
29
|
+
// the first time it resolves and cache them at module scope.
|
|
30
|
+
function buildAnimatedSvg(svg) {
|
|
31
|
+
return {
|
|
32
|
+
Circle: Animated.createAnimatedComponent(svg.Circle),
|
|
33
|
+
Path: Animated.createAnimatedComponent(svg.Path)
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
let animatedSvgCache = null;
|
|
37
|
+
function getAnimatedSvg(svg) {
|
|
38
|
+
if (!animatedSvgCache) animatedSvgCache = buildAnimatedSvg(svg);
|
|
39
|
+
return animatedSvgCache;
|
|
40
|
+
}
|
|
41
|
+
/** The animated SVG implementation, rendered only when react-native-svg exists. */
|
|
42
|
+
const AnimatedCheckSvg = /*#__PURE__*/forwardRef(function AnimatedCheckSvg({
|
|
43
|
+
size,
|
|
44
|
+
color,
|
|
45
|
+
svg
|
|
46
|
+
}, ref) {
|
|
47
|
+
const {
|
|
48
|
+
default: Svg
|
|
49
|
+
} = svg;
|
|
50
|
+
const {
|
|
51
|
+
Circle,
|
|
52
|
+
Path
|
|
53
|
+
} = getAnimatedSvg(svg);
|
|
54
|
+
const circleProgress = useSharedValue(0);
|
|
55
|
+
const checkProgress = useSharedValue(0);
|
|
56
|
+
const circleAnimatedProps = useAnimatedProps(() => ({
|
|
57
|
+
strokeDashoffset: CIRCLE_LENGTH - circleProgress.value * CIRCLE_LENGTH
|
|
58
|
+
}));
|
|
59
|
+
const checkAnimatedProps = useAnimatedProps(() => ({
|
|
60
|
+
strokeDashoffset: CHECK_LENGTH - CHECK_LENGTH * checkProgress.value
|
|
61
|
+
}));
|
|
62
|
+
const play = useCallback(() => {
|
|
63
|
+
circleProgress.value = 0;
|
|
64
|
+
checkProgress.value = 0;
|
|
65
|
+
circleProgress.value = withTiming(1, {
|
|
66
|
+
duration: CIRCLE_DURATION,
|
|
67
|
+
easing: Easing.linear
|
|
68
|
+
});
|
|
69
|
+
checkProgress.value = withDelay(CIRCLE_DURATION, withTiming(1, {
|
|
70
|
+
duration: CHECK_DURATION,
|
|
71
|
+
easing: Easing.linear
|
|
72
|
+
}));
|
|
73
|
+
}, [circleProgress, checkProgress]);
|
|
74
|
+
useImperativeHandle(ref, () => ({
|
|
75
|
+
play
|
|
76
|
+
}), [play]);
|
|
77
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
78
|
+
fill: "none",
|
|
79
|
+
viewBox: `0 0 ${VIEW_BOX} ${VIEW_BOX}`,
|
|
80
|
+
width: size,
|
|
81
|
+
height: size,
|
|
82
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
83
|
+
animatedProps: circleAnimatedProps,
|
|
84
|
+
cx: VIEW_BOX / 2,
|
|
85
|
+
cy: VIEW_BOX / 2,
|
|
86
|
+
r: CIRCLE_RADIUS,
|
|
87
|
+
fill: "none",
|
|
88
|
+
stroke: color,
|
|
89
|
+
strokeWidth: STROKE_WIDTH,
|
|
90
|
+
strokeDasharray: CIRCLE_LENGTH
|
|
91
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
92
|
+
animatedProps: checkAnimatedProps,
|
|
93
|
+
d: CHECK_PATH,
|
|
94
|
+
stroke: color,
|
|
95
|
+
strokeWidth: STROKE_WIDTH,
|
|
96
|
+
strokeDasharray: CHECK_LENGTH
|
|
97
|
+
})]
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Static fallback rendered when react-native-svg is unavailable (e.g. a web
|
|
102
|
+
* bundle that omits the optional peer). Draws a plain Unicode check so the
|
|
103
|
+
* component still communicates "done"; `play()` is a no-op.
|
|
104
|
+
*/
|
|
105
|
+
const StaticCheck = /*#__PURE__*/forwardRef(function StaticCheck({
|
|
106
|
+
size,
|
|
107
|
+
color
|
|
108
|
+
}, ref) {
|
|
109
|
+
useImperativeHandle(ref, () => ({
|
|
110
|
+
play: () => undefined
|
|
111
|
+
}), []);
|
|
112
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
113
|
+
accessibilityElementsHidden: true,
|
|
114
|
+
style: [styles.staticCheck, {
|
|
115
|
+
width: size,
|
|
116
|
+
fontSize: size * 0.8,
|
|
117
|
+
lineHeight: size,
|
|
118
|
+
color
|
|
119
|
+
}],
|
|
120
|
+
children: '✓'
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* A draw-on checkmark: a ring strokes on, then the check strokes in. Expose a
|
|
126
|
+
* ref and call `ref.current?.play()` to (re)play — e.g. on a successful submit.
|
|
127
|
+
* Ported from Bluesky's `AnimatedCheck`.
|
|
128
|
+
*/
|
|
129
|
+
export const AnimatedCheck = /*#__PURE__*/forwardRef(function AnimatedCheck({
|
|
130
|
+
size = 24,
|
|
131
|
+
color
|
|
132
|
+
}, ref) {
|
|
133
|
+
const theme = useTheme();
|
|
134
|
+
const resolvedColor = color ?? theme.colors.success;
|
|
135
|
+
const svg = useMemo(() => getSvgModule(), []);
|
|
136
|
+
if (!svg) {
|
|
137
|
+
return /*#__PURE__*/_jsx(StaticCheck, {
|
|
138
|
+
ref: ref,
|
|
139
|
+
size: size,
|
|
140
|
+
color: resolvedColor
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return /*#__PURE__*/_jsx(AnimatedCheckSvg, {
|
|
144
|
+
ref: ref,
|
|
145
|
+
size: size,
|
|
146
|
+
color: resolvedColor,
|
|
147
|
+
svg: svg
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
AnimatedCheck.displayName = 'AnimatedCheck';
|
|
151
|
+
const styles = StyleSheet.create({
|
|
152
|
+
staticCheck: {
|
|
153
|
+
textAlign: 'center',
|
|
154
|
+
fontWeight: '700'
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=AnimatedCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useImperativeHandle","useMemo","StyleSheet","Text","Animated","Easing","useAnimatedProps","useSharedValue","withDelay","withTiming","getSvgModule","useTheme","jsx","_jsx","jsxs","_jsxs","VIEW_BOX","CIRCLE_RADIUS","CIRCLE_LENGTH","CHECK_LENGTH","CHECK_PATH","STROKE_WIDTH","CIRCLE_DURATION","CHECK_DURATION","buildAnimatedSvg","svg","Circle","createAnimatedComponent","Path","animatedSvgCache","getAnimatedSvg","AnimatedCheckSvg","size","color","ref","default","Svg","circleProgress","checkProgress","circleAnimatedProps","strokeDashoffset","value","checkAnimatedProps","play","duration","easing","linear","fill","viewBox","width","height","children","animatedProps","cx","cy","r","stroke","strokeWidth","strokeDasharray","d","StaticCheck","undefined","accessibilityElementsHidden","style","styles","staticCheck","fontSize","lineHeight","AnimatedCheck","theme","resolvedColor","colors","success","displayName","create","textAlign","fontWeight"],"sourceRoot":"../../../src","sources":["animated-check/AnimatedCheck.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AnimatedCheck"],"sourceRoot":"../../../src","sources":["animated-check/index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB","ignoreList":[]}
|
|
@@ -5,9 +5,11 @@ import { View, Image, StyleSheet, Text, TouchableOpacity } from 'react-native';
|
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { useImageResolver } from "../image-resolver/context.js";
|
|
7
7
|
import { Z_INDEX } from "../styles/z-index.js";
|
|
8
|
-
import { lazyRequire } from "../utils/lazy-require.js";
|
|
9
8
|
import { useAvatarPlaceholder } from "./placeholder-context.js";
|
|
10
9
|
import { LiveBadge } from "./LiveBadge.js";
|
|
10
|
+
import { AvatarRing, getRingOuterSize } from "./AvatarRing.js";
|
|
11
|
+
import { getSvgModule } from "./svg-module.js";
|
|
12
|
+
import { SQUIRCLE_PATH } from "./squircle-path.js";
|
|
11
13
|
// Google Contacts-inspired palette used to pick a deterministic background
|
|
12
14
|
// color for name-based placeholder avatars.
|
|
13
15
|
const NAME_AVATAR_COLORS = ['#D93025', '#E8710A', '#F9AB00', '#1E8E3E', '#12B5CB', '#1A73E8', '#7627BB', '#C5221F', '#0B8043', '#A142F4'];
|
|
@@ -32,24 +34,8 @@ function getNameColor(name) {
|
|
|
32
34
|
// `.jpg` asset import (and no ambient `*.jpg` module declaration) is required for
|
|
33
35
|
// consumers compiling Bloom's source files directly.
|
|
34
36
|
import DEFAULT_AVATAR_IMAGE from "./default-avatar.js";
|
|
35
|
-
|
|
36
|
-
// Squircle clip path normalized to 0–1 coordinate space (viewBox="0 0 1 1").
|
|
37
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
38
|
-
const SQUIRCLE_PATH = 'M0 0.5 L0.00122 0.31674 L0.00489 0.25123 L0.01103 0.20331 L0.01969 0.16478 L0.03097 0.13257 L0.04495 0.10518 L0.0618 0.08177 L0.08177 0.0618 L0.10518 0.04495 L0.13257 0.03097 L0.16478 0.01969 L0.20331 0.01103 L0.25123 0.00489 L0.31674 0.00122 L0.5 0' + ' L0.68895 0.0014 L0.7564 0.00561 L0.80559 0.01267 L0.84499 0.02264 L0.87771 0.03564 L0.9053 0.05181 L0.92862 0.07138 L0.94819 0.0947 L0.96436 0.12228 L0.97736 0.15501 L0.98733 0.19441 L0.99439 0.2436 L0.9986 0.31105 L1 0.5' + ' L0.9986 0.68895 L0.99439 0.7564 L0.98733 0.80559 L0.97736 0.84499 L0.96436 0.87771 L0.94819 0.9053 L0.92862 0.92862 L0.9053 0.94819 L0.87771 0.96436 L0.84499 0.97736 L0.80559 0.98733 L0.7564 0.99439 L0.68895 0.9986 L0.5 1' + ' L0.31105 0.9986 L0.2436 0.99439 L0.19441 0.98733 L0.15501 0.97736 L0.12228 0.96436 L0.0947 0.94819 L0.07138 0.92862 L0.05181 0.9053 L0.03564 0.87771 L0.02264 0.84499 L0.01267 0.80559 L0.00561 0.7564 L0.0014 0.68895 L0 0.5Z';
|
|
37
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
39
38
|
let clipIdCounter = 0;
|
|
40
|
-
|
|
41
|
-
// Lazy-loaded SVG components for squircle shape.
|
|
42
|
-
// Returns null if react-native-svg is not installed.
|
|
43
|
-
|
|
44
|
-
const getSvgModule = lazyRequire('react-native-svg');
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Live-ring drawing config passed down to shape renderers.
|
|
48
|
-
* - `color`: resolved ring color (theme `negative` or `liveColor` override).
|
|
49
|
-
* - `strokeWidth`: stroke width in the squircle's 0–1 path coordinate space.
|
|
50
|
-
* - `borderWidth`: ring border width in pixels for the circle fallback.
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
39
|
function SquircleImage({
|
|
54
40
|
uri,
|
|
55
41
|
fallbackSource,
|
|
@@ -57,24 +43,18 @@ function SquircleImage({
|
|
|
57
43
|
fallbackColor,
|
|
58
44
|
placeholderIcon,
|
|
59
45
|
name,
|
|
60
|
-
onError
|
|
61
|
-
liveRing
|
|
46
|
+
onError
|
|
62
47
|
}) {
|
|
48
|
+
const clipId = useMemo(() => `bloom-sqc${clipIdCounter++}`, []);
|
|
63
49
|
const svg = getSvgModule();
|
|
64
50
|
if (!svg) {
|
|
65
|
-
// Fallback to circle if react-native-svg is not installed. The
|
|
66
|
-
//
|
|
67
|
-
return /*#__PURE__*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
name: name
|
|
73
|
-
}), liveRing && /*#__PURE__*/_jsx(CircleLiveRing, {
|
|
74
|
-
radius: size / 2,
|
|
75
|
-
color: liveRing.color,
|
|
76
|
-
borderWidth: liveRing.borderWidth
|
|
77
|
-
})]
|
|
51
|
+
// Fallback to a circle if react-native-svg is not installed. The ring (if
|
|
52
|
+
// any) is drawn separately by AvatarRing, which also degrades to a circle.
|
|
53
|
+
return /*#__PURE__*/_jsx(CircleFallback, {
|
|
54
|
+
size: size,
|
|
55
|
+
fallbackColor: fallbackColor,
|
|
56
|
+
icon: placeholderIcon,
|
|
57
|
+
name: name
|
|
78
58
|
});
|
|
79
59
|
}
|
|
80
60
|
const {
|
|
@@ -84,22 +64,15 @@ function SquircleImage({
|
|
|
84
64
|
Path,
|
|
85
65
|
Image: SvgImage
|
|
86
66
|
} = svg;
|
|
87
|
-
const clipId = useMemo(() => `bloom-sqc${clipIdCounter++}`, []);
|
|
88
67
|
const href = uri ? {
|
|
89
68
|
uri
|
|
90
69
|
} : fallbackSource;
|
|
91
70
|
if (!href) {
|
|
92
|
-
return /*#__PURE__*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
name: name
|
|
98
|
-
}), liveRing && /*#__PURE__*/_jsx(CircleLiveRing, {
|
|
99
|
-
radius: size / 2,
|
|
100
|
-
color: liveRing.color,
|
|
101
|
-
borderWidth: liveRing.borderWidth
|
|
102
|
-
})]
|
|
71
|
+
return /*#__PURE__*/_jsx(CircleFallback, {
|
|
72
|
+
size: size,
|
|
73
|
+
fallbackColor: fallbackColor,
|
|
74
|
+
icon: placeholderIcon,
|
|
75
|
+
name: name
|
|
103
76
|
});
|
|
104
77
|
}
|
|
105
78
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -126,11 +99,6 @@ function SquircleImage({
|
|
|
126
99
|
height: 1,
|
|
127
100
|
preserveAspectRatio: "xMidYMid slice",
|
|
128
101
|
clipPath: `url(#${clipId})`
|
|
129
|
-
}), liveRing && /*#__PURE__*/_jsx(Path, {
|
|
130
|
-
d: SQUIRCLE_PATH,
|
|
131
|
-
fill: "none",
|
|
132
|
-
stroke: liveRing.color,
|
|
133
|
-
strokeWidth: liveRing.strokeWidth
|
|
134
102
|
})]
|
|
135
103
|
})]
|
|
136
104
|
});
|
|
@@ -179,28 +147,6 @@ function CircleFallback({
|
|
|
179
147
|
}))
|
|
180
148
|
});
|
|
181
149
|
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Solid live ring for circular avatars — an absolutely-positioned inset-0
|
|
185
|
-
* overlay whose border overlays the avatar edge (drawn on top of the image,
|
|
186
|
-
* never a border on the image itself). Also used as the fallback ring for a
|
|
187
|
-
* squircle avatar when react-native-svg is unavailable.
|
|
188
|
-
*/
|
|
189
|
-
function CircleLiveRing({
|
|
190
|
-
radius,
|
|
191
|
-
color,
|
|
192
|
-
borderWidth
|
|
193
|
-
}) {
|
|
194
|
-
return /*#__PURE__*/_jsx(View, {
|
|
195
|
-
style: [StyleSheet.absoluteFill, {
|
|
196
|
-
borderRadius: radius,
|
|
197
|
-
borderColor: color,
|
|
198
|
-
borderWidth,
|
|
199
|
-
zIndex: Z_INDEX.raised,
|
|
200
|
-
pointerEvents: 'none'
|
|
201
|
-
}]
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
150
|
const AvatarComponent = ({
|
|
205
151
|
source,
|
|
206
152
|
uri,
|
|
@@ -220,6 +166,7 @@ const AvatarComponent = ({
|
|
|
220
166
|
hideLiveBadge = false,
|
|
221
167
|
liveLabel = 'LIVE',
|
|
222
168
|
liveColor,
|
|
169
|
+
ring,
|
|
223
170
|
testID
|
|
224
171
|
}) => {
|
|
225
172
|
const [errored, setErrored] = useState(false);
|
|
@@ -277,26 +224,40 @@ const AvatarComponent = ({
|
|
|
277
224
|
return fallbackSource;
|
|
278
225
|
}, [effectiveUri, resolvedImageSource, fallbackSource]);
|
|
279
226
|
|
|
280
|
-
//
|
|
281
|
-
//
|
|
282
|
-
//
|
|
283
|
-
//
|
|
284
|
-
|
|
285
|
-
const
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
strokeWidth: liveBorderWidth / size * 2,
|
|
291
|
-
borderWidth: liveBorderWidth
|
|
227
|
+
// Resolve a SINGLE ring config shared by `live` and the public `ring` prop.
|
|
228
|
+
// An explicit `ring` wins for geometry and colors; otherwise `live` derives a
|
|
229
|
+
// solid theme-`negative` ring (modeled on Bluesky's live indicator). The
|
|
230
|
+
// "LIVE" badge stays independently controlled by `live` / `hideLiveBadge` and
|
|
231
|
+
// uses the theme `negative` color regardless of the ring's colors.
|
|
232
|
+
const liveBadgeColor = liveColor ?? theme.colors.negative;
|
|
233
|
+
const resolvedRing = ring ? ring : live ? {
|
|
234
|
+
colors: liveBadgeColor,
|
|
235
|
+
width: size > 16 ? 2 : 1,
|
|
236
|
+
gap: 0
|
|
292
237
|
} : undefined;
|
|
238
|
+
const ringWidth = resolvedRing?.width ?? (size > 16 ? 2 : 1);
|
|
239
|
+
const ringGap = resolvedRing?.gap ?? 0;
|
|
240
|
+
// When gap > 0 the ring sits outside the avatar and the footprint grows so the
|
|
241
|
+
// avatar can be centered inside; gap 0 overlays the edge (footprint unchanged).
|
|
242
|
+
const outer = resolvedRing ? getRingOuterSize(size, ringWidth, ringGap) : size;
|
|
293
243
|
const showLiveBadge = live && size > 16 && !hideLiveBadge;
|
|
294
|
-
const
|
|
295
|
-
|
|
244
|
+
const ringElement = resolvedRing ? /*#__PURE__*/_jsx(AvatarRing, {
|
|
245
|
+
size: size,
|
|
246
|
+
shape: shape,
|
|
247
|
+
colors: resolvedRing.colors,
|
|
248
|
+
width: ringWidth,
|
|
249
|
+
gap: ringGap,
|
|
250
|
+
gradientDirection: resolvedRing.gradientDirection ?? 'diagonal'
|
|
251
|
+
}) : null;
|
|
252
|
+
|
|
253
|
+
// The avatar box holds the image and the badges (which hug the avatar). When
|
|
254
|
+
// gap > 0 this box is centered inside the larger container; when gap is 0 it
|
|
255
|
+
// fills the container exactly.
|
|
256
|
+
const avatarBox = /*#__PURE__*/_jsxs(View, {
|
|
257
|
+
style: [styles.avatarBox, {
|
|
296
258
|
width: size,
|
|
297
259
|
height: size
|
|
298
|
-
}
|
|
299
|
-
testID: testID,
|
|
260
|
+
}],
|
|
300
261
|
children: [shape === 'squircle' ? /*#__PURE__*/_jsx(SquircleImage, {
|
|
301
262
|
uri: effectiveUri,
|
|
302
263
|
fallbackSource: fallbackSource,
|
|
@@ -304,8 +265,7 @@ const AvatarComponent = ({
|
|
|
304
265
|
fallbackColor: fallbackColor,
|
|
305
266
|
placeholderIcon: resolvedPlaceholderIcon,
|
|
306
267
|
name: name,
|
|
307
|
-
onError: () => setErrored(true)
|
|
308
|
-
liveRing: liveRing
|
|
268
|
+
onError: () => setErrored(true)
|
|
309
269
|
}) : /*#__PURE__*/_jsx(View, {
|
|
310
270
|
style: [styles.imageContainer, {
|
|
311
271
|
width: size,
|
|
@@ -325,11 +285,7 @@ const AvatarComponent = ({
|
|
|
325
285
|
icon: resolvedPlaceholderIcon,
|
|
326
286
|
name: name
|
|
327
287
|
})
|
|
328
|
-
}),
|
|
329
|
-
radius: radius,
|
|
330
|
-
color: liveRingColor,
|
|
331
|
-
borderWidth: liveBorderWidth
|
|
332
|
-
}), verified && verifiedIcon && /*#__PURE__*/_jsx(View, {
|
|
288
|
+
}), ringGap === 0 ? ringElement : null, verified && verifiedIcon && /*#__PURE__*/_jsx(View, {
|
|
333
289
|
style: [styles.verifiedBadge, {
|
|
334
290
|
width: size * 0.36,
|
|
335
291
|
height: size * 0.36
|
|
@@ -338,10 +294,18 @@ const AvatarComponent = ({
|
|
|
338
294
|
}), showLiveBadge && /*#__PURE__*/_jsx(LiveBadge, {
|
|
339
295
|
variant: size > 32 ? 'small' : 'tiny',
|
|
340
296
|
label: liveLabel,
|
|
341
|
-
backgroundColor:
|
|
297
|
+
backgroundColor: liveBadgeColor,
|
|
342
298
|
textColor: theme.colors.negativeForeground
|
|
343
299
|
})]
|
|
344
300
|
});
|
|
301
|
+
const content = /*#__PURE__*/_jsxs(View, {
|
|
302
|
+
style: [styles.container, {
|
|
303
|
+
width: outer,
|
|
304
|
+
height: outer
|
|
305
|
+
}, style],
|
|
306
|
+
testID: testID,
|
|
307
|
+
children: [ringGap > 0 ? ringElement : null, avatarBox]
|
|
308
|
+
});
|
|
345
309
|
if (onPress) {
|
|
346
310
|
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
347
311
|
onPress: onPress,
|
|
@@ -357,6 +321,12 @@ const styles = StyleSheet.create({
|
|
|
357
321
|
justifyContent: 'center',
|
|
358
322
|
alignItems: 'center'
|
|
359
323
|
},
|
|
324
|
+
avatarBox: {
|
|
325
|
+
position: 'relative',
|
|
326
|
+
overflow: 'visible',
|
|
327
|
+
justifyContent: 'center',
|
|
328
|
+
alignItems: 'center'
|
|
329
|
+
},
|
|
360
330
|
imageContainer: {
|
|
361
331
|
overflow: 'hidden',
|
|
362
332
|
justifyContent: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useMemo","useRef","useState","View","Image","StyleSheet","Text","TouchableOpacity","useTheme","useImageResolver","Z_INDEX","lazyRequire","useAvatarPlaceholder","LiveBadge","NAME_AVATAR_COLORS","getInitial","name","trimmed","trim","firstCodePoint","toUpperCase","getNameColor","hash","i","length","charCodeAt","index","Math","abs","DEFAULT_AVATAR_IMAGE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SQUIRCLE_PATH","clipIdCounter","getSvgModule","SquircleImage","uri","fallbackSource","size","fallbackColor","placeholderIcon","onError","liveRing","svg","children","CircleFallback","icon","CircleLiveRing","radius","color","borderWidth","default","Svg","Defs","ClipPath","Path","SvgImage","clipId","href","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","fill","stroke","strokeWidth","hasName","initialStyle","fontSize","round","fontWeight","lineHeight","textAlign","includeFontPadding","borderRadius","backgroundColor","justifyContent","alignItems","overflow","allowFontScaling","numberOfLines","resizeMode","absoluteFill","borderColor","zIndex","raised","pointerEvents","AvatarComponent","variant","verified","verifiedIcon","shape","imageStyle","placeholderColor","onPress","live","hideLiveBadge","liveLabel","liveColor","testID","errored","setErrored","theme","placeholderConfig","colors","backgroundTertiary","resolvedPlaceholderIcon","undefined","prevSourceRef","prevUriRef","prevVariantRef","current","imageResolver","resolvedUri","startsWith","resolvedImageSource","effectiveUri","imageSource","liveRingColor","negative","liveBorderWidth","showLiveBadge","content","container","imageContainer","verifiedBadge","label","textColor","negativeForeground","create","position","bottom","right","opacity","Avatar","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","memo","useMemo","useRef","useState","View","Image","StyleSheet","Text","TouchableOpacity","useTheme","useImageResolver","Z_INDEX","useAvatarPlaceholder","LiveBadge","AvatarRing","getRingOuterSize","getSvgModule","SQUIRCLE_PATH","NAME_AVATAR_COLORS","getInitial","name","trimmed","trim","firstCodePoint","toUpperCase","getNameColor","hash","i","length","charCodeAt","index","Math","abs","DEFAULT_AVATAR_IMAGE","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","clipIdCounter","SquircleImage","uri","fallbackSource","size","fallbackColor","placeholderIcon","onError","clipId","svg","CircleFallback","icon","default","Svg","Defs","ClipPath","Path","SvgImage","href","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","hasName","initialStyle","color","fontSize","round","fontWeight","lineHeight","textAlign","includeFontPadding","borderRadius","backgroundColor","justifyContent","alignItems","overflow","allowFontScaling","numberOfLines","resizeMode","AvatarComponent","variant","verified","verifiedIcon","shape","imageStyle","placeholderColor","onPress","live","hideLiveBadge","liveLabel","liveColor","ring","testID","errored","setErrored","theme","placeholderConfig","colors","backgroundTertiary","resolvedPlaceholderIcon","undefined","prevSourceRef","prevUriRef","prevVariantRef","current","imageResolver","resolvedUri","startsWith","resolvedImageSource","effectiveUri","imageSource","liveBadgeColor","negative","resolvedRing","gap","ringWidth","ringGap","outer","showLiveBadge","ringElement","gradientDirection","avatarBox","imageContainer","absoluteFill","verifiedBadge","label","textColor","negativeForeground","content","container","create","position","bottom","right","zIndex","raised","opacity","Avatar","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
|