@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.
Files changed (300) hide show
  1. package/lib/commonjs/animated-check/AnimatedCheck.js +162 -0
  2. package/lib/commonjs/animated-check/AnimatedCheck.js.map +1 -0
  3. package/lib/commonjs/animated-check/index.js +13 -0
  4. package/lib/commonjs/animated-check/index.js.map +1 -0
  5. package/lib/commonjs/avatar/Avatar.js +67 -96
  6. package/lib/commonjs/avatar/Avatar.js.map +1 -1
  7. package/lib/commonjs/avatar/AvatarRing.js +183 -0
  8. package/lib/commonjs/avatar/AvatarRing.js.map +1 -0
  9. package/lib/commonjs/avatar/index.js.map +1 -1
  10. package/lib/commonjs/avatar/squircle-path.js +14 -0
  11. package/lib/commonjs/avatar/squircle-path.js.map +1 -0
  12. package/lib/commonjs/avatar/svg-module.js +15 -0
  13. package/lib/commonjs/avatar/svg-module.js.map +1 -0
  14. package/lib/commonjs/dialog/placement.js +9 -7
  15. package/lib/commonjs/dialog/placement.js.map +1 -1
  16. package/lib/commonjs/fill/index.js.map +1 -1
  17. package/lib/commonjs/hooks/index.js +20 -0
  18. package/lib/commonjs/hooks/index.js.map +1 -1
  19. package/lib/commonjs/hooks/useGutters.js +106 -0
  20. package/lib/commonjs/hooks/useGutters.js.map +1 -0
  21. package/lib/commonjs/hooks/useHaptics.js +69 -0
  22. package/lib/commonjs/hooks/useHaptics.js.map +1 -0
  23. package/lib/commonjs/hooks/useInteractionState.js +8 -2
  24. package/lib/commonjs/hooks/useInteractionState.js.map +1 -1
  25. package/lib/commonjs/index.js +155 -63
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/index.web.js +155 -63
  28. package/lib/commonjs/index.web.js.map +1 -1
  29. package/lib/commonjs/media-inset-border/MediaInsetBorder.js +50 -0
  30. package/lib/commonjs/media-inset-border/MediaInsetBorder.js.map +1 -0
  31. package/lib/commonjs/media-inset-border/index.js +13 -0
  32. package/lib/commonjs/media-inset-border/index.js.map +1 -0
  33. package/lib/commonjs/motion/ScreenTransition.js +46 -0
  34. package/lib/commonjs/motion/ScreenTransition.js.map +1 -0
  35. package/lib/commonjs/motion/index.js +32 -0
  36. package/lib/commonjs/motion/index.js.map +1 -0
  37. package/lib/commonjs/motion/motion.js +93 -0
  38. package/lib/commonjs/motion/motion.js.map +1 -0
  39. package/lib/commonjs/pressable-scale/PressableScale.js +75 -0
  40. package/lib/commonjs/pressable-scale/PressableScale.js.map +1 -0
  41. package/lib/commonjs/pressable-scale/index.js +13 -0
  42. package/lib/commonjs/pressable-scale/index.js.map +1 -0
  43. package/lib/commonjs/pressable-with-hover/PressableWithHover.js +36 -0
  44. package/lib/commonjs/pressable-with-hover/PressableWithHover.js.map +1 -0
  45. package/lib/commonjs/pressable-with-hover/index.js +13 -0
  46. package/lib/commonjs/pressable-with-hover/index.js.map +1 -0
  47. package/lib/commonjs/styles/breakpoints.js +24 -0
  48. package/lib/commonjs/styles/breakpoints.js.map +1 -0
  49. package/lib/commonjs/styles/index.js +7 -0
  50. package/lib/commonjs/styles/index.js.map +1 -1
  51. package/lib/commonjs/subtle-hover/SubtleHover.js +69 -0
  52. package/lib/commonjs/subtle-hover/SubtleHover.js.map +1 -0
  53. package/lib/commonjs/subtle-hover/index.js +13 -0
  54. package/lib/commonjs/subtle-hover/index.js.map +1 -0
  55. package/lib/commonjs/theme/build-theme.js +2 -0
  56. package/lib/commonjs/theme/build-theme.js.map +1 -1
  57. package/lib/commonjs/theme/gradients.js +39 -0
  58. package/lib/commonjs/theme/gradients.js.map +1 -0
  59. package/lib/commonjs/theme/index.js +7 -0
  60. package/lib/commonjs/theme/index.js.map +1 -1
  61. package/lib/module/animated-check/AnimatedCheck.js +157 -0
  62. package/lib/module/animated-check/AnimatedCheck.js.map +1 -0
  63. package/lib/module/animated-check/index.js +4 -0
  64. package/lib/module/animated-check/index.js.map +1 -0
  65. package/lib/module/avatar/Avatar.js +66 -96
  66. package/lib/module/avatar/Avatar.js.map +1 -1
  67. package/lib/module/avatar/AvatarRing.js +177 -0
  68. package/lib/module/avatar/AvatarRing.js.map +1 -0
  69. package/lib/module/avatar/index.js.map +1 -1
  70. package/lib/module/avatar/squircle-path.js +10 -0
  71. package/lib/module/avatar/squircle-path.js.map +1 -0
  72. package/lib/module/avatar/svg-module.js +11 -0
  73. package/lib/module/avatar/svg-module.js.map +1 -0
  74. package/lib/module/dialog/placement.js +9 -7
  75. package/lib/module/dialog/placement.js.map +1 -1
  76. package/lib/module/fill/index.js.map +1 -1
  77. package/lib/module/hooks/index.js +2 -0
  78. package/lib/module/hooks/index.js.map +1 -1
  79. package/lib/module/hooks/useGutters.js +103 -0
  80. package/lib/module/hooks/useGutters.js.map +1 -0
  81. package/lib/module/hooks/useHaptics.js +65 -0
  82. package/lib/module/hooks/useHaptics.js.map +1 -0
  83. package/lib/module/hooks/useInteractionState.js +10 -3
  84. package/lib/module/hooks/useInteractionState.js.map +1 -1
  85. package/lib/module/index.js +10 -1
  86. package/lib/module/index.js.map +1 -1
  87. package/lib/module/index.web.js +10 -1
  88. package/lib/module/index.web.js.map +1 -1
  89. package/lib/module/media-inset-border/MediaInsetBorder.js +47 -0
  90. package/lib/module/media-inset-border/MediaInsetBorder.js.map +1 -0
  91. package/lib/module/media-inset-border/index.js +4 -0
  92. package/lib/module/media-inset-border/index.js.map +1 -0
  93. package/lib/module/motion/ScreenTransition.js +40 -0
  94. package/lib/module/motion/ScreenTransition.js.map +1 -0
  95. package/lib/module/motion/index.js +5 -0
  96. package/lib/module/motion/index.js.map +1 -0
  97. package/lib/module/motion/motion.js +87 -0
  98. package/lib/module/motion/motion.js.map +1 -0
  99. package/lib/module/pressable-scale/PressableScale.js +72 -0
  100. package/lib/module/pressable-scale/PressableScale.js.map +1 -0
  101. package/lib/module/pressable-scale/index.js +4 -0
  102. package/lib/module/pressable-scale/index.js.map +1 -0
  103. package/lib/module/pressable-with-hover/PressableWithHover.js +31 -0
  104. package/lib/module/pressable-with-hover/PressableWithHover.js.map +1 -0
  105. package/lib/module/pressable-with-hover/index.js +4 -0
  106. package/lib/module/pressable-with-hover/index.js.map +1 -0
  107. package/lib/module/styles/breakpoints.js +20 -0
  108. package/lib/module/styles/breakpoints.js.map +1 -0
  109. package/lib/module/styles/index.js +1 -0
  110. package/lib/module/styles/index.js.map +1 -1
  111. package/lib/module/subtle-hover/SubtleHover.js +66 -0
  112. package/lib/module/subtle-hover/SubtleHover.js.map +1 -0
  113. package/lib/module/subtle-hover/index.js +4 -0
  114. package/lib/module/subtle-hover/index.js.map +1 -0
  115. package/lib/module/theme/build-theme.js +2 -0
  116. package/lib/module/theme/build-theme.js.map +1 -1
  117. package/lib/module/theme/gradients.js +35 -0
  118. package/lib/module/theme/gradients.js.map +1 -0
  119. package/lib/module/theme/index.js +1 -0
  120. package/lib/module/theme/index.js.map +1 -1
  121. package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts +18 -0
  122. package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/animated-check/index.d.ts +3 -0
  124. package/lib/typescript/commonjs/animated-check/index.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/avatar/AvatarRing.d.ts +27 -0
  127. package/lib/typescript/commonjs/avatar/AvatarRing.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/avatar/index.d.ts +1 -1
  129. package/lib/typescript/commonjs/avatar/index.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/avatar/squircle-path.d.ts +8 -0
  131. package/lib/typescript/commonjs/avatar/squircle-path.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/avatar/svg-module.d.ts +8 -0
  133. package/lib/typescript/commonjs/avatar/svg-module.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/avatar/types.d.ts +30 -0
  135. package/lib/typescript/commonjs/avatar/types.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/dialog/placement.d.ts +8 -7
  137. package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/fill/index.d.ts +2 -2
  139. package/lib/typescript/commonjs/fill/index.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/hooks/index.d.ts +4 -0
  141. package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/hooks/useGutters.d.ts +32 -0
  143. package/lib/typescript/commonjs/hooks/useGutters.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/hooks/useHaptics.d.ts +28 -0
  145. package/lib/typescript/commonjs/hooks/useHaptics.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/hooks/useInteractionState.d.ts +6 -0
  147. package/lib/typescript/commonjs/hooks/useInteractionState.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/index.d.ts +16 -0
  149. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/index.web.d.ts +16 -0
  151. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts +26 -0
  153. package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/media-inset-border/index.d.ts +3 -0
  155. package/lib/typescript/commonjs/media-inset-border/index.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/motion/ScreenTransition.d.ts +33 -0
  157. package/lib/typescript/commonjs/motion/ScreenTransition.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/motion/index.d.ts +4 -0
  159. package/lib/typescript/commonjs/motion/index.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/motion/motion.d.ts +24 -0
  161. package/lib/typescript/commonjs/motion/motion.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts +21 -0
  163. package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/pressable-scale/index.d.ts +3 -0
  165. package/lib/typescript/commonjs/pressable-scale/index.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts +18 -0
  167. package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/pressable-with-hover/index.d.ts +3 -0
  169. package/lib/typescript/commonjs/pressable-with-hover/index.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/styles/breakpoints.d.ts +18 -0
  171. package/lib/typescript/commonjs/styles/breakpoints.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/styles/index.d.ts +2 -0
  173. package/lib/typescript/commonjs/styles/index.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts +32 -0
  175. package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/subtle-hover/index.d.ts +3 -0
  177. package/lib/typescript/commonjs/subtle-hover/index.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/theme/gradients.d.ts +12 -0
  180. package/lib/typescript/commonjs/theme/gradients.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/theme/index.d.ts +2 -1
  182. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/theme/types.d.ts +11 -0
  184. package/lib/typescript/commonjs/theme/types.d.ts.map +1 -1
  185. package/lib/typescript/module/animated-check/AnimatedCheck.d.ts +18 -0
  186. package/lib/typescript/module/animated-check/AnimatedCheck.d.ts.map +1 -0
  187. package/lib/typescript/module/animated-check/index.d.ts +3 -0
  188. package/lib/typescript/module/animated-check/index.d.ts.map +1 -0
  189. package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
  190. package/lib/typescript/module/avatar/AvatarRing.d.ts +27 -0
  191. package/lib/typescript/module/avatar/AvatarRing.d.ts.map +1 -0
  192. package/lib/typescript/module/avatar/index.d.ts +1 -1
  193. package/lib/typescript/module/avatar/index.d.ts.map +1 -1
  194. package/lib/typescript/module/avatar/squircle-path.d.ts +8 -0
  195. package/lib/typescript/module/avatar/squircle-path.d.ts.map +1 -0
  196. package/lib/typescript/module/avatar/svg-module.d.ts +8 -0
  197. package/lib/typescript/module/avatar/svg-module.d.ts.map +1 -0
  198. package/lib/typescript/module/avatar/types.d.ts +30 -0
  199. package/lib/typescript/module/avatar/types.d.ts.map +1 -1
  200. package/lib/typescript/module/dialog/placement.d.ts +8 -7
  201. package/lib/typescript/module/dialog/placement.d.ts.map +1 -1
  202. package/lib/typescript/module/fill/index.d.ts +2 -2
  203. package/lib/typescript/module/fill/index.d.ts.map +1 -1
  204. package/lib/typescript/module/hooks/index.d.ts +4 -0
  205. package/lib/typescript/module/hooks/index.d.ts.map +1 -1
  206. package/lib/typescript/module/hooks/useGutters.d.ts +32 -0
  207. package/lib/typescript/module/hooks/useGutters.d.ts.map +1 -0
  208. package/lib/typescript/module/hooks/useHaptics.d.ts +28 -0
  209. package/lib/typescript/module/hooks/useHaptics.d.ts.map +1 -0
  210. package/lib/typescript/module/hooks/useInteractionState.d.ts +6 -0
  211. package/lib/typescript/module/hooks/useInteractionState.d.ts.map +1 -1
  212. package/lib/typescript/module/index.d.ts +16 -0
  213. package/lib/typescript/module/index.d.ts.map +1 -1
  214. package/lib/typescript/module/index.web.d.ts +16 -0
  215. package/lib/typescript/module/index.web.d.ts.map +1 -1
  216. package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts +26 -0
  217. package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
  218. package/lib/typescript/module/media-inset-border/index.d.ts +3 -0
  219. package/lib/typescript/module/media-inset-border/index.d.ts.map +1 -0
  220. package/lib/typescript/module/motion/ScreenTransition.d.ts +33 -0
  221. package/lib/typescript/module/motion/ScreenTransition.d.ts.map +1 -0
  222. package/lib/typescript/module/motion/index.d.ts +4 -0
  223. package/lib/typescript/module/motion/index.d.ts.map +1 -0
  224. package/lib/typescript/module/motion/motion.d.ts +24 -0
  225. package/lib/typescript/module/motion/motion.d.ts.map +1 -0
  226. package/lib/typescript/module/pressable-scale/PressableScale.d.ts +21 -0
  227. package/lib/typescript/module/pressable-scale/PressableScale.d.ts.map +1 -0
  228. package/lib/typescript/module/pressable-scale/index.d.ts +3 -0
  229. package/lib/typescript/module/pressable-scale/index.d.ts.map +1 -0
  230. package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts +18 -0
  231. package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
  232. package/lib/typescript/module/pressable-with-hover/index.d.ts +3 -0
  233. package/lib/typescript/module/pressable-with-hover/index.d.ts.map +1 -0
  234. package/lib/typescript/module/styles/breakpoints.d.ts +18 -0
  235. package/lib/typescript/module/styles/breakpoints.d.ts.map +1 -0
  236. package/lib/typescript/module/styles/index.d.ts +2 -0
  237. package/lib/typescript/module/styles/index.d.ts.map +1 -1
  238. package/lib/typescript/module/subtle-hover/SubtleHover.d.ts +32 -0
  239. package/lib/typescript/module/subtle-hover/SubtleHover.d.ts.map +1 -0
  240. package/lib/typescript/module/subtle-hover/index.d.ts +3 -0
  241. package/lib/typescript/module/subtle-hover/index.d.ts.map +1 -0
  242. package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
  243. package/lib/typescript/module/theme/gradients.d.ts +12 -0
  244. package/lib/typescript/module/theme/gradients.d.ts.map +1 -0
  245. package/lib/typescript/module/theme/index.d.ts +2 -1
  246. package/lib/typescript/module/theme/index.d.ts.map +1 -1
  247. package/lib/typescript/module/theme/types.d.ts +11 -0
  248. package/lib/typescript/module/theme/types.d.ts.map +1 -1
  249. package/package.json +73 -1
  250. package/src/__tests__/AnimatedCheck.test.tsx +31 -0
  251. package/src/__tests__/MediaInsetBorder.test.tsx +36 -0
  252. package/src/__tests__/Motion.test.tsx +58 -0
  253. package/src/__tests__/PressableScale.test.tsx +29 -0
  254. package/src/__tests__/PressableWithHover.test.tsx +48 -0
  255. package/src/__tests__/SubtleHover.test.tsx +42 -0
  256. package/src/__tests__/theme-gradients.test.ts +31 -0
  257. package/src/__tests__/theme.test.ts +3 -0
  258. package/src/__tests__/useGutters.test.ts +58 -0
  259. package/src/__tests__/useHaptics.test.tsx +58 -0
  260. package/src/__tests__/useInteractionState.test.ts +27 -0
  261. package/src/animated-check/AnimatedCheck.stories.tsx +60 -0
  262. package/src/animated-check/AnimatedCheck.tsx +173 -0
  263. package/src/animated-check/index.ts +2 -0
  264. package/src/avatar/Avatar.stories.tsx +95 -0
  265. package/src/avatar/Avatar.tsx +61 -110
  266. package/src/avatar/AvatarRing.tsx +170 -0
  267. package/src/avatar/index.ts +6 -1
  268. package/src/avatar/squircle-path.ts +11 -0
  269. package/src/avatar/svg-module.ts +11 -0
  270. package/src/avatar/types.ts +32 -0
  271. package/src/dialog/placement.ts +10 -7
  272. package/src/fill/index.tsx +2 -2
  273. package/src/hooks/index.ts +4 -0
  274. package/src/hooks/useGutters.ts +99 -0
  275. package/src/hooks/useHaptics.tsx +69 -0
  276. package/src/hooks/useInteractionState.ts +8 -2
  277. package/src/index.ts +20 -0
  278. package/src/index.web.ts +20 -0
  279. package/src/media-inset-border/MediaInsetBorder.stories.tsx +60 -0
  280. package/src/media-inset-border/MediaInsetBorder.tsx +72 -0
  281. package/src/media-inset-border/index.ts +2 -0
  282. package/src/motion/Motion.stories.tsx +99 -0
  283. package/src/motion/ScreenTransition.tsx +71 -0
  284. package/src/motion/index.ts +3 -0
  285. package/src/motion/motion.ts +75 -0
  286. package/src/pressable-scale/PressableScale.stories.tsx +71 -0
  287. package/src/pressable-scale/PressableScale.tsx +103 -0
  288. package/src/pressable-scale/index.ts +2 -0
  289. package/src/pressable-with-hover/PressableWithHover.stories.tsx +43 -0
  290. package/src/pressable-with-hover/PressableWithHover.tsx +43 -0
  291. package/src/pressable-with-hover/index.ts +2 -0
  292. package/src/styles/breakpoints.ts +18 -0
  293. package/src/styles/index.ts +2 -0
  294. package/src/subtle-hover/SubtleHover.stories.tsx +72 -0
  295. package/src/subtle-hover/SubtleHover.tsx +90 -0
  296. package/src/subtle-hover/index.ts +2 -0
  297. package/src/theme/build-theme.ts +2 -0
  298. package/src/theme/gradients.ts +61 -0
  299. package/src/theme/index.ts +2 -1
  300. package/src/theme/types.ts +13 -0
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AnimatedCheck = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _svgModule = require("../avatar/svg-module.js");
11
+ var _index = require("../theme/index.js");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ /** The resolved `react-native-svg` module (non-null branch). */
15
+
16
+ /** Square viewBox the ring + check are drawn on. */
17
+ const VIEW_BOX = 52;
18
+ /** Ring radius within the viewBox. */
19
+ const CIRCLE_RADIUS = 24;
20
+ /** Ring circumference (2·π·r ≈ 150.8) rounded up so the dash fully hides it. */
21
+ const CIRCLE_LENGTH = 166;
22
+ /** Approximate path length of the check stroke. */
23
+ const CHECK_LENGTH = 48;
24
+ /** The check glyph, drawn on the 52×52 canvas. */
25
+ const CHECK_PATH = 'M14.1 27.2l7.1 7.2 16.7-16.8';
26
+ const STROKE_WIDTH = 4;
27
+ /** Ring draw-on duration (ms). */
28
+ const CIRCLE_DURATION = 500;
29
+ /** Check draw-on duration (ms), started once the ring completes. */
30
+ const CHECK_DURATION = 300;
31
+ // `Animated.createAnimatedComponent` must be called once per underlying
32
+ // component (calling it per-render would remount and break the animation).
33
+ // react-native-svg is a lazy/optional peer, so we build the animated wrappers
34
+ // the first time it resolves and cache them at module scope.
35
+ function buildAnimatedSvg(svg) {
36
+ return {
37
+ Circle: _reactNativeReanimated.default.createAnimatedComponent(svg.Circle),
38
+ Path: _reactNativeReanimated.default.createAnimatedComponent(svg.Path)
39
+ };
40
+ }
41
+ let animatedSvgCache = null;
42
+ function getAnimatedSvg(svg) {
43
+ if (!animatedSvgCache) animatedSvgCache = buildAnimatedSvg(svg);
44
+ return animatedSvgCache;
45
+ }
46
+ /** The animated SVG implementation, rendered only when react-native-svg exists. */
47
+ const AnimatedCheckSvg = /*#__PURE__*/(0, _react.forwardRef)(function AnimatedCheckSvg({
48
+ size,
49
+ color,
50
+ svg
51
+ }, ref) {
52
+ const {
53
+ default: Svg
54
+ } = svg;
55
+ const {
56
+ Circle,
57
+ Path
58
+ } = getAnimatedSvg(svg);
59
+ const circleProgress = (0, _reactNativeReanimated.useSharedValue)(0);
60
+ const checkProgress = (0, _reactNativeReanimated.useSharedValue)(0);
61
+ const circleAnimatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => ({
62
+ strokeDashoffset: CIRCLE_LENGTH - circleProgress.value * CIRCLE_LENGTH
63
+ }));
64
+ const checkAnimatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => ({
65
+ strokeDashoffset: CHECK_LENGTH - CHECK_LENGTH * checkProgress.value
66
+ }));
67
+ const play = (0, _react.useCallback)(() => {
68
+ circleProgress.value = 0;
69
+ checkProgress.value = 0;
70
+ circleProgress.value = (0, _reactNativeReanimated.withTiming)(1, {
71
+ duration: CIRCLE_DURATION,
72
+ easing: _reactNativeReanimated.Easing.linear
73
+ });
74
+ checkProgress.value = (0, _reactNativeReanimated.withDelay)(CIRCLE_DURATION, (0, _reactNativeReanimated.withTiming)(1, {
75
+ duration: CHECK_DURATION,
76
+ easing: _reactNativeReanimated.Easing.linear
77
+ }));
78
+ }, [circleProgress, checkProgress]);
79
+ (0, _react.useImperativeHandle)(ref, () => ({
80
+ play
81
+ }), [play]);
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Svg, {
83
+ fill: "none",
84
+ viewBox: `0 0 ${VIEW_BOX} ${VIEW_BOX}`,
85
+ width: size,
86
+ height: size,
87
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Circle, {
88
+ animatedProps: circleAnimatedProps,
89
+ cx: VIEW_BOX / 2,
90
+ cy: VIEW_BOX / 2,
91
+ r: CIRCLE_RADIUS,
92
+ fill: "none",
93
+ stroke: color,
94
+ strokeWidth: STROKE_WIDTH,
95
+ strokeDasharray: CIRCLE_LENGTH
96
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Path, {
97
+ animatedProps: checkAnimatedProps,
98
+ d: CHECK_PATH,
99
+ stroke: color,
100
+ strokeWidth: STROKE_WIDTH,
101
+ strokeDasharray: CHECK_LENGTH
102
+ })]
103
+ });
104
+ });
105
+ /**
106
+ * Static fallback rendered when react-native-svg is unavailable (e.g. a web
107
+ * bundle that omits the optional peer). Draws a plain Unicode check so the
108
+ * component still communicates "done"; `play()` is a no-op.
109
+ */
110
+ const StaticCheck = /*#__PURE__*/(0, _react.forwardRef)(function StaticCheck({
111
+ size,
112
+ color
113
+ }, ref) {
114
+ (0, _react.useImperativeHandle)(ref, () => ({
115
+ play: () => undefined
116
+ }), []);
117
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
118
+ accessibilityElementsHidden: true,
119
+ style: [styles.staticCheck, {
120
+ width: size,
121
+ fontSize: size * 0.8,
122
+ lineHeight: size,
123
+ color
124
+ }],
125
+ children: '✓'
126
+ });
127
+ });
128
+
129
+ /**
130
+ * A draw-on checkmark: a ring strokes on, then the check strokes in. Expose a
131
+ * ref and call `ref.current?.play()` to (re)play — e.g. on a successful submit.
132
+ * Ported from Bluesky's `AnimatedCheck`.
133
+ */
134
+ const AnimatedCheck = exports.AnimatedCheck = /*#__PURE__*/(0, _react.forwardRef)(function AnimatedCheck({
135
+ size = 24,
136
+ color
137
+ }, ref) {
138
+ const theme = (0, _index.useTheme)();
139
+ const resolvedColor = color ?? theme.colors.success;
140
+ const svg = (0, _react.useMemo)(() => (0, _svgModule.getSvgModule)(), []);
141
+ if (!svg) {
142
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StaticCheck, {
143
+ ref: ref,
144
+ size: size,
145
+ color: resolvedColor
146
+ });
147
+ }
148
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedCheckSvg, {
149
+ ref: ref,
150
+ size: size,
151
+ color: resolvedColor,
152
+ svg: svg
153
+ });
154
+ });
155
+ AnimatedCheck.displayName = 'AnimatedCheck';
156
+ const styles = _reactNative.StyleSheet.create({
157
+ staticCheck: {
158
+ textAlign: 'center',
159
+ fontWeight: '700'
160
+ }
161
+ });
162
+ //# sourceMappingURL=AnimatedCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_svgModule","_index","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","VIEW_BOX","CIRCLE_RADIUS","CIRCLE_LENGTH","CHECK_LENGTH","CHECK_PATH","STROKE_WIDTH","CIRCLE_DURATION","CHECK_DURATION","buildAnimatedSvg","svg","Circle","Animated","createAnimatedComponent","Path","animatedSvgCache","getAnimatedSvg","AnimatedCheckSvg","forwardRef","size","color","ref","Svg","circleProgress","useSharedValue","checkProgress","circleAnimatedProps","useAnimatedProps","strokeDashoffset","value","checkAnimatedProps","play","useCallback","withTiming","duration","easing","Easing","linear","withDelay","useImperativeHandle","jsxs","fill","viewBox","width","height","children","jsx","animatedProps","cx","cy","stroke","strokeWidth","strokeDasharray","d","StaticCheck","undefined","Text","accessibilityElementsHidden","style","styles","staticCheck","fontSize","lineHeight","AnimatedCheck","exports","theme","useTheme","resolvedColor","colors","success","useMemo","getSvgModule","displayName","StyleSheet","create","textAlign","fontWeight"],"sourceRoot":"../../../src","sources":["animated-check/AnimatedCheck.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AnimatedCheck", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AnimatedCheck.AnimatedCheck;
10
+ }
11
+ });
12
+ var _AnimatedCheck = require("./AnimatedCheck.js");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AnimatedCheck","require"],"sourceRoot":"../../../src","sources":["animated-check/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA","ignoreList":[]}
@@ -9,9 +9,11 @@ var _reactNative = require("react-native");
9
9
  var _useTheme = require("../theme/use-theme.js");
