/**
@license
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at
http://polymer.github.io/LICENSE.txt The complete set of authors may be found at
http://polymer.github.io/AUTHORS.txt The complete set of contributors may be
found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as
part of the polymer project is also subject to an additional IP rights grant
found at http://polymer.github.io/PATENTS.txt
*/
import"../app-scroll-effects-behavior.js";import{ElementWithBackground as t,registerEffect as e}from"../../helpers/helpers.js";e("resize-title",{setUp:function setUp(){var t=this._getDOMRef("mainTitle"),e=this._getDOMRef("condensedTitle");if(!e)return console.warn("Scroll effect `resize-title`: undefined `condensed-title`"),!1;if(!t)return console.warn("Scroll effect `resize-title`: undefined `main-title`"),!1;e.style.willChange="opacity",e.style.webkitTransform="translateZ(0)",e.style.transform="translateZ(0)",e.style.webkitTransformOrigin="left top",e.style.transformOrigin="left top",t.style.willChange="opacity",t.style.webkitTransformOrigin="left top",t.style.transformOrigin="left top",t.style.webkitTransform="translateZ(0)",t.style.transform="translateZ(0)";var i=t.getBoundingClientRect(),n=e.getBoundingClientRect(),l={};l.scale=parseInt(window.getComputedStyle(e)["font-size"],10)/parseInt(window.getComputedStyle(t)["font-size"],10),l.titleDX=i.left-n.left,l.titleDY=i.top-n.top,l.condensedTitle=e,l.title=t,this._fxResizeTitle=l},run:function run(t,e){var i=this._fxResizeTitle;this.condenses||(e=0),t>=1?(i.title.style.opacity=0,i.condensedTitle.style.opacity=1):(i.title.style.opacity=1,i.condensedTitle.style.opacity=0),function interpolate(t,e,i,n){i.apply(n,e.map((function(e){return e[0]+(e[1]-e[0])*t})))}(Math.min(1,t),[[1,i.scale],[0,-i.titleDX],[e,e-i.titleDY]],(function(t,e,n){this.transform("translate("+e+"px, "+n+"px) scale3d("+t+", "+t+", 1)",i.title)}),this)},tearDown:function tearDown(){delete this._fxResizeTitle}});