 		# If any of the Observer options change, re-init.
 		inViewportRootMargin: -> @reInitInViewportMixin()
 		inViewportRoot: -> @reInitInViewportMixin()
-		inViewportThresholdWithMax: (now, old) -> 
-			
+		inViewportThresholdWithMax: (now, old) ->
+
 			# In IE, this is kept getting retriggered, to doing a manual comparison
 			# of old and new before deciding whether to take action.
 			@reInitInViewportMixin() unless now.toString() == old.toString()


		# The IntersectionObserver threshold defines the intersection ratios that
		# fire the observer callback
		inViewportThreshold: 
			type: Number|Array
			default: -> [0, 1] # Fire on enter/leave and fully enter/leave
		
	# Bindings that are used by the host component
	data: -> inViewport:


				boundingClientRect: target,
				rootBounds: root
			}]) ->

			# Get the maximum threshold ratio, which is less than 1 when the
			# element is taller than the viewport.
			@inViewport.maxThreshold = Math.min 1, root.height / target.height

			# Check if some part of the target is in the root box.  The isIntersecting
			# property from the IntersectionObserver was not used because it reports
			# the case where a box is immediately offscreen as intersecting, even