10
10
  var _context = require("../image-resolver/context.js");
11
11
  var _zIndex = require("../styles/z-index.js");
12
- var _lazyRequire = require("../utils/lazy-require.js");
13
12
  var _placeholderContext = require("./placeholder-context.js");
14
13
  var _LiveBadge = require("./LiveBadge.js");
14
+ var _AvatarRing = require("./AvatarRing.js");
15
+ var _svgModule = require("./svg-module.js");
16
+ var _squirclePath = require("./squircle-path.js");
15
17
  var _defaultAvatar = _interopRequireDefault(require("./default-avatar.js"));
16
18
  var _jsxRuntime = require("react/jsx-runtime");
17
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -40,22 +42,7 @@ function getNameColor(name) {
40
42
  // `.jpg` asset import (and no ambient `*.jpg` module declaration) is required for
41
43
  // consumers compiling Bloom's source files directly.
42
44
 
43
- // Squircle clip path normalized to 0–1 coordinate space (viewBox="0 0 1 1").
44
- 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';
45
45
  let clipIdCounter = 0;
46
-
47
- // Lazy-loaded SVG components for squircle shape.
48
- // Returns null if react-native-svg is not installed.
49
-
50
- const getSvgModule = (0, _lazyRequire.lazyRequire)('react-native-svg');
51
-
52
- /**
53
- * Live-ring drawing config passed down to shape renderers.
54
- * - `color`: resolved ring color (theme `negative` or `liveColor` override).
55
- * - `strokeWidth`: stroke width in the squircle's 0–1 path coordinate space.
56
- * - `borderWidth`: ring border width in pixels for the circle fallback.
57
- */
58
-
59
46
  function SquircleImage({
60
47
  uri,
61
48
  fallbackSource,
@@ -63,24 +50,18 @@ function SquircleImage({
63
50
  fallbackColor,
64
51
  placeholderIcon,
65
52
  name,
66
- onError,
67
- liveRing
53
+ onError
68
54
  }) {
69
- const svg = getSvgModule();
55
+ const clipId = (0, _react.useMemo)(() => `bloom-sqc${clipIdCounter++}`, []);
56
+ const svg = (0, _svgModule.getSvgModule)();
70
57
  if (!svg) {
71
- // Fallback to circle if react-native-svg is not installed. The circle
72
- // fallback also gets a circle live ring (matching its rendered shape).
73
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
74
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CircleFallback, {
75
- size: size,
76
- fallbackColor: fallbackColor,
77
- icon: placeholderIcon,
78
- name: name
79
- }), liveRing && /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleLiveRing, {
80
- radius: size / 2,
81
- color: liveRing.color,
82
- borderWidth: liveRing.borderWidth
83
- })]
58
+ // Fallback to a circle if react-native-svg is not installed. The ring (if
59
+ // any) is drawn separately by AvatarRing, which also degrades to a circle.
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleFallback, {
61
+ size: size,
62
+ fallbackColor: fallbackColor,
63
+ icon: placeholderIcon,
64
+ name: name
84
65
  });
85
66
  }
