react-native-screens 5.0.0-alpha.2 → 5.0.0-alpha.3
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/Package.swift +87 -0
- package/README.md +0 -7
- package/android/src/main/cpp/NativeProxy.cpp +30 -6
- package/android/src/main/cpp/NativeProxy.h +7 -1
- package/android/src/main/java/com/swmansion/rnscreens/common/container/Container.kt +8 -0
- package/android/src/main/java/com/swmansion/rnscreens/common/container/ContainerItem.kt +13 -1
- package/android/src/main/java/com/swmansion/rnscreens/common/text/ReactTextAppearance.kt +62 -0
- package/android/src/main/java/com/swmansion/rnscreens/common/text/TextAppearance.kt +20 -0
- package/android/src/main/java/com/swmansion/rnscreens/common/text/TextAppearanceDefaults.kt +65 -0
- package/android/src/main/java/com/swmansion/rnscreens/helpers/PropIconResolver.kt +17 -23
- package/android/src/main/java/com/swmansion/rnscreens/legacy/Screen.kt +3 -1
- package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStack.kt +2 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetBehaviorController.kt +49 -18
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetDimensionsCoordinator.kt +65 -40
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetKeyboardCoordinator.kt +101 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetNativeDismissCoordinator.kt +0 -6
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/core/FormSheetAvailableHeightProvider.kt +44 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/core/FormSheetDialog.kt +35 -3
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/core/FormSheetDialogManager.kt +33 -106
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/interfaces/FormSheetDialogEventEmitter.kt +2 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/model/FormSheetDetents.kt +61 -15
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetAnimatorFactory.kt +8 -9
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetDimmingManager.kt +115 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetDismissalOrigin.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetPresentation.kt +173 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetPresentationManager.kt +141 -49
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetPresentationState.kt +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetStackRegistry.kt +28 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/event/FormSheetDismissEvent.kt +29 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/host/FormSheetHostEventEmitter.kt +7 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/host/FormSheetHostViewManager.kt +2 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderApplicator.kt +369 -58
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderBackPressHandler.kt +11 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderCoordinatorLayout.kt +143 -98
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderAppBarLayout.kt +155 -23
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderContentScrimDrawable.kt +36 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderCollapsedTitleGravityMode.kt +6 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfig.kt +170 -167
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigViewManager.kt +385 -12
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationObserver.kt +0 -4
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationProviding.kt +32 -3
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderDelegate.kt +0 -7
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderInvalidationFlags.kt +7 -2
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuApplicator.kt +27 -280
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuController.kt +448 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuDelegate.kt +10 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuMapper.kt +28 -20
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuConfig.kt +3 -55
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuGroupMetadata.kt +1 -10
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuItemConfig.kt +1 -3
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuModel.kt +180 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementOptions.kt +57 -6
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementRawUpdate.kt +3 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementUpdate.kt +1 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuIconResolver.kt +4 -3
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuUpdateQueue.kt +23 -9
- package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainer.kt +103 -3
- package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackHost.kt +13 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackHostViewManager.kt +14 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreen.kt +4 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreenFragment.kt +20 -1
- package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreenFragmentDelegate.kt +12 -0
- package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceCoordinator.kt +2 -4
- package/android/src/main/java/com/swmansion/rnscreens/tabs/container/MenuHelpers.kt +5 -23
- package/android/src/main/java/com/swmansion/rnscreens/tabs/container/TabsContainer.kt +46 -25
- package/android/src/main/java/com/swmansion/rnscreens/tabs/host/TabsHost.kt +10 -0
- package/android/src/main/java/com/swmansion/rnscreens/tabs/host/TabsHostA11yCoordinator.kt +23 -2
- package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreen.kt +17 -0
- package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenFragment.kt +3 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/DimensionUtils.kt +7 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/StyleUtils.kt +22 -0
- package/android/src/main/res/base/layout/rns_collapsing_toolbar_large_available_space.xml +8 -0
- package/android/src/main/res/base/layout/rns_collapsing_toolbar_large_entire_space.xml +8 -0
- package/android/src/main/res/base/layout/rns_collapsing_toolbar_medium_available_space.xml +8 -0
- package/android/src/main/res/base/layout/rns_collapsing_toolbar_medium_entire_space.xml +8 -0
- package/cpp/legacy/RNSScreenRemovalListener.cpp +31 -1
- package/cpp/legacy/RNSScreenRemovalListener.h +18 -3
- package/ios/RNSEnums.h +2 -0
- package/ios/conversion/RNSConversions.h +7 -108
- package/ios/legacy/RNSFullWindowOverlay.mm +1 -1
- package/ios/legacy/RNSModalScreen.mm +1 -1
- package/ios/legacy/RNSScreen.mm +8 -19
- package/ios/legacy/RNSScreenStackHeaderConfig.mm +3 -1
- package/ios/legacy/RNSScreenStackHeaderSubview.mm +1 -1
- package/ios/legacy/RNSScreenWindowTraits.mm +5 -13
- package/ios/modals/form-sheet/RNSFormSheetConfigurationApplicator.h +1 -3
- package/ios/modals/form-sheet/RNSFormSheetConfigurationApplicator.mm +11 -22
- package/ios/modals/form-sheet/RNSFormSheetContentController.h +1 -1
- package/ios/modals/form-sheet/RNSFormSheetContentController.mm +7 -18
- package/ios/modals/form-sheet/RNSFormSheetHostComponentView.mm +4 -4
- package/ios/modals/form-sheet/RNSFormSheetHostShadowStateProxy.mm +2 -2
- package/ios/modals/form-sheet/RNSFormSheetUpdateFlags.h +3 -0
- package/ios/safe-area/RNSSafeAreaViewComponentView.mm +2 -2
- package/ios/{conversion → scroll-view-marker/conversion}/RNSConversions-ScrollViewMarker.mm +2 -3
- package/ios/split/RNSSplitAppearanceApplicator.h +4 -4
- package/ios/split/RNSSplitAppearanceApplicator.mm +53 -56
- package/ios/split/RNSSplitHostComponentEventEmitter.h +1 -0
- package/ios/split/RNSSplitHostComponentEventEmitter.mm +1 -1
- package/ios/split/RNSSplitHostComponentView.h +5 -15
- package/ios/split/RNSSplitHostComponentView.mm +55 -6
- package/ios/split/RNSSplitHostController.h +25 -6
- package/ios/split/RNSSplitHostController.mm +24 -92
- package/ios/split/RNSSplitHostProviders.h +67 -0
- package/ios/split/RNSSplitScreenComponentView.h +0 -39
- package/ios/split/RNSSplitScreenComponentView.mm +27 -10
- package/ios/split/RNSSplitScreenController.h +26 -3
- package/ios/split/RNSSplitScreenController.mm +13 -30
- package/ios/split/RNSSplitScreenShadowStateProxy.h +1 -40
- package/ios/split/RNSSplitScreenShadowStateProxy.mm +1 -26
- package/ios/split/conversion/RNSConversions-SplitView.h +56 -0
- package/ios/{conversion → split/conversion}/RNSConversions-SplitView.mm +4 -1
- package/ios/stack/conversion/RNSConversions-Stack.h +32 -0
- package/ios/stack/conversion/RNSConversions-Stack.mm +55 -0
- package/ios/stack/header/RNSStackHeaderAppearanceMapper.h +26 -0
- package/ios/stack/header/RNSStackHeaderAppearanceMapper.mm +88 -0
- package/ios/stack/header/RNSStackHeaderConfigComponentView.h +10 -1
- package/ios/stack/header/RNSStackHeaderConfigComponentView.mm +67 -35
- package/ios/stack/header/RNSStackHeaderConfigDataProviding.h +6 -0
- package/ios/stack/header/RNSStackHeaderConfigShadowStateProxy.mm +1 -1
- package/ios/stack/header/RNSStackHeaderIconResolver.mm +7 -0
- package/ios/stack/header/RNSStackHeaderItemComponentView.h +3 -1
- package/ios/stack/header/RNSStackHeaderItemComponentView.mm +15 -2
- package/ios/stack/header/RNSStackHeaderItemDataProviding.h +2 -0
- package/ios/stack/header/RNSStackHeaderItemShadowStateProxy.mm +1 -1
- package/ios/stack/header/RNSStackHeaderItemSpacerComponentView.mm +2 -1
- package/ios/stack/header/RNSStackHeaderMenuMapper.mm +4 -0
- package/ios/stack/host/RNSStackNavigationBar.h +25 -0
- package/ios/stack/host/RNSStackNavigationBar.mm +80 -0
- package/ios/stack/host/RNSStackNavigationBarCoordinator.h +8 -0
- package/ios/stack/host/RNSStackNavigationBarCoordinator.mm +11 -0
- package/ios/stack/host/RNSStackNavigationController.mm +13 -5
- package/ios/stack/host/RNSStackOperation.h +0 -2
- package/ios/stack/screen/RNSStackScreenComponentView.mm +9 -2
- package/ios/stack/screen/RNSStackScreenController.mm +12 -0
- package/ios/stack/screen/RNSStackScreenHeaderCoordinator.h +8 -0
- package/ios/stack/screen/RNSStackScreenHeaderCoordinator.mm +98 -16
- package/ios/tabs/RNSTabBarAppearanceCoordinator.mm +40 -9
- package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.h +1 -1
- package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.mm +1 -1
- package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryContentComponentView.mm +1 -1
- package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryEventEmitter.mm +1 -1
- package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryShadowStateProxy.mm +1 -1
- package/ios/tabs/conversion/RNSConversions-Tabs.h +78 -0
- package/ios/{conversion → tabs/conversion}/RNSConversions-Tabs.mm +8 -71
- package/ios/tabs/extensions/RNSTabsHostComponentView+RNSImageLoader.h +1 -1
- package/ios/tabs/host/RNSTabsHostComponentView.h +2 -0
- package/ios/tabs/host/RNSTabsHostComponentView.mm +10 -3
- package/ios/tabs/host/RNSTabsHostEventEmitter.mm +1 -1
- package/ios/tabs/screen/RNSTabsScreenComponentView.mm +20 -5
- package/ios/utils/RNSDefines.h +3 -0
- package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js +34 -19
- package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js.map +1 -1
- package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js +33 -1
- package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
- package/lib/commonjs/components/stack/host/StackHost.js +9 -6
- package/lib/commonjs/components/stack/host/StackHost.js.map +1 -1
- package/lib/commonjs/components/stack/index.js.map +1 -1
- package/lib/commonjs/components/tabs/host/TabsHost.ios.js +1 -0
- package/lib/commonjs/components/tabs/host/TabsHost.ios.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/stack/StackHostNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
- package/lib/module/components/stack/header/StackHeaderConfig.android.js +35 -20
- package/lib/module/components/stack/header/StackHeaderConfig.android.js.map +1 -1
- package/lib/module/components/stack/header/StackHeaderConfig.ios.js +34 -2
- package/lib/module/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
- package/lib/module/components/stack/host/StackHost.js +9 -6
- package/lib/module/components/stack/host/StackHost.js.map +1 -1
- package/lib/module/components/stack/index.js.map +1 -1
- package/lib/module/components/tabs/host/TabsHost.ios.js +1 -0
- package/lib/module/components/tabs/host/TabsHost.ios.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
- package/lib/module/fabric/stack/StackHostNativeComponent.js.map +1 -1
- package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
- package/lib/typescript/components/modals/form-sheet/FormSheet.types.d.ts +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.android.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts +616 -21
- package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts +226 -2
- package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts.map +1 -1
- package/lib/typescript/components/stack/header/StackHeaderConfig.types.d.ts +2 -2
- package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts +2 -0
- package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts.map +1 -1
- package/lib/typescript/components/stack/host/StackHost.d.ts +1 -1
- package/lib/typescript/components/stack/host/StackHost.d.ts.map +1 -1
- package/lib/typescript/components/stack/host/StackHost.types.d.ts +24 -0
- package/lib/typescript/components/stack/host/StackHost.types.d.ts.map +1 -1
- package/lib/typescript/components/stack/index.d.ts +2 -2
- package/lib/typescript/components/stack/index.d.ts.map +1 -1
- package/lib/typescript/components/tabs/host/TabsHost.ios.d.ts.map +1 -1
- package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts +16 -0
- package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts.map +1 -1
- package/lib/typescript/components/tabs/host/TabsHost.types.d.ts +3 -0
- package/lib/typescript/components/tabs/host/TabsHost.types.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts +52 -0
- package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts +25 -1
- package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts +2 -0
- package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts +3 -1
- package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts +1 -0
- package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts.map +1 -1
- package/package.json +8 -7
- package/react-native.config.js +3 -0
- package/src/components/modals/form-sheet/FormSheet.types.ts +1 -1
- package/src/components/stack/header/StackHeaderConfig.android.tsx +48 -23
- package/src/components/stack/header/StackHeaderConfig.android.types.ts +637 -21
- package/src/components/stack/header/StackHeaderConfig.ios.tsx +45 -1
- package/src/components/stack/header/StackHeaderConfig.ios.types.ts +238 -2
- package/src/components/stack/header/StackHeaderConfig.types.ts +2 -2
- package/src/components/stack/header/ios/StackHeaderItem.ios.types.ts +2 -0
- package/src/components/stack/host/StackHost.tsx +4 -2
- package/src/components/stack/host/StackHost.types.ts +26 -0
- package/src/components/stack/index.ts +6 -1
- package/src/components/tabs/host/TabsHost.ios.tsx +1 -0
- package/src/components/tabs/host/TabsHost.ios.types.ts +16 -0
- package/src/components/tabs/host/TabsHost.types.ts +3 -0
- package/src/fabric/stack/StackHeaderConfigAndroidNativeComponent.ts +78 -0
- package/src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts +32 -0
- package/src/fabric/stack/StackHeaderItemIOSNativeComponent.ts +2 -0
- package/src/fabric/stack/StackHostNativeComponent.ts +11 -2
- package/src/fabric/tabs/TabsHostIOSNativeComponent.ts +1 -0
- package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingView.kt +0 -83
- package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingViewManager.kt +0 -89
- package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingViewPointerEvents.kt +0 -18
- package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuSelectionController.kt +0 -83
- package/ios/conversion/RNSConversions-Stack.h +0 -32
- package/ios/conversion/RNSConversions-Stack.mm +0 -41
- package/ios/conversion/always_false.h +0 -31
- /package/ios/{conversion → scroll-view-marker/conversion}/RNSConversions-ScrollViewMarker.h +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package com.swmansion.rnscreens.stack.header.config
|
|
2
2
|
|
|
3
3
|
import android.util.Log
|
|
4
|
+
import android.view.Gravity
|
|
4
5
|
import android.view.View
|
|
5
6
|
import com.facebook.react.bridge.Dynamic
|
|
6
7
|
import com.facebook.react.bridge.JSApplicationIllegalArgumentException
|
|
@@ -99,7 +100,7 @@ internal open class StackHeaderConfigViewManager :
|
|
|
99
100
|
override fun onAfterUpdateTransaction(view: StackHeaderConfig) {
|
|
100
101
|
super.onAfterUpdateTransaction(view)
|
|
101
102
|
view.resolveBackButtonIconIfNeeded()
|
|
102
|
-
view.
|
|
103
|
+
view.resolveOverflowIconIfNeeded()
|
|
103
104
|
}
|
|
104
105
|
|
|
105
106
|
override fun onDropViewInstance(view: StackHeaderConfig) {
|
|
@@ -127,6 +128,310 @@ internal open class StackHeaderConfigViewManager :
|
|
|
127
128
|
view.title = value ?: ""
|
|
128
129
|
}
|
|
129
130
|
|
|
131
|
+
override fun setSubtitle(
|
|
132
|
+
view: StackHeaderConfig,
|
|
133
|
+
value: String?,
|
|
134
|
+
) {
|
|
135
|
+
view.subtitle = value ?: ""
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
override fun setMaxLines(
|
|
139
|
+
view: StackHeaderConfig,
|
|
140
|
+
value: Int,
|
|
141
|
+
) {
|
|
142
|
+
view.maxLines = value.coerceAtLeast(1)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
override fun setTitleCentered(
|
|
146
|
+
view: StackHeaderConfig,
|
|
147
|
+
value: Boolean,
|
|
148
|
+
) {
|
|
149
|
+
view.titleCentered = value
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
override fun setSubtitleCentered(
|
|
153
|
+
view: StackHeaderConfig,
|
|
154
|
+
value: Boolean,
|
|
155
|
+
) {
|
|
156
|
+
view.subtitleCentered = value
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
override fun setExpandedTitleHorizontalGravity(
|
|
160
|
+
view: StackHeaderConfig,
|
|
161
|
+
value: String?,
|
|
162
|
+
) {
|
|
163
|
+
view.expandedTitleHorizontalGravity = parseHorizontalGravity(value)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
override fun setExpandedTitleVerticalGravity(
|
|
167
|
+
view: StackHeaderConfig,
|
|
168
|
+
value: String?,
|
|
169
|
+
) {
|
|
170
|
+
view.expandedTitleVerticalGravity = parseVerticalGravity(value)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
override fun setCollapsedTitleHorizontalGravity(
|
|
174
|
+
view: StackHeaderConfig,
|
|
175
|
+
value: String?,
|
|
176
|
+
) {
|
|
177
|
+
view.collapsedTitleHorizontalGravity = parseHorizontalGravity(value)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
override fun setCollapsedTitleVerticalGravity(
|
|
181
|
+
view: StackHeaderConfig,
|
|
182
|
+
value: String?,
|
|
183
|
+
) {
|
|
184
|
+
view.collapsedTitleVerticalGravity = parseVerticalGravity(value)
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
override fun setCollapsedTitleGravityMode(
|
|
188
|
+
view: StackHeaderConfig,
|
|
189
|
+
value: String?,
|
|
190
|
+
) {
|
|
191
|
+
view.collapsedTitleGravityMode =
|
|
192
|
+
when (value) {
|
|
193
|
+
"entireSpace" -> StackHeaderCollapsedTitleGravityMode.ENTIRE_SPACE
|
|
194
|
+
"availableSpace" -> StackHeaderCollapsedTitleGravityMode.AVAILABLE_SPACE
|
|
195
|
+
else -> throw JSApplicationIllegalArgumentException(
|
|
196
|
+
"[RNScreens] Invalid StackHeaderConfig collapsedTitleGravityMode: $value.",
|
|
197
|
+
)
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// region Header spacing
|
|
202
|
+
// Spacing arrives as a float defaulting to -1 (unset); 0 is a valid, applied value.
|
|
203
|
+
|
|
204
|
+
override fun setContentInsetStart(
|
|
205
|
+
view: StackHeaderConfig,
|
|
206
|
+
value: Float,
|
|
207
|
+
) {
|
|
208
|
+
view.contentInsetStart = value.takeIf { it >= 0f }
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
override fun setContentInsetEnd(
|
|
212
|
+
view: StackHeaderConfig,
|
|
213
|
+
value: Float,
|
|
214
|
+
) {
|
|
215
|
+
view.contentInsetEnd = value.takeIf { it >= 0f }
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// endregion
|
|
219
|
+
|
|
220
|
+
// region Text appearance
|
|
221
|
+
// Font size arrives as a float defaulting to -1 (unset); non-positive means "use default".
|
|
222
|
+
|
|
223
|
+
override fun setTitleColor(
|
|
224
|
+
view: StackHeaderConfig,
|
|
225
|
+
value: Int?,
|
|
226
|
+
) {
|
|
227
|
+
view.titleAppearance.color = value
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
override fun setTitleFontFamily(
|
|
231
|
+
view: StackHeaderConfig,
|
|
232
|
+
value: String?,
|
|
233
|
+
) {
|
|
234
|
+
view.titleAppearance.fontFamily = value
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
override fun setTitleFontSize(
|
|
238
|
+
view: StackHeaderConfig,
|
|
239
|
+
value: Float,
|
|
240
|
+
) {
|
|
241
|
+
view.titleAppearance.fontSize = value.takeIf { it > 0f }
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
override fun setTitleFontWeight(
|
|
245
|
+
view: StackHeaderConfig,
|
|
246
|
+
value: String?,
|
|
247
|
+
) {
|
|
248
|
+
view.titleAppearance.fontWeight = value
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
override fun setTitleFontStyle(
|
|
252
|
+
view: StackHeaderConfig,
|
|
253
|
+
value: String?,
|
|
254
|
+
) {
|
|
255
|
+
view.titleAppearance.fontStyle = value
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
override fun setSubtitleColor(
|
|
259
|
+
view: StackHeaderConfig,
|
|
260
|
+
value: Int?,
|
|
261
|
+
) {
|
|
262
|
+
view.subtitleAppearance.color = value
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
override fun setSubtitleFontFamily(
|
|
266
|
+
view: StackHeaderConfig,
|
|
267
|
+
value: String?,
|
|
268
|
+
) {
|
|
269
|
+
view.subtitleAppearance.fontFamily = value
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
override fun setSubtitleFontSize(
|
|
273
|
+
view: StackHeaderConfig,
|
|
274
|
+
value: Float,
|
|
275
|
+
) {
|
|
276
|
+
view.subtitleAppearance.fontSize = value.takeIf { it > 0f }
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
override fun setSubtitleFontWeight(
|
|
280
|
+
view: StackHeaderConfig,
|
|
281
|
+
value: String?,
|
|
282
|
+
) {
|
|
283
|
+
view.subtitleAppearance.fontWeight = value
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
override fun setSubtitleFontStyle(
|
|
287
|
+
view: StackHeaderConfig,
|
|
288
|
+
value: String?,
|
|
289
|
+
) {
|
|
290
|
+
view.subtitleAppearance.fontStyle = value
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
override fun setExpandedTitleColor(
|
|
294
|
+
view: StackHeaderConfig,
|
|
295
|
+
value: Int?,
|
|
296
|
+
) {
|
|
297
|
+
view.expandedTitleAppearance.color = value
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
override fun setExpandedTitleFontFamily(
|
|
301
|
+
view: StackHeaderConfig,
|
|
302
|
+
value: String?,
|
|
303
|
+
) {
|
|
304
|
+
view.expandedTitleAppearance.fontFamily = value
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
override fun setExpandedTitleFontSize(
|
|
308
|
+
view: StackHeaderConfig,
|
|
309
|
+
value: Float,
|
|
310
|
+
) {
|
|
311
|
+
view.expandedTitleAppearance.fontSize = value.takeIf { it > 0f }
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
override fun setExpandedTitleFontWeight(
|
|
315
|
+
view: StackHeaderConfig,
|
|
316
|
+
value: String?,
|
|
317
|
+
) {
|
|
318
|
+
view.expandedTitleAppearance.fontWeight = value
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
override fun setExpandedTitleFontStyle(
|
|
322
|
+
view: StackHeaderConfig,
|
|
323
|
+
value: String?,
|
|
324
|
+
) {
|
|
325
|
+
view.expandedTitleAppearance.fontStyle = value
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
override fun setCollapsedTitleColor(
|
|
329
|
+
view: StackHeaderConfig,
|
|
330
|
+
value: Int?,
|
|
331
|
+
) {
|
|
332
|
+
view.collapsedTitleAppearance.color = value
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
override fun setCollapsedTitleFontFamily(
|
|
336
|
+
view: StackHeaderConfig,
|
|
337
|
+
value: String?,
|
|
338
|
+
) {
|
|
339
|
+
view.collapsedTitleAppearance.fontFamily = value
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
override fun setCollapsedTitleFontSize(
|
|
343
|
+
view: StackHeaderConfig,
|
|
344
|
+
value: Float,
|
|
345
|
+
) {
|
|
346
|
+
view.collapsedTitleAppearance.fontSize = value.takeIf { it > 0f }
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
override fun setCollapsedTitleFontWeight(
|
|
350
|
+
view: StackHeaderConfig,
|
|
351
|
+
value: String?,
|
|
352
|
+
) {
|
|
353
|
+
view.collapsedTitleAppearance.fontWeight = value
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
override fun setCollapsedTitleFontStyle(
|
|
357
|
+
view: StackHeaderConfig,
|
|
358
|
+
value: String?,
|
|
359
|
+
) {
|
|
360
|
+
view.collapsedTitleAppearance.fontStyle = value
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
override fun setExpandedSubtitleColor(
|
|
364
|
+
view: StackHeaderConfig,
|
|
365
|
+
value: Int?,
|
|
366
|
+
) {
|
|
367
|
+
view.expandedSubtitleAppearance.color = value
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
override fun setExpandedSubtitleFontFamily(
|
|
371
|
+
view: StackHeaderConfig,
|
|
372
|
+
value: String?,
|
|
373
|
+
) {
|
|
374
|
+
view.expandedSubtitleAppearance.fontFamily = value
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
override fun setExpandedSubtitleFontSize(
|
|
378
|
+
view: StackHeaderConfig,
|
|
379
|
+
value: Float,
|
|
380
|
+
) {
|
|
381
|
+
view.expandedSubtitleAppearance.fontSize = value.takeIf { it > 0f }
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
override fun setExpandedSubtitleFontWeight(
|
|
385
|
+
view: StackHeaderConfig,
|
|
386
|
+
value: String?,
|
|
387
|
+
) {
|
|
388
|
+
view.expandedSubtitleAppearance.fontWeight = value
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
override fun setExpandedSubtitleFontStyle(
|
|
392
|
+
view: StackHeaderConfig,
|
|
393
|
+
value: String?,
|
|
394
|
+
) {
|
|
395
|
+
view.expandedSubtitleAppearance.fontStyle = value
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
override fun setCollapsedSubtitleColor(
|
|
399
|
+
view: StackHeaderConfig,
|
|
400
|
+
value: Int?,
|
|
401
|
+
) {
|
|
402
|
+
view.collapsedSubtitleAppearance.color = value
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
override fun setCollapsedSubtitleFontFamily(
|
|
406
|
+
view: StackHeaderConfig,
|
|
407
|
+
value: String?,
|
|
408
|
+
) {
|
|
409
|
+
view.collapsedSubtitleAppearance.fontFamily = value
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
override fun setCollapsedSubtitleFontSize(
|
|
413
|
+
view: StackHeaderConfig,
|
|
414
|
+
value: Float,
|
|
415
|
+
) {
|
|
416
|
+
view.collapsedSubtitleAppearance.fontSize = value.takeIf { it > 0f }
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
override fun setCollapsedSubtitleFontWeight(
|
|
420
|
+
view: StackHeaderConfig,
|
|
421
|
+
value: String?,
|
|
422
|
+
) {
|
|
423
|
+
view.collapsedSubtitleAppearance.fontWeight = value
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
override fun setCollapsedSubtitleFontStyle(
|
|
427
|
+
view: StackHeaderConfig,
|
|
428
|
+
value: String?,
|
|
429
|
+
) {
|
|
430
|
+
view.collapsedSubtitleAppearance.fontStyle = value
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
// endregion
|
|
434
|
+
|
|
130
435
|
override fun setHidden(
|
|
131
436
|
view: StackHeaderConfig,
|
|
132
437
|
value: Boolean,
|
|
@@ -183,6 +488,41 @@ internal open class StackHeaderConfigViewManager :
|
|
|
183
488
|
view.backButtonImageIconUri = value?.getString("uri")
|
|
184
489
|
}
|
|
185
490
|
|
|
491
|
+
override fun setOverflowIconTintColorNormal(
|
|
492
|
+
view: StackHeaderConfig,
|
|
493
|
+
value: Int?,
|
|
494
|
+
) {
|
|
495
|
+
view.overflowIconTintColorNormal = value
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
override fun setOverflowIconTintColorPressed(
|
|
499
|
+
view: StackHeaderConfig,
|
|
500
|
+
value: Int?,
|
|
501
|
+
) {
|
|
502
|
+
view.overflowIconTintColorPressed = value
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
override fun setOverflowIconTintColorFocused(
|
|
506
|
+
view: StackHeaderConfig,
|
|
507
|
+
value: Int?,
|
|
508
|
+
) {
|
|
509
|
+
view.overflowIconTintColorFocused = value
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
override fun setOverflowIconDrawableIconResourceName(
|
|
513
|
+
view: StackHeaderConfig,
|
|
514
|
+
value: String?,
|
|
515
|
+
) {
|
|
516
|
+
view.overflowIconDrawableIconResourceName = value
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
override fun setOverflowIconImageIconResource(
|
|
520
|
+
view: StackHeaderConfig,
|
|
521
|
+
value: ReadableMap?,
|
|
522
|
+
) {
|
|
523
|
+
view.overflowIconImageIconUri = value?.getString("uri")
|
|
524
|
+
}
|
|
525
|
+
|
|
186
526
|
override fun setScrollFlagScroll(
|
|
187
527
|
view: StackHeaderConfig,
|
|
188
528
|
value: Boolean,
|
|
@@ -225,20 +565,39 @@ internal open class StackHeaderConfigViewManager :
|
|
|
225
565
|
view.liftOnScroll = value
|
|
226
566
|
}
|
|
227
567
|
|
|
568
|
+
override fun setBackgroundColor(
|
|
569
|
+
view: StackHeaderConfig,
|
|
570
|
+
value: Int?,
|
|
571
|
+
) {
|
|
572
|
+
view.backgroundColor = value
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
override fun setScrolledBackgroundColor(
|
|
576
|
+
view: StackHeaderConfig,
|
|
577
|
+
value: Int?,
|
|
578
|
+
) {
|
|
579
|
+
view.scrolledBackgroundColor = value
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
override fun setStatusBarScrimColor(
|
|
583
|
+
view: StackHeaderConfig,
|
|
584
|
+
value: Int?,
|
|
585
|
+
) {
|
|
586
|
+
view.statusBarScrimColor = value
|
|
587
|
+
}
|
|
588
|
+
|
|
228
589
|
override fun setToolbarMenuGroupDividerEnabled(
|
|
229
590
|
view: StackHeaderConfig,
|
|
230
591
|
value: Boolean,
|
|
231
592
|
) {
|
|
232
|
-
view.
|
|
593
|
+
view.setToolbarMenuGroupDividerEnabledFromProps(value)
|
|
233
594
|
}
|
|
234
595
|
|
|
235
596
|
override fun setToolbarMenu(
|
|
236
597
|
view: StackHeaderConfig,
|
|
237
598
|
value: Dynamic,
|
|
238
599
|
) {
|
|
239
|
-
|
|
240
|
-
view.toolbarMenu = menu
|
|
241
|
-
view.toolbarMenuItemIconSourceMap = iconSources
|
|
600
|
+
view.setToolbarMenuFromProps(StackHeaderToolbarMenuMapper.parseMenu(view.context, value))
|
|
242
601
|
}
|
|
243
602
|
|
|
244
603
|
override fun updateToolbarMenuElements(
|
|
@@ -257,17 +616,31 @@ internal open class StackHeaderConfigViewManager :
|
|
|
257
616
|
Log.w(TAG, "[RNScreens] Skipping toolbar menu update at index $i: missing 'id'.")
|
|
258
617
|
continue
|
|
259
618
|
}
|
|
260
|
-
parsed.add(
|
|
261
|
-
StackHeaderToolbarMenuElementRawUpdate(
|
|
262
|
-
id,
|
|
263
|
-
StackHeaderToolbarMenuMapper.parseMenuElementOptions(view.context, map),
|
|
264
|
-
StackHeaderToolbarMenuMapper.parseMenuElementIconSource(map),
|
|
265
|
-
),
|
|
266
|
-
)
|
|
619
|
+
parsed.add(StackHeaderToolbarMenuMapper.parseElementRawUpdate(view.context, id, map))
|
|
267
620
|
}
|
|
268
621
|
view.dispatchMenuElementUpdates(parsed)
|
|
269
622
|
}
|
|
270
623
|
|
|
624
|
+
private fun parseHorizontalGravity(value: String?): Int =
|
|
625
|
+
when (value) {
|
|
626
|
+
"start" -> Gravity.START
|
|
627
|
+
"center" -> Gravity.CENTER_HORIZONTAL
|
|
628
|
+
"end" -> Gravity.END
|
|
629
|
+
else -> throw JSApplicationIllegalArgumentException(
|
|
630
|
+
"[RNScreens] Invalid StackHeaderConfig title horizontal gravity: $value.",
|
|
631
|
+
)
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
private fun parseVerticalGravity(value: String?): Int =
|
|
635
|
+
when (value) {
|
|
636
|
+
"top" -> Gravity.TOP
|
|
637
|
+
"center" -> Gravity.CENTER_VERTICAL
|
|
638
|
+
"bottom" -> Gravity.BOTTOM
|
|
639
|
+
else -> throw JSApplicationIllegalArgumentException(
|
|
640
|
+
"[RNScreens] Invalid StackHeaderConfig title vertical gravity: $value.",
|
|
641
|
+
)
|
|
642
|
+
}
|
|
643
|
+
|
|
271
644
|
companion object {
|
|
272
645
|
private const val TAG = "StackHeaderConfigViewManager"
|
|
273
646
|
const val REACT_CLASS = "RNSStackHeaderConfigAndroid"
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
package com.swmansion.rnscreens.stack.header.config
|
|
2
2
|
|
|
3
|
-
import com.swmansion.rnscreens.stack.header.toolbar.update.StackHeaderToolbarMenuElementUpdate
|
|
4
|
-
|
|
5
3
|
internal interface StackHeaderConfigurationObserver {
|
|
6
4
|
fun onConfigChanged(config: StackHeaderConfigurationProviding)
|
|
7
|
-
|
|
8
|
-
fun onMenuElementsUpdated(updates: List<StackHeaderToolbarMenuElementUpdate>)
|
|
9
5
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
package com.swmansion.rnscreens.stack.header.config
|
|
2
2
|
|
|
3
3
|
import android.graphics.drawable.Drawable
|
|
4
|
+
import com.swmansion.rnscreens.common.text.TextAppearance
|
|
4
5
|
import com.swmansion.rnscreens.stack.header.subview.StackHeaderSubviewProviding
|
|
5
|
-
import com.swmansion.rnscreens.stack.header.toolbar.
|
|
6
|
+
import com.swmansion.rnscreens.stack.header.toolbar.StackHeaderToolbarMenuController
|
|
6
7
|
|
|
7
8
|
internal interface StackHeaderConfigurationProviding {
|
|
8
9
|
val type: StackHeaderType
|
|
9
10
|
val title: String
|
|
11
|
+
val subtitle: String
|
|
12
|
+
val maxLines: Int
|
|
10
13
|
val hidden: Boolean
|
|
11
14
|
val transparent: Boolean
|
|
12
15
|
val backButtonHidden: Boolean
|
|
@@ -14,18 +17,44 @@ internal interface StackHeaderConfigurationProviding {
|
|
|
14
17
|
val backButtonTintColorPressed: Int?
|
|
15
18
|
val backButtonTintColorFocused: Int?
|
|
16
19
|
val backButtonIcon: Drawable?
|
|
20
|
+
val overflowIconTintColorNormal: Int?
|
|
21
|
+
val overflowIconTintColorPressed: Int?
|
|
22
|
+
val overflowIconTintColorFocused: Int?
|
|
23
|
+
val overflowIcon: Drawable?
|
|
17
24
|
val scrollFlagScroll: Boolean
|
|
18
25
|
val scrollFlagEnterAlways: Boolean
|
|
19
26
|
val scrollFlagEnterAlwaysCollapsed: Boolean
|
|
20
27
|
val scrollFlagExitUntilCollapsed: Boolean
|
|
21
28
|
val scrollFlagSnap: Boolean
|
|
22
29
|
val liftOnScroll: Boolean
|
|
30
|
+
val backgroundColor: Int?
|
|
31
|
+
val scrolledBackgroundColor: Int?
|
|
32
|
+
val statusBarScrimColor: Int?
|
|
23
33
|
val leadingSubview: StackHeaderSubviewProviding?
|
|
24
34
|
val centerSubview: StackHeaderSubviewProviding?
|
|
25
35
|
val trailingSubview: StackHeaderSubviewProviding?
|
|
26
36
|
val backgroundSubview: StackHeaderSubviewProviding?
|
|
27
|
-
val
|
|
28
|
-
|
|
37
|
+
val toolbarMenuController: StackHeaderToolbarMenuController
|
|
38
|
+
|
|
39
|
+
val titleCentered: Boolean
|
|
40
|
+
val subtitleCentered: Boolean
|
|
41
|
+
val expandedTitleHorizontalGravity: Int
|
|
42
|
+
val expandedTitleVerticalGravity: Int
|
|
43
|
+
val collapsedTitleHorizontalGravity: Int
|
|
44
|
+
val collapsedTitleVerticalGravity: Int
|
|
45
|
+
val collapsedTitleGravityMode: StackHeaderCollapsedTitleGravityMode
|
|
46
|
+
|
|
47
|
+
val contentInsetStart: Float?
|
|
48
|
+
val contentInsetEnd: Float?
|
|
49
|
+
|
|
50
|
+
val titleAppearance: TextAppearance
|
|
51
|
+
val subtitleAppearance: TextAppearance
|
|
52
|
+
|
|
53
|
+
val expandedTitleAppearance: TextAppearance
|
|
54
|
+
val collapsedTitleAppearance: TextAppearance
|
|
55
|
+
val expandedSubtitleAppearance: TextAppearance
|
|
56
|
+
val collapsedSubtitleAppearance: TextAppearance
|
|
57
|
+
|
|
29
58
|
val isRTL: Boolean
|
|
30
59
|
|
|
31
60
|
val invalidationFlags: StackHeaderInvalidationFlags
|
package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderDelegate.kt
CHANGED
|
@@ -9,13 +9,6 @@ internal interface StackHeaderDelegate {
|
|
|
9
9
|
contentOffsetY: Int,
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
-
fun onMenuItemClicked(id: String)
|
|
13
|
-
|
|
14
|
-
fun onGroupSelectionChanged(
|
|
15
|
-
groupId: String,
|
|
16
|
-
selectedIds: List<String>,
|
|
17
|
-
)
|
|
18
|
-
|
|
19
12
|
fun onSubviewOriginChanged(
|
|
20
13
|
type: StackHeaderSubviewType,
|
|
21
14
|
x: Int,
|
|
@@ -13,8 +13,13 @@ internal value class StackHeaderInvalidationFlags(
|
|
|
13
13
|
val SCROLL_FLAGS = StackHeaderInvalidationFlags(1 shl 4)
|
|
14
14
|
val TOOLBAR_MENU = StackHeaderInvalidationFlags(1 shl 5)
|
|
15
15
|
val LIFT_ON_SCROLL = StackHeaderInvalidationFlags(1 shl 6)
|
|
16
|
-
|
|
17
|
-
val
|
|
16
|
+
val OVERFLOW_ICON = StackHeaderInvalidationFlags(1 shl 7)
|
|
17
|
+
val TITLE_POSITIONING = StackHeaderInvalidationFlags(1 shl 8)
|
|
18
|
+
val TITLE_APPEARANCE = StackHeaderInvalidationFlags(1 shl 9)
|
|
19
|
+
val CONTENT_INSETS = StackHeaderInvalidationFlags(1 shl 10)
|
|
20
|
+
val BACKGROUND_COLORS = StackHeaderInvalidationFlags(1 shl 11)
|
|
21
|
+
val APPEARANCE =
|
|
22
|
+
TITLE or BACK_BUTTON or OVERFLOW_ICON or TITLE_POSITIONING or TITLE_APPEARANCE or CONTENT_INSETS or BACKGROUND_COLORS
|
|
18
23
|
val ALL = STRUCTURE or SUBVIEWS or APPEARANCE or SCROLL_FLAGS or TOOLBAR_MENU or LIFT_ON_SCROLL
|
|
19
24
|
}
|
|
20
25
|
|