@oxyhq/bloom 0.1.12 → 0.1.13

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.
@@ -68,42 +68,23 @@ const SpinnerLoading = ({
68
68
  })]
69
69
  });
70
70
  };
71
- const TopLoading = ({
72
- size = 'medium',
73
- color,
74
- style,
75
- showLoading = true,
76
- iconSize,
77
- heightOffset = 0,
71
+
72
+ /**
73
+ * Inner component for TopLoading that requires react-native-reanimated.
74
+ * Extracted to a dedicated component so all hooks are called unconditionally,
75
+ * satisfying the Rules of Hooks and React Compiler requirements.
76
+ */
77
+
78
+ const AnimatedTopLoading = ({
79
+ showLoading,
80
+ targetHeight,
81
+ effectiveIconSize,
82
+ spinnerColor,
78
83
  spinnerIcon,
79
- testID
84
+ style,
85
+ testID,
86
+ reanimated
80
87
  }) => {
81
- const theme = useTheme();
82
- const sizeConfig = SIZE_CONFIG[size];
83
- const effectiveIconSize = iconSize ?? sizeConfig.spinner;
84
- const targetHeight = Math.max(0, effectiveIconSize + sizeConfig.spinner + heightOffset);
85
- const spinnerColor = color ?? theme.colors.primary;
86
- const reanimated = getReanimated();
87
-
88
- // Non-animated fallback when reanimated is not available
89
- if (!reanimated) {
90
- if (!showLoading) return null;
91
- return /*#__PURE__*/_jsx(View, {
92
- style: [styles.topContainer, {
93
- height: targetHeight
94
- }, style],
95
- testID: testID,
96
- children: /*#__PURE__*/_jsx(View, {
97
- style: [styles.topLoadingView, {
98
- height: targetHeight
99
- }],
100
- children: spinnerIcon ?? /*#__PURE__*/_jsx(SpinnerIcon, {
101
- size: effectiveIconSize,
102
- color: spinnerColor
103
- })
104
- })
105
- });
106
- }
107
88
  const {
108
89
  default: Animated,
109
90
  useAnimatedStyle,
@@ -111,31 +92,24 @@ const TopLoading = ({
111
92
  withTiming,
112
93
  Easing
113
94
  } = reanimated;
114
-
115
- // eslint-disable-next-line react-hooks/rules-of-hooks
116
95
  const height = useSharedValue(showLoading ? targetHeight : 0);
117
- // eslint-disable-next-line react-hooks/rules-of-hooks
118
96
  const opacity = useSharedValue(showLoading ? 1 : 0);
119
- // eslint-disable-next-line react-hooks/rules-of-hooks
120
97
  const translateY = useSharedValue(showLoading ? 0 : -targetHeight);
121
- const timingConfig = {
122
- duration: animation.duration.slow,
123
- easing: Easing.out(Easing.cubic)
124
- };
125
-
126
- // eslint-disable-next-line react-hooks/rules-of-hooks
127
98
  useEffect(() => {
99
+ const timingConfig = {
100
+ duration: animation.duration.slow,
101
+ easing: Easing.out(Easing.cubic)
102
+ };
128
103
  height.value = withTiming(showLoading ? targetHeight : 0, timingConfig);
129
104
  opacity.value = withTiming(showLoading ? 1 : 0, timingConfig);
130
105
  translateY.value = withTiming(showLoading ? 0 : -targetHeight, timingConfig);
131
- }, [showLoading, targetHeight, height, opacity, translateY]);
132
-
133
- // eslint-disable-next-line react-hooks/rules-of-hooks
106
+ // Easing, withTiming: module-level constants from lazily-resolved reanimated, stable.
107
+ // height/opacity/translateY: shared value objects, stable references.
108
+ // eslint-disable-next-line react-hooks/exhaustive-deps
109
+ }, [showLoading, targetHeight]);
134
110
  const containerAnimated = useAnimatedStyle(() => ({
135
111
  height: height.value
136
112
  }));
137
-
138
- // eslint-disable-next-line react-hooks/rules-of-hooks
139
113
  const innerAnimated = useAnimatedStyle(() => ({
140
114
  opacity: opacity.value,
141
115
  transform: [{
@@ -156,6 +130,52 @@ const TopLoading = ({
156
130
  })
157
131
  });
158
132
  };
133
+ const TopLoading = ({
134
+ size = 'medium',
135
+ color,
136
+ style,
137
+ showLoading = true,
138
+ iconSize,
139
+ heightOffset = 0,
140
+ spinnerIcon,
141
+ testID
142
+ }) => {
143
+ const theme = useTheme();
144
+ const sizeConfig = SIZE_CONFIG[size];
145
+ const effectiveIconSize = iconSize ?? sizeConfig.spinner;
146
+ const targetHeight = Math.max(0, effectiveIconSize + sizeConfig.spinner + heightOffset);
147
+ const spinnerColor = color ?? theme.colors.primary;
148
+ const reanimated = getReanimated();
149
+ if (!reanimated) {
150
+ // Non-animated fallback when reanimated is not available
151
+ if (!showLoading) return null;
152
+ return /*#__PURE__*/_jsx(View, {
153
+ style: [styles.topContainer, {
154
+ height: targetHeight
155
+ }, style],
156
+ testID: testID,
157
+ children: /*#__PURE__*/_jsx(View, {
158
+ style: [styles.topLoadingView, {
159
+ height: targetHeight
160
+ }],
161
+ children: spinnerIcon ?? /*#__PURE__*/_jsx(SpinnerIcon, {
162
+ size: effectiveIconSize,
163
+ color: spinnerColor
164
+ })
165
+ })
166
+ });
167
+ }
168
+ return /*#__PURE__*/_jsx(AnimatedTopLoading, {
169
+ showLoading: showLoading,
170
+ targetHeight: targetHeight,
171
+ effectiveIconSize: effectiveIconSize,
172
+ spinnerColor: spinnerColor,
173
+ spinnerIcon: spinnerIcon,
174
+ style: style,
175
+ testID: testID,
176
+ reanimated: reanimated
177
+ });
178
+ };
159
179
  const SkeletonLoading = ({
160
180
  lines = 3,
161
181
  width = '100%',
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useEffect","useMemo","View","Text","StyleSheet","useTheme","animation","SpinnerIcon","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","spinner","text","medium","large","reanimatedModule","reanimatedResolved","getReanimated","require","SpinnerLoading","size","color","textStyle","style","showText","iconSize","spinnerIcon","testID","theme","sizeConfig","effectiveIconSize","spinnerColor","colors","primary","textColor","textSecondary","styles","container","children","fontSize","marginTop","TopLoading","showLoading","heightOffset","targetHeight","Math","max","reanimated","topContainer","height","topLoadingView","default","Animated","useAnimatedStyle","useSharedValue","withTiming","Easing","opacity","translateY","timingConfig","duration","slow","easing","out","cubic","value","containerAnimated","innerAnimated","transform","SkeletonLoading","lines","width","lineHeight","skeletonColor","backgroundSecondary","skeletonLines","Array","from","length","_","index","skeletonLine","backgroundColor","marginBottom","skeletonContainer","InlineLoading","inlineContainer","marginLeft","LoadingComponent","props","variant","Loading","displayName","create","flex","alignItems","justifyContent","textAlign","position","overflow","top","left","borderRadius","flexDirection"],"sourceRoot":"../../../src","sources":["loading/Loading.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useEffect","useMemo","View","Text","StyleSheet","useTheme","animation","SpinnerIcon","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","spinner","text","medium","large","reanimatedModule","reanimatedResolved","getReanimated","require","SpinnerLoading","size","color","textStyle","style","showText","iconSize","spinnerIcon","testID","theme","sizeConfig","effectiveIconSize","spinnerColor","colors","primary","textColor","textSecondary","styles","container","children","fontSize","marginTop","AnimatedTopLoading","showLoading","targetHeight","reanimated","default","Animated","useAnimatedStyle","useSharedValue","withTiming","Easing","height","opacity","translateY","timingConfig","duration","slow","easing","out","cubic","value","containerAnimated","innerAnimated","transform","topContainer","topLoadingView","TopLoading","heightOffset","Math","max","SkeletonLoading","lines","width","lineHeight","skeletonColor","backgroundSecondary","skeletonLines","Array","from","length","_","index","skeletonLine","backgroundColor","marginBottom","skeletonContainer","InlineLoading","inlineContainer","marginLeft","LoadingComponent","props","variant","Loading","displayName","create","flex","alignItems","justifyContent","textAlign","position","overflow","top","left","borderRadius","flexDirection"],"sourceRoot":"../../../src","sources":["loading/Loading.tsx"],"mappings":"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","ignoreList":[]}
@@ -33,23 +33,16 @@ function getReanimated() {
33
33
  return reanimatedModule;
34
34
  }
35
35
  /**
36
- * iOS-style SVG spinner with 8 rotating rectangles and an opacity gradient trail.
37
- * Requires react-native-svg and react-native-reanimated as peer dependencies.
38
- * Falls back to ActivityIndicator if either is missing.
36
+ * Inner component that unconditionally calls Reanimated hooks.
37
+ * Only rendered when both react-native-svg and react-native-reanimated are available.
39
38
  */
40
- export const SpinnerIcon = ({
39
+ const AnimatedSpinner = ({
41
40
  color = '#005c67',
42
41
  size = 26,
43
- style
42
+ style,
43
+ svg,
44
+ reanimated
44
45
  }) => {
45
- const svg = getSvgModule();
46
- const reanimated = getReanimated();
47
- if (!svg || !reanimated) {
48
- return /*#__PURE__*/_jsx(ActivityIndicator, {
49
- size: size > 30 ? 'large' : 'small',
50
- color: color
51
- });
52
- }
53
46
  const {
54
47
  default: Svg,
55
48
  Rect
@@ -62,19 +55,16 @@ export const SpinnerIcon = ({
62
55
  withTiming,
63
56
  Easing
64
57
  } = reanimated;
65
-
66
- // eslint-disable-next-line react-hooks/rules-of-hooks
67
58
  const rotation = useSharedValue(0);
68
-
69
- // eslint-disable-next-line react-hooks/rules-of-hooks
70
59
  useEffect(() => {
71
60
  rotation.value = withRepeat(withTiming(360, {
72
61
  duration: 400,
73
62
  easing: Easing.linear
74
63
  }), -1, false);
75
- }, [rotation, withRepeat, withTiming, Easing]);
76
-
77
- // eslint-disable-next-line react-hooks/rules-of-hooks
64
+ // Reanimated shared values are stable references; withRepeat/withTiming/Easing
65
+ // are module-level functions from the lazily-loaded module and are stable too.
66
+ // eslint-disable-next-line react-hooks/exhaustive-deps
67
+ }, []);
78
68
  const animatedStyle = useAnimatedStyle(() => ({
79
69
  transform: [{
80
70
  rotate: `${rotation.value}deg`
@@ -175,5 +165,32 @@ export const SpinnerIcon = ({
175
165
  })
176
166
  });
177
167
  };
168
+
169
+ /**
170
+ * iOS-style SVG spinner with 8 rotating rectangles and an opacity gradient trail.
171
+ * Requires react-native-svg and react-native-reanimated as peer dependencies.
172
+ * Falls back to ActivityIndicator if either is missing.
173
+ */
174
+ export const SpinnerIcon = ({
175
+ color = '#005c67',
176
+ size = 26,
177
+ style
178
+ }) => {
179
+ const svg = getSvgModule();
180
+ const reanimated = getReanimated();
181
+ if (!svg || !reanimated) {
182
+ return /*#__PURE__*/_jsx(ActivityIndicator, {
183
+ size: size > 30 ? 'large' : 'small',
184
+ color: color
185
+ });
186
+ }
187
+ return /*#__PURE__*/_jsx(AnimatedSpinner, {
188
+ color: color,
189
+ size: size,
190
+ style: style,
191
+ svg: svg,
192
+ reanimated: reanimated
193
+ });
194
+ };
178
195
  SpinnerIcon.displayName = 'SpinnerIcon';
179
196
  //# sourceMappingURL=SpinnerIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","ActivityIndicator","jsx","_jsx","jsxs","_jsxs","svgModule","svgModuleResolved","reanimatedModule","reanimatedResolved","getSvgModule","require","getReanimated","SpinnerIcon","color","size","style","svg","reanimated","default","Svg","Rect","Animated","useAnimatedStyle","useSharedValue","withRepeat","withTiming","Easing","rotation","value","duration","easing","linear","animatedStyle","transform","rotate","View","width","height","alignItems","justifyContent","children","viewBox","fill","opacity","rx","ry","x","y","displayName"],"sourceRoot":"../../../src","sources":["loading/SpinnerIcon.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","ActivityIndicator","jsx","_jsx","jsxs","_jsxs","svgModule","svgModuleResolved","reanimatedModule","reanimatedResolved","getSvgModule","require","getReanimated","AnimatedSpinner","color","size","style","svg","reanimated","default","Svg","Rect","Animated","useAnimatedStyle","useSharedValue","withRepeat","withTiming","Easing","rotation","value","duration","easing","linear","animatedStyle","transform","rotate","View","width","height","alignItems","justifyContent","children","viewBox","fill","opacity","rx","ry","x","y","SpinnerIcon","displayName"],"sourceRoot":"../../../src","sources":["loading/SpinnerIcon.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAiCtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,yFA2Sf,CAAC;AAuFH,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAiCtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,yFAqTf,CAAC;AAuFH,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAmNjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
1
+ {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAuPjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCvE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgElD,CAAC"}
1
+ {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCjE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAwED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqBlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAiCtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,yFA2Sf,CAAC;AAuFH,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAiCtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,yFAqTf,CAAC;AAuFH,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAmNjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
1
+ {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAuPjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCvE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgElD,CAAC"}
1
+ {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCjE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAwED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqBlD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
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",
@@ -104,13 +104,13 @@ const BottomSheet = forwardRef((props: BottomSheetProps, ref: React.ForwardedRef
104
104
  }, []);
105
105
 
106
106
  // Dismiss callbacks
107
- const safeClose = () => {
107
+ const safeClose = useCallback(() => {
108
108
  if (onDismissAttempt?.()) {
109
109
  onDismiss?.();
110
110
  } else if (!onDismissAttempt) {
111
111
  onDismiss?.();
112
112
  }
113
- };
113
+ }, [onDismissAttempt, onDismiss]);
114
114
 
115
115
  const finishClose = useCallback(() => {
116
116
  if (hasClosedRef.current) return;
@@ -185,66 +185,76 @@ const BottomSheet = forwardRef((props: BottomSheetProps, ref: React.ForwardedRef
185
185
 
186
186
  const nativeGesture = useMemo(() => Gesture.Native(), []);
187
187
 
188
- const panGesture = Gesture.Pan()
189
- .enabled(enablePanDownToClose)
190
- .simultaneousWithExternalGesture(nativeGesture)
191
- .onStart(() => {
192
- 'worklet';
193
- context.value = { y: translateY.value };
194
- allowPanClose.value = scrollOffsetY.value <= 8;
195
- })
196
- .onUpdate((event) => {
197
- 'worklet';
198
- if (!allowPanClose.value) {
199
- return;
200
- }
201
- const newTranslateY = context.value.y + event.translationY;
202
- // If user is scrolling down while content isn't at (or near) the top, let ScrollView handle it
203
- const atTopOrNearTop = scrollOffsetY.value <= 8; // slightly larger tolerance for smoother handoff
204
- if (event.translationY > 0 && !atTopOrNearTop) {
205
- return;
206
- }
207
- if (newTranslateY >= 0) {
208
- translateY.value = newTranslateY;
209
- } else if (detached) {
210
- // Only allow overdrag (pulling up beyond top) when detached
211
- translateY.value = newTranslateY * 0.3;
212
- } else {
213
- // In normal mode, prevent overdrag - clamp to 0
214
- translateY.value = 0;
215
- }
216
- })
217
- .onEnd((event) => {
218
- 'worklet';
219
- if (!allowPanClose.value) {
220
- return;
221
- }
222
- const velocity = event.velocityY;
223
- const distance = translateY.value;
224
- // Require a deeper pull to close (more like native bottom sheets)
225
- const closeThreshold = Math.max(140, SCREEN_HEIGHT * 0.25);
226
- const fastSwipeThreshold = 900;
227
- const shouldClose =
228
- velocity > fastSwipeThreshold ||
229
- (distance > closeThreshold && velocity > -300);
230
-
231
- if (shouldClose) {
232
- translateY.value = withSpring(SCREEN_HEIGHT, {
233
- ...SPRING_CONFIG,
234
- velocity: velocity,
235
- });
236
- opacity.value = withTiming(0, { duration: 250 }, (finished) => {
237
- if (finished) {
238
- runOnJS(finishClose)();
188
+ // Memoized pan gesture — recreating a Gesture.Pan() on every render causes
189
+ // gesture detach/reattach during animations and breaks React Compiler memoization.
190
+ const panGesture = useMemo(
191
+ () =>
192
+ Gesture.Pan()
193
+ .enabled(enablePanDownToClose)
194
+ .simultaneousWithExternalGesture(nativeGesture)
195
+ .onStart(() => {
196
+ 'worklet';
197
+ context.value = { y: translateY.value };
198
+ allowPanClose.value = scrollOffsetY.value <= 8;
199
+ })
200
+ .onUpdate((event) => {
201
+ 'worklet';
202
+ if (!allowPanClose.value) {
203
+ return;
239
204
  }
240
- });
241
- } else {
242
- translateY.value = withSpring(0, {
243
- ...SPRING_CONFIG,
244
- velocity: velocity,
245
- });
246
- }
247
- });
205
+ const newTranslateY = context.value.y + event.translationY;
206
+ // If user is scrolling down while content isn't at (or near) the top, let ScrollView handle it
207
+ const atTopOrNearTop = scrollOffsetY.value <= 8; // slightly larger tolerance for smoother handoff
208
+ if (event.translationY > 0 && !atTopOrNearTop) {
209
+ return;
210
+ }
211
+ if (newTranslateY >= 0) {
212
+ translateY.value = newTranslateY;
213
+ } else if (detached) {
214
+ // Only allow overdrag (pulling up beyond top) when detached
215
+ translateY.value = newTranslateY * 0.3;
216
+ } else {
217
+ // In normal mode, prevent overdrag - clamp to 0
218
+ translateY.value = 0;
219
+ }
220
+ })
221
+ .onEnd((event) => {
222
+ 'worklet';
223
+ if (!allowPanClose.value) {
224
+ return;
225
+ }
226
+ const velocity = event.velocityY;
227
+ const distance = translateY.value;
228
+ // Require a deeper pull to close (more like native bottom sheets)
229
+ const closeThreshold = Math.max(140, SCREEN_HEIGHT * 0.25);
230
+ const fastSwipeThreshold = 900;
231
+ const shouldClose =
232
+ velocity > fastSwipeThreshold ||
233
+ (distance > closeThreshold && velocity > -300);
234
+
235
+ if (shouldClose) {
236
+ translateY.value = withSpring(SCREEN_HEIGHT, {
237
+ ...SPRING_CONFIG,
238
+ velocity: velocity,
239
+ });
240
+ opacity.value = withTiming(0, { duration: 250 }, (finished) => {
241
+ if (finished) {
242
+ runOnJS(finishClose)();
243
+ }
244
+ });
245
+ } else {
246
+ translateY.value = withSpring(0, {
247
+ ...SPRING_CONFIG,
248
+ velocity: velocity,
249
+ });
250
+ }
251
+ }),
252
+ // Shared values are stable refs; enablePanDownToClose and detached are the only
253
+ // JS-side values that change the gesture's behavior.
254
+ // finishClose is stable (useCallback with stable deps).
255
+ // eslint-disable-next-line react-hooks/exhaustive-deps
256
+ [enablePanDownToClose, detached, nativeGesture, finishClose],
257
+ );
248
258
 
249
259
  const backdropStyle = useAnimatedStyle(() => ({
250
260
  opacity: opacity.value,
@@ -309,7 +319,7 @@ const BottomSheet = forwardRef((props: BottomSheetProps, ref: React.ForwardedRef
309
319
  // The sheet extends behind safe area, and screens add padding as needed
310
320
  },
311
321
  });
312
- }, [colors.background, detached, insets.bottom]);
322
+ }, [colors.background, detached]);
313
323
 
314
324
  if (!rendered) return null;
315
325
 
@@ -70,6 +70,66 @@ const SpinnerLoading: React.FC<SpinnerLoadingProps> = ({
70
70
  );
71
71
  };
72
72
 
73
+ /**
74
+ * Inner component for TopLoading that requires react-native-reanimated.
75
+ * Extracted to a dedicated component so all hooks are called unconditionally,
76
+ * satisfying the Rules of Hooks and React Compiler requirements.
77
+ */
78
+ type AnimatedTopLoadingProps = {
79
+ showLoading: boolean;
80
+ targetHeight: number;
81
+ effectiveIconSize: number;
82
+ spinnerColor: string;
83
+ spinnerIcon: React.ReactNode | undefined;
84
+ style: TopLoadingProps['style'];
85
+ testID: string | undefined;
86
+ reanimated: NonNullable<ReturnType<typeof getReanimated>>;
87
+ };
88
+
89
+ const AnimatedTopLoading: React.FC<AnimatedTopLoadingProps> = ({
90
+ showLoading,
91
+ targetHeight,
92
+ effectiveIconSize,
93
+ spinnerColor,
94
+ spinnerIcon,
95
+ style,
96
+ testID,
97
+ reanimated,
98
+ }) => {
99
+ const { default: Animated, useAnimatedStyle, useSharedValue, withTiming, Easing } = reanimated;
100
+
101
+ const height = useSharedValue(showLoading ? targetHeight : 0);
102
+ const opacity = useSharedValue(showLoading ? 1 : 0);
103
+ const translateY = useSharedValue(showLoading ? 0 : -targetHeight);
104
+
105
+ useEffect(() => {
106
+ const timingConfig = { duration: animation.duration.slow, easing: Easing.out(Easing.cubic) };
107
+ height.value = withTiming(showLoading ? targetHeight : 0, timingConfig);
108
+ opacity.value = withTiming(showLoading ? 1 : 0, timingConfig);
109
+ translateY.value = withTiming(showLoading ? 0 : -targetHeight, timingConfig);
110
+ // Easing, withTiming: module-level constants from lazily-resolved reanimated, stable.
111
+ // height/opacity/translateY: shared value objects, stable references.
112
+ // eslint-disable-next-line react-hooks/exhaustive-deps
113
+ }, [showLoading, targetHeight]);
114
+
115
+ const containerAnimated = useAnimatedStyle(() => ({
116
+ height: height.value,
117
+ }));
118
+
119
+ const innerAnimated = useAnimatedStyle(() => ({
120
+ opacity: opacity.value,
121
+ transform: [{ translateY: translateY.value }],
122
+ }));
123
+
124
+ return (
125
+ <Animated.View style={[styles.topContainer, containerAnimated]} testID={testID}>
126
+ <Animated.View style={[styles.topLoadingView, { height: targetHeight }, innerAnimated, style]}>
127
+ {spinnerIcon ?? <SpinnerIcon size={effectiveIconSize} color={spinnerColor} />}
128
+ </Animated.View>
129
+ </Animated.View>
130
+ );
131
+ };
132
+
73
133
  const TopLoading: React.FC<TopLoadingProps> = ({
74
134
  size = 'medium',
75
135
  color,
@@ -88,8 +148,8 @@ const TopLoading: React.FC<TopLoadingProps> = ({
88
148
 
89
149
  const reanimated = getReanimated();
90
150
 
91
- // Non-animated fallback when reanimated is not available
92
151
  if (!reanimated) {
152
+ // Non-animated fallback when reanimated is not available
93
153
  if (!showLoading) return null;
94
154
  return (
95
155
  <View style={[styles.topContainer, { height: targetHeight }, style]} testID={testID}>
@@ -100,41 +160,17 @@ const TopLoading: React.FC<TopLoadingProps> = ({
100
160
  );
101
161
  }
102
162
 
103
- const { default: Animated, useAnimatedStyle, useSharedValue, withTiming, Easing } = reanimated;
104
-
105
- // eslint-disable-next-line react-hooks/rules-of-hooks
106
- const height = useSharedValue(showLoading ? targetHeight : 0);
107
- // eslint-disable-next-line react-hooks/rules-of-hooks
108
- const opacity = useSharedValue(showLoading ? 1 : 0);
109
- // eslint-disable-next-line react-hooks/rules-of-hooks
110
- const translateY = useSharedValue(showLoading ? 0 : -targetHeight);
111
-
112
- const timingConfig = { duration: animation.duration.slow, easing: Easing.out(Easing.cubic) };
113
-
114
- // eslint-disable-next-line react-hooks/rules-of-hooks
115
- useEffect(() => {
116
- height.value = withTiming(showLoading ? targetHeight : 0, timingConfig);
117
- opacity.value = withTiming(showLoading ? 1 : 0, timingConfig);
118
- translateY.value = withTiming(showLoading ? 0 : -targetHeight, timingConfig);
119
- }, [showLoading, targetHeight, height, opacity, translateY]);
120
-
121
- // eslint-disable-next-line react-hooks/rules-of-hooks
122
- const containerAnimated = useAnimatedStyle(() => ({
123
- height: height.value,
124
- }));
125
-
126
- // eslint-disable-next-line react-hooks/rules-of-hooks
127
- const innerAnimated = useAnimatedStyle(() => ({
128
- opacity: opacity.value,
129
- transform: [{ translateY: translateY.value }],
130
- }));
131
-
132
163
  return (
133
- <Animated.View style={[styles.topContainer, containerAnimated]} testID={testID}>
134
- <Animated.View style={[styles.topLoadingView, { height: targetHeight }, innerAnimated, style]}>
135
- {spinnerIcon ?? <SpinnerIcon size={effectiveIconSize} color={spinnerColor} />}
136
- </Animated.View>
137
- </Animated.View>
164
+ <AnimatedTopLoading
165
+ showLoading={showLoading}
166
+ targetHeight={targetHeight}
167
+ effectiveIconSize={effectiveIconSize}
168
+ spinnerColor={spinnerColor}
169
+ spinnerIcon={spinnerIcon}
170
+ style={style}
171
+ testID={testID}
172
+ reanimated={reanimated}
173
+ />
138
174
  );
139
175
  };
140
176