@oxyhq/bloom 0.1.5 → 0.1.6

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 (44) hide show
  1. package/lib/commonjs/avatar/Avatar.js +11 -4
  2. package/lib/commonjs/avatar/Avatar.js.map +1 -1
  3. package/lib/module/avatar/Avatar.js +12 -5
  4. package/lib/module/avatar/Avatar.js.map +1 -1
  5. package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
  6. package/lib/typescript/commonjs/styles/tokens.d.ts +67 -0
  7. package/lib/typescript/commonjs/styles/tokens.d.ts.map +1 -0
  8. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +20 -0
  9. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -0
  10. package/lib/typescript/commonjs/theme/adaptive-colors.d.ts +3 -0
  11. package/lib/typescript/commonjs/theme/adaptive-colors.d.ts.map +1 -0
  12. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts +2 -0
  13. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts.map +1 -0
  14. package/lib/typescript/commonjs/theme/color-presets.d.ts +12 -0
  15. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -0
  16. package/lib/typescript/commonjs/theme/index.d.ts +9 -0
  17. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -0
  18. package/lib/typescript/commonjs/theme/set-color-scheme-safe.d.ts +9 -0
  19. package/lib/typescript/commonjs/theme/set-color-scheme-safe.d.ts.map +1 -0
  20. package/lib/typescript/commonjs/theme/types.d.ts +39 -0
  21. package/lib/typescript/commonjs/theme/types.d.ts.map +1 -0
  22. package/lib/typescript/commonjs/theme/use-theme.d.ts +5 -0
  23. package/lib/typescript/commonjs/theme/use-theme.d.ts.map +1 -0
  24. package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
  25. package/lib/typescript/module/styles/tokens.d.ts +67 -0
  26. package/lib/typescript/module/styles/tokens.d.ts.map +1 -0
  27. package/lib/typescript/module/theme/BloomThemeProvider.d.ts +20 -0
  28. package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -0
  29. package/lib/typescript/module/theme/adaptive-colors.d.ts +3 -0
  30. package/lib/typescript/module/theme/adaptive-colors.d.ts.map +1 -0
  31. package/lib/typescript/module/theme/apply-dark-class.d.ts +2 -0
  32. package/lib/typescript/module/theme/apply-dark-class.d.ts.map +1 -0
  33. package/lib/typescript/module/theme/color-presets.d.ts +12 -0
  34. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -0
  35. package/lib/typescript/module/theme/index.d.ts +9 -0
  36. package/lib/typescript/module/theme/index.d.ts.map +1 -0
  37. package/lib/typescript/module/theme/set-color-scheme-safe.d.ts +9 -0
  38. package/lib/typescript/module/theme/set-color-scheme-safe.d.ts.map +1 -0
  39. package/lib/typescript/module/theme/types.d.ts +39 -0
  40. package/lib/typescript/module/theme/types.d.ts.map +1 -0
  41. package/lib/typescript/module/theme/use-theme.d.ts +5 -0
  42. package/lib/typescript/module/theme/use-theme.d.ts.map +1 -0
  43. package/package.json +1 -1
  44. package/src/avatar/Avatar.tsx +12 -5
