@symbiote-native/react 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/build/bootstrap.js +1 -1
- package/build/components/activity-indicator/shared.js +1 -1
- package/build/components/button.js +1 -1
- package/build/components/flat-list/index.js +5 -2
- package/build/components/input-accessory-view/index.js +6 -1
- package/build/components/keyboard-avoiding-view/index.js +32 -12
- package/build/components/modal/index.js +1 -1
- package/build/components/pressable/index.d.ts +1 -1
- package/build/components/pressable/index.js +1 -1
- package/build/components/scroll-view/index.android.js +16 -6
- package/build/components/scroll-view/index.ios.js +3 -1
- package/build/components/scroll-view/shared.js +56 -7
- package/build/components/scroll-view/sticky-header.d.ts +11 -2
- package/build/components/scroll-view/sticky-header.js +53 -11
- package/build/components/text-input/index.js +7 -2
- package/build/components/touchable/index.d.ts +2 -0
- package/build/components/touchable/index.js +130 -28
- package/build/components/virtualized-list/index.js +64 -24
- package/build/components/virtualized-section-list/index.d.ts +5 -0
- package/build/components/virtualized-section-list/index.js +24 -4
- package/build/components.js +2 -2
- package/build/create-portal/index.js +1 -1
- package/build/create-tunnel/index.js +1 -1
- package/build/hooks/use-window-dimensions.js +1 -1
- package/build/host-config.js +13 -5
- package/build/index.d.ts +7 -7
- package/build/index.js +1 -1
- package/build/modules/animated/create-animated-component.js +3 -1
- package/build/modules/animated/index.d.ts +1 -1
- package/build/modules/animated/index.js +1 -1
- package/build/modules/status-bar/index.ios.js +1 -1
- package/build/render.js +14 -4
- package/package.json +5 -5
|
@@ -14,7 +14,7 @@ import { AnimatedMock } from '@symbiote-native/engine';
|
|
|
14
14
|
export { createAnimatedComponent } from './create-animated-component.js';
|
|
15
15
|
// The pure graph leaves now live in @symbiote-native/engine (they extend AnimatedWithChildren,
|
|
16
16
|
// no React); re-exported here so @symbiote-native/react's Animated surface is unchanged.
|
|
17
|
-
export { AnimatedProps, AnimatedStyle, AnimatedTransform } from '@symbiote-native/engine';
|
|
17
|
+
export { AnimatedProps, AnimatedStyle, AnimatedTransform, } from '@symbiote-native/engine';
|
|
18
18
|
// View/Text/Image are pure host primitives, so wrap them eagerly.
|
|
19
19
|
const AnimatedView = createAnimatedComponent(View);
|
|
20
20
|
const AnimatedText = createAnimatedComponent(Text);
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// it, which is also what a bare '@symbiote-native/engine' import resolves to under vitest — so
|
|
11
11
|
// this file's own engine import is already vitest-correct, no platform-selection subtlety here.
|
|
12
12
|
import { useEffect } from 'react';
|
|
13
|
-
import { applyStatusBarProps, statusBarImperative } from '@symbiote-native/engine';
|
|
13
|
+
import { applyStatusBarProps, statusBarImperative, } from '@symbiote-native/engine';
|
|
14
14
|
// StatusBar renders null and applies its props to the native module in an effect,
|
|
15
15
|
// on mount and on every prop change. Simplification vs RN: RN maintains a
|
|
16
16
|
// prop-merge stack so nested StatusBars compose (deepest/last wins). This module
|
package/build/render.js
CHANGED
|
@@ -11,10 +11,20 @@ function errorReporter(origin) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
const onUncaughtError = errorReporter('react render (no error boundary)');
|
|
14
|
-
// A boundary handled it,
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
|
|
14
|
+
// A boundary handled it, so it does NOT reach the native redbox — it goes to , off unless
|
|
15
|
+
// DEBUG is set.
|
|
16
|
+
//
|
|
17
|
+
// This deliberately DIVERGES from upstream, whose nativeOnCaughtError calls the same
|
|
18
|
+
// showErrorDialog as the uncaught path. The argument for upstream's choice is that the boundary
|
|
19
|
+
// decides what the USER sees, not whether the developer hears. The argument against, and the one
|
|
20
|
+
// this project takes: writing an ErrorBoundary IS the developer saying "I know this can throw and
|
|
21
|
+
// I am handling it here". Answering that with a full-screen redbox over the fallback the app just
|
|
22
|
+
// rendered contradicts the thing the app asked for, and it is the only adapter here that did it —
|
|
23
|
+
// Solid's ErrorBoundary is silent, and its canary reads as correct next to React's alarming one.
|
|
24
|
+
// An UNCAUGHT error still hits the redbox; the difference is exactly whether someone claimed it.
|
|
25
|
+
const onCaughtError = (error, info) => {
|
|
26
|
+
dlog(() => `react render (caught by error boundary): ${String(error)}${info.componentStack ?? ''}`);
|
|
27
|
+
};
|
|
18
28
|
// React recovered on its own (a concurrent render retried and succeeded), so this is not fatal -
|
|
19
29
|
// but it is still a real error the app swallowed a first render over. RN keeps React's
|
|
20
30
|
// defaultOnRecoverableError here, which reports it globally.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "SymbioteNative's React adapter — a react-reconciler host config (mutation mode) driving real native iOS/Android views through stock React Native Fabric.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"react-reconciler": "^0.33.0",
|
|
40
|
-
"@symbiote-native/components": "0.
|
|
41
|
-
"@symbiote-native/css-parser": "0.
|
|
40
|
+
"@symbiote-native/components": "0.5.0",
|
|
41
|
+
"@symbiote-native/css-parser": "0.4.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@symbiote-native/engine": ">=0.1.7",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"@types/react": "^19.2.0",
|
|
50
50
|
"@types/react-reconciler": "^0.32.2",
|
|
51
51
|
"react": "19.2.3",
|
|
52
|
-
"@symbiote-native/engine": "0.
|
|
53
|
-
"@symbiote-native/test-utils": "0.
|
|
52
|
+
"@symbiote-native/engine": "0.3.0",
|
|
53
|
+
"@symbiote-native/test-utils": "0.2.0"
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
56
|
"typecheck": "tsc --build",
|