react-native-screens 4.0.0-beta.1 → 4.0.0-beta.11
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/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +61 -0
- package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +14 -0
- package/android/src/main/java/com/swmansion/rnscreens/InsetsObserverProxy.kt +2 -4
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +46 -7
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +24 -9
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +37 -17
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +1 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +25 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +6 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +1 -0
- package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +24 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +8 -0
- package/android/src/main/jni/rnscreens.h +2 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +39 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +44 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.cpp +8 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.h +32 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.cpp +23 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.h +50 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +27 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.cpp +8 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.h +32 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.cpp +15 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +40 -0
- package/ios/RNSConvert.mm +0 -1
- package/ios/RNSScreen.h +15 -0
- package/ios/RNSScreen.mm +55 -8
- package/ios/RNSScreenStack.mm +81 -2
- package/ios/RNSScreenStackHeaderConfig.h +63 -0
- package/ios/RNSScreenStackHeaderConfig.mm +135 -13
- package/ios/RNSScreenStackHeaderSubview.mm +26 -0
- package/ios/utils/UINavigationBar+RNSUtility.h +37 -0
- package/ios/utils/UINavigationBar+RNSUtility.mm +44 -0
- package/ios/utils/UIView+RNSUtility.mm +0 -1
- package/lib/commonjs/components/Screen.js +58 -7
- package/lib/commonjs/components/Screen.js.map +1 -1
- package/lib/commonjs/components/ScreenContentWrapper.web.js +11 -0
- package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -0
- package/lib/commonjs/components/ScreenFooter.web.js +11 -0
- package/lib/commonjs/components/ScreenFooter.web.js.map +1 -0
- package/lib/commonjs/components/ScreenStackHeaderConfig.js +53 -17
- package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/commonjs/components/helpers/usePrevious.js +15 -0
- package/lib/commonjs/components/helpers/usePrevious.js.map +1 -0
- package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +3 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +3 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +4 -10
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/components/Screen.js +58 -7
- package/lib/module/components/Screen.js.map +1 -1
- package/lib/module/components/ScreenContentWrapper.web.js +5 -0
- package/lib/module/components/ScreenContentWrapper.web.js.map +1 -0
- package/lib/module/components/ScreenFooter.web.js +5 -0
- package/lib/module/components/ScreenFooter.web.js.map +1 -0
- package/lib/module/components/ScreenStackHeaderConfig.js +50 -16
- package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/module/components/helpers/usePrevious.js +9 -0
- package/lib/module/components/helpers/usePrevious.js.map +1 -0
- package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +3 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +3 -1
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js +4 -10
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/typescript/components/Screen.d.ts +5 -1
- package/lib/typescript/components/Screen.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts +5 -0
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenFooter.web.d.ts +5 -0
- package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +1 -1
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -1
- package/lib/typescript/components/helpers/usePrevious.d.ts +2 -0
- package/lib/typescript/components/helpers/usePrevious.d.ts.map +1 -0
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +1 -0
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +2 -3
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +26 -9
- package/lib/typescript/types.d.ts.map +1 -1
- package/native-stack/README.md +3 -2
- package/package.json +1 -1
- package/src/components/Screen.tsx +97 -12
- package/src/components/ScreenContentWrapper.web.tsx +6 -0
- package/src/components/ScreenFooter.web.tsx +6 -0
- package/src/components/ScreenStackHeaderConfig.tsx +59 -26
- package/src/components/helpers/usePrevious.tsx +11 -0
- package/src/fabric/ModalScreenNativeComponent.ts +1 -0
- package/src/fabric/ScreenNativeComponent.ts +0 -1
- package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +3 -1
- package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +3 -1
- package/src/native-stack/types.tsx +2 -3
- package/src/native-stack/views/NativeStackView.tsx +4 -10
- package/src/types.tsx +29 -13
- package/windows/RNScreens/Screen.h +0 -1
package/src/types.tsx
CHANGED
|
@@ -39,7 +39,6 @@ export type StackAnimationTypes =
|
|
|
39
39
|
| 'slide_from_bottom'
|
|
40
40
|
| 'slide_from_right'
|
|
41
41
|
| 'slide_from_left'
|
|
42
|
-
| 'ios'
|
|
43
42
|
| 'ios_from_right'
|
|
44
43
|
| 'ios_from_left';
|
|
45
44
|
export type BlurEffectTypes =
|
|
@@ -290,13 +289,19 @@ export interface ScreenProps extends ViewProps {
|
|
|
290
289
|
unstable_screenStyle?: Pick<ViewStyle, 'backgroundColor'>;
|
|
291
290
|
/**
|
|
292
291
|
* Describes heights where a sheet can rest.
|
|
293
|
-
* Works only when `
|
|
292
|
+
* Works only when `presentation` is set to `formSheet`.
|
|
294
293
|
*
|
|
295
294
|
* Heights should be described as fraction (a number from `[0, 1]` interval) of screen height / maximum detent height.
|
|
296
|
-
*
|
|
295
|
+
* You can pass an array of ascending values each defining allowed sheet detent. iOS accepts any number of detents,
|
|
296
|
+
* while **Android is limited to three**.
|
|
297
|
+
*
|
|
298
|
+
* There is also possibility to specify `fitToContents` literal, which intents to set the sheet height
|
|
297
299
|
* to the height of its contents.
|
|
298
300
|
*
|
|
299
|
-
* Please note that the array **must** be sorted in ascending order.
|
|
301
|
+
* Please note that the array **must** be sorted in ascending order. This invariant is verified only in developement mode,
|
|
302
|
+
* where violation results in error.
|
|
303
|
+
*
|
|
304
|
+
* **Android is limited to up 3 values in the array** -- any surplus values, beside first three are ignored.
|
|
300
305
|
*
|
|
301
306
|
* There are also legacy & **deprecated** options available:
|
|
302
307
|
*
|
|
@@ -304,7 +309,9 @@ export interface ScreenProps extends ViewProps {
|
|
|
304
309
|
* * 'large' - corresponds to `[1.0]` detent value, maximum height,
|
|
305
310
|
* * 'all' - corresponds to `[0.5, 1.0]` value, the name is deceiving due to compatibility reasons.
|
|
306
311
|
*
|
|
307
|
-
*
|
|
312
|
+
* These are provided solely for **temporary** backward compatibility and are destined for removal in future versions.
|
|
313
|
+
*
|
|
314
|
+
* Defaults to `[1.0]`.
|
|
308
315
|
*/
|
|
309
316
|
sheetAllowedDetents?: number[] | 'fitToContents' | 'medium' | 'large' | 'all';
|
|
310
317
|
/**
|
|
@@ -351,30 +358,40 @@ export interface ScreenProps extends ViewProps {
|
|
|
351
358
|
* This prop can be set to an number, which indicates index of detent in `sheetAllowedDetents` array for which
|
|
352
359
|
* there won't be a dimming view beneath the sheet.
|
|
353
360
|
*
|
|
361
|
+
* If the specified index is out of bounds of `sheetAllowedDetents` array, in dev environment mode error will be thrown,
|
|
362
|
+
* in production the value will be reset to default value.
|
|
363
|
+
*
|
|
354
364
|
* Additionaly there are following options available:
|
|
355
365
|
*
|
|
356
366
|
* * `none` - there will be dimming view for all detents levels,
|
|
357
|
-
* * `
|
|
367
|
+
* * `last` - there won't be a dimming view for any detent level.
|
|
358
368
|
*
|
|
359
369
|
* There also legacy & **deprecated** prop values available: `medium`, `large` (don't confuse with `largest`), `all`, which work in tandem with
|
|
360
370
|
* corresponding legacy prop values for `sheetAllowedDetents` prop.
|
|
361
371
|
*
|
|
372
|
+
* These are provided solely for **temporary** backward compatibility and are destined for removal in future versions.
|
|
373
|
+
*
|
|
362
374
|
* Defaults to `none`, indicating that the dimming view should be always present.
|
|
363
375
|
*/
|
|
364
|
-
|
|
376
|
+
sheetLargestUndimmedDetentIndex?:
|
|
365
377
|
| number
|
|
366
378
|
| 'none'
|
|
367
|
-
| '
|
|
368
|
-
| 'medium'
|
|
369
|
-
| 'large'
|
|
370
|
-
| 'all';
|
|
379
|
+
| 'last'
|
|
380
|
+
| 'medium' // deprecated
|
|
381
|
+
| 'large' // deprecated
|
|
382
|
+
| 'all'; // deprecated
|
|
371
383
|
/**
|
|
372
384
|
* Index of the detent the sheet should expand to after being opened.
|
|
373
385
|
* Works only when `stackPresentation` is set to `formSheet`.
|
|
374
386
|
*
|
|
387
|
+
* If the specified index is out of bounds of `sheetAllowedDetents` array, in dev environment more error will be thrown,
|
|
388
|
+
* in production the value will be reset to default value.
|
|
389
|
+
*
|
|
390
|
+
* Additionaly there is `last` value available, when set the sheet will expand initially to last (largest) detent.
|
|
391
|
+
*
|
|
375
392
|
* Defaults to `0` - which represents first detent in the detents array.
|
|
376
393
|
*/
|
|
377
|
-
|
|
394
|
+
sheetInitialDetentIndex?: number | 'last';
|
|
378
395
|
/**
|
|
379
396
|
* How the screen should appear/disappear when pushed or popped at the top of the stack.
|
|
380
397
|
* The following values are currently supported:
|
|
@@ -386,7 +403,6 @@ export interface ScreenProps extends ViewProps {
|
|
|
386
403
|
* - `slide_from_bottom` – performs a slide from bottom animation
|
|
387
404
|
* - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
388
405
|
* - "slide_from_left" - slide in the new screen from left to right
|
|
389
|
-
* - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`)
|
|
390
406
|
* - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
391
407
|
* - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
392
408
|
* - "none" – the screen appears/dissapears without an animation
|