@@ -122,10 +122,17 @@ const AvatarComponent = ({
122
122
  const fallbackColor = theme.colors.backgroundTertiary;
123
123
 
124
124
  // Reset error state when source changes (e.g., list item recycling
125
- // or async URL resolution replacing an initial file ID)
126
- (0, _react.useEffect)(() => {
127
- setErrored(false);
128
- }, [source, uri]);
125
+ // or async URL resolution replacing an initial file ID).
126
+ // Pattern from https://react.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes
127
+ const prevSourceRef = (0, _react.useRef)(source);
128
+ const prevUriRef = (0, _react.useRef)(uri);
129
+ if (prevSourceRef.current !== source || prevUriRef.current !== uri) {
130
+ prevSourceRef.current = source;
131
+ prevUriRef.current = uri;
132
+ if (errored) {
133
+ setErrored(false);
134
+ }
135
+ }
129
136
 
130
137
  // Resolve source prop: string → uri, object → ImageSourcePropType
131
138
  const resolvedUri = (0, _react.useMemo)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","SquircleImage","uri","fallbackSource","size","fallbackColor","onError","svg","jsx","CircleFallback","Svg","Defs","ClipPath","Path","Image","SvgImage","clipId","useMemo","href","jsxs","Fragment","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","View","borderRadius","backgroundColor","AvatarComponent","verified","verifiedIcon","shape","imageStyle","onPress","testID","errored","setErrored","useState","theme","useTheme","colors","backgroundTertiary","useEffect","resolvedUri","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","StyleSheet","absoluteFillObject","verifiedBadge","TouchableOpacity","create","position","overflow","justifyContent","alignItems","bottom","right","zIndex","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","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","SquircleImage","uri","fallbackSource","size","fallbackColor","onError","svg","jsx","CircleFallback","Svg","Defs","ClipPath","Path","Image","SvgImage","clipId","useMemo","href","jsxs","Fragment","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","View","borderRadius","backgroundColor","AvatarComponent","verified","verifiedIcon","shape","imageStyle","onPress","testID","errored","setErrored","useState","theme","useTheme","colors","backgroundTertiary","prevSourceRef","useRef","prevUriRef","current","resolvedUri","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","StyleSheet","absoluteFillObject","verifiedBadge","TouchableOpacity","create","position","overflow","justifyContent","alignItems","bottom","right","zIndex","opacity","Avatar","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { memo, useEffect, useMemo, useState } from 'react';
3
+ import React, { memo, useMemo, useRef, useState } from 'react';
4
4
  import { View, Image, StyleSheet, TouchableOpacity } from 'react-native';
5
5
  import { useTheme } from "../theme/use-theme.js";
6
6
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
@@ -117,10 +117,17 @@ const AvatarComponent = ({
117
117
  const fallbackColor = theme.colors.backgroundTertiary;
118
118
 
119
119
  // Reset error state when source changes (e.g., list item recycling
120
- // or async URL resolution replacing an initial file ID)
121
- useEffect(() => {
122
- setErrored(false);
123
- }, [source, uri]);
120
+ // or async URL resolution replacing an initial file ID).
121
+ // Pattern from https://react.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes
122
+ const prevSourceRef = useRef(source);
123
+ const prevUriRef = useRef(uri);
124
+ if (prevSourceRef.current !== source || prevUriRef.current !== uri) {
125
+ prevSourceRef.current = source;
126
+ prevUriRef.current = uri;
127
+ if (errored) {
128
+ setErrored(false);
129
+ }
130
+ }
124
131
 
125
132
  // Resolve source prop: string → uri, object → ImageSourcePropType
126
133
  const resolvedUri = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useEffect","useMemo","useState","View","Image","StyleSheet","TouchableOpacity","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","require","SquircleImage","uri","fallbackSource","size","fallbackColor","onError","svg","CircleFallback","default","Svg","Defs","ClipPath","Path","SvgImage","clipId","href","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","borderRadius","backgroundColor","AvatarComponent","verified","verifiedIcon","shape","imageStyle","onPress","testID","errored","setErrored","theme","colors","backgroundTertiary","resolvedUri","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","absoluteFillObject","verifiedBadge","create","position","overflow","justifyContent","alignItems","bottom","right","zIndex","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","TouchableOpacity","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","require","SquircleImage","uri","fallbackSource","size","fallbackColor","onError","svg","CircleFallback","default","Svg","Defs","ClipPath","Path","SvgImage","clipId","href","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","borderRadius","backgroundColor","AvatarComponent","verified","verifiedIcon","shape","imageStyle","onPress","testID","errored","setErrored","theme","colors","backgroundTertiary","prevSourceRef","prevUriRef","current","resolvedUri","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","absoluteFillObject","verifiedBadge","create","position","overflow","justifyContent","alignItems","bottom","right","zIndex","opacity","Avatar","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyN3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAI/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgO3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Spacing tokens following t-shirt size convention.
3
+ * Compatible with ALF token naming.
4
+ */
5
+ export declare const space: {
6
+ readonly _2xs: 2;
7
+ readonly xs: 4;
8
+ readonly sm: 8;
9
+ readonly md: 12;
10
+ readonly lg: 16;
11
+ readonly xl: 20;
12
+ readonly _2xl: 24;
13
+ readonly _3xl: 32;
14
+ readonly _4xl: 40;
15
+ readonly _5xl: 60;
16
+ };
17
+ /**
18
+ * Font size tokens.
19
+ */
20
+ export declare const fontSize: {
21
+ readonly _2xs: 10;
22
+ readonly xs: 12;
23
+ readonly sm: 13;
24
+ readonly md: 15;
25
+ readonly lg: 17;
26
+ readonly xl: 20;
27
+ readonly _2xl: 22;
28
+ readonly _3xl: 26;
29
+ readonly _4xl: 32;
30
+ readonly _5xl: 40;
31
+ };
32
+ /**
33
+ * Line height multipliers.
34
+ */
35
+ export declare const lineHeight: {
36
+ readonly tight: 1.15;
37
+ readonly snug: 1.3;
38
+ readonly normal: 1.5;
39
+ readonly relaxed: 1.625;
40
+ };
41
+ /**
42
+ * Border radius tokens.
43
+ */
44
+ export declare const borderRadius: {
45
+ readonly _2xs: 2;
46
+ readonly xs: 4;
47
+ readonly sm: 8;
48
+ readonly md: 12;
49
+ readonly lg: 16;
50
+ readonly xl: 20;
51
+ readonly _2xl: 24;
52
+ readonly full: 999;
53
+ };
54
+ /**
55
+ * Gradient definitions for icon system.
56
+ */
57
+ export declare const gradients: {
58
+ readonly primary: {
59
+ readonly values: Array<[number, string]>;
60
+ readonly hover_value: "#1085FE";
61
+ };
62
+ readonly sky: {
63
+ readonly values: Array<[number, string]>;
64
+ readonly hover_value: "#0A7AFF";
65
+ };
66
+ };
67
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;yBAOb,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;;yBAOvB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAGtB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { type AppColorName } from './color-presets';
3
+ import type { Theme, ThemeMode } from './types';
4
+ export interface BloomThemeContextValue {
5
+ theme: Theme;
6
+ mode: ThemeMode;
7
+ colorPreset: AppColorName;
8
+ setMode: (mode: ThemeMode) => void;
9
+ setColorPreset: (preset: AppColorName) => void;
10
+ }
11
+ export declare const BloomThemeContext: React.Context<BloomThemeContextValue | null>;
12
+ export interface BloomThemeProviderProps {
13
+ mode?: ThemeMode;
14
+ colorPreset?: AppColorName;
15
+ onModeChange?: (mode: ThemeMode) => void;
16
+ onColorPresetChange?: (preset: AppColorName) => void;
17
+ children: React.ReactNode;
18
+ }
19
+ export declare function BloomThemeProvider({ mode: controlledMode, colorPreset: controlledPreset, onModeChange, onColorPresetChange, children, }: BloomThemeProviderProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=BloomThemeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BloomThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/theme/BloomThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIvE,OAAO,KAAK,EAAE,KAAK,EAAe,SAAS,EAAE,MAAM,SAAS,CAAC;AAmB7D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,8CAAqD,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACrD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EACZ,mBAAmB,EACnB,QAAQ,GACT,EAAE,uBAAuB,2CA8GzB"}
@@ -0,0 +1,3 @@
1
+ import type { ThemeColors } from './types';
2
+ export declare function getAdaptiveColors(): ThemeColors | null;
3
+ //# sourceMappingURL=adaptive-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoF3C,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAItD"}
@@ -0,0 +1,2 @@
1
+ export declare function applyDarkClass(resolved: 'light' | 'dark'): void;
2
+ //# sourceMappingURL=apply-dark-class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-dark-class.d.ts","sourceRoot":"","sources":["../../../../src/theme/apply-dark-class.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,QAIxD"}
@@ -0,0 +1,12 @@
1
+ export type AppColorName = 'teal' | 'blue' | 'green' | 'amber' | 'red' | 'purple' | 'pink' | 'sky' | 'orange' | 'mint';
2
+ export interface AppColorPreset {
3
+ name: AppColorName;
4
+ hex: string;
5
+ light: Record<string, string>;
6
+ dark: Record<string, string>;
7
+ }
8
+ export declare const APP_COLOR_NAMES: AppColorName[];
9
+ export declare const HEX_TO_APP_COLOR: Record<string, AppColorName>;
10
+ export declare function hexToAppColorName(hex: string): AppColorName;
11
+ export declare const APP_COLOR_PRESETS: Record<AppColorName, AppColorPreset>;
12
+ //# sourceMappingURL=color-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-presets.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-presets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,EAAyF,CAAC;AAEpI,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAWzD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE3D;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,CAsdlE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { BloomThemeProvider } from './BloomThemeProvider';
2
+ export type { BloomThemeProviderProps, BloomThemeContextValue } from './BloomThemeProvider';
3
+ export { useTheme, useThemeColor, useBloomTheme } from './use-theme';
4
+ export type { Theme, ThemeColors, ThemeMode } from './types';
5
+ export type { AppColorName, AppColorPreset } from './color-presets';
6
+ export { APP_COLOR_NAMES, APP_COLOR_PRESETS, HEX_TO_APP_COLOR, hexToAppColorName } from './color-presets';
7
+ export { applyDarkClass } from './apply-dark-class';
8
+ export { setColorSchemeSafe } from './set-color-scheme-safe';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ThemeMode } from './types';
2
+ /**
3
+ * Safely set the color scheme via Appearance API.
4
+ * On Android (RN 0.83+), Appearance.setColorScheme has a Kotlin non-null
5
+ * annotation on `style`. Passing null for 'system' crashes.
6
+ * Workaround: resolve the system preference and pass 'light'/'dark' instead.
7
+ */
8
+ export declare function setColorSchemeSafe(mode: ThemeMode): void;
9
+ //# sourceMappingURL=set-color-scheme-safe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-color-scheme-safe.d.ts","sourceRoot":"","sources":["../../../../src/theme/set-color-scheme-safe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,QAQjD"}
@@ -0,0 +1,39 @@
1
+ export type ThemeMode = 'light' | 'dark' | 'system' | 'adaptive';
2
+ export interface ThemeColors {
3
+ background: string;
4
+ backgroundSecondary: string;
5
+ backgroundTertiary: string;
6
+ text: string;
7
+ textSecondary: string;
8
+ textTertiary: string;
9
+ border: string;
10
+ borderLight: string;
11
+ primary: string;
12
+ primaryLight: string;
13
+ primaryDark: string;
14
+ secondary: string;
15
+ tint: string;
16
+ icon: string;
17
+ iconActive: string;
18
+ success: string;
19
+ error: string;
20
+ warning: string;
21
+ info: string;
22
+ primarySubtle: string;
23
+ primarySubtleForeground: string;
24
+ negative: string;
25
+ negativeForeground: string;
26
+ negativeSubtle: string;
27
+ negativeSubtleForeground: string;
28
+ contrast50: string;
29
+ card: string;
30
+ shadow: string;
31
+ overlay: string;
32
+ }
33
+ export interface Theme {
34
+ mode: 'light' | 'dark';
35
+ colors: ThemeColors;
36
+ isDark: boolean;
37
+ isLight: boolean;
38
+ }
39
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/theme/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAE3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IAEnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,5 @@
1
+ import type { Theme, ThemeColors } from './types';
2
+ export declare function useTheme(): Theme;
3
+ export declare function useThemeColor(colorKey: keyof ThemeColors): string;
4
+ export declare function useBloomTheme(): import("./BloomThemeProvider").BloomThemeContextValue;
5
+ //# sourceMappingURL=use-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/use-theme.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,QAAQ,IAAI,KAAK,CAMhC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,WAAW,GAAG,MAAM,CAGjE;AAED,wBAAgB,aAAa,0DAM5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyN3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAI/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgO3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Spacing tokens following t-shirt size convention.
3
+ * Compatible with ALF token naming.
4
+ */
5
+ export declare const space: {
6
+ readonly _2xs: 2;
7
+ readonly xs: 4;
8
+ readonly sm: 8;
9
+ readonly md: 12;
10
+ readonly lg: 16;
11
+ readonly xl: 20;
12
+ readonly _2xl: 24;
13
+ readonly _3xl: 32;
14
+ readonly _4xl: 40;
15
+ readonly _5xl: 60;
16
+ };
17
+ /**
18
+ * Font size tokens.
19
+ */
20
+ export declare const fontSize: {
21
+ readonly _2xs: 10;
22
+ readonly xs: 12;
23
+ readonly sm: 13;
24
+ readonly md: 15;
25
+ readonly lg: 17;
26
+ readonly xl: 20;
27
+ readonly _2xl: 22;
28
+ readonly _3xl: 26;
29
+ readonly _4xl: 32;
30
+ readonly _5xl: 40;
31
+ };
32
+ /**
33
+ * Line height multipliers.
34
+ */
35
+ export declare const lineHeight: {
36
+ readonly tight: 1.15;
37
+ readonly snug: 1.3;
38
+ readonly normal: 1.5;
39
+ readonly relaxed: 1.625;
40
+ };
41
+ /**
42
+ * Border radius tokens.
43
+ */
44
+ export declare const borderRadius: {
45
+ readonly _2xs: 2;
46
+ readonly xs: 4;
47
+ readonly sm: 8;
48
+ readonly md: 12;
49
+ readonly lg: 16;
50
+ readonly xl: 20;
51
+ readonly _2xl: 24;
52
+ readonly full: 999;
53
+ };
54
+ /**
55
+ * Gradient definitions for icon system.
56
+ */
57
+ export declare const gradients: {
58
+ readonly primary: {
59
+ readonly values: Array<[number, string]>;
60
+ readonly hover_value: "#1085FE";
61
+ };
62
+ readonly sky: {
63
+ readonly values: Array<[number, string]>;
64
+ readonly hover_value: "#0A7AFF";
65
+ };
66
+ };
67
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;yBAOb,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;;yBAOvB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAGtB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { type AppColorName } from './color-presets';
3
+ import type { Theme, ThemeMode } from './types';
4
+ export interface BloomThemeContextValue {
5
+ theme: Theme;
6
+ mode: ThemeMode;
7
+ colorPreset: AppColorName;
8
+ setMode: (mode: ThemeMode) => void;
9
+ setColorPreset: (preset: AppColorName) => void;
10
+ }
11
+ export declare const BloomThemeContext: React.Context<BloomThemeContextValue | null>;
12
+ export interface BloomThemeProviderProps {
13
+ mode?: ThemeMode;
14
+ colorPreset?: AppColorName;
15
+ onModeChange?: (mode: ThemeMode) => void;
16
+ onColorPresetChange?: (preset: AppColorName) => void;
17
+ children: React.ReactNode;
18
+ }
19
+ export declare function BloomThemeProvider({ mode: controlledMode, colorPreset: controlledPreset, onModeChange, onColorPresetChange, children, }: BloomThemeProviderProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=BloomThemeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BloomThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/theme/BloomThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIvE,OAAO,KAAK,EAAE,KAAK,EAAe,SAAS,EAAE,MAAM,SAAS,CAAC;AAmB7D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,8CAAqD,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACrD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EACZ,mBAAmB,EACnB,QAAQ,GACT,EAAE,uBAAuB,2CA8GzB"}
@@ -0,0 +1,3 @@
1
+ import type { ThemeColors } from './types';
2
+ export declare function getAdaptiveColors(): ThemeColors | null;
3
+ //# sourceMappingURL=adaptive-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoF3C,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAItD"}
@@ -0,0 +1,2 @@
1
+ export declare function applyDarkClass(resolved: 'light' | 'dark'): void;
2
+ //# sourceMappingURL=apply-dark-class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-dark-class.d.ts","sourceRoot":"","sources":["../../../../src/theme/apply-dark-class.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,QAIxD"}
@@ -0,0 +1,12 @@
1
+ export type AppColorName = 'teal' | 'blue' | 'green' | 'amber' | 'red' | 'purple' | 'pink' | 'sky' | 'orange' | 'mint';
2
+ export interface AppColorPreset {
3
+ name: AppColorName;
4
+ hex: string;
5
+ light: Record<string, string>;
6
+ dark: Record<string, string>;
7
+ }
8
+ export declare const APP_COLOR_NAMES: AppColorName[];
9
+ export declare const HEX_TO_APP_COLOR: Record<string, AppColorName>;
10
+ export declare function hexToAppColorName(hex: string): AppColorName;
11
+ export declare const APP_COLOR_PRESETS: Record<AppColorName, AppColorPreset>;
12
+ //# sourceMappingURL=color-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-presets.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-presets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,EAAyF,CAAC;AAEpI,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAWzD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE3D;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,CAsdlE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { BloomThemeProvider } from './BloomThemeProvider';
2
+ export type { BloomThemeProviderProps, BloomThemeContextValue } from './BloomThemeProvider';
3
+ export { useTheme, useThemeColor, useBloomTheme } from './use-theme';
4
+ export type { Theme, ThemeColors, ThemeMode } from './types';
5
+ export type { AppColorName, AppColorPreset } from './color-presets';
6
+ export { APP_COLOR_NAMES, APP_COLOR_PRESETS, HEX_TO_APP_COLOR, hexToAppColorName } from './color-presets';
7
+ export { applyDarkClass } from './apply-dark-class';
8
+ export { setColorSchemeSafe } from './set-color-scheme-safe';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ThemeMode } from './types';
2
+ /**
3
+ * Safely set the color scheme via Appearance API.
4
+ * On Android (RN 0.83+), Appearance.setColorScheme has a Kotlin non-null
5
+ * annotation on `style`. Passing null for 'system' crashes.
6
+ * Workaround: resolve the system preference and pass 'light'/'dark' instead.
7
+ */
8
+ export declare function setColorSchemeSafe(mode: ThemeMode): void;
9
+ //# sourceMappingURL=set-color-scheme-safe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-color-scheme-safe.d.ts","sourceRoot":"","sources":["../../../../src/theme/set-color-scheme-safe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,QAQjD"}
@@ -0,0 +1,39 @@
1
+ export type ThemeMode = 'light' | 'dark' | 'system' | 'adaptive';
2
+ export interface ThemeColors {
3
+ background: string;
4
+ backgroundSecondary: string;
5
+ backgroundTertiary: string;
6
+ text: string;
7
+ textSecondary: string;
8
+ textTertiary: string;
9
+ border: string;
10
+ borderLight: string;
11
+ primary: string;
12
+ primaryLight: string;
13
+ primaryDark: string;
14
+ secondary: string;
15
+ tint: string;
16
+ icon: string;
17
+ iconActive: string;
18
+ success: string;
19
+ error: string;
20
+ warning: string;
21
+ info: string;
22
+ primarySubtle: string;
23
+ primarySubtleForeground: string;
24
+ negative: string;
25
+ negativeForeground: string;
26
+ negativeSubtle: string;
27
+ negativeSubtleForeground: string;
28
+ contrast50: string;
29
+ card: string;
30
+ shadow: string;
31
+ overlay: string;
32
+ }
33
+ export interface Theme {
34
+ mode: 'light' | 'dark';
35
+ colors: ThemeColors;
36
+ isDark: boolean;
37
+ isLight: boolean;
38
+ }
39
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/theme/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAE3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IAEnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,5 @@
1
+ import type { Theme, ThemeColors } from './types';
2
+ export declare function useTheme(): Theme;
3
+ export declare function useThemeColor(colorKey: keyof ThemeColors): string;
4
+ export declare function useBloomTheme(): import("./BloomThemeProvider").BloomThemeContextValue;
5
+ //# sourceMappingURL=use-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/use-theme.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,QAAQ,IAAI,KAAK,CAMhC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,WAAW,GAAG,MAAM,CAGjE;AAED,wBAAgB,aAAa,0DAM5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -1,4 +1,4 @@
1
- import React, { memo, useEffect, useMemo, useState } from 'react';
1
+ import React, { memo, useMemo, useRef, useState } from 'react';
2
2
  import { View, Image, StyleSheet, TouchableOpacity } from 'react-native';
3
3
 
4
4
  import { useTheme } from '../theme/use-theme';
@@ -119,10 +119,17 @@ const AvatarComponent: React.FC<AvatarProps> = ({
119
119
  const fallbackColor = theme.colors.backgroundTertiary;
120
120
 
121
121
  // Reset error state when source changes (e.g., list item recycling
122
- // or async URL resolution replacing an initial file ID)
123
- useEffect(() => {
124
- setErrored(false);
125
- }, [source, uri]);
122
+ // or async URL resolution replacing an initial file ID).
123
+ // Pattern from https://react.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes
124
+ const prevSourceRef = useRef(source);
125
+ const prevUriRef = useRef(uri);
126
+ if (prevSourceRef.current !== source || prevUriRef.current !== uri) {
127
+ prevSourceRef.current = source;
128
+ prevUriRef.current = uri;
129
+ if (errored) {
130
+ setErrored(false);
131
+ }
132
+ }
126
133
 
127
134
  // Resolve source prop: string → uri, object → ImageSourcePropType
128
135
  const resolvedUri = useMemo(() => {