| 
				
			 | 
			
			
				@@ -31,7 +31,8 @@ function startTabBasedApp(params) { 
			 | 
		
	
		
			
			| 
				31
			 | 
			
				31
			 | 
			
			
				       navigatorButtons, 
			 | 
		
	
		
			
			| 
				32
			 | 
			
				32
			 | 
			
			
				       navigatorEventID 
			 | 
		
	
		
			
			| 
				33
			 | 
			
				33
			 | 
			
			
				     } = _mergeScreenSpecificSettings(tab.screen, screenInstanceID, tab); 
			 | 
		
	
		
			
			| 
				34
			 | 
			
				
			 | 
			
			
				-    _processNavigatorButtons(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				34
			 | 
			
			
				+    _saveNavigatorButtonsProps(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				35
			 | 
			
			
				+    _saveNavBarComponentProps(navigatorStyle); 
			 | 
		
	
		
			
			| 
				35
			 | 
			
				36
			 | 
			
			
				     tab.navigationParams = { 
			 | 
		
	
		
			
			| 
				36
			 | 
			
				37
			 | 
			
			
				       screenInstanceID, 
			 | 
		
	
		
			
			| 
				37
			 | 
			
				38
			 | 
			
			
				       navigatorStyle, 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -139,7 +140,8 @@ function startSingleScreenApp(params) { 
			 | 
		
	
		
			
			| 
				139
			 | 
			
				140
			 | 
			
			
				     navigatorButtons, 
			 | 
		
	
		
			
			| 
				140
			 | 
			
				141
			 | 
			
			
				     navigatorEventID 
			 | 
		
	
		
			
			| 
				141
			 | 
			
				142
			 | 
			
			
				   } = _mergeScreenSpecificSettings(screen.screen, screenInstanceID, screen); 
			 | 
		
	
		
			
			| 
				142
			 | 
			
				
			 | 
			
			
				-  _processNavigatorButtons(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				143
			 | 
			
			
				+  _saveNavigatorButtonsProps(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				144
			 | 
			
			
				+  _saveNavBarComponentProps(navigatorStyle); 
			 | 
		
	
		
			
			| 
				143
			 | 
			
				145
			 | 
			
			
				   params.navigationParams = { 
			 | 
		
	
		
			
			| 
				144
			 | 
			
				146
			 | 
			
			
				     screenInstanceID, 
			 | 
		
	
		
			
			| 
				145
			 | 
			
				147
			 | 
			
			
				     navigatorStyle, 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -238,7 +240,8 @@ function navigatorPush(navigator, params) { 
			 | 
		
	
		
			
			| 
				238
			 | 
			
				240
			 | 
			
			
				     navigatorButtons, 
			 | 
		
	
		
			
			| 
				239
			 | 
			
				241
			 | 
			
			
				     navigatorEventID 
			 | 
		
	
		
			
			| 
				240
			 | 
			
				242
			 | 
			
			
				   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); 
			 | 
		
	
		
			
			| 
				241
			 | 
			
				
			 | 
			
			
				-  _processNavigatorButtons(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				243
			 | 
			
			
				+  _saveNavigatorButtonsProps(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				244
			 | 
			
			
				+  _saveNavBarComponentProps(navigatorStyle); 
			 | 
		
	
		
			
			| 
				242
			 | 
			
				245
			 | 
			
			
				   const passProps = Object.assign({}, params.passProps); 
			 | 
		
	
		
			
			| 
				243
			 | 
			
				246
			 | 
			
			
				   passProps.navigatorID = navigator.navigatorID; 
			 | 
		
	
		
			
			| 
				244
			 | 
			
				247
			 | 
			
			
				   passProps.screenInstanceID = screenInstanceID; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -297,7 +300,8 @@ function navigatorResetTo(navigator, params) { 
			 | 
		
	
		
			
			| 
				297
			 | 
			
				300
			 | 
			
			
				     navigatorButtons, 
			 | 
		
	
		
			
			| 
				298
			 | 
			
				301
			 | 
			
			
				     navigatorEventID 
			 | 
		
	
		
			
			| 
				299
			 | 
			
				302
			 | 
			
			
				   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); 
			 | 
		
	
		
			
			| 
				300
			 | 
			
				
			 | 
			
			
				-  _processNavigatorButtons(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				303
			 | 
			
			
				+  _saveNavigatorButtonsProps(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				304
			 | 
			
			
				+  _saveNavBarComponentProps(navigatorStyle); 
			 | 
		
	
		
			
			| 
				301
			 | 
			
				305
			 | 
			
			
				   const passProps = Object.assign({}, params.passProps); 
			 | 
		
	
		
			
			| 
				302
			 | 
			
				306
			 | 
			
			
				   passProps.navigatorID = navigator.navigatorID; 
			 | 
		
	
		
			
			| 
				303
			 | 
			
				307
			 | 
			
			
				   passProps.screenInstanceID = screenInstanceID; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -366,6 +370,7 @@ function navigatorToggleNavBar(navigator, params) { 
			 | 
		
	
		
			
			| 
				366
			 | 
			
				370
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				367
			 | 
			
				371
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				368
			 | 
			
				372
			 | 
			
			
				 function navigatorSetStyle(navigator, params) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				373
			 | 
			
			
				+  _saveNavBarComponentProps(params); 
			 | 
		
	
		
			
			| 
				369
			 | 
			
				374
			 | 
			
			
				   Controllers.NavigationControllerIOS(navigator.navigatorID).setStyle(params) 
			 | 
		
	
		
			
			| 
				370
			 | 
			
				375
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				371
			 | 
			
				376
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -447,7 +452,7 @@ function navigatorSwitchToTab(navigator, params) { 
			 | 
		
	
		
			
			| 
				447
			 | 
			
				452
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				448
			 | 
			
				453
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				449
			 | 
			
				454
			 | 
			
			
				 function navigatorSetButtons(navigator, navigatorEventID, params) { 
			 | 
		
	
		
			
			| 
				450
			 | 
			
				
			 | 
			
			
				-  _processNavigatorButtons(params); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				455
			 | 
			
			
				+  _saveNavigatorButtonsProps(params); 
			 | 
		
	
		
			
			| 
				451
			 | 
			
				456
			 | 
			
			
				   if (params.leftButtons) { 
			 | 
		
	
		
			
			| 
				452
			 | 
			
				457
			 | 
			
			
				     const buttons = params.leftButtons.slice(); // clone 
			 | 
		
	
		
			
			| 
				453
			 | 
			
				458
			 | 
			
			
				     for (let i = 0; i < buttons.length; i++) { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -477,7 +482,8 @@ function showModal(params) { 
			 | 
		
	
		
			
			| 
				477
			 | 
			
				482
			 | 
			
			
				     navigatorButtons, 
			 | 
		
	
		
			
			| 
				478
			 | 
			
				483
			 | 
			
			
				     navigatorEventID 
			 | 
		
	
		
			
			| 
				479
			 | 
			
				484
			 | 
			
			
				   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); 
			 | 
		
	
		
			
			| 
				480
			 | 
			
				
			 | 
			
			
				-  _processNavigatorButtons(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				485
			 | 
			
			
				+  _saveNavigatorButtonsProps(navigatorButtons); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				486
			 | 
			
			
				+  _saveNavBarComponentProps(navigatorStyle); 
			 | 
		
	
		
			
			| 
				481
			 | 
			
				487
			 | 
			
			
				   const passProps = Object.assign({}, params.passProps); 
			 | 
		
	
		
			
			| 
				482
			 | 
			
				488
			 | 
			
			
				   passProps.navigatorID = navigatorID; 
			 | 
		
	
		
			
			| 
				483
			 | 
			
				489
			 | 
			
			
				   passProps.screenInstanceID = screenInstanceID; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -646,7 +652,15 @@ async function getCurrentlyVisibleScreenId() { 
			 | 
		
	
		
			
			| 
				646
			 | 
			
				652
			 | 
			
			
				   return await ScreenUtils.getCurrentlyVisibleScreenId(); 
			 | 
		
	
		
			
			| 
				647
			 | 
			
				653
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				648
			 | 
			
				654
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				649
			 | 
			
				
			 | 
			
			
				-function _processNavigatorButtons({rightButtons, leftButtons}) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				655
			 | 
			
			
				+function _saveNavBarComponentProps(navigatorStyle) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				656
			 | 
			
			
				+  if (navigatorStyle.navBarCustomViewInitialProps) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				657
			 | 
			
			
				+    const passPropsKey = _.uniqueId('navBarComponent'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				658
			 | 
			
			
				+    PropRegistry.save(passPropsKey, navigatorStyle.navBarCustomViewInitialProps); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				659
			 | 
			
			
				+    navigatorStyle.navBarCustomViewInitialProps = {passPropsKey}; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				660
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				661
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				662
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				663
			 | 
			
			
				+function _saveNavigatorButtonsProps({rightButtons, leftButtons}) { 
			 | 
		
	
		
			
			| 
				650
			 | 
			
				664
			 | 
			
			
				   _saveNavigatorButtonsPassProps(rightButtons); 
			 | 
		
	
		
			
			| 
				651
			 | 
			
				665
			 | 
			
			
				   _saveNavigatorButtonsPassProps(leftButtons); 
			 | 
		
	
		
			
			| 
				652
			 | 
			
				666
			 | 
			
			
				 } 
			 |