@symbiote-native/react 0.2.8 → 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.
Files changed (74) hide show
  1. package/README.md +5 -5
  2. package/build/bootstrap.js +5 -6
  3. package/build/components/activity-indicator/index.android.js +5 -7
  4. package/build/components/activity-indicator/shared.js +1 -1
  5. package/build/components/button.js +1 -1
  6. package/build/components/flat-list/index.js +5 -2
  7. package/build/components/input-accessory-view/index.js +6 -1
  8. package/build/components/keyboard-avoiding-view/index.js +32 -12
  9. package/build/components/modal/index.d.ts +3 -2
  10. package/build/components/modal/index.js +1 -1
  11. package/build/components/pressable/index.d.ts +1 -1
  12. package/build/components/pressable/index.js +1 -1
  13. package/build/components/scroll-view/index.android.js +16 -8
  14. package/build/components/scroll-view/index.ios.js +13 -11
  15. package/build/components/scroll-view/shared.js +58 -9
  16. package/build/components/scroll-view/sticky-header.d.ts +11 -2
  17. package/build/components/scroll-view/sticky-header.js +60 -20
  18. package/build/components/section-list/index.js +4 -6
  19. package/build/components/text-input/index.js +7 -2
  20. package/build/components/touchable/index.d.ts +2 -0
  21. package/build/components/touchable/index.js +130 -28
  22. package/build/components/virtualized-list/index.js +87 -22
  23. package/build/components/virtualized-section-list/index.d.ts +5 -0
  24. package/build/components/virtualized-section-list/index.js +24 -4
  25. package/build/components.js +2 -2
  26. package/build/create-portal/index.js +1 -1
  27. package/build/create-tunnel/index.js +15 -21
  28. package/build/hooks/use-color-scheme.d.ts +1 -1
  29. package/build/hooks/use-color-scheme.js +1 -1
  30. package/build/hooks/use-window-dimensions.d.ts +1 -1
  31. package/build/hooks/use-window-dimensions.js +1 -1
  32. package/build/host-config.js +13 -5
  33. package/build/host-instance.js +5 -6
  34. package/build/index.d.ts +12 -37
  35. package/build/index.js +16 -26
  36. package/build/modules/animated/create-animated-component.js +27 -66
  37. package/build/modules/animated/index.d.ts +1 -1
  38. package/build/modules/animated/index.js +1 -1
  39. package/build/modules/status-bar/index.ios.js +1 -1
  40. package/build/render.js +30 -2
  41. package/metro-css-parser.cjs +7 -12
  42. package/package.json +5 -5
  43. package/build/modules/action-sheet-ios.d.ts +0 -2
  44. package/build/modules/action-sheet-ios.js +0 -4
  45. package/build/modules/alert.d.ts +0 -2
  46. package/build/modules/alert.js +0 -5
  47. package/build/modules/app-state.d.ts +0 -2
  48. package/build/modules/app-state.js +0 -3
  49. package/build/modules/appearance.d.ts +0 -2
  50. package/build/modules/appearance.js +0 -3
  51. package/build/modules/back-handler.d.ts +0 -2
  52. package/build/modules/back-handler.js +0 -3
  53. package/build/modules/dimensions.d.ts +0 -2
  54. package/build/modules/dimensions.js +0 -3
  55. package/build/modules/i18n-manager.d.ts +0 -2
  56. package/build/modules/i18n-manager.js +0 -4
  57. package/build/modules/keyboard.d.ts +0 -2
  58. package/build/modules/keyboard.js +0 -3
  59. package/build/modules/layout-animation.d.ts +0 -2
  60. package/build/modules/layout-animation.js +0 -3
  61. package/build/modules/linking.d.ts +0 -2
  62. package/build/modules/linking.js +0 -4
  63. package/build/modules/permissions-android.d.ts +0 -2
  64. package/build/modules/permissions-android.js +0 -3
  65. package/build/modules/settings.d.ts +0 -1
  66. package/build/modules/settings.js +0 -4
  67. package/build/modules/share.d.ts +0 -2
  68. package/build/modules/share.js +0 -4
  69. package/build/modules/text-input-state.d.ts +0 -1
  70. package/build/modules/text-input-state.js +0 -3
  71. package/build/modules/toast-android.d.ts +0 -1
  72. package/build/modules/toast-android.js +0 -4
  73. package/build/modules/vibration.d.ts +0 -1
  74. package/build/modules/vibration.js +0 -4
