| 
				
			 | 
			
			
				@@ -54,26 +54,22 @@ const updateSizeWithMessage = (element, scalesPageToFit) => 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				54
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				55
			 | 
			
				55
			 | 
			
			
				   `; 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				56
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				57
			 | 
			
				
			 | 
			
			
				-// add viewport setting to meta 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				
			 | 
			
			
				-const makeScalePageToFit = (zoomable, scalesPageToFit) => 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				
			 | 
			
			
				-  scalesPageToFit || Platform.OS === 'android' 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				
			 | 
			
			
				-    ? '' 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				
			 | 
			
			
				-    : ` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				57
			 | 
			
			
				+const disableZoom = ` 
			 | 
		
	
		
			
			| 
				62
			 | 
			
				58
			 | 
			
			
				   var meta = document.createElement("meta"); 
			 | 
		
	
		
			
			| 
				63
			 | 
			
				59
			 | 
			
			
				   meta.setAttribute("name", "viewport"); 
			 | 
		
	
		
			
			| 
				64
			 | 
			
				
			 | 
			
			
				-  meta.setAttribute("content", "width=device-width, user-scalable=${zoomable ? 'yes' : 'no'}"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+  meta.setAttribute("content", "width=device-width, user-scalable=no"); 
			 | 
		
	
		
			
			| 
				65
			 | 
			
				61
			 | 
			
			
				   document.getElementsByTagName("head")[0].appendChild(meta); 
			 | 
		
	
		
			
			| 
				66
			 | 
			
				62
			 | 
			
			
				 `; 
			 | 
		
	
		
			
			| 
				67
			 | 
			
				63
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				68
			 | 
			
				64
			 | 
			
			
				 const detectZoomChanged = ` 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				
			 | 
			
			
				-  var zoomin = false; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+  var zoomedin = false; 
			 | 
		
	
		
			
			| 
				70
			 | 
			
				66
			 | 
			
			
				   var latestTapStamp = 0; 
			 | 
		
	
		
			
			| 
				71
			 | 
			
				67
			 | 
			
			
				   var lastScale = false; 
			 | 
		
	
		
			
			| 
				72
			 | 
			
				68
			 | 
			
			
				   var doubleTapDelay = 400; 
			 | 
		
	
		
			
			| 
				73
			 | 
			
				69
			 | 
			
			
				   function detectZoomChanged() { 
			 | 
		
	
		
			
			| 
				74
			 | 
			
				
			 | 
			
			
				-    var tempZoomin = (screen.width / window.innerWidth) > 1; 
			 | 
		
	
		
			
			| 
				75
			 | 
			
				
			 | 
			
			
				-    tempZoomin !== zoomin && window.ReactNativeWebView.postMessage(JSON.stringify({ zoomin: tempZoomin })); 
			 | 
		
	
		
			
			| 
				76
			 | 
			
				
			 | 
			
			
				-    zoomin = tempZoomin; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+    var tempZoomedin = (screen.width / window.innerWidth) > 1; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+    tempZoomedin !== zoomedin && window.ReactNativeWebView.postMessage(JSON.stringify({ zoomedin: tempZoomedin })); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+    zoomedin = tempZoomedin; 
			 | 
		
	
		
			
			| 
				77
			 | 
			
				73
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				78
			 | 
			
				74
			 | 
			
			
				   window.addEventListener('touchend', event => { 
			 | 
		
	
		
			
			| 
				79
			 | 
			
				75
			 | 
			
			
				     var tempScale = event.scale;  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -82,16 +78,16 @@ const detectZoomChanged = ` 
			 | 
		
	
		
			
			| 
				82
			 | 
			
				78
			 | 
			
			
				     var timeSince = new Date().getTime() - latestTapStamp; 
			 | 
		
	
		
			
			| 
				83
			 | 
			
				79
			 | 
			
			
				     // double tap    
			 | 
		
	
		
			
			| 
				84
			 | 
			
				80
			 | 
			
			
				     if(timeSince < 600 && timeSince > 0) { 
			 | 
		
	
		
			
			| 
				85
			 | 
			
				
			 | 
			
			
				-      zoominTimeOut = setTimeout(() => { 
			 | 
		
	
		
			
			| 
				86
			 | 
			
				
			 | 
			
			
				-        clearTimeout(zoominTimeOut); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+      zoomedinTimeOut = setTimeout(() => { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+        clearTimeout(zoomedinTimeOut); 
			 | 
		
	
		
			
			| 
				87
			 | 
			
				83
			 | 
			
			
				         detectZoomChanged(); 
			 | 
		
	
		
			
			| 
				88
			 | 
			
				84
			 | 
			
			
				       }, doubleTapDelay); 
			 | 
		
	
		
			
			| 
				89
			 | 
			
				85
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				90
			 | 
			
				86
			 | 
			
			
				     latestTapStamp = new Date().getTime(); 
			 | 
		
	
		
			
			| 
				91
			 | 
			
				87
			 | 
			
			
				   }); 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				
			 | 
			
			
				-` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+`; 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				89
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				94
			 | 
			
				
			 | 
			
			
				-const getBaseScript = ({ style, zoomable, scalesPageToFit, scrollEnabledWithZoomedin }) => 
			 | 
		
	
		
			
			| 
				
			 | 
			
				90
			 | 
			
			
				+const getBaseScript = ({ style, zoomDisabled, scalesPageToFit, scrollEnabledWithZoomedin }) => 
			 | 
		
	
		
			
			| 
				95
			 | 
			
				91
			 | 
			
			
				   ` 
			 | 
		
	
		
			
			| 
				96
			 | 
			
				92
			 | 
			
			
				   ; 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				93
			 | 
			
			
				   if (!document.getElementById("rnahw-wrapper")) { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -106,8 +102,8 @@ const getBaseScript = ({ style, zoomable, scalesPageToFit, scrollEnabledWithZoom 
			 | 
		
	
		
			
			| 
				106
			 | 
			
				102
			 | 
			
			
				   window.addEventListener('load', updateSize); 
			 | 
		
	
		
			
			| 
				107
			 | 
			
				103
			 | 
			
			
				   window.addEventListener('resize', updateSize); 
			 | 
		
	
		
			
			| 
				108
			 | 
			
				104
			 | 
			
			
				   ${domMutationObserveScript} 
			 | 
		
	
		
			
			| 
				109
			 | 
			
				
			 | 
			
			
				-  ${makeScalePageToFit(zoomable, scalesPageToFit)} 
			 | 
		
	
		
			
			| 
				110
			 | 
			
				
			 | 
			
			
				-  ${scrollEnabledWithZoomedin ? detectZoomChanged : ''} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+  ${zoomDisabled ? disableZoom : ''} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+  ${!zoomDisabled && scrollEnabledWithZoomedin ? detectZoomChanged : ''} 
			 | 
		
	
		
			
			| 
				111
			 | 
			
				107
			 | 
			
			
				   updateSize(); 
			 | 
		
	
		
			
			| 
				112
			 | 
			
				108
			 | 
			
			
				   `; 
			 | 
		
	
		
			
			| 
				113
			 | 
			
				109
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -155,8 +151,16 @@ const getInjectedSource = ({ html, script }) => ` 
			 | 
		
	
		
			
			| 
				155
			 | 
			
				151
			 | 
			
			
				   </script> 
			 | 
		
	
		
			
			| 
				156
			 | 
			
				152
			 | 
			
			
				 `; 
			 | 
		
	
		
			
			| 
				157
			 | 
			
				153
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				158
			 | 
			
				
			 | 
			
			
				-const getScript = ({ files, customStyle, customScript, style, zoomable, scalesPageToFit, scrollEnabledWithZoomedin }) => { 
			 | 
		
	
		
			
			| 
				159
			 | 
			
				
			 | 
			
			
				-  let script = getBaseScript({ style, zoomable, scalesPageToFit, scrollEnabledWithZoomedin }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				154
			 | 
			
			
				+const getScript = ({ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				155
			 | 
			
			
				+  files, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				156
			 | 
			
			
				+  customStyle, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				157
			 | 
			
			
				+  customScript, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				158
			 | 
			
			
				+  style, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				159
			 | 
			
			
				+  zoomDisabled, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				160
			 | 
			
			
				+  scalesPageToFit, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				161
			 | 
			
			
				+  scrollEnabledWithZoomedin 
			 | 
		
	
		
			
			| 
				
			 | 
			
				162
			 | 
			
			
				+}) => { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				163
			 | 
			
			
				+  let script = getBaseScript({ style, zoomDisabled, scalesPageToFit, scrollEnabledWithZoomedin }); 
			 | 
		
	
		
			
			| 
				160
			 | 
			
				164
			 | 
			
			
				   script = files && files.length > 0 ? appendFilesToHead({ files, script }) : script; 
			 | 
		
	
		
			
			| 
				161
			 | 
			
				165
			 | 
			
			
				   script = appendStylesToHead({ style: customStyle, script }); 
			 | 
		
	
		
			
			| 
				162
			 | 
			
				166
			 | 
			
			
				   customScript && (script = customScript + script); 
			 |