86
67
  const {
@@ -90,22 +71,15 @@ function SquircleImage({
90
71
  Path,
91
72
  Image: SvgImage
92
73
  } = svg;
93
- const clipId = (0, _react.useMemo)(() => `bloom-sqc${clipIdCounter++}`, []);
94
74
  const href = uri ? {
95
75
  uri
96
76
  } : fallbackSource;
97
77
  if (!href) {
98
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
99
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CircleFallback, {
100
- size: size,
101
- fallbackColor: fallbackColor,
102
- icon: placeholderIcon,
103
- name: name
104
- }), liveRing && /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleLiveRing, {
105
- radius: size / 2,
106
- color: liveRing.color,
107
- borderWidth: liveRing.borderWidth
108
- })]
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleFallback, {
79
+ size: size,
80
+ fallbackColor: fallbackColor,
81
+ icon: placeholderIcon,
82
+ name: name
109
83
  });
110
84
  }
111
85
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
@@ -123,7 +97,7 @@ function SquircleImage({
123
97
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ClipPath, {
124
98
  id: clipId,
125
99
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Path, {
126
- d: SQUIRCLE_PATH
100
+ d: _squirclePath.SQUIRCLE_PATH
127
101
  })
128
102
  })
129
103
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SvgImage, {
@@ -132,11 +106,6 @@ function SquircleImage({
132
106
  height: 1,
133
107
  preserveAspectRatio: "xMidYMid slice",
134
108
  clipPath: `url(#${clipId})`
135
- }), liveRing && /*#__PURE__*/(0, _jsxRuntime.jsx)(Path, {
136
- d: SQUIRCLE_PATH,
137
- fill: "none",
138
- stroke: liveRing.color,
139
- strokeWidth: liveRing.strokeWidth
140
109
  })]