@@ -1,13 +1,8 @@
1
- // Re-exports @symbiote-native/css-parser verbatim from INSIDE this package, so a consuming app's own
2
- // require('@symbiote-native/react/metro-css-parser') resolves css-parser relative to THIS file's
3
- // location (adapters/react/node_modules, where css-parser IS a real dependency — see
4
- // package.json), not relative to the app's own node_modules, which does not and should not
5
- // need to declare @symbiote-native/css-parser itself. Node resolves each require() relative to the
6
- // requiring FILE's own location, so this indirection is what actually removes the extra install
7
- // step, not pnpm hoisting (which does not propagate this transitively across workspace packages
8
- // the way a flat classic node_modules would). .cjs, not .js: this package is "type": "module",
9
- // and Metro's babelTransformerPath loading expects a require()-able module.
10
- // createCssMetroTransformer is a factory, not a ready transformer — Metro's
11
- // babelTransformerPath needs the actual {transform, getCacheKey} object it returns,
12
- // not the css-parser package barrel.
1
+ // Re-exported from THIS file's own location so a consuming app's
2
+ // require('@symbiote-native/react/metro-css-parser') resolves css-parser as a dependency of THIS
3
+ // package, not the app's node_modules (Node resolves require() relative to the requiring file,
4
+ // not via pnpm hoisting) — the app never needs to declare @symbiote-native/css-parser itself.
5
+ // .cjs, not .js: this package is "type": "module", but Metro's babelTransformerPath loading needs
6
+ // a require()-able file. createCssMetroTransformer() is a factory — Metro needs the actual
7
+ // {transform, getCacheKey} object it returns, not the css-parser package barrel.
13
8
  module.exports = require('@symbiote-native/css-parser').createCssMetroTransformer();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symbiote-native/react",
3
- "version": "0.2.8",
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.3.0",
41
- "@symbiote-native/css-parser": "0.2.3"
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.1.7",
53
- "@symbiote-native/test-utils": "0.1.6"
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",
@@ -1,2 +0,0 @@
1
- export { ActionSheetIOS } from '@symbiote-native/engine';
2
- export type { IActionSheetIOSOptions, IShareActionSheetIOSOptions, IShareActionSheetError, } from '@symbiote-native/engine';
@@ -1,4 +0,0 @@
1
- // ActionSheetIOS lives framework-agnostic in @symbiote-native/engine (imperative
2
- // native-bridge module, no visual, no lifecycle). The React adapter re-exports it
3
- // verbatim so the public surface is unchanged.
4
- export { ActionSheetIOS } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { Alert } from '@symbiote-native/engine';
2
- export type { IAlertType, IAlertButtonStyle, IAlertButton, IAlertButtons, IAlertOptions, } from '@symbiote-native/engine';
@@ -1,5 +0,0 @@
1
- // Alert lives framework-agnostic in @symbiote-native/engine (imperative native-bridge
2
- // module, no visual, no lifecycle). The React adapter re-exports it verbatim so the
3
- // public surface is unchanged; the platform split (alert.ios/alert.android) lives
4
- // inside engine.
5
- export { Alert } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { AppState } from '@symbiote-native/engine';
2
- export type { IAppStateStatus, IAppStateEvent } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // AppState moved to @symbiote-native/engine (a framework-agnostic device-state module re-exported
2
- // by every adapter). This thin re-export keeps @symbiote-native/react's public surface identical.
3
- export { AppState } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { Appearance } from '@symbiote-native/engine';
2
- export type { IColorSchemeName, IColorSchemePreference } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // Appearance moved to @symbiote-native/engine (a framework-agnostic device-state module re-exported
2
- // by every adapter). This thin re-export keeps @symbiote-native/react's public surface identical.
3
- export { Appearance } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { BackHandler } from '@symbiote-native/engine';
2
- export type { IBackPressEventName, IBackPressHandler } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // BackHandler moved to @symbiote-native/engine (a framework-agnostic device-state module re-exported
2
- // by every adapter). This thin re-export keeps @symbiote-native/react's public surface identical.
3
- export { BackHandler } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { Dimensions } from '@symbiote-native/engine';
2
- export type { IDisplayMetrics, IDisplayMetricsAndroid, IDimensionsPayload, IDimensionsSet, IDimensionsKey, IDimensionsChangeListener, IDimensionsStatic, } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // Dimensions moved to @symbiote-native/engine (a framework-agnostic device-state module re-exported
2
- // by every adapter). This thin re-export keeps @symbiote-native/react's public surface identical.
3
- export { Dimensions } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { I18nManager } from '@symbiote-native/engine';
2
- export type { II18nManagerConstants } from '@symbiote-native/engine';
@@ -1,4 +0,0 @@
1
- // I18nManager now lives framework-agnostic in @symbiote-native/engine (imperative
2
- // native-bridge module, no visual, no lifecycle). The React adapter re-exports it
3
- // verbatim so the public surface is unchanged.
4
- export { I18nManager } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { Keyboard, KEYBOARD_EVENT } from '@symbiote-native/engine';
2
- export type { IKeyboardEventName, IKeyboardEvent, IKeyboardMetrics } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // Keyboard moved to @symbiote-native/engine (a framework-agnostic device-state module re-exported
2
- // by every adapter). This thin re-export keeps @symbiote-native/react's public surface identical.
3
- export { Keyboard, KEYBOARD_EVENT } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { LayoutAnimation } from '@symbiote-native/engine';
2
- export type { ILayoutAnimationType, ILayoutAnimationProperty, ILayoutAnimationConfig, ILayoutAnimationAnim, ILayoutAnimationTypes, ILayoutAnimationProperties, } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // LayoutAnimation moved to @symbiote-native/engine (a framework-agnostic native-bridge consumer
2
- // re-exported by every adapter). This thin re-export keeps @symbiote-native/react's surface identical.
3
- export { LayoutAnimation } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { Linking } from '@symbiote-native/engine';
2
- export type { IUrlEvent } from '@symbiote-native/engine';
@@ -1,4 +0,0 @@
1
- // Linking now lives framework-agnostic in @symbiote-native/engine (imperative native-bridge
2
- // module, no visual, no lifecycle). The React adapter re-exports it verbatim; the
3
- // platform split (linking.ios/linking.android) lives inside engine.
4
- export { Linking } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { PermissionsAndroid, PERMISSIONS, RESULTS } from '@symbiote-native/engine';
2
- export type { IPermission, IPermissionStatus, IRationale } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // PermissionsAndroid moved to @symbiote-native/engine (a framework-agnostic device-state module
2
- // re-exported by every adapter). This thin re-export keeps @symbiote-native/react's surface identical.
3
- export { PermissionsAndroid, PERMISSIONS, RESULTS } from '@symbiote-native/engine';
@@ -1 +0,0 @@
1
- export { Settings } from '@symbiote-native/engine';
@@ -1,4 +0,0 @@
1
- // Settings now lives framework-agnostic in @symbiote-native/engine (imperative native-bridge
2
- // module, no visual, no lifecycle). The React adapter re-exports it verbatim so the
3
- // public surface is unchanged.
4
- export { Settings } from '@symbiote-native/engine';
@@ -1,2 +0,0 @@
1
- export { Share } from '@symbiote-native/engine';
2
- export type { IShareContent, IShareOptions, IShareAction } from '@symbiote-native/engine';
@@ -1,4 +0,0 @@
1
- // Share now lives framework-agnostic in @symbiote-native/engine (imperative native-bridge
2
- // module, no visual, no lifecycle). The React adapter re-exports it verbatim; the
3
- // platform split (share.ios/share.android) lives inside engine.
4
- export { Share } from '@symbiote-native/engine';
@@ -1 +0,0 @@
1
- export { currentlyFocusedInput, setInputFocused, setInputBlurred, blurTextInput, } from '@symbiote-native/engine';
@@ -1,3 +0,0 @@
1
- // TextInputState moved to @symbiote-native/engine (a framework-agnostic module: Keyboard.dismiss
2
- // and TextInput both reach it). This thin re-export keeps the adapter's import path stable.
3
- export { currentlyFocusedInput, setInputFocused, setInputBlurred, blurTextInput, } from '@symbiote-native/engine';
@@ -1 +0,0 @@
1
- export { ToastAndroid } from '@symbiote-native/engine';
@@ -1,4 +0,0 @@
1
- // ToastAndroid lives framework-agnostic in @symbiote-native/engine (imperative
2
- // native-bridge module, no visual, no lifecycle). The React adapter re-exports it
3
- // verbatim so the public surface is unchanged.
4
- export { ToastAndroid } from '@symbiote-native/engine';
@@ -1 +0,0 @@
1
- export { Vibration } from '@symbiote-native/engine';
@@ -1,4 +0,0 @@
1
- // Vibration lives framework-agnostic in @symbiote-native/engine (imperative native-bridge
2
- // module, no visual, no lifecycle). The React adapter re-exports it verbatim; the
3
- // platform split (vibration.ios/vibration.android) lives inside the engine.
4
- export { Vibration } from '@symbiote-native/engine';