141
110
  })]
142
111
  });
@@ -185,28 +154,6 @@ function CircleFallback({
185
154
  }))
186
155
  });
187
156
  }
188
-
189
- /**
190
- * Solid live ring for circular avatars — an absolutely-positioned inset-0
191
- * overlay whose border overlays the avatar edge (drawn on top of the image,
192
- * never a border on the image itself). Also used as the fallback ring for a
193
- * squircle avatar when react-native-svg is unavailable.
194
- */
195
- function CircleLiveRing({
196
- radius,
197
- color,
198
- borderWidth
199
- }) {
200
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
201
- style: [_reactNative.StyleSheet.absoluteFill, {
202
- borderRadius: radius,
203
- borderColor: color,
204
- borderWidth,
205
- zIndex: _zIndex.Z_INDEX.raised,
206
- pointerEvents: 'none'
207
- }]
208
- });
209
- }
210
157
  const AvatarComponent = ({
211
158
  source,
212
159
  uri,
@@ -226,6 +173,7 @@ const AvatarComponent = ({
226
173
  hideLiveBadge = false,
227
174
  liveLabel = 'LIVE',
228
175
  liveColor,
176
+ ring,
229
177
  testID
230
178
  }) => {
231
179
  const [errored, setErrored] = (0, _react.useState)(false);
@@ -283,26 +231,40 @@ const AvatarComponent = ({
283
231
  return fallbackSource;
284
232
  }, [effectiveUri, resolvedImageSource, fallbackSource]);
285
233
 
286
- // Live indicator (modeled on Bluesky): a solid ring around the avatar plus,
287
- // unless suppressed, a "LIVE" pill hanging off the bottom-center. Colors come
288
- // from the theme (`negative` / `negativeForeground`) with an optional
289
- // `liveColor` override. The badge is only shown for `size > 16`.
290
- const liveRingColor = liveColor ?? theme.colors.negative;
291
- const liveBorderWidth = size > 16 ? 2 : 1;
292
- const liveRing = live ? {
293
- color: liveRingColor,
294
- // The squircle path is in 0–1 space; center-stroking it and letting the
295
- // viewport clip the outer half yields a ~`liveBorderWidth`-px inset ring.
296
- strokeWidth: liveBorderWidth / size * 2,
297
- borderWidth: liveBorderWidth
234
+ // Resolve a SINGLE ring config shared by `live` and the public `ring` prop.
235
+ // An explicit `ring` wins for geometry and colors; otherwise `live` derives a
236
+ // solid theme-`negative` ring (modeled on Bluesky's live indicator). The
237
+ // "LIVE" badge stays independently controlled by `live` / `hideLiveBadge` and
238
+ // uses the theme `negative` color regardless of the ring's colors.
239
+ const liveBadgeColor = liveColor ?? theme.colors.negative;
240
+ const resolvedRing = ring ? ring : live ? {
241
+ colors: liveBadgeColor,
242
+ width: size > 16 ? 2 : 1,
243
+ gap: 0
298
244
  } : undefined;
245
+ const ringWidth = resolvedRing?.width ?? (size > 16 ? 2 : 1);
246
+ const ringGap = resolvedRing?.gap ?? 0;
247
+ // When gap > 0 the ring sits outside the avatar and the footprint grows so the
248
+ // avatar can be centered inside; gap 0 overlays the edge (footprint unchanged).
249
+ const outer = resolvedRing ? (0, _AvatarRing.getRingOuterSize)(size, ringWidth, ringGap) : size;
299
250
  const showLiveBadge = live && size > 16 && !hideLiveBadge;
300
- const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
301
- style: [styles.container, {
251
+ const ringElement = resolvedRing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AvatarRing.AvatarRing, {
252
+ size: size,
253
+ shape: shape,
254
+ colors: resolvedRing.colors,
255
+ width: ringWidth,
256
+ gap: ringGap,
257
+ gradientDirection: resolvedRing.gradientDirection ?? 'diagonal'
258
+ }) : null;
259
+
260
+ // The avatar box holds the image and the badges (which hug the avatar). When
261
+ // gap > 0 this box is centered inside the larger container; when gap is 0 it
262
+ // fills the container exactly.
263
+ const avatarBox = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
264
+ style: [styles.avatarBox, {
302
265
  width: size,
303
266
  height: size
304
- }, style],
305
- testID: testID,
267
+ }],
306
268
  children: [shape === 'squircle' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(SquircleImage, {
307
269
  uri: effectiveUri,
308
270
  fallbackSource: fallbackSource,
@@ -310,8 +272,7 @@ const AvatarComponent = ({
310
272
  fallbackColor: fallbackColor,
311
273
  placeholderIcon: resolvedPlaceholderIcon,
312
274
  name: name,
313
- onError: () => setErrored(true),
314
- liveRing: liveRing
275
+ onError: () => setErrored(true)
315
276
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
316
277
  style: [styles.imageContainer, {
317
278
  width: size,
@@ -331,11 +292,7 @@ const AvatarComponent = ({
331
292
  icon: resolvedPlaceholderIcon,
332
293
  name: name
333
294
  })
334
- }), live && shape !== 'squircle' && /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleLiveRing, {
335
- radius: radius,
336
- color: liveRingColor,
337
- borderWidth: liveBorderWidth
338
- }), verified && verifiedIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
295
+ }), ringGap === 0 ? ringElement : null, verified && verifiedIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
339
296
  style: [styles.verifiedBadge, {
340
297
  width: size * 0.36,
341
298
  height: size * 0.36
@@ -344,10 +301,18 @@ const AvatarComponent = ({
344
301
  }), showLiveBadge && /*#__PURE__*/(0, _jsxRuntime.jsx)(_LiveBadge.LiveBadge, {
345
302
  variant: size > 32 ? 'small' : 'tiny',
346
303
  label: liveLabel,
347
- backgroundColor: liveRingColor,
304
+ backgroundColor: liveBadgeColor,
348
305
  textColor: theme.colors.negativeForeground
349
306
  })]
350
307
  });
308
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
309
+ style: [styles.container, {
310
+ width: outer,
311
+ height: outer
312
+ }, style],
313
+ testID: testID,
314
+ children: [ringGap > 0 ? ringElement : null, avatarBox]
315
+ });
351
316
  if (onPress) {
352
317
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
353
318
  onPress: onPress,
@@ -363,6 +328,12 @@ const styles = _reactNative.StyleSheet.create({
363
328
  justifyContent: 'center',
364
329
  alignItems: 'center'
365
330
  },
331
+ avatarBox: {
332
+ position: 'relative',
333
+ overflow: 'visible',
334
+ justifyContent: 'center',
335
+ alignItems: 'center'
336
+ },
366
337
  imageContainer: {
367
338
  overflow: 'hidden',
368
339
  justifyContent: 'center',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_context","_zIndex","_lazyRequire","_placeholderContext","_LiveBadge","_defaultAvatar","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NAME_AVATAR_COLORS","getInitial","name","trimmed","trim","firstCodePoint","toUpperCase","getNameColor","hash","length","charCodeAt","index","Math","abs","SQUIRCLE_PATH","clipIdCounter","getSvgModule","lazyRequire","SquircleImage","uri","fallbackSource","size","fallbackColor","placeholderIcon","onError","liveRing","svg","jsxs","Fragment","children","jsx","CircleFallback","icon","CircleLiveRing","radius","color","borderWidth","Svg","Defs","ClipPath","Path","Image","SvgImage","clipId","useMemo","href","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","fill","stroke","strokeWidth","hasName","initialStyle","fontSize","round","fontWeight","lineHeight","textAlign","includeFontPadding","View","borderRadius","backgroundColor","justifyContent","alignItems","overflow","Text","allowFontScaling","numberOfLines","DEFAULT_AVATAR_IMAGE","resizeMode","StyleSheet","absoluteFill","borderColor","zIndex","Z_INDEX","raised","pointerEvents","AvatarComponent","variant","verified","verifiedIcon","shape","imageStyle","placeholderColor","onPress","live","hideLiveBadge","liveLabel","liveColor","testID","errored","setErrored","useState","theme","useTheme","placeholderConfig","useAvatarPlaceholder","colors","backgroundTertiary","resolvedPlaceholderIcon","undefined","prevSourceRef","useRef","prevUriRef","prevVariantRef","current","imageResolver","useImageResolver","resolvedUri","startsWith","resolvedImageSource","effectiveUri","imageSource","liveRingColor","negative","liveBorderWidth","showLiveBadge","content","container","imageContainer","verifiedBadge","LiveBadge","label","textColor","negativeForeground","TouchableOpacity","create","position","bottom","right","opacity","Avatar","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_context","_zIndex","_placeholderContext","_LiveBadge","_AvatarRing","_svgModule","_squirclePath","_defaultAvatar","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NAME_AVATAR_COLORS","getInitial","name","trimmed","trim","firstCodePoint","toUpperCase","getNameColor","hash","length","charCodeAt","index","Math","abs","clipIdCounter","SquircleImage","uri","fallbackSource","size","fallbackColor","placeholderIcon","onError","clipId","useMemo","svg","getSvgModule","jsx","CircleFallback","icon","Svg","Defs","ClipPath","Path","Image","SvgImage","href","jsxs","Fragment","children","source","style","styles","errorDetector","width","height","viewBox","id","d","SQUIRCLE_PATH","preserveAspectRatio","clipPath","radius","hasName","initialStyle","color","fontSize","round","fontWeight","lineHeight","textAlign","includeFontPadding","View","borderRadius","backgroundColor","justifyContent","alignItems","overflow","Text","allowFontScaling","numberOfLines","DEFAULT_AVATAR_IMAGE","resizeMode","AvatarComponent","variant","verified","verifiedIcon","shape","imageStyle","placeholderColor","onPress","live","hideLiveBadge","liveLabel","liveColor","ring","testID","errored","setErrored","useState","theme","useTheme","placeholderConfig","useAvatarPlaceholder","colors","backgroundTertiary","resolvedPlaceholderIcon","undefined","prevSourceRef","useRef","prevUriRef","prevVariantRef","current","imageResolver","useImageResolver","resolvedUri","startsWith","resolvedImageSource","effectiveUri","imageSource","liveBadgeColor","negative","resolvedRing","gap","ringWidth","ringGap","outer","getRingOuterSize","showLiveBadge","ringElement","AvatarRing","gradientDirection","avatarBox","imageContainer","StyleSheet","absoluteFill","verifiedBadge","LiveBadge","label","textColor","negativeForeground","content","container","TouchableOpacity","create","position","bottom","right","zIndex","Z_INDEX","raised","opacity","Avatar","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}