4.6 sec in total
801 ms
2.8 sec
987 ms
Welcome to new.effcreative.com homepage info - get ready to check New Eff Creative best content for United States right away, or after learning these important things about new.effcreative.com
Visit new.effcreative.comWe analyzed New.effcreative.com page load time and found that the first response time was 801 ms and then it took 3.8 sec to load all DOM resources and completely render a web page. This is a poor result, as 60% of websites can load faster.
new.effcreative.com performance score
801 ms
191 ms
70 ms
65 ms
68 ms
Our browser made a total of 150 requests to load all elements on the main page. We found that 2% of them (3 requests) were addressed to the original New.effcreative.com, 45% (68 requests) were made to Effstaging.effcreative.netdna-cdn.com and 17% (26 requests) were made to . The less responsive or slowest element that took the longest time to load (1.2 sec) relates to the external source Effstaging.effcreative.netdna-cdn.com.
Page size can be reduced by 1.2 MB (41%)
2.9 MB
1.7 MB
In fact, the total size of New.effcreative.com main page is 2.9 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 80% of websites need less resources to load and that’s why Accessify’s recommendations for optimization and resource minification can be helpful for this project. Images take 1.4 MB which makes up the majority of the site volume.
Potential reduce by 103.8 kB
HTML content can be minified and compressed by a website’s server. The most efficient way is to compress content using GZIP which reduces data amount travelling through the network between server and browser. HTML code on this page is well minified. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 103.8 kB or 84% of the original size.
Potential reduce by 52.4 kB
Image size optimization can help to speed up a website loading time. The chart above shows the difference between the size before and after optimization. New Eff Creative images are well optimized though.
Potential reduce by 691.5 kB
It’s better to minify JavaScript in order to improve website performance. The diagram shows the current total size of all JavaScript files against the prospective JavaScript size after its minification and compression. It is highly recommended that all JavaScript files should be compressed and minified as it can save up to 691.5 kB or 67% of the original size.
Potential reduce by 353.0 kB
CSS files minification is very important to reduce a web page rendering time. The faster CSS files can load, the earlier a page can be rendered. New.effcreative.com needs all CSS files to be minified and compressed as it can save up to 353.0 kB or 83% of the original size.
Number of requests can be reduced by 61 (54%)
112
51
The browser has sent 112 CSS, Javascripts, AJAX and image requests in order to completely render the main page of New Eff Creative. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 36 to 1 for JavaScripts and from 16 to 1 for CSS and as a result speed up the page load time.
new.effcreative.com
801 ms
platform.js
191 ms
normalize.css
70 ms
menu.css
65 ms
gee.css
68 ms
service.css
99 ms
scrollbar.css
67 ms
blog.css
130 ms
team.css
130 ms
main.css
248 ms
new.css
158 ms
owl.carousel.css
158 ms
custom.css
246 ms
modernizr.custom.js
247 ms
css
25 ms
styles.css
257 ms
magnific-popup.css
257 ms
hs_rsp_popup.min.css
257 ms
jquery.js
375 ms
jquery-migrate.min.js
257 ms
hs_rsp_popup.min.js
301 ms
buttons.js
10 ms
jquery-1.11.1.min.js
373 ms
angular.min.js
417 ms
owl.carousel.js
362 ms
scrollbar.min.js
337 ms
jquery.lazy.min.js
356 ms
jquery.panelSnap.js
448 ms
jquery.cookie.js
446 ms
effcreative.js
447 ms
video.js
516 ms
youtube.js
514 ms
home.js
513 ms
jquery.form.min.js
514 ms
scripts.js
514 ms
jquery.magnific-popup.min.js
517 ms
analytics.min.js
352 ms
logo.png
96 ms
ico-image.png
97 ms
ico-text.png
317 ms
loader.gif
317 ms
menu-about.jpg
319 ms
menu-team.jpg
367 ms
menu-services.jpg
368 ms
menu-job.jpg
366 ms
menu-gee.jpg
369 ms
menu-morphmallow.png
446 ms
menu-blog.jpg
370 ms
menu-contact.jpg
554 ms
logo-large.png
443 ms
pillar.png
444 ms
pillar.gif
444 ms
design.png
444 ms
design.gif
585 ms
strategy.png
445 ms
strategy.gif
585 ms
plane.png
553 ms
warship.png
583 ms
tank.png
584 ms
fighter.gif
584 ms
ship.gif
585 ms
tank.gif
661 ms
spot.png
659 ms
sdk.js
314 ms
gee-img.png
645 ms
marphmallow.png
642 ms
marking.jpg
667 ms
marking.gif
1100 ms
img-slide3.jpg
1164 ms
cloud-gif.gif
1097 ms
eff-loading.gif
1164 ms
v0SdcGFAl2aezM9Vq_aFTQ.ttf
220 ms
nj47mAZe0mYUIySgfn0wpQ.ttf
221 ms
4cKlrioa77J2iqTqBgkRWg.ttf
222 ms
o_4b_kcfA7KqUo2NQLuC6PesZW2xOQ-xsNqO47m55DA.ttf
222 ms
2HG_tEPiQ4Z6795cGfdivKCWcynf_cDxXwCLxiixG1c.ttf
224 ms
LqowQDslGv4DmUBAfWa2Vw.ttf
220 ms
count.js
207 ms
polymer.html
206 ms
getAllAppDefault.esi
276 ms
arrowLeft.png
875 ms
arrowRight.png
875 ms
polymer.js
85 ms
iframe_api
195 ms
fbVjvAdZLhE
216 ms
P_n8Qn0vy9c
214 ms
fBgpTvtqajk
214 ms
p
684 ms
119 ms
javascript;charset=utf-8,%0A%0A%20%20(function()%20%7B%0A%20%20%20%20%0A%20%20%20%20var%20SKIP_ID%20%3D%20'meta'%3B%0A%20%20%20%20var%20metaData%20%3D%20%7B%7D%2C%20metaArray%20%3D%20%7B%7D%3B%0A%0A%20%20%20%20Polymer('core-meta'%2C%20%7B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20type%20of%20meta-data.%20%20All%20meta-data%20with%20the%20same%20type%20with%20be%0A%20%20%20%20%20%20%20*%20stored%20together.%0A%20%20%20%20%20%20%20*%20%0A%20%20%20%20%20%20%20*%20%40attribute%20type%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20'default'%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20type%3A%20'default'%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20alwaysPrepare%3A%20true%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.register(this.id)%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20get%20metaArray()%20%7B%0A%20%20%20%20%20%20%20%20var%20t%20%3D%20this.type%3B%0A%20%20%20%20%20%20%20%20if%20(!metaArray%5Bt%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20metaArray%5Bt%5D%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20metaArray%5Bt%5D%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20get%20metaData()%20%7B%0A%20%20%20%20%20%20%20%20var%20t%20%3D%20this.type%3B%0A%20%20%20%20%20%20%20%20if%20(!metaData%5Bt%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20metaData%5Bt%5D%20%3D%20%7B%7D%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20metaData%5Bt%5D%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20register%3A%20function(id%2C%20old)%20%7B%0A%20%20%20%20%20%20%20%20if%20(id%20%26%26%20id%20!%3D%3D%20SKIP_ID)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.unregister(this%2C%20old)%3B%0A%20%20%20%20%20%20%20%20%20%20this.metaData%5Bid%5D%20%3D%20this%3B%0A%20%20%20%20%20%20%20%20%20%20this.metaArray.push(this)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20unregister%3A%20function(meta%2C%20id)%20%7B%0A%20%20%20%20%20%20%20%20delete%20this.metaData%5Bid%20%7C%7C%20meta.id%5D%3B%0A%20%20%20%20%20%20%20%20var%20i%20%3D%20this.metaArray.indexOf(meta)%3B%0A%20%20%20%20%20%20%20%20if%20(i%20%3E%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.metaArray.splice(i%2C%201)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Returns%20a%20list%20of%20all%20meta-data%20elements%20with%20the%20same%20type.%0A%20%20%20%20%20%20%20*%20%0A%20%20%20%20%20%20%20*%20%40property%20list%0A%20%20%20%20%20%20%20*%20%40type%20array%0A%20%20%20%20%20%20%20*%20%40default%20%5B%5D%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20get%20list()%20%7B%0A%20%20%20%20%20%20%20%20return%20this.metaArray%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Retrieves%20meta-data%20by%20ID.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20byId%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7D%20id%20The%20ID%20of%20the%20meta-data%20to%20be%20returned.%0A%20%20%20%20%20%20%20*%20%40returns%20Returns%20meta-data.%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20byId%3A%20function(id)%20%7B%0A%20%20%20%20%20%20%20%20return%20this.metaData%5Bid%5D%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%7D)%3B%0A%20%20%20%20%0A%20%20%7D)()%3B%0A%20%20%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-meta.js%0A
13 ms
fbevents.js
71 ms
analytics.js
48 ms
piwik.js
704 ms
roundtrip.js
62 ms
39f9abe9-f1ed-4c93-8f76-5f4362dc6490.js
621 ms
0.jpg
122 ms
0.jpg
615 ms
xd_arbiter.php
613 ms
xd_arbiter.php
706 ms
javascript;charset=utf-8,%0A%20%20%0A%20%20%20%20Polymer('core-iconset'%2C%20%7B%0A%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20URL%20of%20the%20iconset%20image.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20src%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20src%3A%20''%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20width%20of%20the%20iconset%20image.%20This%20must%20only%20be%20specified%20if%20the%0A%20%20%20%20%20%20%20*%20icons%20are%20arranged%20into%20separate%20rows%20inside%20the%20image.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20width%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%200%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20width%3A%200%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20A%20space%20separated%20list%20of%20names%20corresponding%20to%20icons%20in%20the%20iconset%0A%20%20%20%20%20%20%20*%20image%20file.%20This%20list%20must%20be%20ordered%20the%20same%20as%20the%20icon%20images%0A%20%20%20%20%20%20%20*%20in%20the%20image%20file.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20icons%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20icons%3A%20''%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20size%20of%20an%20individual%20icon.%20Note%20that%20icons%20must%20be%20square.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20iconSize%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%2024%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20iconSize%3A%2024%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20horizontal%20offset%20of%20the%20icon%20images%20in%20the%20inconset%20src%20image.%0A%20%20%20%20%20%20%20*%20This%20is%20typically%20used%20if%20the%20image%20resource%20contains%20additional%20images%0A%20%20%20%20%20%20%20*%20beside%20those%20intended%20for%20the%20iconset.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20offsetX%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%200%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20offsetX%3A%200%2C%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20vertical%20offset%20of%20the%20icon%20images%20in%20the%20inconset%20src%20image.%0A%20%20%20%20%20%20%20*%20This%20is%20typically%20used%20if%20the%20image%20resource%20contains%20additional%20images%0A%20%20%20%20%20%20%20*%20beside%20those%20intended%20for%20the%20iconset.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20offsetY%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%200%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20offsetY%3A%200%2C%0A%20%20%20%20%20%20type%3A%20'iconset'%2C%0A%0A%20%20%20%20%20%20created%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.iconMap%20%3D%20%7B%7D%3B%0A%20%20%20%20%20%20%20%20this.iconNames%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20this.themes%20%3D%20%7B%7D%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20TODO(sorvell)%3A%20ensure%20iconset's%20src%20is%20always%20relative%20to%20the%20main%0A%20%20%20%20%20%20%20%20%2F%2F%20document%0A%20%20%20%20%20%20%20%20if%20(this.src%20%26%26%20(this.ownerDocument%20!%3D%3D%20document))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.src%20%3D%20this.resolvePath(this.src%2C%20this.ownerDocument.baseURI)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.super()%3B%0A%20%20%20%20%20%20%20%20this.updateThemes()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20iconsChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20var%20ox%20%3D%20this.offsetX%3B%0A%20%20%20%20%20%20%20%20var%20oy%20%3D%20this.offsetY%3B%0A%20%20%20%20%20%20%20%20this.icons%20%26%26%20this.icons.split(%2F%5Cs%2B%2Fg).forEach(function(name%2C%20i)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.iconNames.push(name)%3B%0A%20%20%20%20%20%20%20%20%20%20this.iconMap%5Bname%5D%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20offsetX%3A%20ox%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20offsetY%3A%20oy%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20if%20(ox%20%2B%20this.iconSize%20%3C%20this.width)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20ox%20%2B%3D%20this.iconSize%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20ox%20%3D%20this.offsetX%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20oy%20%2B%3D%20this.iconSize%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%2C%20this)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20updateThemes%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20var%20ts%20%3D%20this.querySelectorAll('property%5Btheme%5D')%3B%0A%20%20%20%20%20%20%20%20ts%20%26%26%20ts.array().forEach(function(t)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.themes%5Bt.getAttribute('theme')%5D%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20offsetX%3A%20parseInt(t.getAttribute('offsetX'))%20%7C%7C%200%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20offsetY%3A%20parseInt(t.getAttribute('offsetY'))%20%7C%7C%200%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20this)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F%2F%20TODO(ffu)%3A%20support%20retrived%20by%20index%20e.g.%20getOffset(10)%3B%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Returns%20an%20object%20containing%20%60offsetX%60%20and%20%60offsetY%60%20properties%20which%0A%20%20%20%20%20%20%20*%20specify%20the%20pixel%20locaion%20in%20the%20iconset's%20src%20file%20for%20the%20given%0A%20%20%20%20%20%20%20*%20%60icon%60%20and%20%60theme%60.%20It's%20uncommon%20to%20call%20this%20method.%20It%20is%20useful%2C%0A%20%20%20%20%20%20%20*%20for%20example%2C%20to%20manually%20position%20a%20css%20backgroundImage%20to%20the%20proper%0A%20%20%20%20%20%20%20*%20offset.%20It's%20more%20common%20to%20use%20the%20%60applyIcon%60%20method.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20getOffset%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7CNumber%7D%20icon%20The%20name%20of%20the%20icon%20or%20the%20index%20of%20the%0A%20%20%20%20%20%20%20*%20icon%20within%20in%20the%20icon%20image.%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7D%20theme%20The%20name%20of%20the%20theme.%0A%20%20%20%20%20%20%20*%20%40returns%20%7BObject%7D%20An%20object%20specifying%20the%20offset%20of%20the%20given%20icon%20%0A%20%20%20%20%20%20%20*%20within%20the%20icon%20resource%20file%3B%20%60offsetX%60%20is%20the%20horizontal%20offset%20and%0A%20%20%20%20%20%20%20*%20%60offsetY%60%20is%20the%20vertical%20offset.%20Both%20values%20are%20in%20pixel%20units.%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20getOffset%3A%20function(icon%2C%20theme)%20%7B%0A%20%20%20%20%20%20%20%20var%20i%20%3D%20this.iconMap%5Bicon%5D%3B%0A%20%20%20%20%20%20%20%20if%20(!i)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20n%20%3D%20this.iconNames%5BNumber(icon)%5D%3B%0A%20%20%20%20%20%20%20%20%20%20i%20%3D%20this.iconMap%5Bn%5D%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20var%20t%20%3D%20this.themes%5Btheme%5D%3B%0A%20%20%20%20%20%20%20%20if%20(i%20%26%26%20t)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20offsetX%3A%20i.offsetX%20%2B%20t.offsetX%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20offsetY%3A%20i.offsetY%20%2B%20t.offsetY%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20i%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Applies%20an%20icon%20to%20the%20given%20element%20as%20a%20css%20background%20image.%20This%0A%20%20%20%20%20%20%20*%20method%20does%20not%20size%20the%20element%2C%20and%20it's%20often%20necessary%20to%20set%20%0A%20%20%20%20%20%20%20*%20the%20element's%20height%20and%20width%20so%20that%20the%20background%20image%20is%20visible.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20applyIcon%0A%20%20%20%20%20%20%20*%20%40param%20%7BElement%7D%20element%20The%20element%20to%20which%20the%20background%20is%0A%20%20%20%20%20%20%20*%20applied.%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7CNumber%7D%20icon%20The%20name%20or%20index%20of%20the%20icon%20to%20apply.%0A%20%20%20%20%20%20%20*%20%40param%20%7BNumber%7D%20scale%20(optional%2C%20defaults%20to%201)%20A%20scaling%20factor%20%0A%20%20%20%20%20%20%20*%20with%20which%20the%20icon%20can%20be%20magnified.%0A%20%20%20%20%20%20%20*%20%40return%20%7BElement%7D%20The%20icon%20element.%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20applyIcon%3A%20function(element%2C%20icon%2C%20scale)%20%7B%0A%20%20%20%20%20%20%20%20var%20offset%20%3D%20this.getOffset(icon)%3B%0A%20%20%20%20%20%20%20%20scale%20%3D%20scale%20%7C%7C%201%3B%0A%20%20%20%20%20%20%20%20if%20(element%20%26%26%20offset)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20icon%20%3D%20element._icon%20%7C%7C%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20var%20style%20%3D%20icon.style%3B%0A%20%20%20%20%20%20%20%20%20%20style.backgroundImage%20%3D%20'url('%20%2B%20this.src%20%2B%20')'%3B%0A%20%20%20%20%20%20%20%20%20%20style.backgroundPosition%20%3D%20(-offset.offsetX%20*%20scale%20%2B%20'px')%20%2B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'%20'%20%2B%20(-offset.offsetY%20*%20scale%20%2B%20'px')%3B%0A%20%20%20%20%20%20%20%20%20%20style.backgroundSize%20%3D%20scale%20%3D%3D%3D%201%20%3F%20'auto'%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20this.width%20*%20scale%20%2B%20'px'%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(icon.parentNode%20!%3D%3D%20element)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20element.appendChild(icon)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20return%20icon%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-iconset.js%0A
2 ms
0.jpg
694 ms
javascript;charset=utf-8,%0A(function()%20%7B%0A%20%20%0A%20%20%2F%2F%20mono-state%0A%20%20var%20meta%3B%0A%20%20%0A%20%20Polymer('core-icon'%2C%20%7B%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20The%20URL%20of%20an%20image%20for%20the%20icon.%20If%20the%20src%20property%20is%20specified%2C%0A%20%20%20%20%20*%20the%20icon%20property%20should%20not%20be.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40attribute%20src%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20*%2F%0A%20%20%20%20src%3A%20''%2C%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Specifies%20the%20icon%20name%20or%20index%20in%20the%20set%20of%20icons%20available%20in%0A%20%20%20%20%20*%20the%20icon's%20icon%20set.%20If%20the%20icon%20property%20is%20specified%2C%0A%20%20%20%20%20*%20the%20src%20property%20should%20not%20be.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40attribute%20icon%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20*%2F%0A%20%20%20%20icon%3A%20''%2C%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Alternative%20text%20content%20for%20accessibility%20support.%0A%20%20%20%20%20*%20If%20alt%20is%20present%20and%20not%20empty%2C%20it%20will%20set%20the%20element's%20role%20to%20img%20and%20add%20an%20aria-label%20whose%20content%20matches%20alt.%0A%20%20%20%20%20*%20If%20alt%20is%20present%20and%20is%20an%20empty%20string%2C%20''%2C%20it%20will%20hide%20the%20element%20from%20the%20accessibility%20layer%0A%20%20%20%20%20*%20If%20alt%20is%20not%20present%2C%20it%20will%20set%20the%20element's%20role%20to%20img%20and%20the%20element%20will%20fallback%20to%20using%20the%20icon%20attribute%20for%20its%20aria-label.%0A%20%20%20%20%20*%20%0A%20%20%20%20%20*%20%40attribute%20alt%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20*%2F%0A%20%20%20%20alt%3A%20null%2C%0A%0A%20%20%20%20observe%3A%20%7B%0A%20%20%20%20%20%20'icon'%3A%20'updateIcon'%2C%0A%20%20%20%20%20%20'alt'%3A%20'updateAlt'%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20defaultIconset%3A%20'icons'%2C%0A%0A%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(!meta)%20%7B%0A%20%20%20%20%20%20%20%20meta%20%3D%20document.createElement('core-iconset')%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Allow%20user-provided%20%60aria-label%60%20in%20preference%20to%20any%20other%20text%20alternative.%0A%20%20%20%20%20%20if%20(this.hasAttribute('aria-label'))%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Set%20%60role%60%20if%20it%20has%20not%20been%20overridden.%0A%20%20%20%20%20%20%20%20if%20(!this.hasAttribute('role'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('role'%2C%20'img')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.updateAlt()%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20srcChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20var%20icon%20%3D%20this._icon%20%7C%7C%20document.createElement('div')%3B%0A%20%20%20%20%20%20icon.textContent%20%3D%20''%3B%0A%20%20%20%20%20%20icon.setAttribute('fit'%2C%20'')%3B%0A%20%20%20%20%20%20icon.style.backgroundImage%20%3D%20'url('%20%2B%20this.src%20%2B%20')'%3B%0A%20%20%20%20%20%20icon.style.backgroundPosition%20%3D%20'center'%3B%0A%20%20%20%20%20%20icon.style.backgroundSize%20%3D%20'100%25'%3B%0A%20%20%20%20%20%20if%20(!icon.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20this.appendChild(icon)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this._icon%20%3D%20icon%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20getIconset%3A%20function(name)%20%7B%0A%20%20%20%20%20%20return%20meta.byId(name%20%7C%7C%20this.defaultIconset)%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20updateIcon%3A%20function(oldVal%2C%20newVal)%20%7B%0A%20%20%20%20%20%20if%20(!this.icon)%20%7B%0A%20%20%20%20%20%20%20%20this.updateAlt()%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20parts%20%3D%20String(this.icon).split('%3A')%3B%0A%20%20%20%20%20%20var%20icon%20%3D%20parts.pop()%3B%0A%20%20%20%20%20%20if%20(icon)%20%7B%0A%20%20%20%20%20%20%20%20var%20set%20%3D%20this.getIconset(parts.pop())%3B%0A%20%20%20%20%20%20%20%20if%20(set)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this._icon%20%3D%20set.applyIcon(this%2C%20icon)%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(this._icon)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this._icon.setAttribute('fit'%2C%20'')%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%2F%2F%20Check%20to%20see%20if%20we're%20using%20the%20old%20icon's%20name%20for%20our%20a11y%20fallback%0A%20%20%20%20%20%20if%20(oldVal)%20%7B%0A%20%20%20%20%20%20%20%20if%20(oldVal.split('%3A').pop()%20%3D%3D%20this.getAttribute('aria-label'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.updateAlt()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20updateAlt%3A%20function()%20%7B%0A%20%20%20%20%20%20%2F%2F%20Respect%20the%20user's%20decision%20to%20remove%20this%20element%20from%0A%20%20%20%20%20%20%2F%2F%20the%20a11y%20tree%0A%20%20%20%20%20%20if%20(this.getAttribute('aria-hidden'))%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Remove%20element%20from%20a11y%20tree%20if%20%60alt%60%20is%20empty%2C%20otherwise%0A%20%20%20%20%20%20%2F%2F%20use%20%60alt%60%20as%20%60aria-label%60.%0A%20%20%20%20%20%20if%20(this.alt%20%3D%3D%3D%20'')%20%7B%0A%20%20%20%20%20%20%20%20this.setAttribute('aria-hidden'%2C%20'true')%3B%0A%20%20%20%20%20%20%20%20if%20(this.hasAttribute('role'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeAttribute('role')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(this.hasAttribute('aria-label'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeAttribute('aria-label')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20this.setAttribute('aria-label'%2C%20this.alt%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.icon.split('%3A').pop())%3B%0A%20%20%20%20%20%20%20%20if%20(!this.hasAttribute('role'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('role'%2C%20'img')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(this.hasAttribute('aria-hidden'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeAttribute('aria-hidden')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%7D)%3B%0A%20%20%0A%7D)()%3B%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-icon.js%0A
4 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('paper-focusable'%2C%20%7B%0A%0A%20%20%20%20%20%20publish%3A%20%7B%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20button%20is%20currently%20active%20either%20because%20the%0A%20%20%20%20%20%20%20%20%20*%20user%20is%20holding%20down%20the%20button%2C%20or%20the%20button%20is%20a%20toggle%0A%20%20%20%20%20%20%20%20%20*%20and%20is%20currently%20in%20the%20active%20state.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20active%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20active%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20element%20currently%20has%20focus%20due%20to%20keyboard%0A%20%20%20%20%20%20%20%20%20*%20navigation.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20focused%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20focused%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20user%20is%20currently%20holding%20down%20the%20button.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20pressed%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20pressed%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20user%20cannot%20interact%20with%20this%20element.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20disabled%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20disabled%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20button%20toggles%20the%20active%20state%20with%20each%20tap.%0A%20%20%20%20%20%20%20%20%20*%20Otherwise%2C%20the%20button%20becomes%20active%20when%20the%20user%20is%20holding%0A%20%20%20%20%20%20%20%20%20*%20it%20down.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20isToggle%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20isToggle%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20false%7D%0A%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20disabledChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.disabled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeAttribute('tabindex')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('tabindex'%2C%200)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20downAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.pressed%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20this.focused%20%3D%20false%3B%0A%0A%20%20%20%20%20%20%20%20if%20(this.isToggle)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.active%20%3D%20!this.active%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.active%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F%2F%20Pulling%20up%20the%20context%20menu%20for%20an%20item%20should%20focus%20it%3B%20but%20we%20need%20to%0A%20%20%20%20%20%20%2F%2F%20be%20careful%20about%20how%20we%20deal%20with%20down%2Fup%20events%20surrounding%20context%0A%20%20%20%20%20%20%2F%2F%20menus.%20The%20up%20event%20typically%20does%20not%20fire%20until%20the%20context%20menu%0A%20%20%20%20%20%20%2F%2F%20closes%3A%20so%20we%20focus%20immediately.%0A%20%20%20%20%20%20%2F%2F%0A%20%20%20%20%20%20%2F%2F%20This%20fires%20_after_%20downAction.%0A%20%20%20%20%20%20contextMenuAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Note%20that%20upAction%20may%20fire%20_again_%20on%20the%20actual%20up%20event.%0A%20%20%20%20%20%20%20%20this.upAction(e)%3B%0A%20%20%20%20%20%20%20%20this.focusAction()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20upAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.pressed%20%3D%20false%3B%0A%0A%20%20%20%20%20%20%20%20if%20(!this.isToggle)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.active%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20focusAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.pressed)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Only%20render%20the%20%22focused%22%20state%20if%20the%20element%20gains%20focus%20due%20to%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20keyboard%20navigation.%0A%20%20%20%20%20%20%20%20%20%20this.focused%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20blurAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.focused%20%3D%20false%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-focusable.js%0A
2 ms
www-widgetapi.js
88 ms
getSegment.php
51 ms
checkOAuth.esi
90 ms
javascript;charset=utf-8,%0A%0A%20%20(function()%20%7B%0A%0A%20%20%20%20var%20waveMaxRadius%20%3D%20150%3B%0A%20%20%20%20%2F%2F%0A%20%20%20%20%2F%2F%20INK%20EQUATIONS%0A%20%20%20%20%2F%2F%0A%20%20%20%20function%20waveRadiusFn(touchDownMs%2C%20touchUpMs%2C%20anim)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Convert%20from%20ms%20to%20s.%0A%20%20%20%20%20%20var%20touchDown%20%3D%20touchDownMs%20%2F%201000%3B%0A%20%20%20%20%20%20var%20touchUp%20%3D%20touchUpMs%20%2F%201000%3B%0A%20%20%20%20%20%20var%20totalElapsed%20%3D%20touchDown%20%2B%20touchUp%3B%0A%20%20%20%20%20%20var%20ww%20%3D%20anim.width%2C%20hh%20%3D%20anim.height%3B%0A%20%20%20%20%20%20%2F%2F%20use%20diagonal%20size%20of%20container%20to%20avoid%20floating%20point%20math%20sadness%0A%20%20%20%20%20%20var%20waveRadius%20%3D%20Math.min(Math.sqrt(ww%20*%20ww%20%2B%20hh%20*%20hh)%2C%20waveMaxRadius)%20*%201.1%20%2B%205%3B%0A%20%20%20%20%20%20var%20duration%20%3D%201.1%20-%20.2%20*%20(waveRadius%20%2F%20waveMaxRadius)%3B%0A%20%20%20%20%20%20var%20tt%20%3D%20(totalElapsed%20%2F%20duration)%3B%0A%0A%20%20%20%20%20%20var%20size%20%3D%20waveRadius%20*%20(1%20-%20Math.pow(80%2C%20-tt))%3B%0A%20%20%20%20%20%20return%20Math.abs(size)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20waveOpacityFn(td%2C%20tu%2C%20anim)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Convert%20from%20ms%20to%20s.%0A%20%20%20%20%20%20var%20touchDown%20%3D%20td%20%2F%201000%3B%0A%20%20%20%20%20%20var%20touchUp%20%3D%20tu%20%2F%201000%3B%0A%20%20%20%20%20%20var%20totalElapsed%20%3D%20touchDown%20%2B%20touchUp%3B%0A%0A%20%20%20%20%20%20if%20(tu%20%3C%3D%200)%20%7B%20%20%2F%2F%20before%20touch%20up%0A%20%20%20%20%20%20%20%20return%20anim.initialOpacity%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20Math.max(0%2C%20anim.initialOpacity%20-%20touchUp%20*%20anim.opacityDecayVelocity)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20waveOuterOpacityFn(td%2C%20tu%2C%20anim)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Convert%20from%20ms%20to%20s.%0A%20%20%20%20%20%20var%20touchDown%20%3D%20td%20%2F%201000%3B%0A%20%20%20%20%20%20var%20touchUp%20%3D%20tu%20%2F%201000%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Linear%20increase%20in%20background%20opacity%2C%20capped%20at%20the%20opacity%0A%20%20%20%20%20%20%2F%2F%20of%20the%20wavefront%20(waveOpacity).%0A%20%20%20%20%20%20var%20outerOpacity%20%3D%20touchDown%20*%200.3%3B%0A%20%20%20%20%20%20var%20waveOpacity%20%3D%20waveOpacityFn(td%2C%20tu%2C%20anim)%3B%0A%20%20%20%20%20%20return%20Math.max(0%2C%20Math.min(outerOpacity%2C%20waveOpacity))%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Determines%20whether%20the%20wave%20should%20be%20completely%20removed.%0A%20%20%20%20function%20waveDidFinish(wave%2C%20radius%2C%20anim)%20%7B%0A%20%20%20%20%20%20var%20waveOpacity%20%3D%20waveOpacityFn(wave.tDown%2C%20wave.tUp%2C%20anim)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20If%20the%20wave%20opacity%20is%200%20and%20the%20radius%20exceeds%20the%20bounds%0A%20%20%20%20%20%20%2F%2F%20of%20the%20element%2C%20then%20this%20is%20finished.%0A%20%20%20%20%20%20return%20waveOpacity%20%3C%200.01%20%26%26%20radius%20%3E%3D%20Math.min(wave.maxRadius%2C%20waveMaxRadius)%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20function%20waveAtMaximum(wave%2C%20radius%2C%20anim)%20%7B%0A%20%20%20%20%20%20var%20waveOpacity%20%3D%20waveOpacityFn(wave.tDown%2C%20wave.tUp%2C%20anim)%3B%0A%0A%20%20%20%20%20%20return%20waveOpacity%20%3E%3D%20anim.initialOpacity%20%26%26%20radius%20%3E%3D%20Math.min(wave.maxRadius%2C%20waveMaxRadius)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%0A%20%20%20%20%2F%2F%20DRAWING%0A%20%20%20%20%2F%2F%0A%20%20%20%20function%20drawRipple(ctx%2C%20x%2C%20y%2C%20radius%2C%20innerAlpha%2C%20outerAlpha)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Only%20animate%20opacity%20and%20transform%0A%20%20%20%20%20%20if%20(outerAlpha%20!%3D%3D%20undefined)%20%7B%0A%20%20%20%20%20%20%20%20ctx.bg.style.opacity%20%3D%20outerAlpha%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20ctx.wave.style.opacity%20%3D%20innerAlpha%3B%0A%0A%20%20%20%20%20%20var%20s%20%3D%20radius%20%2F%20(ctx.containerSize%20%2F%202)%3B%0A%20%20%20%20%20%20var%20dx%20%3D%20x%20-%20(ctx.containerWidth%20%2F%202)%3B%0A%20%20%20%20%20%20var%20dy%20%3D%20y%20-%20(ctx.containerHeight%20%2F%202)%3B%0A%0A%20%20%20%20%20%20ctx.wc.style.webkitTransform%20%3D%20'translate3d('%20%2B%20dx%20%2B%20'px%2C'%20%2B%20dy%20%2B%20'px%2C0)'%3B%0A%20%20%20%20%20%20ctx.wc.style.transform%20%3D%20'translate3d('%20%2B%20dx%20%2B%20'px%2C'%20%2B%20dy%20%2B%20'px%2C0)'%3B%0A%0A%20%20%20%20%20%20%2F%2F%202d%20transform%20for%20safari%20because%20of%20border-radius%20and%20overflow%3Ahidden%20clipping%20bug.%0A%20%20%20%20%20%20%2F%2F%20https%3A%2F%2Fbugs.webkit.org%2Fshow_bug.cgi%3Fid%3D98538%0A%20%20%20%20%20%20ctx.wave.style.webkitTransform%20%3D%20'scale('%20%2B%20s%20%2B%20'%2C'%20%2B%20s%20%2B%20')'%3B%0A%20%20%20%20%20%20ctx.wave.style.transform%20%3D%20'scale3d('%20%2B%20s%20%2B%20'%2C'%20%2B%20s%20%2B%20'%2C1)'%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%0A%20%20%20%20%2F%2F%20SETUP%0A%20%20%20%20%2F%2F%0A%20%20%20%20function%20createWave(elem)%20%7B%0A%20%20%20%20%20%20var%20elementStyle%20%3D%20window.getComputedStyle(elem)%3B%0A%20%20%20%20%20%20var%20fgColor%20%3D%20elementStyle.color%3B%0A%0A%20%20%20%20%20%20var%20inner%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20inner.style.backgroundColor%20%3D%20fgColor%3B%0A%20%20%20%20%20%20inner.classList.add('wave')%3B%0A%0A%20%20%20%20%20%20var%20outer%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20outer.classList.add('wave-container')%3B%0A%20%20%20%20%20%20outer.appendChild(inner)%3B%0A%0A%20%20%20%20%20%20var%20container%20%3D%20elem.%24.waves%3B%0A%20%20%20%20%20%20container.appendChild(outer)%3B%0A%0A%20%20%20%20%20%20elem.%24.bg.style.backgroundColor%20%3D%20fgColor%3B%0A%0A%20%20%20%20%20%20var%20wave%20%3D%20%7B%0A%20%20%20%20%20%20%20%20bg%3A%20elem.%24.bg%2C%0A%20%20%20%20%20%20%20%20wc%3A%20outer%2C%0A%20%20%20%20%20%20%20%20wave%3A%20inner%2C%0A%20%20%20%20%20%20%20%20waveColor%3A%20fgColor%2C%0A%20%20%20%20%20%20%20%20maxRadius%3A%200%2C%0A%20%20%20%20%20%20%20%20isMouseDown%3A%20false%2C%0A%20%20%20%20%20%20%20%20mouseDownStart%3A%200.0%2C%0A%20%20%20%20%20%20%20%20mouseUpStart%3A%200.0%2C%0A%20%20%20%20%20%20%20%20tDown%3A%200%2C%0A%20%20%20%20%20%20%20%20tUp%3A%200%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20return%20wave%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20removeWaveFromScope(scope%2C%20wave)%20%7B%0A%20%20%20%20%20%20if%20(scope.waves)%20%7B%0A%20%20%20%20%20%20%20%20var%20pos%20%3D%20scope.waves.indexOf(wave)%3B%0A%20%20%20%20%20%20%20%20scope.waves.splice(pos%2C%201)%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20FIXME%20cache%20nodes%0A%20%20%20%20%20%20%20%20wave.wc.remove()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Shortcuts.%0A%20%20%20%20var%20pow%20%3D%20Math.pow%3B%0A%20%20%20%20var%20now%20%3D%20Date.now%3B%0A%20%20%20%20if%20(window.performance%20%26%26%20performance.now)%20%7B%0A%20%20%20%20%20%20now%20%3D%20performance.now.bind(performance)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20cssColorWithAlpha(cssColor%2C%20alpha)%20%7B%0A%20%20%20%20%20%20%20%20var%20parts%20%3D%20cssColor.match(%2F%5Ergb%5C((%5Cd%2B)%2C%5Cs*(%5Cd%2B)%2C%5Cs*(%5Cd%2B)%5C)%24%2F)%3B%0A%20%20%20%20%20%20%20%20if%20(typeof%20alpha%20%3D%3D%20'undefined')%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20alpha%20%3D%201%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(!parts)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20'rgba(255%2C%20255%2C%20255%2C%20'%20%2B%20alpha%20%2B%20')'%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20'rgba('%20%2B%20parts%5B1%5D%20%2B%20'%2C%20'%20%2B%20parts%5B2%5D%20%2B%20'%2C%20'%20%2B%20parts%5B3%5D%20%2B%20'%2C%20'%20%2B%20alpha%20%2B%20')'%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20dist(p1%2C%20p2)%20%7B%0A%20%20%20%20%20%20return%20Math.sqrt(pow(p1.x%20-%20p2.x%2C%202)%20%2B%20pow(p1.y%20-%20p2.y%2C%202))%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20distanceFromPointToFurthestCorner(point%2C%20size)%20%7B%0A%20%20%20%20%20%20var%20tl_d%20%3D%20dist(point%2C%20%7Bx%3A%200%2C%20y%3A%200%7D)%3B%0A%20%20%20%20%20%20var%20tr_d%20%3D%20dist(point%2C%20%7Bx%3A%20size.w%2C%20y%3A%200%7D)%3B%0A%20%20%20%20%20%20var%20bl_d%20%3D%20dist(point%2C%20%7Bx%3A%200%2C%20y%3A%20size.h%7D)%3B%0A%20%20%20%20%20%20var%20br_d%20%3D%20dist(point%2C%20%7Bx%3A%20size.w%2C%20y%3A%20size.h%7D)%3B%0A%20%20%20%20%20%20return%20Math.max(tl_d%2C%20tr_d%2C%20bl_d%2C%20br_d)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20Polymer('paper-ripple'%2C%20%7B%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20initial%20opacity%20set%20on%20the%20wave.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20initialOpacity%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%200.25%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20initialOpacity%3A%200.25%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20How%20fast%20(opacity%20per%20second)%20the%20wave%20fades%20out.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20opacityDecayVelocity%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%200.8%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20opacityDecayVelocity%3A%200.8%2C%0A%0A%20%20%20%20%20%20backgroundFill%3A%20true%2C%0A%20%20%20%20%20%20pixelDensity%3A%202%2C%0A%0A%20%20%20%20%20%20eventDelegates%3A%20%7B%0A%20%20%20%20%20%20%20%20down%3A%20'downAction'%2C%0A%20%20%20%20%20%20%20%20up%3A%20'upAction'%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.waves%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20downAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20var%20wave%20%3D%20createWave(this)%3B%0A%0A%20%20%20%20%20%20%20%20this.cancelled%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20wave.isMouseDown%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20wave.tDown%20%3D%200.0%3B%0A%20%20%20%20%20%20%20%20wave.tUp%20%3D%200.0%3B%0A%20%20%20%20%20%20%20%20wave.mouseUpStart%20%3D%200.0%3B%0A%20%20%20%20%20%20%20%20wave.mouseDownStart%20%3D%20now()%3B%0A%0A%20%20%20%20%20%20%20%20var%20rect%20%3D%20this.getBoundingClientRect()%3B%0A%20%20%20%20%20%20%20%20var%20width%20%3D%20rect.width%3B%0A%20%20%20%20%20%20%20%20var%20height%20%3D%20rect.height%3B%0A%20%20%20%20%20%20%20%20var%20touchX%20%3D%20e.x%20-%20rect.left%3B%0A%20%20%20%20%20%20%20%20var%20touchY%20%3D%20e.y%20-%20rect.top%3B%0A%0A%20%20%20%20%20%20%20%20wave.startPosition%20%3D%20%7Bx%3AtouchX%2C%20y%3AtouchY%7D%3B%0A%0A%20%20%20%20%20%20%20%20if%20(this.classList.contains(%22recenteringTouch%22))%20%7B%0A%20%20%20%20%20%20%20%20%20%20wave.endPosition%20%3D%20%7Bx%3A%20width%20%2F%202%2C%20%20y%3A%20height%20%2F%202%7D%3B%0A%20%20%20%20%20%20%20%20%20%20wave.slideDistance%20%3D%20dist(wave.startPosition%2C%20wave.endPosition)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20wave.containerSize%20%3D%20Math.max(width%2C%20height)%3B%0A%20%20%20%20%20%20%20%20wave.containerWidth%20%3D%20width%3B%0A%20%20%20%20%20%20%20%20wave.containerHeight%20%3D%20height%3B%0A%20%20%20%20%20%20%20%20wave.maxRadius%20%3D%20distanceFromPointToFurthestCorner(wave.startPosition%2C%20%7Bw%3A%20width%2C%20h%3A%20height%7D)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20The%20wave%20is%20circular%20so%20constrain%20its%20container%20to%201%3A1%0A%20%20%20%20%20%20%20%20wave.wc.style.top%20%3D%20(wave.containerHeight%20-%20wave.containerSize)%20%2F%202%20%2B%20'px'%3B%0A%20%20%20%20%20%20%20%20wave.wc.style.left%20%3D%20(wave.containerWidth%20-%20wave.containerSize)%20%2F%202%20%2B%20'px'%3B%0A%20%20%20%20%20%20%20%20wave.wc.style.width%20%3D%20wave.containerSize%20%2B%20'px'%3B%0A%20%20%20%20%20%20%20%20wave.wc.style.height%20%3D%20wave.containerSize%20%2B%20'px'%3B%0A%0A%20%20%20%20%20%20%20%20this.waves.push(wave)%3B%0A%0A%20%20%20%20%20%20%20%20if%20(!this._loop)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this._loop%20%3D%20this.animate.bind(this%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20width%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20height%3A%20height%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20requestAnimationFrame(this._loop)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%2F%2F%20else%20there%20is%20already%20a%20rAF%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20upAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20for%20(var%20i%20%3D%200%3B%20i%20%3C%20this.waves.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Declare%20the%20next%20wave%20that%20has%20mouse%20down%20to%20be%20mouse'ed%20up.%0A%20%20%20%20%20%20%20%20%20%20var%20wave%20%3D%20this.waves%5Bi%5D%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(wave.isMouseDown)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20wave.isMouseDown%20%3D%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20wave.mouseUpStart%20%3D%20now()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20wave.mouseDownStart%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20wave.tUp%20%3D%200.0%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this._loop%20%26%26%20requestAnimationFrame(this._loop)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20cancel%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.cancelled%20%3D%20true%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20animate%3A%20function(ctx)%20%7B%0A%20%20%20%20%20%20%20%20var%20shouldRenderNextFrame%20%3D%20false%3B%0A%0A%20%20%20%20%20%20%20%20var%20deleteTheseWaves%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20The%20oldest%20wave's%20touch%20down%20duration%0A%20%20%20%20%20%20%20%20var%20longestTouchDownDuration%20%3D%200%3B%0A%20%20%20%20%20%20%20%20var%20longestTouchUpDuration%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20Save%20the%20last%20known%20wave%20color%0A%20%20%20%20%20%20%20%20var%20lastWaveColor%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20wave%20animation%20values%0A%20%20%20%20%20%20%20%20var%20anim%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20initialOpacity%3A%20this.initialOpacity%2C%0A%20%20%20%20%20%20%20%20%20%20opacityDecayVelocity%3A%20this.opacityDecayVelocity%2C%0A%20%20%20%20%20%20%20%20%20%20height%3A%20ctx.height%2C%0A%20%20%20%20%20%20%20%20%20%20width%3A%20ctx.width%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20for%20(var%20i%20%3D%200%3B%20i%20%3C%20this.waves.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20wave%20%3D%20this.waves%5Bi%5D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20if%20(wave.mouseDownStart%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20wave.tDown%20%3D%20now()%20-%20wave.mouseDownStart%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20if%20(wave.mouseUpStart%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20wave.tUp%20%3D%20now()%20-%20wave.mouseUpStart%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Determine%20how%20long%20the%20touch%20has%20been%20up%20or%20down.%0A%20%20%20%20%20%20%20%20%20%20var%20tUp%20%3D%20wave.tUp%3B%0A%20%20%20%20%20%20%20%20%20%20var%20tDown%20%3D%20wave.tDown%3B%0A%20%20%20%20%20%20%20%20%20%20longestTouchDownDuration%20%3D%20Math.max(longestTouchDownDuration%2C%20tDown)%3B%0A%20%20%20%20%20%20%20%20%20%20longestTouchUpDuration%20%3D%20Math.max(longestTouchUpDuration%2C%20tUp)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Obtain%20the%20instantenous%20size%20and%20alpha%20of%20the%20ripple.%0A%20%20%20%20%20%20%20%20%20%20var%20radius%20%3D%20waveRadiusFn(tDown%2C%20tUp%2C%20anim)%3B%0A%20%20%20%20%20%20%20%20%20%20var%20waveAlpha%20%3D%20%20waveOpacityFn(tDown%2C%20tUp%2C%20anim)%3B%0A%20%20%20%20%20%20%20%20%20%20var%20waveColor%20%3D%20cssColorWithAlpha(wave.waveColor%2C%20waveAlpha)%3B%0A%20%20%20%20%20%20%20%20%20%20lastWaveColor%20%3D%20wave.waveColor%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Position%20of%20the%20ripple.%0A%20%20%20%20%20%20%20%20%20%20var%20x%20%3D%20wave.startPosition.x%3B%0A%20%20%20%20%20%20%20%20%20%20var%20y%20%3D%20wave.startPosition.y%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Ripple%20gravitational%20pull%20to%20the%20center%20of%20the%20canvas.%0A%20%20%20%20%20%20%20%20%20%20if%20(wave.endPosition)%20%7B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20This%20translates%20from%20the%20origin%20to%20the%20center%20of%20the%20view%20%20based%20on%20the%20max%20dimension%20of%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20translateFraction%20%3D%20Math.min(1%2C%20radius%20%2F%20wave.containerSize%20*%202%20%2F%20Math.sqrt(2)%20)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20x%20%2B%3D%20translateFraction%20*%20(wave.endPosition.x%20-%20wave.startPosition.x)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20y%20%2B%3D%20translateFraction%20*%20(wave.endPosition.y%20-%20wave.startPosition.y)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20If%20we%20do%20a%20background%20fill%20fade%20too%2C%20work%20out%20the%20correct%20color.%0A%20%20%20%20%20%20%20%20%20%20var%20bgFillColor%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(this.backgroundFill)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20bgFillAlpha%20%3D%20waveOuterOpacityFn(tDown%2C%20tUp%2C%20anim)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20bgFillColor%20%3D%20cssColorWithAlpha(wave.waveColor%2C%20bgFillAlpha)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Draw%20the%20ripple.%0A%20%20%20%20%20%20%20%20%20%20drawRipple(wave%2C%20x%2C%20y%2C%20radius%2C%20waveAlpha%2C%20bgFillAlpha)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Determine%20whether%20there%20is%20any%20more%20rendering%20to%20be%20done.%0A%20%20%20%20%20%20%20%20%20%20var%20maximumWave%20%3D%20waveAtMaximum(wave%2C%20radius%2C%20anim)%3B%0A%20%20%20%20%20%20%20%20%20%20var%20waveDissipated%20%3D%20waveDidFinish(wave%2C%20radius%2C%20anim)%3B%0A%20%20%20%20%20%20%20%20%20%20var%20shouldKeepWave%20%3D%20!waveDissipated%20%7C%7C%20maximumWave%3B%0A%20%20%20%20%20%20%20%20%20%20var%20shouldRenderWaveAgain%20%3D%20!waveDissipated%20%26%26%20!maximumWave%3B%0A%20%20%20%20%20%20%20%20%20%20shouldRenderNextFrame%20%3D%20shouldRenderNextFrame%20%7C%7C%20shouldRenderWaveAgain%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(!shouldKeepWave%20%7C%7C%20this.cancelled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20deleteTheseWaves.push(wave)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(shouldRenderNextFrame)%20%7B%0A%20%20%20%20%20%20%20%20%20%20requestAnimationFrame(this._loop)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20for%20(var%20i%20%3D%200%3B%20i%20%3C%20deleteTheseWaves.length%3B%20%2B%2Bi)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20wave%20%3D%20deleteTheseWaves%5Bi%5D%3B%0A%20%20%20%20%20%20%20%20%20%20removeWaveFromScope(this%2C%20wave)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(!this.waves.length%20%26%26%20this._loop)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20clear%20the%20background%20color%0A%20%20%20%20%20%20%20%20%20%20this.%24.bg.style.backgroundColor%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20this._loop%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20this.fire('core-transitionend')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%0A%20%20%7D)()%3B%0A%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-ripple.js%0A
1 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('paper-shadow'%2C%20%7B%0A%0A%20%20%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20set%2C%20the%20shadow%20is%20applied%20to%20this%20node.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20target%0A%20%20%20%20%20%20%20%20%20*%20%40type%20Element%0A%20%20%20%20%20%20%20%20%20*%20%40default%20null%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20target%3A%20%7Bvalue%3A%20null%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20z-depth%20of%20this%20shadow%2C%20from%200-5.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20z%0A%20%20%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20%20%20*%20%40default%201%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20z%3A%20%7Bvalue%3A%201%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20shadow%20animates%20between%20z-depth%20changes.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20animated%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20animated%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20Workaround%3A%20getComputedStyle%20is%20wrong%20sometimes%20so%20%60paper-shadow%60%0A%20%20%20%20%20%20%20%20%20*%20may%20overwrite%20the%20%60position%60%20CSS%20property.%20Set%20this%20property%20to%0A%20%20%20%20%20%20%20%20%20*%20true%20to%20prevent%20this.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20hasPosition%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20hasPosition%3A%20false%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F%2F%20NOTE%3A%20include%20template%20so%20that%20styles%20are%20loaded%2C%20but%20remove%0A%20%20%20%20%20%20%2F%2F%20so%20that%20we%20can%20decide%20dynamically%20what%20part%20to%20include%0A%20%20%20%20%20%20registerCallback%3A%20function(polymerElement)%20%7B%0A%20%20%20%20%20%20%20%20var%20template%20%3D%20polymerElement.querySelector('template')%3B%0A%20%20%20%20%20%20%20%20this._style%20%3D%20template.content.querySelector('style')%3B%0A%20%20%20%20%20%20%20%20this._style.removeAttribute('no-shim')%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20fetchTemplate%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20return%20null%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20attached%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20If%20no%20target%20is%20bound%20at%20attach%2C%20default%20the%20target%20to%20the%20parent%0A%20%20%20%20%20%20%20%20%2F%2F%20element%20or%20shadow%20host.%0A%20%20%20%20%20%20%20%20if%20(!this.target)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(!this.parentElement%20%26%26%20this.parentNode.host)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.target%20%3D%20this.parentNode.host%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20(this.parentElement%20%26%26%20(window.ShadowDOMPolyfill%20%3F%20this.parentElement%20!%3D%3D%20wrap(document.body)%20%3A%20this.parentElement%20!%3D%3D%20document.body))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.target%20%3D%20this.parentElement%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20targetChanged%3A%20function(old)%20%7B%0A%20%20%20%20%20%20%20%20if%20(old)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeShadow(old)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(this.target)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.addShadow(this.target)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20zChanged%3A%20function(old)%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.target%20%26%26%20this.target._paperShadow)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20shadow%20%3D%20this.target._paperShadow%3B%0A%20%20%20%20%20%20%20%20%20%20%5B'top'%2C%20'bottom'%5D.forEach(function(s)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20shadow%5Bs%5D.classList.remove('paper-shadow-'%20%2B%20s%20%2B%20'-z-'%20%2B%20old)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20shadow%5Bs%5D.classList.add('paper-shadow-'%20%2B%20s%20%2B%20'-z-'%20%2B%20this.z)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D.bind(this))%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20animatedChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.target%20%26%26%20this.target._paperShadow)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20shadow%20%3D%20this.target._paperShadow%3B%0A%20%20%20%20%20%20%20%20%20%20%5B'top'%2C%20'bottom'%5D.forEach(function(s)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.animated)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20shadow%5Bs%5D.classList.add('paper-shadow-animated')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20shadow%5Bs%5D.classList.remove('paper-shadow-animated')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D.bind(this))%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20addShadow%3A%20function(node)%20%7B%0A%20%20%20%20%20%20%20%20if%20(node._paperShadow)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(!node._hasShadowStyle)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(!node.shadowRoot)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20node.createShadowRoot().innerHTML%20%3D%20'%3Ccontent%3E%3C%2Fcontent%3E'%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20this.installScopeStyle(this._style%2C%20'shadow'%2C%20node.shadowRoot)%3B%0A%20%20%20%20%20%20%20%20%20%20node._hasShadowStyle%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20var%20computed%20%3D%20getComputedStyle(node)%3B%0A%20%20%20%20%20%20%20%20if%20(!this.hasPosition%20%26%26%20computed.position%20%3D%3D%3D%20'static')%20%7B%0A%20%20%20%20%20%20%20%20%20%20node.style.position%20%3D%20'relative'%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20node.style.overflow%20%3D%20'visible'%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Both%20the%20top%20and%20bottom%20shadows%20are%20children%20of%20the%20target%2C%20so%0A%20%20%20%20%20%20%20%20%2F%2F%20it%20does%20not%20affect%20the%20classes%20and%20CSS%20properties%20of%20the%20target.%0A%20%20%20%20%20%20%20%20%5B'top'%2C%20'bottom'%5D.forEach(function(s)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20inner%20%3D%20(node._paperShadow%20%26%26%20node._paperShadow%5Bs%5D)%20%7C%7C%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20inner.classList.add('paper-shadow')%3B%0A%20%20%20%20%20%20%20%20%20%20inner.classList.add('paper-shadow-'%20%2B%20s%20%2B%20'-z-'%20%2B%20this.z)%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(this.animated)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20inner.classList.add('paper-shadow-animated')%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20if%20(node.shadowRoot)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20node.shadowRoot.insertBefore(inner%2C%20node.shadowRoot.firstChild)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20node.insertBefore(inner%2C%20node.firstChild)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20node._paperShadow%20%3D%20node._paperShadow%20%7C%7C%20%7B%7D%3B%0A%20%20%20%20%20%20%20%20%20%20node._paperShadow%5Bs%5D%20%3D%20inner%3B%0A%20%20%20%20%20%20%20%20%7D.bind(this))%3B%0A%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20removeShadow%3A%20function(node)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!node._paperShadow)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%5B'top'%2C%20'bottom'%5D.forEach(function(s)%20%7B%0A%20%20%20%20%20%20%20%20%20%20node._paperShadow%5Bs%5D.remove()%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20node._paperShadow%20%3D%20null%3B%0A%0A%20%20%20%20%20%20%20%20node.style.position%20%3D%20null%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-shadow.js%0A
1 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('paper-button'%2C%20%7B%0A%0A%20%20%20%20%20%20publish%3A%20%7B%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20label%20of%20the%20button.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20label%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20label%3A%20''%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20button%20will%20be%20styled%20as%20a%20%22raised%22%20button.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20raisedButton%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20raisedButton%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20(optional)%20The%20URL%20of%20an%20image%20for%20an%20icon%20to%20use%20in%20the%20button.%0A%20%20%20%20%20%20%20%20%20*%20Should%20not%20use%20%60icon%60%20property%20if%20you%20are%20using%20this%20property.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20iconSrc%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20%20iconSrc%3A%20''%2C%0A%0A%20%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20%20*%20(optional)%20Specifies%20the%20icon%20name%20or%20index%20in%20the%20set%20of%20icons%0A%20%20%20%20%20%20%20%20%20%20*%20available%20in%20the%20icon%20set.%20If%20using%20this%20property%2C%20load%20the%20icon%0A%20%20%20%20%20%20%20%20%20%20*%20set%20separately%20where%20the%20icon%20is%20used.%20Should%20not%20use%20%60src%60%0A%20%20%20%20%20%20%20%20%20%20*%20if%20you%20are%20using%20this%20property.%0A%20%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20%20*%20%40attribute%20icon%0A%20%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20%20icon%3A%20''%0A%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20z%3A%201%2C%0A%0A%20%20%20%20%20%20attached%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.textContent%20%26%26%20this.textContent.match(%2F%5CS%2B%2F))%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.warn('Using%20textContent%20to%20label%20the%20button%20is%20deprecated.%20Use%20the%20%22label%22%20property%20instead')%3B%0A%20%20%20%20%20%20%20%20%20%20this.label%20%3D%20this.textContent%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20activeChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.super()%3B%0A%0A%20%20%20%20%20%20%20%20if%20(this.active)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20FIXME%3A%20remove%20when%20paper-ripple%20can%20have%20a%20default%20'down'%20state.%0A%20%20%20%20%20%20%20%20%20%20if%20(!this.lastEvent)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20rect%20%3D%20this.getBoundingClientRect()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.lastEvent%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20x%3A%20rect.left%20%2B%20rect.width%20%2F%202%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20y%3A%20rect.top%20%2B%20rect.height%20%2F%202%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20this.%24.ripple.downAction(this.lastEvent)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.ripple.upAction()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.adjustZ()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20focusedChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.super()%3B%0A%20%20%20%20%20%20%20%20this.adjustZ()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20disabledChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.super()%3B%0A%20%20%20%20%20%20%20%20this.adjustZ()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F%2F%20waitForSpillCompleted%3A%20function(callback)%20%7B%0A%20%20%20%20%20%20%2F%2F%20%20%20this.async(callback%2C%20null%2C%20(this.%24.ink.spillCompleted%20%3F%200%20%3A%20this.duration))%3B%0A%20%20%20%20%20%20%2F%2F%20%7D%2C%0A%0A%20%20%20%20%20%20%2F%2F%20resetInk%3A%20function()%20%7B%0A%20%20%20%20%20%20%2F%2F%20%20%20this.active%20%3D%20false%3B%0A%20%20%20%20%20%20%2F%2F%20%20%20this.%24.ink.reset()%3B%0A%20%20%20%20%20%20%2F%2F%20%7D%2C%0A%0A%20%20%20%20%20%20insideButton%3A%20function(x%2C%20y)%20%7B%0A%20%20%20%20%20%20%20%20var%20rect%20%3D%20this.getBoundingClientRect()%3B%0A%20%20%20%20%20%20%20%20return%20(rect.left%20%3C%3D%20x)%20%26%26%20(x%20%3C%3D%20rect.right)%20%26%26%20(rect.top%20%3C%3D%20y)%20%26%26%20(y%20%3C%3D%20rect.bottom)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20adjustZ%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.focused)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.classList.add('paper-shadow-animate-z-1-z-2')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.classList.remove('paper-shadow-animate-z-1-z-2')%3B%0A%0A%20%20%20%20%20%20%20%20%20%20if%20(this.active)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.z%20%3D%202%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20(this.disabled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.z%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.z%20%3D%201%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20downAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20this.super(e)%3B%0A%20%20%20%20%20%20%20%20this.lastEvent%20%3D%20e%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20labelChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.setAttribute('aria-label'%2C%20this.label)%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-button.js%0A
1 ms
javascript;charset=utf-8,%0A%0A%20%20%20%20Polymer('core-iconset-svg'%2C%20%7B%0A%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20size%20of%20an%20individual%20icon.%20Note%20that%20icons%20must%20be%20square.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20iconSize%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%2024%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20iconSize%3A%2024%2C%0A%20%20%20%20%20%20type%3A%20'iconset'%2C%0A%0A%20%20%20%20%20%20created%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this._icons%20%3D%20%7B%7D%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.super()%3B%0A%20%20%20%20%20%20%20%20this.updateIcons()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20iconById%3A%20function(id)%20%7B%0A%20%20%20%20%20%20%20%20return%20this._icons%5Bid%5D%20%7C%7C%20(this._icons%5Bid%5D%20%3D%20this.querySelector('%23'%20%2B%20id))%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20cloneIcon%3A%20function(id)%20%7B%0A%20%20%20%20%20%20%20%20var%20icon%20%3D%20this.iconById(id)%3B%0A%20%20%20%20%20%20%20%20if%20(icon)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20content%20%3D%20icon.cloneNode(true)%3B%0A%20%20%20%20%20%20%20%20%20%20content.removeAttribute('id')%3B%0A%20%20%20%20%20%20%20%20%20%20var%20svg%20%3D%20document.createElementNS('http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%2C%20'svg')%3B%0A%20%20%20%20%20%20%20%20%20%20svg.setAttribute('viewBox'%2C%20'0%200%20'%20%2B%20this.iconSize%20%2B%20'%20'%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.iconSize)%3B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20NOTE(dfreedm)%3A%20work%20around%20https%3A%2F%2Fcrbug.com%2F370136%0A%20%20%20%20%20%20%20%20%20%20svg.style.pointerEvents%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20%20%20svg.appendChild(content)%3B%0A%20%20%20%20%20%20%20%20%20%20return%20svg%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20get%20iconNames()%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this._iconNames)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this._iconNames%20%3D%20this.findIconNames()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20this._iconNames%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20findIconNames%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20var%20icons%20%3D%20this.querySelectorAll('%5Bid%5D').array()%3B%0A%20%20%20%20%20%20%20%20if%20(icons.length)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20icons.map(function(n)%7B%20return%20n.id%20%7D)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Applies%20an%20icon%20to%20the%20given%20element.%20The%20svg%20icon%20is%20added%20to%20the%0A%20%20%20%20%20%20%20*%20element's%20shadowRoot%20if%20one%20exists%20or%20directly%20to%20itself.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20applyIcon%0A%20%20%20%20%20%20%20*%20%40param%20%7BElement%7D%20element%20The%20element%20to%20which%20the%20icon%20is%0A%20%20%20%20%20%20%20*%20applied.%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7CNumber%7D%20icon%20The%20name%20the%20icon%20to%20apply.%0A%20%20%20%20%20%20%20*%20%40return%20%7BElement%7D%20The%20icon%20element%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20applyIcon%3A%20function(element%2C%20icon)%20%7B%0A%20%20%20%20%20%20%20%20var%20root%20%3D%20element%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20remove%20old%0A%20%20%20%20%20%20%20%20var%20old%20%3D%20root.querySelector('svg')%3B%0A%20%20%20%20%20%20%20%20if%20(old)%20%7B%0A%20%20%20%20%20%20%20%20%20%20old.remove()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%2F%2F%20install%20new%0A%20%20%20%20%20%20%20%20var%20svg%20%3D%20this.cloneIcon(icon)%3B%0A%20%20%20%20%20%20%20%20if%20(!svg)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20svg.setAttribute('height'%2C%20'100%25')%3B%0A%20%20%20%20%20%20%20%20svg.setAttribute('width'%2C%20'100%25')%3B%0A%20%20%20%20%20%20%20%20svg.setAttribute('preserveAspectRatio'%2C%20'xMidYMid%20meet')%3B%0A%20%20%20%20%20%20%20%20svg.style.display%20%3D%20'block'%3B%0A%20%20%20%20%20%20%20%20root.insertBefore(svg%2C%20root.firstElementChild)%3B%0A%20%20%20%20%20%20%20%20return%20svg%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Tell%20users%20of%20the%20iconset%2C%20that%20the%20set%20has%20loaded.%0A%20%20%20%20%20%20%20*%20This%20finds%20all%20elements%20matching%20the%20selector%20argument%20and%20calls%20%0A%20%20%20%20%20%20%20*%20the%20method%20argument%20on%20them.%0A%20%20%20%20%20%20%20*%20%40method%20updateIcons%0A%20%20%20%20%20%20%20*%20%40param%20selector%20%7Bstring%7D%20css%20selector%20to%20identify%20iconset%20users%2C%20%0A%20%20%20%20%20%20%20*%20defaults%20to%20'%5Bicon%5D'%0A%20%20%20%20%20%20%20*%20%40param%20method%20%7Bstring%7D%20method%20to%20call%20on%20found%20elements%2C%20%0A%20%20%20%20%20%20%20*%20defaults%20to%20'updateIcon'%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20updateIcons%3A%20function(selector%2C%20method)%20%7B%0A%20%20%20%20%20%20%20%20selector%20%3D%20selector%20%7C%7C%20'%5Bicon%5D'%3B%0A%20%20%20%20%20%20%20%20method%20%3D%20method%20%7C%7C%20'updateIcon'%3B%0A%20%20%20%20%20%20%20%20var%20deep%20%3D%20window.ShadowDOMPolyfill%20%3F%20''%20%3A%20'html%20%2Fdeep%2F%20'%3B%0A%20%20%20%20%20%20%20%20var%20i%24%20%3D%20document.querySelectorAll(deep%20%2B%20selector)%3B%0A%20%20%20%20%20%20%20%20for%20(var%20i%3D0%2C%20e%3B%20e%3Di%24%5Bi%5D%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(e%5Bmethod%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20e%5Bmethod%5D.call(e)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%0A%20%20%20%20%7D)%3B%0A%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-iconset-svg.js%0A
1 ms
javascript;charset=utf-8,%0A%0A%20%20%20%20Polymer('core-icon-button'%2C%20%7B%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20URL%20of%20an%20image%20for%20the%20icon.%20%20Should%20not%20use%20%60icon%60%20property%0A%20%20%20%20%20%20%20*%20if%20you%20are%20using%20this%20property.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20src%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20src%3A%20''%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20If%20true%2C%20border%20is%20placed%20around%20the%20button%20to%20indicate%20it's%0A%20%20%20%20%20%20%20*%20active%20state.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20active%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20active%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Specifies%20the%20icon%20name%20or%20index%20in%20the%20set%20of%20icons%20available%20in%0A%20%20%20%20%20%20%20*%20the%20icon%20set.%20%20Should%20not%20use%20%60src%60%20property%20if%20you%20are%20using%20this%0A%20%20%20%20%20%20%20*%20property.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20icon%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20icon%3A%20''%2C%0A%0A%20%20%20%20%20%20activeChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.classList.toggle('selected'%2C%20this.active)%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-icon-button.js%0A
0 ms
javascript;charset=utf-8,%0A%20%20%0A%20%20%20%20Polymer('paper-icon-button'%2C%20%7B%0A%0A%20%20%20%20%20%20publish%3A%20%7B%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20ripple%20expands%20to%20a%20square%20to%20fill%20the%20containing%20box.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20fill%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20fill%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%0A%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.ripple.classList.add('recenteringTouch')%3B%0A%20%20%20%20%20%20%20%20this.fillChanged()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20fillChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.ripple.classList.toggle('circle'%2C%20!this.fill)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20iconChanged%3A%20function(oldIcon)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.label)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('aria-label'%2C%20this.icon)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%20%20%20%20%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-icon-button.js%0A
0 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('paper-item'%2C%20%7B%0A%0A%20%20%20%20%20%20publish%3A%20%7B%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20label%20for%20the%20item.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20label%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20label%3A%20''%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20(optional)%20The%20URL%20of%20an%20image%20for%20an%20icon%20to%20use%20in%20the%20button.%0A%20%20%20%20%20%20%20%20%20*%20Should%20not%20use%20%60icon%60%20property%20if%20you%20are%20using%20this%20property.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20iconSrc%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20iconSrc%3A%20''%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20(optional)%20Specifies%20the%20icon%20name%20or%20index%20in%20the%20set%20of%20icons%0A%20%20%20%20%20%20%20%20%20*%20available%20in%20the%20icon%20set.%20If%20using%20this%20property%2C%20load%20the%20icon%0A%20%20%20%20%20%20%20%20%20*%20set%20separately%20where%20the%20icon%20is%20used.%20Should%20not%20use%20%60src%60%0A%20%20%20%20%20%20%20%20%20*%20if%20you%20are%20using%20this%20property.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20icon%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20icon%3A%20''%0A%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20eventDelegates%3A%20%7B%0A%20%20%20%20%20%20%20%20'down'%3A%20'downAction'%2C%0A%20%20%20%20%20%20%20%20'up'%3A%20'upAction'%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20downAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20this.%24.ripple.downAction(e)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20upAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20this.%24.ripple.upAction(e)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-item.js%0A
0 ms
javascript;charset=utf-8,%0A%0A%20%20Polymer('paper-radio-button'%2C%20%7B%0A%20%20%20%20%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Fired%20when%20the%20checked%20state%20changes%20due%20to%20user%20interaction.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40event%20change%0A%20%20%20%20%20*%2F%0A%20%20%20%20%20%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Fired%20when%20the%20checked%20state%20changes.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40event%20core-change%0A%20%20%20%20%20*%2F%0A%20%20%20%20%0A%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Gets%20or%20sets%20the%20state%2C%20%60true%60%20is%20checked%20and%20%60false%60%20is%20unchecked.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20checked%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20checked%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20label%20for%20the%20radio%20button.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20label%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20label%3A%20''%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Normally%20the%20user%20cannot%20uncheck%20the%20radio%20button%20by%20tapping%20once%0A%20%20%20%20%20%20%20*%20checked.%20%20Setting%20this%20property%20to%20%60true%60%20makes%20the%20radio%20button%0A%20%20%20%20%20%20%20*%20toggleable%20from%20checked%20to%20unchecked.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20toggles%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20toggles%3A%20false%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20If%20true%2C%20the%20user%20cannot%20interact%20with%20this%20element.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20disabled%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20disabled%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20%0A%20%20%20%20eventDelegates%3A%20%7B%0A%20%20%20%20%20%20tap%3A%20'tap'%0A%20%20%20%20%7D%2C%0A%20%20%20%20%0A%20%20%20%20tap%3A%20function()%20%7B%0A%20%20%20%20%20%20var%20old%20%3D%20this.checked%3B%0A%20%20%20%20%20%20this.toggle()%3B%0A%20%20%20%20%20%20if%20(this.checked%20!%3D%3D%20old)%20%7B%0A%20%20%20%20%20%20%20%20this.fire('change')%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20%0A%20%20%20%20toggle%3A%20function()%20%7B%0A%20%20%20%20%20%20this.checked%20%3D%20!this.toggles%20%7C%7C%20!this.checked%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20%0A%20%20%20%20checkedChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20this.%24.onRadio.classList.toggle('fill'%2C%20this.checked)%3B%0A%20%20%20%20%20%20this.setAttribute('aria-checked'%2C%20this.checked%20%3F%20'true'%3A%20'false')%3B%0A%20%20%20%20%20%20this.fire('core-change')%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20%0A%20%20%20%20labelChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20this.setAttribute('aria-label'%2C%20this.label)%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%7D)%3B%0A%20%20%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-radio-button.js%0A
2 ms
collect
24 ms
collect
629 ms
javascript;charset=utf-8,%0A%0A%20%20Polymer('paper-checkbox'%2C%20%7B%0A%20%20%20%20%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Fired%20when%20the%20checked%20state%20changes%20due%20to%20user%20interaction.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40event%20change%0A%20%20%20%20%20*%2F%0A%20%20%20%20%20%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Fired%20when%20the%20checked%20state%20changes.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40event%20core-change%0A%20%20%20%20%20*%2F%0A%20%20%20%20%0A%20%20%20%20toggles%3A%20true%2C%0A%0A%20%20%20%20checkedChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20var%20cl%20%3D%20this.%24.checkbox.classList%3B%0A%20%20%20%20%20%20cl.toggle('checked'%2C%20this.checked)%3B%0A%20%20%20%20%20%20cl.toggle('unchecked'%2C%20!this.checked)%3B%0A%20%20%20%20%20%20cl.toggle('checkmark'%2C%20!this.checked)%3B%0A%20%20%20%20%20%20cl.toggle('box'%2C%20this.checked)%3B%0A%20%20%20%20%20%20this.setAttribute('aria-checked'%2C%20this.checked%20%3F%20'true'%3A%20'false')%3B%0A%20%20%20%20%20%20this.fire('core-change')%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20checkboxAnimationEnd%3A%20function()%20%7B%0A%20%20%20%20%20%20var%20cl%20%3D%20this.%24.checkbox.classList%3B%0A%20%20%20%20%20%20cl.toggle('checkmark'%2C%20this.checked%20%26%26%20!cl.contains('checkmark'))%3B%0A%20%20%20%20%20%20cl.toggle('box'%2C%20!this.checked%20%26%26%20!cl.contains('box'))%3B%0A%20%20%20%20%7D%0A%0A%20%20%7D)%3B%0A%20%20%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-checkbox.js%0A
1 ms
javascript;charset=utf-8,%0A%0A%20%20%20%20Polymer('core-input'%2C%20%7B%0A%20%20%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20Placeholder%20text%20that%20hints%20to%20the%20user%20what%20can%20be%20entered%20in%0A%20%20%20%20%20%20%20%20%20*%20the%20input.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20placeholder%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20placeholder%3A%20''%2C%0A%20%20%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20this%20input%20cannot%20be%20focused%20and%20the%20user%20cannot%20change%0A%20%20%20%20%20%20%20%20%20*%20its%20value.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20disabled%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20disabled%3A%20false%2C%0A%20%20%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20user%20cannot%20modify%20the%20value%20of%20the%20input.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20readonly%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20readonly%3A%20false%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20this%20input%20will%20automatically%20gain%20focus%20on%20page%20load.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20autofocus%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20autofocus%3A%20false%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20this%20input%20accepts%20multi-line%20input%20like%20a%20%60%3Ctextarea%3E%60%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20multiline%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20multiline%3A%20false%2C%0A%20%20%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20(multiline%20only)%20The%20height%20of%20this%20text%20input%20in%20rows.%20The%20input%0A%20%20%20%20%20%20%20%20%20*%20will%20scroll%20internally%20if%20more%20input%20is%20entered%20beyond%20the%20size%0A%20%20%20%20%20%20%20%20%20*%20of%20the%20component.%20This%20property%20is%20meaningless%20if%20multiline%20is%0A%20%20%20%20%20%20%20%20%20*%20false.%20You%20can%20also%20set%20this%20property%20to%20%22fit%22%20and%20size%20the%0A%20%20%20%20%20%20%20%20%20*%20component%20with%20CSS%20to%20make%20the%20input%20fit%20the%20CSS%20size.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20rows%0A%20%20%20%20%20%20%20%20%20*%20%40type%20number%7C'fit'%0A%20%20%20%20%20%20%20%20%20*%20%40default%20'fit'%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20rows%3A%20'fit'%2C%0A%20%20%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20current%20value%20of%20this%20input.%20Changing%20inputValue%20programmatically%0A%20%20%20%20%20%20%20%20%20*%20will%20cause%20value%20to%20be%20out%20of%20sync.%20Instead%2C%20change%20value%20directly%0A%20%20%20%20%20%20%20%20%20*%20or%20call%20commit()%20after%20changing%20inputValue.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20inputValue%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20inputValue%3A%20''%2C%0A%20%20%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20value%20of%20the%20input%20committed%20by%20the%20user%2C%20either%20by%20changing%20the%0A%20%20%20%20%20%20%20%20%20*%20inputValue%20and%20blurring%20the%20input%2C%20or%20by%20hitting%20the%20%60enter%60%20key.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20value%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20value%3A%20''%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20Set%20the%20input%20type.%20Not%20supported%20for%20%60multiline%60.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20type%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20text%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20type%3A%20'text'%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20input%20is%20invalid%20if%20its%20value%20is%20null.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20required%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20required%3A%20false%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20A%20regular%20expression%20to%20validate%20the%20input%20value%20against.%20See%0A%20%20%20%20%20%20%20%20%20*%20https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FGuide%2FHTML%2FHTML5%2FConstraint_validation%23Validation-related_attributes%0A%20%20%20%20%20%20%20%20%20*%20for%20more%20info.%20Not%20supported%20if%20%60multiline%60%20is%20true.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20pattern%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20'.*'%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20%2F%2F%20FIXME(yvonne)%3A%20The%20default%20is%20set%20to%20.*%20because%20we%20can't%20bind%20to%20pattern%20such%0A%20%20%20%20%20%20%20%20%2F%2F%20that%20the%20attribute%20is%20unset%20if%20pattern%20is%20null.%0A%20%20%20%20%20%20%20%20pattern%3A%20'.*'%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20set%2C%20the%20input%20is%20invalid%20if%20the%20value%20is%20less%20than%20this%20property.%20See%0A%20%20%20%20%20%20%20%20%20*%20https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FGuide%2FHTML%2FHTML5%2FConstraint_validation%23Validation-related_attributes%0A%20%20%20%20%20%20%20%20%20*%20for%20more%20info.%20Not%20supported%20if%20%60multiline%60%20is%20true.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20min%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20min%3A%20null%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20set%2C%20the%20input%20is%20invalid%20if%20the%20value%20is%20greater%20than%20this%20property.%20See%0A%20%20%20%20%20%20%20%20%20*%20https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FGuide%2FHTML%2FHTML5%2FConstraint_validation%23Validation-related_attributes%0A%20%20%20%20%20%20%20%20%20*%20for%20more%20info.%20Not%20supported%20if%20%60multiline%60%20is%20true.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20max%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20max%3A%20null%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20set%2C%20the%20input%20is%20invalid%20if%20the%20value%20is%20not%20%60min%60%20plus%20an%20integral%20multiple%0A%20%20%20%20%20%20%20%20%20*%20of%20this%20property.%20See%0A%20%20%20%20%20%20%20%20%20*%20https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FGuide%2FHTML%2FHTML5%2FConstraint_validation%23Validation-related_attributes%0A%20%20%20%20%20%20%20%20%20*%20for%20more%20info.%20Not%20supported%20if%20%60multiline%60%20is%20true.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20step%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20step%3A%20null%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20maximum%20length%20of%20the%20input%20value.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20maxlength%0A%20%20%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20maxlength%3A%20null%2C%0A%20%20%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20this%20property%20is%20true%2C%20the%20text%20input's%20inputValue%20failed%20validation.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20invalid%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20invalid%3A%20false%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20this%20property%20is%20true%2C%20validate%20the%20input%20as%20they%20are%20entered.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20validateImmediately%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20true%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20validateImmediately%3A%20true%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.handleTabindex(this.getAttribute('tabindex'))%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20disabledChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.disabled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('aria-disabled'%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeAttribute('aria-disabled')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20invalidChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.classList.toggle('invalid'%2C%20this.invalid)%3B%0A%20%20%20%20%20%20%20%20this.fire('input-'%2B%20(this.invalid%20%3F%20'invalid'%20%3A%20'valid')%2C%20%7Bvalue%3A%20this.inputValue%7D)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20inputValueChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.validateImmediately)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.updateValidity_()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20valueChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.inputValue%20%3D%20this.value%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20requiredChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.validateImmediately)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.updateValidity_()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20attributeChanged%3A%20function(attr%2C%20oldVal%2C%20curVal)%20%7B%0A%20%20%20%20%20%20%20%20if%20(attr%20%3D%3D%3D%20'tabindex')%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.handleTabindex(curVal)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20handleTabindex%3A%20function(tabindex)%20%7B%0A%20%20%20%20%20%20%20%20if%20(tabindex%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.input.setAttribute('tabindex'%2C%20-1)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.input.removeAttribute('tabindex')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Commits%20the%20inputValue%20to%20value.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20commit%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20commit%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20%20this.value%20%3D%20this.inputValue%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20updateValidity_%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.%24.input.willValidate)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.invalid%20%3D%20!this.%24.input.validity.valid%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20keypressAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20disallow%20non-numeric%20input%20if%20type%20%3D%20number%0A%20%20%20%20%20%20%20%20if%20(this.type%20!%3D%3D%20'number')%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20var%20c%20%3D%20String.fromCharCode(e.charCode)%3B%0A%20%20%20%20%20%20%20%20if%20(e.charCode%20!%3D%3D%200%20%26%26%20!c.match(%2F%5B%5Cd-%5C.e%5D%2F))%20%7B%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20inputChangeAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.commit()%3B%0A%20%20%20%20%20%20%20%20if%20(!window.ShadowDOMPolyfill)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20re-fire%20event%20that%20does%20not%20bubble%20across%20shadow%20roots%0A%20%20%20%20%20%20%20%20%20%20this.fire('change'%2C%20null%2C%20this)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20focusAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.getAttribute('tabindex')%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Forward%20focus%20to%20the%20inner%20input%20if%20tabindex%20is%20set%20on%20the%20element%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20This%20will%20not%20cause%20an%20infinite%20loop%20because%20focus%20will%20not%20fire%20on%20the%20%3Cinput%3E%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20again%20if%20it's%20already%20focused.%0A%20%20%20%20%20%20%20%20%20%20this.%24.input.focus()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20inputFocusAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20if%20(window.ShadowDOMPolyfill)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20re-fire%20non-bubbling%20event%20if%20polyfill%0A%20%20%20%20%20%20%20%20%20%20this.fire('focus'%2C%20null%2C%20this%2C%20false)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20inputBlurAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(window.ShadowDOMPolyfill)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20re-fire%20non-bubbling%20event%0A%20%20%20%20%20%20%20%20%20%20this.fire('blur'%2C%20null%2C%20this%2C%20false)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20%2F%20textarea%20element.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20blur%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20blur%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.input.blur()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20%2F%20textarea%20element.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20click%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20click%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.input.click()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20%2F%20textarea%20element.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20focus%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20focus%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.input.focus()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20%2F%20textarea%20element.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20select%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20select%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.input.select()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20%2F%20textarea%20element.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20setSelectionRange%0A%20%20%20%20%20%20%20*%20%40param%20%7Bnumber%7D%20selectionStart%0A%20%20%20%20%20%20%20*%20%40param%20%7Bnumber%7D%20selectionEnd%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7D%20selectionDirection%20(optional)%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20setSelectionRange%3A%20function(selectionStart%2C%20selectionEnd%2C%20selectionDirection)%20%7B%0A%20%20%20%20%20%20%20%20this.%24.input.setSelectionRange(selectionStart%2C%20selectionEnd%2C%20selectionDirection)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20element%2C%20not%20implemented%20for%20multiline.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20setRangeText%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7D%20replacement%0A%20%20%20%20%20%20%20*%20%40param%20%7Bnumber%7D%20start%20(optional)%0A%20%20%20%20%20%20%20*%20%40param%20%7Bnumber%7D%20end%20(optional)%0A%20%20%20%20%20%20%20*%20%40param%20%7BString%7D%20selectMode%20(optional)%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20setRangeText%3A%20function(replacement%2C%20start%2C%20end%2C%20selectMode)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.multiline)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.input.setRangeText(replacement%2C%20start%2C%20end%2C%20selectMode)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%2C%20not%20implemented%20for%20multiline.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20stepDown%0A%20%20%20%20%20%20%20*%20%40param%20%7Bnumber%7D%20n%20(optional)%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20stepDown%3A%20function(n)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.multiline)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.input.stepDown(n)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%2C%20not%20implemented%20for%20multiline.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20stepUp%0A%20%20%20%20%20%20%20*%20%40param%20%7Bnumber%7D%20n%20(optional)%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20stepUp%3A%20function(n)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.multiline)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.input.stepUp(n)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20get%20willValidate()%20%7B%0A%20%20%20%20%20%20%20%20return%20this.%24.input.willValidate%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20get%20validity()%20%7B%0A%20%20%20%20%20%20%20%20return%20this.%24.input.validity%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20get%20validationMessage()%20%7B%0A%20%20%20%20%20%20%20%20return%20this.%24.input.validationMessage%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20%2F%20textarea%20element%20and%20updates%20state.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20checkValidity%0A%20%20%20%20%20%20%20*%20%40return%20%7Bboolean%7D%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20checkValidity%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20var%20r%20%3D%20this.%24.input.checkValidity()%3B%0A%20%20%20%20%20%20%20%20this.updateValidity_()%3B%0A%20%20%20%20%20%20%20%20return%20r%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Forwards%20to%20the%20internal%20input%20%2F%20textarea%20element%20and%20updates%20state.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20setCustomValidity%0A%20%20%20%20%20%20%20*%20%40param%20%7Bnumber%7D%20message%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20setCustomValidity%3A%20function(message)%20%7B%0A%20%20%20%20%20%20%20%20this.%24.input.setCustomValidity(message)%3B%0A%20%20%20%20%20%20%20%20this.updateValidity_()%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-input.js%0A
2 ms
javascript;charset=utf-8,%0A(function()%20%7B%0A%0Awindow.CoreStyle%20%3D%20window.CoreStyle%20%7C%7C%20%7B%0A%20%20g%3A%20%7B%7D%2C%0A%20%20list%3A%20%7B%7D%2C%0A%20%20refMap%3A%20%7B%7D%0A%7D%3B%0A%0APolymer('core-style'%2C%20%7B%0A%20%20%2F**%0A%20%20%20*%20The%20%60id%60%20property%20should%20be%20set%20if%20the%20%60core-style%60%20is%20a%20producer%0A%20%20%20*%20of%20styles.%20In%20this%20case%2C%20the%20%60core-style%60%20should%20have%20text%20content%0A%20%20%20*%20that%20is%20cssText.%0A%20%20%20*%0A%20%20%20*%20%40attribute%20id%0A%20%20%20*%20%40type%20string%0A%20%20%20*%20%40default%20''%0A%20%20%20*%2F%0A%0A%0A%20%20publish%3A%20%7B%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20The%20%60ref%60%20property%20should%20be%20set%20if%20the%20%60core-style%60%20element%20is%20a%20%0A%20%20%20%20%20*%20consumer%20of%20styles.%20Set%20it%20to%20the%20%60id%60%20of%20the%20desired%20%60core-style%60%0A%20%20%20%20%20*%20element.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40attribute%20ref%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20*%2F%0A%20%20%20%20ref%3A%20''%0A%20%20%7D%2C%0A%0A%20%20%2F%2F%20static%0A%20%20g%3A%20CoreStyle.g%2C%0A%20%20refMap%3A%20CoreStyle.refMap%2C%0A%0A%20%20%2F**%0A%20%20%20*%20The%20%60list%60%20is%20a%20map%20of%20all%20%60core-style%60%20producers%20stored%20by%20%60id%60.%20It%20%0A%20%20%20*%20should%20be%20considered%20readonly.%20It's%20useful%20for%20nesting%20one%20%60core-style%60%0A%20%20%20*%20inside%20another.%0A%20%20%20*%0A%20%20%20*%20%40attribute%20list%0A%20%20%20*%20%40type%20object%20(readonly)%0A%20%20%20*%20%40default%20%7Bmap%20of%20all%20%60core-style%60%20producers%7D%0A%20%20%20*%2F%0A%20%20list%3A%20CoreStyle.list%2C%0A%0A%20%20%2F%2F%20if%20we%20have%20an%20id%2C%20we%20provide%20style%0A%20%20%2F%2F%20if%20we%20have%20a%20ref%2C%20we%20consume%2Frequire%20style%0A%20%20ready%3A%20function()%20%7B%0A%20%20%20%20if%20(this.id)%20%7B%0A%20%20%20%20%20%20this.provide()%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20this.registerRef(this.ref)%3B%0A%20%20%20%20%20%20if%20(!window.ShadowDOMPolyfill)%20%7B%0A%20%20%20%20%20%20%20%20this.require()%3B%0A%20%20%20%20%20%20%7D%20%20%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20%2F%2F%20can't%20shim%20until%20attached%20if%20using%20SD%20polyfill%20because%20need%20to%20find%20host%0A%20%20attached%3A%20function()%20%7B%0A%20%20%20%20if%20(!this.id%20%26%26%20window.ShadowDOMPolyfill)%20%7B%0A%20%20%20%20%20%20this.require()%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20%2F******%20producer%20stuff%20*******%2F%0A%0A%20%20provide%3A%20function()%20%7B%0A%20%20%20%20this.register()%3B%0A%20%20%20%20%2F%2F%20we%20want%20to%20do%20this%20asap%2C%20especially%20so%20we%20can%20do%20so%20before%20definitions%0A%20%20%20%20%2F%2F%20that%20use%20this%20core-style%20are%20registered.%0A%20%20%20%20if%20(this.textContent)%20%7B%0A%20%20%20%20%20%20this._completeProvide()%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20this.async(this._completeProvide)%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20register%3A%20function()%20%7B%0A%20%20%20%20var%20i%20%3D%20this.list%5Bthis.id%5D%3B%0A%20%20%20%20if%20(i)%20%7B%0A%20%20%20%20%20%20if%20(!Array.isArray(i))%20%7B%0A%20%20%20%20%20%20%20%20this.list%5Bthis.id%5D%20%3D%20%5Bi%5D%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.list%5Bthis.id%5D.push(this)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20this.list%5Bthis.id%5D%20%3D%20this%3B%20%20%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20%2F%2F%20stamp%20into%20a%20shadowRoot%20so%20we%20can%20monitor%20dom%20of%20the%20bound%20output%0A%20%20_completeProvide%3A%20function()%20%7B%0A%20%20%20%20this.createShadowRoot()%3B%0A%20%20%20%20this.domObserver%20%3D%20new%20MutationObserver(this.domModified.bind(this))%0A%20%20%20%20%20%20%20%20.observe(this.shadowRoot%2C%20%7Bsubtree%3A%20true%2C%20%0A%20%20%20%20%20%20%20%20characterData%3A%20true%2C%20childList%3A%20true%7D)%3B%0A%20%20%20%20this.provideContent()%3B%0A%20%20%7D%2C%0A%0A%20%20provideContent%3A%20function()%20%7B%0A%20%20%20%20this.ensureTemplate()%3B%0A%20%20%20%20this.shadowRoot.textContent%20%3D%20''%3B%0A%20%20%20%20this.shadowRoot.appendChild(this.instanceTemplate(this.template))%3B%0A%20%20%20%20this.cssText%20%3D%20this.shadowRoot.textContent%3B%0A%20%20%7D%2C%0A%0A%20%20ensureTemplate%3A%20function()%20%7B%0A%20%20%20%20if%20(!this.template)%20%7B%0A%20%20%20%20%20%20this.template%20%3D%20this.querySelector('template%3Anot(%5Brepeat%5D)%3Anot(%5Bbind%5D)')%3B%0A%20%20%20%20%20%20%2F%2F%20move%20content%20into%20the%20template%0A%20%20%20%20%20%20if%20(!this.template)%20%7B%0A%20%20%20%20%20%20%20%20this.template%20%3D%20document.createElement('template')%3B%0A%20%20%20%20%20%20%20%20var%20n%20%3D%20this.firstChild%3B%0A%20%20%20%20%20%20%20%20while%20(n)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.template.content.appendChild(n.cloneNode(true))%3B%0A%20%20%20%20%20%20%20%20%20%20n%20%3D%20n.nextSibling%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20domModified%3A%20function()%20%7B%0A%20%20%20%20this.cssText%20%3D%20this.shadowRoot.textContent%3B%0A%20%20%20%20this.notify()%3B%0A%20%20%7D%2C%0A%0A%20%20%2F%2F%20notify%20instances%20that%20reference%20this%20element%0A%20%20notify%3A%20function()%20%7B%0A%20%20%20%20var%20s%24%20%3D%20this.refMap%5Bthis.id%5D%3B%0A%20%20%20%20if%20(s%24)%20%7B%0A%20%20%20%20%20%20for%20(var%20i%3D0%2C%20s%3B%20(s%3Ds%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20s.require()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20%2F******%20consumer%20stuff%20*******%2F%0A%0A%20%20registerRef%3A%20function(ref)%20%7B%0A%20%20%20%20%2F%2Fconsole.log('register'%2C%20ref)%3B%0A%20%20%20%20this.refMap%5Bthis.ref%5D%20%3D%20this.refMap%5Bthis.ref%5D%20%7C%7C%20%5B%5D%3B%0A%20%20%20%20this.refMap%5Bthis.ref%5D.push(this)%3B%0A%20%20%7D%2C%0A%0A%20%20applyRef%3A%20function(ref)%20%7B%0A%20%20%20%20this.ref%20%3D%20ref%3B%0A%20%20%20%20this.registerRef(this.ref)%3B%0A%20%20%20%20this.require()%3B%0A%20%20%7D%2C%0A%0A%20%20require%3A%20function()%20%7B%0A%20%20%20%20var%20cssText%20%3D%20this.cssTextForRef(this.ref)%3B%0A%20%20%20%20%2F%2Fconsole.log('require'%2C%20this.ref%2C%20cssText)%3B%0A%20%20%20%20if%20(cssText)%20%7B%0A%20%20%20%20%20%20this.ensureStyleElement()%3B%0A%20%20%20%20%20%20%2F%2F%20do%20nothing%20if%20cssText%20has%20not%20changed%0A%20%20%20%20%20%20if%20(this.styleElement._cssText%20%3D%3D%3D%20cssText)%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.styleElement._cssText%20%3D%20cssText%3B%0A%20%20%20%20%20%20if%20(window.ShadowDOMPolyfill)%20%7B%0A%20%20%20%20%20%20%20%20this.styleElement.textContent%20%3D%20cssText%3B%0A%20%20%20%20%20%20%20%20cssText%20%3D%20Platform.ShadowCSS.shimStyle(this.styleElement%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20this.getScopeSelector())%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.styleElement.textContent%20%3D%20cssText%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20cssTextForRef%3A%20function(ref)%20%7B%0A%20%20%20%20var%20s%24%20%3D%20this.byId(ref)%3B%0A%20%20%20%20var%20cssText%20%3D%20''%3B%0A%20%20%20%20if%20(s%24)%20%7B%0A%20%20%20%20%20%20if%20(Array.isArray(s%24))%20%7B%0A%20%20%20%20%20%20%20%20var%20p%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20for%20(var%20i%3D0%2C%20l%3Ds%24.length%2C%20s%3B%20(i%3Cl)%20%26%26%20(s%3Ds%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20p.push(s.cssText)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20cssText%20%3D%20p.join('%5Cn%5Cn')%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20cssText%20%3D%20s%24.cssText%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20if%20(s%24%20%26%26%20!cssText)%20%7B%0A%20%20%20%20%20%20console.warn('No%20styles%20provided%20for%20ref%3A'%2C%20ref)%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%20cssText%3B%0A%20%20%7D%2C%0A%0A%20%20byId%3A%20function(id)%20%7B%0A%20%20%20%20return%20this.list%5Bid%5D%3B%0A%20%20%7D%2C%0A%0A%20%20ensureStyleElement%3A%20function()%20%7B%0A%20%20%20%20if%20(!this.styleElement)%20%7B%0A%20%20%20%20%20%20this.styleElement%20%3D%20window.ShadowDOMPolyfill%20%3F%20%0A%20%20%20%20%20%20%20%20%20%20this.makeShimStyle()%20%3A%0A%20%20%20%20%20%20%20%20%20%20this.makeRootStyle()%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(!this.styleElement)%20%7B%0A%20%20%20%20%20%20console.warn(this.localName%2C%20'could%20not%20setup%20style.')%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20makeRootStyle%3A%20function()%20%7B%0A%20%20%20%20var%20style%20%3D%20document.createElement('style')%3B%0A%20%20%20%20this.appendChild(style)%3B%0A%20%20%20%20return%20style%3B%0A%20%20%7D%2C%0A%0A%20%20makeShimStyle%3A%20function()%20%7B%0A%20%20%20%20var%20host%20%3D%20this.findHost(this)%3B%0A%20%20%20%20if%20(host)%20%7B%0A%20%20%20%20%20%20var%20name%20%3D%20host.localName%3B%0A%20%20%20%20%20%20var%20style%20%3D%20document.querySelector('style%5B'%20%2B%20name%20%2B%20'%3D'%20%2B%20this.ref%20%2B'%5D')%3B%0A%20%20%20%20%20%20if%20(!style)%20%7B%0A%20%20%20%20%20%20%20%20style%20%3D%20document.createElement('style')%3B%0A%20%20%20%20%20%20%20%20style.setAttribute(name%2C%20this.ref)%3B%0A%20%20%20%20%20%20%20%20document.head.appendChild(style)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20style%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20getScopeSelector%3A%20function()%20%7B%0A%20%20%20%20if%20(!this._scopeSelector)%20%7B%0A%20%20%20%20%20%20var%20selector%20%3D%20''%2C%20host%20%3D%20this.findHost(this)%3B%0A%20%20%20%20%20%20if%20(host)%20%7B%0A%20%20%20%20%20%20%20%20var%20typeExtension%20%3D%20host.hasAttribute('is')%3B%0A%20%20%20%20%20%20%20%20var%20name%20%3D%20typeExtension%20%3F%20host.getAttribute('is')%20%3A%20host.localName%3B%0A%20%20%20%20%20%20%20%20selector%20%3D%20Platform.ShadowCSS.makeScopeSelector(name%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20typeExtension)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this._scopeSelector%20%3D%20selector%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%20this._scopeSelector%3B%0A%20%20%7D%2C%0A%0A%20%20findHost%3A%20function(node)%20%7B%0A%20%20%20%20while%20(node.parentNode)%20%7B%0A%20%20%20%20%20%20node%20%3D%20node.parentNode%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%20node.host%20%7C%7C%20wrap(document.documentElement)%3B%0A%20%20%7D%2C%0A%0A%20%20%2F*%20filters!%20*%2F%0A%20%20%2F%2F%20TODO(dfreedm)%3A%20add%20more%20filters!%0A%0A%20%20cycle%3A%20function(rgb%2C%20amount)%20%7B%0A%20%20%20%20if%20(rgb.match('%23'))%20%7B%0A%20%20%20%20%20%20var%20o%20%3D%20this.hexToRgb(rgb)%3B%0A%20%20%20%20%20%20if%20(!o)%20%7B%0A%20%20%20%20%20%20%20%20return%20rgb%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20rgb%20%3D%20'rgb('%20%2B%20o.r%20%2B%20'%2C'%20%2B%20o.b%20%2B%20'%2C'%20%2B%20o.g%20%2B%20')'%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20cycleChannel(v)%20%7B%0A%20%20%20%20%20%20return%20Math.abs((Number(v)%20-%20amount)%20%25%20255)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20return%20rgb.replace(%2Frgb%5C((%5B%5E%2C%5D*)%2C(%5B%5E%2C%5D*)%2C(%5B%5E%2C%5D*)%5C)%2F%2C%20function(m%2C%20a%2C%20b%2C%20c)%20%7B%0A%20%20%20%20%20%20return%20'rgb('%20%2B%20cycleChannel(a)%20%2B%20'%2C'%20%2B%20cycleChannel(b)%20%2B%20'%2C%20'%20%0A%20%20%20%20%20%20%20%20%20%20%2B%20cycleChannel(c)%20%2B%20')'%3B%0A%20%20%20%20%7D)%3B%0A%20%20%7D%2C%0A%0A%20%20hexToRgb%3A%20function(hex)%20%7B%0A%20%20%20%20var%20result%20%3D%20%2F%5E%23%3F(%5Ba-f%5Cd%5D%7B2%7D)(%5Ba-f%5Cd%5D%7B2%7D)(%5Ba-f%5Cd%5D%7B2%7D)%24%2Fi.exec(hex)%3B%0A%20%20%20%20return%20result%20%3F%20%7B%0A%20%20%20%20%20%20%20%20r%3A%20parseInt(result%5B1%5D%2C%2016)%2C%0A%20%20%20%20%20%20%20%20g%3A%20parseInt(result%5B2%5D%2C%2016)%2C%0A%20%20%20%20%20%20%20%20b%3A%20parseInt(result%5B3%5D%2C%2016)%0A%20%20%20%20%7D%20%3A%20null%3B%0A%20%20%7D%0A%0A%7D)%3B%0A%0A%0A%7D)()%3B%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-style.js%0A
1 ms
456 ms
javascript;charset=utf-8,%0A%0A%20%20(function()%20%7B%0A%0A%20%20%20%20var%20paperInput%20%3D%20CoreStyle.g.paperInput%20%3D%20CoreStyle.g.paperInput%20%7C%7C%20%7B%7D%3B%0A%20%20%20%20paperInput.focusedColor%20%3D%20'%237961ab'%3B%0A%20%20%20%20paperInput.invalidColor%20%3D%20'%23d34336'%3B%0A%0A%20%20%20%20Polymer('paper-input'%2C%20%7B%0A%0A%20%20%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20label%20for%20this%20input.%20It%20normally%20appears%20as%20grey%20text%20inside%0A%20%20%20%20%20%20%20%20%20*%20the%20text%20input%20and%20disappears%20once%20the%20user%20enters%20text.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20label%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20label%3A%20''%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20If%20true%2C%20the%20label%20will%20%22float%22%20above%20the%20text%20input%20once%20the%0A%20%20%20%20%20%20%20%20%20*%20user%20enters%20text%20instead%20of%20disappearing.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20floatingLabel%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20floatingLabel%3A%20false%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20(multiline%20only)%20If%20set%20to%20a%20non-zero%20value%2C%20the%20height%20of%20this%0A%20%20%20%20%20%20%20%20%20*%20text%20input%20will%20grow%20with%20the%20value%20changes%20until%20it%20is%20maxRows%0A%20%20%20%20%20%20%20%20%20*%20rows%20tall.%20If%20the%20maximum%20size%20does%20not%20fit%20the%20value%2C%20the%20text%0A%20%20%20%20%20%20%20%20%20*%20input%20will%20scroll%20internally.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20maxRows%0A%20%20%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20%20%20*%20%40default%200%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20maxRows%3A%200%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20The%20message%20to%20display%20if%20the%20input%20value%20fails%20validation.%20If%20this%0A%20%20%20%20%20%20%20%20%20*%20is%20unset%20or%20the%20empty%20string%2C%20a%20default%20message%20is%20displayed%20depending%0A%20%20%20%20%20%20%20%20%20*%20on%20the%20type%20of%20validation%20error.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20error%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20error%3A%20''%2C%0A%0A%20%20%20%20%20%20%20%20focused%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%0A%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20get%20inputValueForMirror()%20%7B%0A%20%20%20%20%20%20%20%20var%20tokens%20%3D%20this.inputValue%20%3F%20String(this.inputValue).replace(%2F%26%2Fgm%2C%20'%26amp%3B').replace(%2F%22%2Fgm%2C%20'%26quot%3B').replace(%2F'%2Fgm%2C%20'%26%2339%3B').replace(%2F%3C%2Fgm%2C%20'%26lt%3B').replace(%2F%3E%2Fgm%2C%20'%26gt%3B').split('%5Cn')%20%3A%20%5B''%5D%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Enforce%20the%20min%20and%20max%20heights%20for%20a%20multiline%20input%20here%20to%0A%20%20%20%20%20%20%20%20%2F%2F%20avoid%20measurement%0A%20%20%20%20%20%20%20%20if%20(this.multiline)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(this.maxRows%20%26%26%20tokens.length%20%3E%20this.maxRows)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20tokens%20%3D%20tokens.slice(0%2C%20this.maxRows)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20while%20(this.rows%20%26%26%20tokens.length%20%3C%20this.rows)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20tokens.push('')%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20return%20tokens.join('%3Cbr%3E')%20%2B%20'%26nbsp%3B'%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20get%20inputHasValue()%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20if%20type%20%3D%20number%2C%20the%20input%20value%20is%20the%20empty%20string%20until%20a%20valid%20number%0A%20%20%20%20%20%20%20%20%2F%2F%20is%20entered%20so%20we%20must%20do%20some%20hacks%20here%0A%20%20%20%20%20%20%20%20return%20this.inputValue%20%7C%7C%20(this.type%20%3D%3D%3D%20'number'%20%26%26%20!this.validity.valid)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20syncInputValueToMirror%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.mirror.innerHTML%20%3D%20this.inputValueForMirror%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.syncInputValueToMirror()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20prepareLabelTransform%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20var%20toRect%20%3D%20this.%24.floatedLabelText.getBoundingClientRect()%3B%0A%20%20%20%20%20%20%20%20var%20fromRect%20%3D%20this.%24.labelText.getBoundingClientRect()%3B%0A%20%20%20%20%20%20%20%20if%20(toRect.width%20!%3D%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20sy%20%3D%20toRect.height%20%2F%20fromRect.height%3B%0A%20%20%20%20%20%20%20%20%20%20this.%24.labelText.cachedTransform%20%3D%0A%20%20%20%20%20%20%20%20%20%20%20%20'scale3d('%20%2B%20(toRect.width%20%2F%20fromRect.width)%20%2B%20'%2C'%20%2B%20sy%20%2B%20'%2C1)%20'%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20'translate3d(0%2C'%20%2B%20(toRect.top%20-%20fromRect.top)%20%2F%20sy%20%2B%20'px%2C0)'%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20animateFloatingLabel%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.floatingLabel%20%7C%7C%20this.labelAnimated)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(!this.%24.labelText.cachedTransform)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.prepareLabelTransform()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20If%20there's%20still%20no%20cached%20transform%2C%20the%20input%20is%20invisible%20so%20don't%0A%20%20%20%20%20%20%20%20%2F%2F%20do%20the%20animation.%0A%20%20%20%20%20%20%20%20if%20(!this.%24.labelText.cachedTransform)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20this.labelAnimated%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20Handle%20interrupted%20animation%0A%20%20%20%20%20%20%20%20this.async(function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.transitionEndAction()%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20null%2C%20250)%3B%0A%0A%20%20%20%20%20%20%20%20if%20(this.inputHasValue)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.labelText.style.webkitTransform%20%3D%20this.%24.labelText.cachedTransform%3B%0A%20%20%20%20%20%20%20%20%20%20this.%24.labelText.style.transform%20%3D%20this.%24.labelText.cachedTransform%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Handle%20if%20the%20label%20started%20out%20floating%0A%20%20%20%20%20%20%20%20%20%20if%20(!this.%24.labelText.style.webkitTransform%20%26%26%20!this.%24.labelText.style.transform)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%24.labelText.style.webkitTransform%20%3D%20this.%24.labelText.cachedTransform%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%24.labelText.style.transform%20%3D%20this.%24.labelText.cachedTransform%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%24.labelText.offsetTop%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20this.%24.labelText.style.webkitTransform%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%20%20this.%24.labelText.style.transform%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20inputValueChanged%3A%20function(old)%20%7B%0A%20%20%20%20%20%20%20%20this.super()%3B%0A%0A%20%20%20%20%20%20%20%20this.syncInputValueToMirror()%3B%0A%20%20%20%20%20%20%20%20if%20(old%20%26%26%20!this.inputValue%20%7C%7C%20!old%20%26%26%20this.inputValue)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.animateFloatingLabel()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20placeholderChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.label%20%3D%20this.placeholder%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20inputFocusAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.super(arguments)%3B%0A%20%20%20%20%20%20%20%20this.focused%20%3D%20true%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20inputBlurAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20this.super(arguments)%3B%0A%20%20%20%20%20%20%20%20this.focused%20%3D%20false%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20downAction%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.disabled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(this.focused)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20this.%24.input.focus()%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20prevent%20self-focus%0A%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20The%20underline%20spills%20from%20the%20tap%20location%0A%20%20%20%20%20%20%20%20var%20rect%20%3D%20this.%24.underline.getBoundingClientRect()%3B%0A%20%20%20%20%20%20%20%20var%20right%20%3D%20e.x%20-%20rect.left%3B%0A%20%20%20%20%20%20%20%20this.%24.focusedUnderline.style.mozTransformOrigin%20%3D%20right%20%2B%20'px'%3B%0A%20%20%20%20%20%20%20%20this.%24.focusedUnderline.style.webkitTransformOrigin%20%3D%20right%20%2B%20'px%20'%3B%0A%20%20%20%20%20%20%20%20this.%24.focusedUnderline.style.transformOriginX%20%3D%20right%20%2B%20'px'%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Animations%20only%20run%20when%20the%20user%20interacts%20with%20the%20input%0A%20%20%20%20%20%20%20%20this.underlineAnimated%20%3D%20true%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Cursor%20animation%20only%20runs%20if%20the%20input%20is%20empty%0A%20%20%20%20%20%20%20%20if%20(!this.inputHasValue)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.cursorAnimated%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%2F%2F%20Handle%20interrupted%20animation%0A%20%20%20%20%20%20%20%20this.async(function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.transitionEndAction()%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20null%2C%20250)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20keydownAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.super()%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20more%20type%20%3D%20number%20hacks.%20see%20core-input%20for%20more%20info%0A%20%20%20%20%20%20%20%20if%20(this.type%20%3D%3D%3D%20'number')%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20valid%20%3D%20!this.inputValue%20%26%26%20this.validity.valid%3B%0A%20%20%20%20%20%20%20%20%20%20this.async(function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(valid%20!%3D%3D%20(!this.inputValue%20%26%26%20this.validity.valid))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.animateFloatingLabel()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20transitionEndAction%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.underlineAnimated%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20this.cursorAnimated%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20this.labelAnimated%20%3D%20false%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%0A%20%20%7D())%3B%0A%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-input.js%0A
4 ms
t.dhj
542 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('core-transition'%2C%20%7B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20type%3A%20'transition'%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Run%20the%20animation.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20go%0A%20%20%20%20%20%20%20*%20%40param%20%7BNode%7D%20node%20The%20node%20to%20apply%20the%20animation%20on%0A%20%20%20%20%20%20%20*%20%40param%20%7BObject%7D%20state%20State%20info%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20go%3A%20function(node%2C%20state)%20%7B%0A%20%20%20%20%20%20%20%20this.complete(node)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Set%20up%20the%20animation.%20This%20may%20include%20injecting%20a%20stylesheet%2C%0A%20%20%20%20%20%20%20*%20applying%20styles%2C%20creating%20a%20web%20animations%20object%2C%20etc..%20This%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20setup%0A%20%20%20%20%20%20%20*%20%40param%20%7BNode%7D%20node%20The%20animated%20node%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20setup%3A%20function(node)%20%7B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Tear%20down%20the%20animation.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20teardown%0A%20%20%20%20%20%20%20*%20%40param%20%7BNode%7D%20node%20The%20animated%20node%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20teardown%3A%20function(node)%20%7B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Called%20when%20the%20animation%20completes.%20This%20function%20also%20fires%20the%0A%20%20%20%20%20%20%20*%20%60core-transitionend%60%20event.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20complete%0A%20%20%20%20%20%20%20*%20%40param%20%7BNode%7D%20node%20The%20animated%20node%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20complete%3A%20function(node)%20%7B%0A%20%20%20%20%20%20%20%20this.fire('core-transitionend'%2C%20null%2C%20node)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Utility%20function%20to%20listen%20to%20an%20event%20on%20a%20node%20once.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40method%20listenOnce%0A%20%20%20%20%20%20%20*%20%40param%20%7BNode%7D%20node%20The%20animated%20node%0A%20%20%20%20%20%20%20*%20%40param%20%7Bstring%7D%20event%20Name%20of%20an%20event%0A%20%20%20%20%20%20%20*%20%40param%20%7BFunction%7D%20fn%20Event%20handler%0A%20%20%20%20%20%20%20*%20%40param%20%7BArray%7D%20args%20Additional%20arguments%20to%20pass%20to%20%60fn%60%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20listenOnce%3A%20function(node%2C%20event%2C%20fn%2C%20args)%20%7B%0A%20%20%20%20%20%20%20%20var%20self%20%3D%20this%3B%0A%20%20%20%20%20%20%20%20var%20listener%20%3D%20function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20fn.apply(self%2C%20args)%3B%0A%20%20%20%20%20%20%20%20%20%20node.removeEventListener(event%2C%20listener%2C%20false)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20node.addEventListener(event%2C%20listener%2C%20false)%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-transition.js%0A
1 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('core-key-helper'%2C%20%7B%0A%20%20%20%20%20%20ENTER_KEY%3A%2013%2C%0A%20%20%20%20%20%20ESCAPE_KEY%3A%2027%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-key-helper.js%0A
5 ms
www-embed-player-vflfNyN_r.css
534 ms
www-embed-player.js
555 ms
javascript;charset=utf-8,%0A(function()%20%7B%0A%0A%20%20Polymer('core-overlay-layer'%2C%20%7B%0A%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20opened%3A%20false%0A%20%20%20%20%7D%2C%0A%20%20%20%20openedChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20this.classList.toggle('core-opened'%2C%20this.opened)%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Adds%20an%20element%20to%20the%20overlay%20layer%0A%20%20%20%20%20*%2F%0A%20%20%20%20addElement%3A%20function(element)%20%7B%0A%20%20%20%20%20%20if%20(!this.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20document.querySelector('body').appendChild(this)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(element.parentNode%20!%3D%3D%20this)%20%7B%0A%20%20%20%20%20%20%20%20element.__contents%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20var%20ip%24%20%3D%20element.querySelectorAll('content')%3B%0A%20%20%20%20%20%20%20%20for%20(var%20i%3D0%2C%20l%3Dip%24.length%2C%20n%3B%20(i%3Cl)%20%26%26%20(n%20%3D%20ip%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.moveInsertedElements(n)%3B%0A%20%20%20%20%20%20%20%20%20%20this.cacheDomLocation(n)%3B%0A%20%20%20%20%20%20%20%20%20%20n.parentNode.removeChild(n)%3B%0A%20%20%20%20%20%20%20%20%20%20element.__contents.push(n)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.cacheDomLocation(element)%3B%0A%20%20%20%20%20%20%20%20this.updateEventController(element)%3B%0A%20%20%20%20%20%20%20%20var%20h%20%3D%20this.makeHost()%3B%0A%20%20%20%20%20%20%20%20h.shadowRoot.appendChild(element)%3B%0A%20%20%20%20%20%20%20%20element.__host%20%3D%20h%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20makeHost%3A%20function()%20%7B%0A%20%20%20%20%20%20var%20h%20%3D%20document.createElement('overlay-host')%3B%0A%20%20%20%20%20%20h.createShadowRoot()%3B%0A%20%20%20%20%20%20this.appendChild(h)%3B%0A%20%20%20%20%20%20return%20h%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20moveInsertedElements%3A%20function(insertionPoint)%20%7B%0A%20%20%20%20%20%20var%20n%24%20%3D%20insertionPoint.getDistributedNodes()%3B%0A%20%20%20%20%20%20var%20parent%20%3D%20insertionPoint.parentNode%3B%0A%20%20%20%20%20%20insertionPoint.__contents%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20for%20(var%20i%3D0%2C%20l%3Dn%24.length%2C%20n%3B%20(i%3Cl)%20%26%26%20(n%3Dn%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20this.cacheDomLocation(n)%3B%0A%20%20%20%20%20%20%20%20this.updateEventController(n)%3B%0A%20%20%20%20%20%20%20%20insertionPoint.__contents.push(n)%3B%0A%20%20%20%20%20%20%20%20parent.appendChild(n)%3B%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20updateEventController%3A%20function(element)%20%7B%0A%20%20%20%20%20%20element.eventController%20%3D%20this.element.findController(element)%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Removes%20an%20element%20from%20the%20overlay%20layer%0A%20%20%20%20%20*%2F%0A%20%20%20%20removeElement%3A%20function(element)%20%7B%0A%20%20%20%20%20%20element.eventController%20%3D%20null%3B%0A%20%20%20%20%20%20this.replaceElement(element)%3B%0A%20%20%20%20%20%20var%20h%20%3D%20element.__host%3B%0A%20%20%20%20%20%20if%20(h)%20%7B%0A%20%20%20%20%20%20%20%20h.parentNode.removeChild(h)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20replaceElement%3A%20function(element)%20%7B%0A%20%20%20%20%20%20if%20(element.__contents)%20%7B%0A%20%20%20%20%20%20%20%20for%20(var%20i%3D0%2C%20c%24%3Delement.__contents%2C%20c%3B%20(c%3Dc%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.replaceElement(c)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20element.__contents%20%3D%20null%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(element.__parentNode)%20%7B%0A%20%20%20%20%20%20%20%20var%20n%20%3D%20element.__nextElementSibling%20%26%26%20element.__nextElementSibling%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%3D%3D%3D%20element.__parentNode%20%3F%20element.__nextElementSibling%20%3A%20null%3B%0A%20%20%20%20%20%20%20%20element.__parentNode.insertBefore(element%2C%20n)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20cacheDomLocation%3A%20function(element)%20%7B%0A%20%20%20%20%20%20element.__nextElementSibling%20%3D%20element.nextElementSibling%3B%0A%20%20%20%20%20%20element.__parentNode%20%3D%20element.parentNode%3B%0A%20%20%20%20%7D%0A%20%20%7D)%3B%0A%20%20%0A%7D)()%3B%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-overlay-layer.js%0A
6 ms
javascript;charset=utf-8,%0A(function()%20%7B%0A%0A%20%20Polymer('core-overlay'%2C%20%7B%0A%0A%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20target%20element%20that%20will%20be%20shown%20when%20the%20overlay%20is%20%0A%20%20%20%20%20%20%20*%20opened.%20If%20unspecified%2C%20the%20core-overlay%20itself%20is%20the%20target.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20target%0A%20%20%20%20%20%20%20*%20%40type%20Object%0A%20%20%20%20%20%20%20*%20%40default%20the%20overlay%20element%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20target%3A%20null%2C%0A%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20A%20%60core-overlay%60's%20size%20is%20guaranteed%20to%20be%20%0A%20%20%20%20%20%20%20*%20constrained%20to%20the%20window%20size.%20To%20achieve%20this%2C%20the%20sizingElement%0A%20%20%20%20%20%20%20*%20is%20sized%20with%20a%20max-height%2Fwidth.%20By%20default%20this%20element%20is%20the%20%0A%20%20%20%20%20%20%20*%20target%20element%2C%20but%20it%20can%20be%20specifically%20set%20to%20a%20specific%20element%0A%20%20%20%20%20%20%20*%20inside%20the%20target%20if%20that%20is%20more%20appropriate.%20This%20is%20useful%2C%20for%20%0A%20%20%20%20%20%20%20*%20example%2C%20when%20a%20region%20inside%20the%20overlay%20should%20scroll%20if%20needed.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20sizingTarget%0A%20%20%20%20%20%20%20*%20%40type%20Object%0A%20%20%20%20%20%20%20*%20%40default%20the%20target%20element%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20sizingTarget%3A%20null%2C%0A%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Set%20opened%20to%20true%20to%20show%20an%20overlay%20and%20to%20false%20to%20hide%20it.%0A%20%20%20%20%20%20%20*%20A%20%60core-overlay%60%20may%20be%20made%20initially%20opened%20by%20setting%20its%0A%20%20%20%20%20%20%20*%20%60opened%60%20attribute.%0A%20%20%20%20%20%20%20*%20%40attribute%20opened%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20opened%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20If%20true%2C%20the%20overlay%20has%20a%20backdrop%20darkening%20the%20rest%20of%20the%20screen.%0A%20%20%20%20%20%20%20*%20The%20backdrop%20element%20is%20attached%20to%20the%20document%20body%20and%20may%20be%20styled%0A%20%20%20%20%20%20%20*%20with%20the%20class%20%60core-overlay-backdrop%60.%20When%20opened%20the%20%60core-opened%60%0A%20%20%20%20%20%20%20*%20class%20is%20applied.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20backdrop%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%20%20%20%20%0A%20%20%20%20%20%20backdrop%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20If%20true%2C%20the%20overlay%20is%20guaranteed%20to%20display%20above%20page%20content.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20layered%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20layered%3A%20false%2C%0A%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20By%20default%20an%20overlay%20will%20close%20automatically%20if%20the%20user%0A%20%20%20%20%20%20%20*%20taps%20outside%20it%20or%20presses%20the%20escape%20key.%20Disable%20this%0A%20%20%20%20%20%20%20*%20behavior%20by%20setting%20the%20%60autoCloseDisabled%60%20property%20to%20true.%0A%20%20%20%20%20%20%20*%20%40attribute%20autoCloseDisabled%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20autoCloseDisabled%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20By%20default%20an%20overlay%20will%20focus%20its%20target%20or%20an%20element%20inside%0A%20%20%20%20%20%20%20*%20it%20with%20the%20%60autoFocus%60%20attribute.%20Disable%20this%0A%20%20%20%20%20%20%20*%20behavior%20by%20setting%20the%20%60autoFocusDisabled%60%20property%20to%20true.%0A%20%20%20%20%20%20%20*%20%40attribute%20autoFocusDisabled%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20autoFocusDisabled%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20This%20property%20specifies%20an%20attribute%20on%20elements%20that%20should%0A%20%20%20%20%20%20%20*%20close%20the%20overlay%20on%20tap.%20Should%20not%20set%20%60closeSelector%60%20if%20this%0A%20%20%20%20%20%20%20*%20is%20set.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20closeAttribute%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20%22core-overlay-toggle%22%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20closeAttribute%3A%20'core-overlay-toggle'%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20This%20property%20specifies%20a%20selector%20matching%20elements%20that%20should%0A%20%20%20%20%20%20%20*%20close%20the%20overlay%20on%20tap.%20Should%20not%20set%20%60closeAttribute%60%20if%20this%0A%20%20%20%20%20%20%20*%20is%20set.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20closeSelector%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20%22%22%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20closeSelector%3A%20''%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20transition%20property%20specifies%20a%20string%20which%20identifies%20a%20%0A%20%20%20%20%20%20%20*%20%3Ca%20href%3D%22..%2Fcore-transition%2F%22%3E%60core-transition%60%3C%2Fa%3E%20element%20that%20%0A%20%20%20%20%20%20%20*%20will%20be%20used%20to%20help%20the%20overlay%20open%20and%20close.%20The%20default%0A%20%20%20%20%20%20%20*%20%60core-transition-fade%60%20will%20cause%20the%20overlay%20to%20fade%20in%20and%20out.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20transition%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20'core-transition-fade'%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20transition%3A%20'core-transition-fade'%0A%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20captureEventName%3A%20'tap'%2C%0A%20%20%20%20targetListeners%3A%20%7B%0A%20%20%20%20%20%20'tap'%3A%20'tapHandler'%2C%0A%20%20%20%20%20%20'keydown'%3A%20'keydownHandler'%2C%0A%20%20%20%20%20%20'core-transitionend'%3A%20'transitionend'%0A%20%20%20%20%7D%2C%0A%20%20%20%20%0A%20%20%20%20registerCallback%3A%20function(element)%20%7B%0A%20%20%20%20%20%20this.layer%20%3D%20document.createElement('core-overlay-layer')%3B%0A%20%20%20%20%20%20this.keyHelper%20%3D%20document.createElement('core-key-helper')%3B%0A%20%20%20%20%20%20this.meta%20%3D%20document.createElement('core-transition')%3B%0A%20%20%20%20%20%20this.scrim%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20this.scrim.className%20%3D%20'core-overlay-backdrop'%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20this.target%20%3D%20this.target%20%7C%7C%20this%3B%0A%20%20%20%20%20%20%2F%2F%20flush%20to%20ensure%20styles%20are%20installed%20before%20paint%0A%20%20%20%20%20%20Platform.flush()%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F**%20%0A%20%20%20%20%20*%20Toggle%20the%20opened%20state%20of%20the%20overlay.%0A%20%20%20%20%20*%20%40method%20toggle%0A%20%20%20%20%20*%2F%0A%20%20%20%20toggle%3A%20function()%20%7B%0A%20%20%20%20%20%20this.opened%20%3D%20!this.opened%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F**%20%0A%20%20%20%20%20*%20Open%20the%20overlay.%20This%20is%20equivalent%20to%20setting%20the%20%60opened%60%0A%20%20%20%20%20*%20property%20to%20true.%0A%20%20%20%20%20*%20%40method%20open%0A%20%20%20%20%20*%2F%0A%20%20%20%20open%3A%20function()%20%7B%0A%20%20%20%20%20%20this.opened%20%3D%20true%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F**%20%0A%20%20%20%20%20*%20Close%20the%20overlay.%20This%20is%20equivalent%20to%20setting%20the%20%60opened%60%20%0A%20%20%20%20%20*%20property%20to%20false.%0A%20%20%20%20%20*%20%40method%20close%0A%20%20%20%20%20*%2F%0A%20%20%20%20close%3A%20function()%20%7B%0A%20%20%20%20%20%20this.opened%20%3D%20false%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20domReady%3A%20function()%20%7B%0A%20%20%20%20%20%20this.ensureTargetSetup()%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20targetChanged%3A%20function(old)%20%7B%0A%20%20%20%20%20%20if%20(this.target)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20really%20make%20sure%20tabIndex%20is%20set%0A%20%20%20%20%20%20%20%20if%20(this.target.tabIndex%20%3C%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.target.tabIndex%20%3D%20-1%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.addElementListenerList(this.target%2C%20this.targetListeners)%3B%0A%20%20%20%20%20%20%20%20this.target.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20this.target.__overlaySetup%20%3D%20false%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(old)%20%7B%0A%20%20%20%20%20%20%20%20this.removeElementListenerList(old%2C%20this.targetListeners)%3B%0A%20%20%20%20%20%20%20%20var%20transition%20%3D%20this.getTransition()%3B%0A%20%20%20%20%20%20%20%20if%20(transition)%20%7B%0A%20%20%20%20%20%20%20%20%20%20transition.teardown(old)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20old.style.position%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%20%20old.style.outline%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20old.style.display%20%3D%20''%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20transitionChanged%3A%20function(old)%20%7B%0A%20%20%20%20%20%20if%20(!this.target)%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(old)%20%7B%0A%20%20%20%20%20%20%20%20this.getTransition(old).teardown(this.target)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.target.__overlaySetup%20%3D%20false%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F%2F%20NOTE%3A%20wait%20to%20call%20this%20until%20we're%20as%20sure%20as%20possible%20that%20target%0A%20%20%20%20%2F%2F%20is%20styled.%0A%20%20%20%20ensureTargetSetup%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(!this.target%20%7C%7C%20this.target.__overlaySetup)%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(!this.sizingTarget)%20%7B%0A%20%20%20%20%20%20%20%20this.sizingTarget%20%3D%20this.target%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.target.__overlaySetup%20%3D%20true%3B%0A%20%20%20%20%20%20this.target.style.display%20%3D%20''%3B%0A%20%20%20%20%20%20var%20transition%20%3D%20this.getTransition()%3B%0A%20%20%20%20%20%20if%20(transition)%20%7B%0A%20%20%20%20%20%20%20%20transition.setup(this.target)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20computed%20%3D%20getComputedStyle(this.target)%3B%0A%20%20%20%20%20%20var%20style%20%3D%20this.target.style%3B%0A%20%20%20%20%20%20var%20isStatic%20%3D%20computed.position%20%3D%3D%3D%20'static'%3B%0A%20%20%20%20%20%20var%20defaultPosition%20%3D%20'fixed'%3B%0A%20%20%20%20%20%20%2F%2F%20TODO(sorvell)%3A%20bc%20%0A%20%20%20%20%20%20this.targetStyle%20%3D%20%7B%0A%20%20%20%20%20%20%20%20position%3A%20isStatic%20%3F%20defaultPosition%20%3A%20computed.position%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20if%20(isStatic)%20%7B%0A%20%20%20%20%20%20%20%20style.position%20%3D%20'fixed'%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.target.style.outline%20%3D%20'none'%3B%0A%20%20%20%20%20%20this.target.style.display%20%3D%20'none'%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20openedChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20this.transitioning%20%3D%20true%3B%0A%20%20%20%20%20%20this.ensureTargetSetup()%3B%0A%20%20%20%20%20%20this.prepareRenderOpened()%3B%0A%20%20%20%20%20%20%2F%2F%20async%20here%20to%20allow%20overlay%20layer%20to%20become%20visible.%0A%20%20%20%20%20%20this.async(function()%20%7B%0A%20%20%20%20%20%20%20%20this.target.style.display%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20force%20layout%20to%20ensure%20transitions%20will%20go%0A%20%20%20%20%20%20%20%20this.target.offsetWidth%3B%0A%20%20%20%20%20%20%20%20this.renderOpened()%3B%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20this.fire('core-overlay-open'%2C%20this.opened)%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F%2F%20tasks%20which%20must%20occur%20before%20opening%3B%20e.g.%20making%20the%20element%20visible%0A%20%20%20%20prepareRenderOpened%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(this.opened)%20%7B%0A%20%20%20%20%20%20%20%20addOverlay(this)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.prepareBackdrop()%3B%0A%20%20%20%20%20%20%2F%2F%20async%20so%20we%20don't%20auto-close%20immediately%20via%20a%20click.%0A%20%20%20%20%20%20this.async(function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.autoCloseDisabled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.enableElementListener(this.opened%2C%20document%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.captureEventName%2C%20'captureHandler'%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20this.enableElementListener(this.opened%2C%20window%2C%20'resize'%2C%0A%20%20%20%20%20%20%20%20%20%20'resizeHandler')%3B%0A%0A%20%20%20%20%20%20if%20(this.opened)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20force%20layout%20so%20SD%20Polyfill%20renders%0A%20%20%20%20%20%20%20%20this.target.offsetHeight%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20TODO(sorvell)%3A%20bc%0A%20%20%20%20%20%20%20%20this._shouldPosition%20%3D%20%7Bleft%3A%20true%2C%20top%3A%20true%7D%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20if%20we%20are%20showing%2C%20then%20take%20care%20when%20measuring%0A%20%20%20%20%20%20%20%20this.prepareMeasure()%3B%0A%20%20%20%20%20%20%20%20this.updateTargetDimensions()%3B%0A%20%20%20%20%20%20%20%20this.finishMeasure()%3B%0A%20%20%20%20%20%20%20%20if%20(this.layered)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.layer.addElement(this.target)%3B%0A%20%20%20%20%20%20%20%20%20%20this.layer.opened%20%3D%20this.opened%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F%2F%20tasks%20which%20cause%20the%20overlay%20to%20actually%20open%3B%20typically%20play%20an%0A%20%20%20%20%2F%2F%20animation%0A%20%20%20%20renderOpened%3A%20function()%20%7B%0A%20%20%20%20%20%20var%20transition%20%3D%20this.getTransition()%3B%0A%20%20%20%20%20%20if%20(transition)%20%7B%0A%20%20%20%20%20%20%20%20transition.go(this.target%2C%20%7Bopened%3A%20this.opened%7D)%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20this.transitionend()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.renderBackdropOpened()%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F%2F%20finishing%20tasks%3B%20typically%20called%20via%20a%20transition%0A%20%20%20%20transitionend%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%2F%2F%20make%20sure%20this%20is%20our%20transition%20event.%0A%20%20%20%20%20%20if%20(e%20%26%26%20e.target%20!%3D%3D%20this.target)%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.transitioning%20%3D%20false%3B%0A%20%20%20%20%20%20if%20(!this.opened)%20%7B%0A%20%20%20%20%20%20%20%20this.resetTargetDimensions()%3B%0A%20%20%20%20%20%20%20%20this.target.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20this.completeBackdrop()%3B%0A%20%20%20%20%20%20%20%20removeOverlay(this)%3B%0A%20%20%20%20%20%20%20%20if%20(this.layered)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(!currentOverlay())%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.layer.opened%20%3D%20this.opened%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20this.layer.removeElement(this.target)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.fire('core-overlay-'%20%2B%20(this.opened%20%3F%20'open'%20%3A%20'close')%20%2B%20%0A%20%20%20%20%20%20%20%20%20%20'-completed')%3B%0A%20%20%20%20%20%20this.applyFocus()%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20prepareBackdrop%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(this.backdrop%20%26%26%20this.opened)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.scrim.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20%20%20document.body.appendChild(this.scrim)%3B%0A%20%20%20%20%20%20%20%20%20%20this.scrim.style.zIndex%20%3D%20currentOverlayZ()%20-%201%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20trackBackdrop(this)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20renderBackdropOpened%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(this.backdrop%20%26%26%20getBackdrops().length%20%3C%202)%20%7B%0A%20%20%20%20%20%20%20%20this.scrim.classList.toggle('core-opened'%2C%20this.opened)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20completeBackdrop%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(this.backdrop)%20%7B%0A%20%20%20%20%20%20%20%20trackBackdrop(this)%3B%0A%20%20%20%20%20%20%20%20if%20(getBackdrops().length%20%3D%3D%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.scrim.parentNode.removeChild(this.scrim)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20prepareMeasure%3A%20function()%20%7B%0A%20%20%20%20%20%20this.target.style.transition%20%3D%20this.target.style.webkitTransition%20%3D%20'none'%3B%0A%20%20%20%20%20%20this.target.style.transform%20%3D%20this.target.style.webkitTransform%20%3D%20'none'%3B%0A%20%20%20%20%20%20this.target.style.display%20%3D%20''%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20finishMeasure%3A%20function(target)%20%7B%0A%20%20%20%20%20%20this.target.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20this.target.style.transform%20%3D%20this.target.style.webkitTransform%20%3D%20''%3B%0A%20%20%20%20%20%20%2F%2F%20force%20layout%20to%20avoid%20application%20of%20transform%0A%20%20%20%20%20%20this.target.offsetWidth%3B%0A%20%20%20%20%20%20this.target.style.transition%20%3D%20this.target.style.webkitTransition%20%3D%20''%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20getTransition%3A%20function(name)%20%7B%0A%20%20%20%20%20%20return%20this.meta.byId(name%20%7C%7C%20this.transition)%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20getFocusNode%3A%20function()%20%7B%0A%20%20%20%20%20%20return%20this.target.querySelector('%5Bautofocus%5D')%20%7C%7C%20this.target%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20applyFocus%3A%20function()%20%7B%0A%20%20%20%20%20%20var%20focusNode%20%3D%20this.getFocusNode()%3B%0A%20%20%20%20%20%20if%20(this.opened)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.autoFocusDisabled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20focusNode.focus()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20focusNode.blur()%3B%0A%20%20%20%20%20%20%20%20if%20(currentOverlay()%20%3D%3D%20this)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.warn('Current%20core-overlay%20is%20attempting%20to%20focus%20itself%20as%20next!%20(bug)')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20focusOverlay()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20updateTargetDimensions%3A%20function()%20%7B%0A%20%20%20%20%20%20this.positionTarget()%3B%0A%20%20%20%20%20%20this.discoverDimensions()%3B%0A%20%20%20%20%20%20this.sizeTarget()%3B%0A%20%20%20%20%20%20this.applyDefaultPositioning()%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20positionTarget%3A%20function()%20%7B%0A%20%20%20%20%20%20%2F%2F%20fire%20positioning%20event%0A%20%20%20%20%20%20this.fire('core-overlay-position'%2C%20%7Btarget%3A%20this.target%2C%0A%20%20%20%20%20%20%20%20%20%20sizingTarget%3A%20this.sizingTarget%2C%20opened%3A%20this.opened%7D)%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20discoverDimensions%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(this._dims)%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20pos%20%3D%20this.target.style.position%3B%0A%20%20%20%20%20%20%2F%2F%20this.target.style.position%20%3D%20'absolute%20!important'%3B%0A%20%20%20%20%20%20var%20target%20%3D%20getComputedStyle(this.target)%3B%0A%20%20%20%20%20%20var%20sizer%20%3D%20getComputedStyle(this.sizingTarget)%3B%0A%20%20%20%20%20%20this._dims%20%3D%20%7B%0A%20%20%20%20%20%20%20%20position%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20v%3A%20target.top%20!%3D%3D%20'auto'%20%3F%20'top'%20%3A%20(target.bottom%20!%3D%3D%20'auto'%20%3F%0A%20%20%20%20%20%20%20%20%20%20%20%20'bottom'%20%3A%20null)%2C%0A%20%20%20%20%20%20%20%20%20%20h%3A%20target.left%20!%3D%3D%20'auto'%20%3F%20'left'%20%3A%20(target.right%20!%3D%3D%20'auto'%20%3F%0A%20%20%20%20%20%20%20%20%20%20%20%20'right'%20%3A%20null)%2C%0A%20%20%20%20%20%20%20%20%20%20css%3A%20target.position%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20size%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20v%3A%20sizer.maxHeight%20!%3D%3D%20'none'%2C%0A%20%20%20%20%20%20%20%20%20%20h%3A%20sizer.maxWidth%20!%3D%3D%20'none'%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20margin%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20top%3A%20parseInt(target.marginTop)%20%7C%7C%200%2C%0A%20%20%20%20%20%20%20%20%20%20right%3A%20parseInt(target.marginRight)%20%7C%7C%200%2C%0A%20%20%20%20%20%20%20%20%20%20bottom%3A%20parseInt(target.marginBottom)%20%7C%7C%200%2C%0A%20%20%20%20%20%20%20%20%20%20left%3A%20parseInt(target.marginLeft)%20%7C%7C%200%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%2F%2F%20size%20at%20top%2Fleft%20if%20unset%0A%20%20%20%20%20%20if%20(!this._dims.position.v)%20%7B%0A%20%20%20%20%20%20%20%20this.target.style.top%20%3D%20'0px'%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(!this._dims.position.h)%20%7B%0A%20%20%20%20%20%20%20%20this.target.style.left%20%3D%20'0px'%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this.target.style.position%20%3D%20pos%20%7C%7C%20''%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20sizeTarget%3A%20function()%20%7B%0A%20%20%20%20%20%20this.sizingTarget.style.boxSizing%20%3D%20'border-box'%3B%0A%20%20%20%20%20%20var%20rect%20%3D%20this.target.getBoundingClientRect()%3B%0A%20%20%20%20%20%20if%20(!this._dims.size.v)%20%7B%0A%20%20%20%20%20%20%20%20this.sizeDimension(rect%2C%20this._dims.position.v%2C%20'top'%2C%20'bottom'%2C%20'Height')%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(!this._dims.size.h)%20%7B%0A%20%20%20%20%20%20%20%20this.sizeDimension(rect%2C%20this._dims.position.h%2C%20'left'%2C%20'right'%2C%20'Width')%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20sizeDimension%3A%20function(rect%2C%20positionedBy%2C%20start%2C%20end%2C%20extent)%20%7B%0A%20%20%20%20%20%20var%20flip%20%3D%20(positionedBy%20%3D%3D%3D%20end)%3B%0A%20%20%20%20%20%20var%20m%20%3D%20flip%20%3F%20start%20%3A%20end%3B%0A%20%20%20%20%20%20var%20ws%20%3D%20window%5B'inner'%20%2B%20extent%5D%3B%0A%20%20%20%20%20%20var%20o%20%3D%20this._dims.margin%5Bm%5D%20%2B%20(flip%20%3F%20ws%20-%20rect%5Bend%5D%20%3A%20%0A%20%20%20%20%20%20%20%20%20%20rect%5Bstart%5D)%3B%0A%20%20%20%20%20%20this.sizingTarget.style%5B'max'%20%2B%20extent%5D%20%3D%20(ws%20-%20o)%20%2B%20'px'%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F%2F%20vertically%20and%20horizontally%20center%20if%20not%20positioned%0A%20%20%20%20applyDefaultPositioning%3A%20function()%20%7B%0A%20%20%20%20%20%20%2F%2F%20only%20center%20if%20position%20fixed.%20%20%20%20%20%20%0A%20%20%20%20%20%20if%20(this._dims.position.css%20!%3D%3D%20'fixed')%20%7B%0A%20%20%20%20%20%20%20%20return%3B%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(!this._dims.position.v)%20%7B%0A%20%20%20%20%20%20%20%20var%20t%20%3D%20(window.innerHeight%20-%20this.target.offsetHeight)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20t%20-%3D%20this._dims.margin.top%3B%0A%20%20%20%20%20%20%20%20this.target.style.top%20%3D%20t%20%2B%20'px'%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(!this._dims.position.h)%20%7B%0A%20%20%20%20%20%20%20%20var%20l%20%3D%20(window.innerWidth%20-%20this.target.offsetWidth)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20l%20-%3D%20this._dims.margin.left%3B%0A%20%20%20%20%20%20%20%20this.target.style.left%20%3D%20l%20%2B%20'px'%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20resetTargetDimensions%3A%20function()%20%7B%0A%20%20%20%20%20%20if%20(!this._dims.size.v)%20%7B%0A%20%20%20%20%20%20%20%20this.sizingTarget.style.maxHeight%20%3D%20''%3B%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(!this._dims.size.h)%20%7B%0A%20%20%20%20%20%20%20%20this.sizingTarget.style.maxWidth%20%3D%20''%3B%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20this._dims%20%3D%20null%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20tapHandler%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%2F%2F%20closeSelector%20takes%20precedence%20since%20closeAttribute%20has%20a%20default%20non-null%20value.%0A%20%20%20%20%20%20if%20(e.target%20%26%26%0A%20%20%20%20%20%20%20%20%20%20(this.closeSelector%20%26%26%20e.target.matches(this.closeSelector))%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20(this.closeAttribute%20%26%26%20e.target.hasAttribute(this.closeAttribute)))%20%7B%0A%20%20%20%20%20%20%20%20this.toggle()%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.autoCloseJob)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.autoCloseJob.stop()%3B%0A%20%20%20%20%20%20%20%20%20%20this.autoCloseJob%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20%0A%20%20%20%20%2F%2F%20We%20use%20the%20traditional%20approach%20of%20capturing%20events%20on%20document%0A%20%20%20%20%2F%2F%20to%20to%20determine%20if%20the%20overlay%20needs%20to%20close.%20However%2C%20due%20to%20%0A%20%20%20%20%2F%2F%20ShadowDOM%20event%20retargeting%2C%20the%20event%20target%20is%20not%20useful.%20Instead%0A%20%20%20%20%2F%2F%20of%20using%20it%2C%20we%20attempt%20to%20close%20asynchronously%20and%20prevent%20the%20close%0A%20%20%20%20%2F%2F%20if%20a%20tap%20event%20is%20immediately%20heard%20on%20the%20target.%0A%20%20%20%20%2F%2F%20TODO(sorvell)%3A%20This%20approach%20will%20not%20work%20with%20modal.%20For%0A%20%20%20%20%2F%2F%20this%20we%20need%20a%20scrim.%0A%20%20%20%20captureHandler%3A%20function(e)%20%7B%0A%20%20%20%20%20%20if%20(!this.autoCloseDisabled%20%26%26%20(currentOverlay()%20%3D%3D%20this))%20%7B%0A%20%20%20%20%20%20%20%20this.autoCloseJob%20%3D%20this.job(this.autoCloseJob%2C%20function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.close()%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20keydownHandler%3A%20function(e)%20%7B%0A%20%20%20%20%20%20if%20(!this.autoCloseDisabled%20%26%26%20(e.keyCode%20%3D%3D%20this.keyHelper.ESCAPE_KEY))%20%7B%0A%20%20%20%20%20%20%20%20this.close()%3B%0A%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Extensions%20of%20core-overlay%20should%20implement%20the%20%60resizeHandler%60%0A%20%20%20%20%20*%20method%20to%20adjust%20the%20size%20and%20position%20of%20the%20overlay%20when%20the%20%0A%20%20%20%20%20*%20browser%20window%20resizes.%0A%20%20%20%20%20*%20%40method%20resizeHandler%0A%20%20%20%20%20*%2F%0A%20%20%20%20resizeHandler%3A%20function()%20%7B%0A%20%20%20%20%20%20this.updateTargetDimensions()%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F%2F%20TODO(sorvell)%3A%20these%20utility%20methods%20should%20not%20be%20here.%0A%20%20%20%20addElementListenerList%3A%20function(node%2C%20events)%20%7B%0A%20%20%20%20%20%20for%20(var%20i%20in%20events)%20%7B%0A%20%20%20%20%20%20%20%20this.addElementListener(node%2C%20i%2C%20events%5Bi%5D)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20removeElementListenerList%3A%20function(node%2C%20events)%20%7B%0A%20%20%20%20%20%20for%20(var%20i%20in%20events)%20%7B%0A%20%20%20%20%20%20%20%20this.removeElementListener(node%2C%20i%2C%20events%5Bi%5D)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20enableElementListener%3A%20function(enable%2C%20node%2C%20event%2C%20methodName%2C%20capture)%20%7B%0A%20%20%20%20%20%20if%20(enable)%20%7B%0A%20%20%20%20%20%20%20%20this.addElementListener(node%2C%20event%2C%20methodName%2C%20capture)%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20this.removeElementListener(node%2C%20event%2C%20methodName%2C%20capture)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20addElementListener%3A%20function(node%2C%20event%2C%20methodName%2C%20capture)%20%7B%0A%20%20%20%20%20%20var%20fn%20%3D%20this._makeBoundListener(methodName)%3B%0A%20%20%20%20%20%20if%20(node%20%26%26%20fn)%20%7B%0A%20%20%20%20%20%20%20%20Polymer.addEventListener(node%2C%20event%2C%20fn%2C%20capture)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20removeElementListener%3A%20function(node%2C%20event%2C%20methodName%2C%20capture)%20%7B%0A%20%20%20%20%20%20var%20fn%20%3D%20this._makeBoundListener(methodName)%3B%0A%20%20%20%20%20%20if%20(node%20%26%26%20fn)%20%7B%0A%20%20%20%20%20%20%20%20Polymer.removeEventListener(node%2C%20event%2C%20fn%2C%20capture)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20_makeBoundListener%3A%20function(methodName)%20%7B%0A%20%20%20%20%20%20var%20self%20%3D%20this%2C%20method%20%3D%20this%5BmethodName%5D%3B%0A%20%20%20%20%20%20if%20(!method)%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20bound%20%3D%20'_bound'%20%2B%20methodName%3B%0A%20%20%20%20%20%20if%20(!this%5Bbound%5D)%20%7B%0A%20%20%20%20%20%20%20%20this%5Bbound%5D%20%3D%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20method.call(self%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20this%5Bbound%5D%3B%0A%20%20%20%20%7D%2C%0A%20%20%7D)%3B%0A%0A%20%20%2F%2F%20TODO(sorvell)%3A%20This%20should%20be%20an%20element%20with%20private%20state%20so%20it%20can%0A%20%20%2F%2F%20be%20independent%20of%20overlay.%0A%20%20%2F%2F%20track%20overlays%20for%20z-index%20and%20focus%20managemant%0A%20%20var%20overlays%20%3D%20%5B%5D%3B%0A%20%20function%20addOverlay(overlay)%20%7B%0A%20%20%20%20var%20z0%20%3D%20currentOverlayZ()%3B%0A%20%20%20%20overlays.push(overlay)%3B%0A%20%20%20%20var%20z1%20%3D%20currentOverlayZ()%3B%0A%20%20%20%20if%20(z1%20%3C%3D%20z0)%20%7B%0A%20%20%20%20%20%20applyOverlayZ(overlay%2C%20z0)%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20function%20removeOverlay(overlay)%20%7B%0A%20%20%20%20var%20i%20%3D%20overlays.indexOf(overlay)%3B%0A%20%20%20%20if%20(i%20%3E%3D%200)%20%7B%0A%20%20%20%20%20%20overlays.splice(i%2C%201)%3B%0A%20%20%20%20%20%20setZ(overlay%2C%20'')%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20%0A%20%20function%20applyOverlayZ(overlay%2C%20aboveZ)%20%7B%0A%20%20%20%20setZ(overlay.target%2C%20aboveZ%20%2B%202)%3B%0A%20%20%7D%0A%20%20%0A%20%20function%20setZ(element%2C%20z)%20%7B%0A%20%20%20%20element.style.zIndex%20%3D%20z%3B%0A%20%20%7D%0A%0A%20%20function%20currentOverlay()%20%7B%0A%20%20%20%20return%20overlays%5Boverlays.length-1%5D%3B%0A%20%20%7D%0A%20%20%0A%20%20var%20DEFAULT_Z%20%3D%2010%3B%0A%20%20%0A%20%20function%20currentOverlayZ()%20%7B%0A%20%20%20%20var%20z%3B%0A%20%20%20%20var%20current%20%3D%20currentOverlay()%3B%0A%20%20%20%20if%20(current)%20%7B%0A%20%20%20%20%20%20var%20z1%20%3D%20window.getComputedStyle(current.target).zIndex%3B%0A%20%20%20%20%20%20if%20(!isNaN(z1))%20%7B%0A%20%20%20%20%20%20%20%20z%20%3D%20Number(z1)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20return%20z%20%7C%7C%20DEFAULT_Z%3B%0A%20%20%7D%0A%20%20%0A%20%20function%20focusOverlay()%20%7B%0A%20%20%20%20var%20current%20%3D%20currentOverlay()%3B%0A%20%20%20%20%2F%2F%20We%20have%20to%20be%20careful%20to%20focus%20the%20next%20overlay%20_after_%20any%20current%0A%20%20%20%20%2F%2F%20transitions%20are%20complete%20(due%20to%20the%20state%20being%20toggled%20prior%20to%20the%0A%20%20%20%20%2F%2F%20transition).%20Otherwise%2C%20we%20risk%20infinite%20recursion%20when%20a%20transitioning%0A%20%20%20%20%2F%2F%20(closed)%20overlay%20becomes%20the%20current%20overlay.%0A%20%20%20%20%2F%2F%0A%20%20%20%20%2F%2F%20NOTE%3A%20We%20make%20the%20assumption%20that%20any%20overlay%20that%20completes%20a%20transition%0A%20%20%20%20%2F%2F%20will%20call%20into%20focusOverlay%20to%20kick%20the%20process%20back%20off.%20Currently%3A%0A%20%20%20%20%2F%2F%20transitionend%20-%3E%20applyFocus%20-%3E%20focusOverlay.%0A%20%20%20%20if%20(current%20%26%26%20!current.transitioning)%20%7B%0A%20%20%20%20%20%20current.applyFocus()%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20var%20backdrops%20%3D%20%5B%5D%3B%0A%20%20function%20trackBackdrop(element)%20%7B%0A%20%20%20%20if%20(element.opened)%20%7B%0A%20%20%20%20%20%20backdrops.push(element)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20var%20i%20%3D%20backdrops.indexOf(element)%3B%0A%20%20%20%20%20%20if%20(i%20%3E%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20backdrops.splice(i%2C%201)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20function%20getBackdrops()%20%7B%0A%20%20%20%20return%20backdrops%3B%0A%20%20%7D%0A%7D)()%3B%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-overlay.js%0A
2 ms
javascript;charset=utf-8,%0A%0A%20%20Polymer('core-transition-css'%2C%20%7B%0A%20%20%20%20%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20The%20class%20that%20will%20be%20applied%20to%20all%20animated%20nodes.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40attribute%20baseClass%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20%22core-transition%22%0A%20%20%20%20%20*%2F%0A%20%20%20%20baseClass%3A%20'core-transition'%2C%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20The%20class%20that%20will%20be%20applied%20to%20nodes%20in%20the%20opened%20state.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40attribute%20openedClass%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20%22core-opened%22%0A%20%20%20%20%20*%2F%0A%20%20%20%20openedClass%3A%20'core-opened'%2C%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20The%20class%20that%20will%20be%20applied%20to%20nodes%20in%20the%20closed%20state.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40attribute%20closedClass%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20%22core-closed%22%0A%20%20%20%20%20*%2F%0A%20%20%20%20closedClass%3A%20'core-closed'%2C%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Event%20to%20listen%20to%20for%20animation%20completion.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40attribute%20completeEventName%0A%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20*%20%40default%20%22transitionEnd%22%0A%20%20%20%20%20*%2F%0A%20%20%20%20completeEventName%3A%20'transitionend'%2C%0A%0A%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20A%20secondary%20configuration%20attribute%20for%20the%20animation.%20The%20class%0A%20%20%20%20%20%20%20*%20%60%3CbaseClass%3E-%3CtransitionType%60%20is%20applied%20to%20the%20animated%20node%20during%0A%20%20%20%20%20%20%20*%20%60setup%60.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20transitionType%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20transitionType%3A%20null%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20registerCallback%3A%20function(element)%20%7B%0A%20%20%20%20%20%20this.transitionStyle%20%3D%20element.templateContent().firstElementChild%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20%2F%2F%20template%20is%20just%20for%20loading%20styles%2C%20we%20don't%20need%20a%20shadowRoot%0A%20%20%20%20fetchTemplate%3A%20function()%20%7B%0A%20%20%20%20%20%20return%20null%3B%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20go%3A%20function(node%2C%20state)%20%7B%0A%20%20%20%20%20%20if%20(state.opened%20!%3D%3D%20undefined)%20%7B%0A%20%20%20%20%20%20%20%20this.transitionOpened(node%2C%20state.opened)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20setup%3A%20function(node)%20%7B%0A%20%20%20%20%20%20if%20(!node._hasTransitionStyle)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!node.shadowRoot)%20%7B%0A%20%20%20%20%20%20%20%20%20%20node.createShadowRoot().innerHTML%20%3D%20'%3Ccontent%3E%3C%2Fcontent%3E'%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.installScopeStyle(this.transitionStyle%2C%20'transition'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20node.shadowRoot)%3B%0A%20%20%20%20%20%20%20%20node._hasTransitionStyle%20%3D%20true%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20node.classList.add(this.baseClass)%3B%0A%20%20%20%20%20%20if%20(this.transitionType)%20%7B%0A%20%20%20%20%20%20%20%20node.classList.add(this.baseClass%20%2B%20'-'%20%2B%20this.transitionType)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20teardown%3A%20function(node)%20%7B%0A%20%20%20%20%20%20node.classList.remove(this.baseClass)%3B%0A%20%20%20%20%20%20if%20(this.transitionType)%20%7B%0A%20%20%20%20%20%20%20%20node.classList.remove(this.baseClass%20%2B%20'-'%20%2B%20this.transitionType)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%0A%20%20%20%20transitionOpened%3A%20function(node%2C%20opened)%20%7B%0A%20%20%20%20%20%20this.listenOnce(node%2C%20this.completeEventName%2C%20function()%20%7B%0A%20%20%20%20%20%20%20%20node.classList.toggle(this.revealedClass%2C%20opened)%3B%0A%20%20%20%20%20%20%20%20if%20(!opened)%20%7B%0A%20%20%20%20%20%20%20%20%20%20node.classList.remove(this.closedClass)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.complete(node)%3B%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20node.classList.toggle(this.openedClass%2C%20opened)%3B%0A%20%20%20%20%20%20node.classList.toggle(this.closedClass%2C%20!opened)%3B%0A%20%20%20%20%7D%0A%0A%20%20%7D)%3B%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-transition-css.js%0A
2 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('core-media-query'%2C%20%7B%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20Boolean%20return%20value%20of%20the%20media%20query%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20queryMatches%0A%20%20%20%20%20%20%20*%20%40type%20Boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20queryMatches%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20CSS%20media%20query%20to%20evaulate%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20query%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20query%3A%20''%2C%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this._mqHandler%20%3D%20this.queryHandler.bind(this)%3B%0A%20%20%20%20%20%20%20%20this._mq%20%3D%20null%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20queryChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this._mq)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this._mq.removeListener(this._mqHandler)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20var%20query%20%3D%20this.query%3B%0A%20%20%20%20%20%20%20%20if%20(query%5B0%5D%20!%3D%3D%20'(')%20%7B%0A%20%20%20%20%20%20%20%20%20%20query%20%3D%20'('%20%2B%20this.query%20%2B%20')'%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this._mq%20%3D%20window.matchMedia(query)%3B%0A%20%20%20%20%20%20%20%20this._mq.addListener(this._mqHandler)%3B%0A%20%20%20%20%20%20%20%20this.queryHandler(this._mq)%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20queryHandler%3A%20function(mq)%20%7B%0A%20%20%20%20%20%20%20%20this.queryMatches%20%3D%20mq.matches%3B%0A%20%20%20%20%20%20%20%20this.asyncFire('core-media-change'%2C%20mq)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fcore-media-query.js%0A
1 ms
javascript;charset=utf-8,%0A%0A%20%20(function()%20%7B%0A%20%20%0A%20%20%20%20var%20currentToast%3B%0A%20%20%0A%20%20%20%20Polymer('paper-toast'%2C%20%7B%0A%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20text%20shows%20in%20a%20toast.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20text%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20text%3A%20''%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20The%20duration%20in%20milliseconds%20to%20show%20the%20toast.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20duration%0A%20%20%20%20%20%20%20*%20%40type%20number%0A%20%20%20%20%20%20%20*%20%40default%203000%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20duration%3A%203000%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Set%20opened%20to%20true%20to%20show%20the%20toast%20and%20to%20false%20to%20hide%20it.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20opened%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20opened%3A%20false%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Min-width%20when%20the%20toast%20changes%20to%20narrow%20layout.%20%20In%20narrow%20layout%2C%0A%20%20%20%20%20%20%20*%20the%20toast%20fits%20at%20the%20bottom%20of%20the%20screen%20when%20opened.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20responsiveWidth%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20'480px'%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20responsiveWidth%3A%20'480px'%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20If%20true%2C%20the%20toast%20can't%20be%20swiped.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20swipeDisabled%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20swipeDisabled%3A%20false%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20eventDelegates%3A%20%7B%0A%20%20%20%20%20%20%20%20trackstart%3A%20'trackStart'%2C%0A%20%20%20%20%20%20%20%20track%3A%20'track'%2C%0A%20%20%20%20%20%20%20%20trackend%3A%20'trackEnd'%2C%0A%20%20%20%20%20%20%20%20transitionend%3A%20'transitionEnd'%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20narrowModeChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.classList.toggle('fit-bottom'%2C%20this.narrowMode)%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20openedChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.opened)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.dismissJob%20%3D%20this.job(this.dismissJob%2C%20this.dismiss%2C%20this.duration)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.dismissJob%20%26%26%20this.dismissJob.stop()%3B%0A%20%20%20%20%20%20%20%20%20%20this.dismiss()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%20%0A%20%20%20%20%20%20%20*%20Toggle%20the%20opened%20state%20of%20the%20toast.%0A%20%20%20%20%20%20%20*%20%40method%20toggle%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20toggle%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.opened%20%3D%20!this.opened%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%20%0A%20%20%20%20%20%20%20*%20Show%20the%20toast%20for%20the%20specified%20duration%0A%20%20%20%20%20%20%20*%20%40method%20show%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20show%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(currentToast)%20%7B%0A%20%20%20%20%20%20%20%20%20%20currentToast.dismiss()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20currentToast%20%3D%20this%3B%0A%20%20%20%20%20%20%20%20this.opened%20%3D%20true%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F**%20%0A%20%20%20%20%20%20%20*%20Dismiss%20the%20toast%20and%20hide%20it.%0A%20%20%20%20%20%20%20*%20%40method%20dismiss%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20dismiss%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.dragging)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.shouldDismiss%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.opened%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(currentToast%20%3D%3D%3D%20this)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20currentToast%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20trackStart%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!this.swipeDisabled)%20%7B%0A%20%20%20%20%20%20%20%20%20%20e.preventTap()%3B%0A%20%20%20%20%20%20%20%20%20%20this.vertical%20%3D%20e.yDirection%3B%0A%20%20%20%20%20%20%20%20%20%20this.w%20%3D%20this.offsetWidth%3B%0A%20%20%20%20%20%20%20%20%20%20this.h%20%3D%20this.offsetHeight%3B%0A%20%20%20%20%20%20%20%20%20%20this.dragging%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20this.classList.add('dragging')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20track%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.dragging)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20s%20%3D%20this.style%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(this.vertical)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20y%20%3D%20e.dy%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20s.opacity%20%3D%20(this.h%20-%20Math.abs(y))%20%2F%20this.h%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20s.webkitTransform%20%3D%20s.transform%20%3D%20%20'translate3d(0%2C%20'%20%2B%20y%20%2B%20'px%2C%200)'%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20x%20%3D%20e.dx%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20s.opacity%20%3D%20(this.w%20-%20Math.abs(x))%20%2F%20this.w%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20s.webkitTransform%20%3D%20s.transform%20%3D%20'translate3d('%20%2B%20x%20%2B%20'px%2C%200%2C%200)'%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20trackEnd%3A%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.dragging)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.classList.remove('dragging')%3B%0A%20%20%20%20%20%20%20%20%20%20this.style.opacity%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20this.style.webkitTransform%20%3D%20this.style.transform%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20var%20cl%20%3D%20this.classList%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(this.vertical)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20cl.toggle('fade-out-down'%2C%20e.yDirection%20%3D%3D%3D%201%20%26%26%20e.dy%20%3E%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20cl.toggle('fade-out-up'%2C%20e.yDirection%20%3D%3D%3D%20-1%20%26%26%20e.dy%20%3C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20cl.toggle('fade-out-right'%2C%20e.xDirection%20%3D%3D%3D%201%20%26%26%20e.dx%20%3E%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20cl.toggle('fade-out-left'%2C%20e.xDirection%20%3D%3D%3D%20-1%20%26%26%20e.dx%20%3C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20this.dragging%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20transitionEnd%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20var%20cl%20%3D%20this.classList%3B%0A%20%20%20%20%20%20%20%20if%20(cl.contains('fade-out-right')%20%7C%7C%20cl.contains('fade-out-left')%20%7C%7C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20cl.contains('fade-out-down')%20%7C%7C%20cl.contains('fade-out-up'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.dismiss()%3B%0A%20%20%20%20%20%20%20%20%20%20cl.remove('fade-out-right'%2C%20'fade-out-left'%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20'fade-out-down'%2C%20'fade-out-up')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20if%20(this.shouldDismiss)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.dismiss()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.shouldDismiss%20%3D%20false%3B%0A%20%20%20%20%20%20%7D%0A%20%20%0A%20%20%20%20%7D)%3B%0A%20%20%20%20%0A%20%20%7D)()%3B%0A%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-toast.js%0A
2 ms
javascript;charset=utf-8,%0A%20%20Polymer('paper-dialog-transition'%2C%7B%0A%20%20%20%20baseClass%3A%20'paper-dialog-transition'%0A%20%20%7D)%3B%0A%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-dialog-transition.js%0A
0 ms
javascript;charset=utf-8,%0A%0A%20%20%20%20Polymer('paper-dialog'%2C%20%7B%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Set%20opened%20to%20true%20to%20show%20the%20dialog%20and%20to%20false%20to%20hide%20it.%0A%20%20%20%20%20%20%20*%20A%20dialog%20may%20be%20made%20intially%20opened%20by%20setting%20its%20opened%20attribute.%0A%0A%20%20%20%20%20%20%20*%20%40attribute%20opened%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20opened%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20If%20true%2C%20the%20dialog%20has%20a%20backdrop%20darkening%20the%20rest%20of%20the%20screen.%0A%20%20%20%20%20%20%20*%20The%20backdrop%20element%20is%20attached%20to%20the%20document%20body%20and%20may%20be%20styled%0A%20%20%20%20%20%20%20*%20with%20the%20class%20%60core-overlay-backdrop%60.%20When%20opened%20the%20%60core-opened%60%0A%20%20%20%20%20%20%20*%20class%20is%20applied.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20backdrop%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20backdrop%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20If%20true%2C%20the%20dialog%20is%20guaranteed%20to%20display%20above%20page%20content.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20layered%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20layered%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20By%20default%20a%20dialog%20will%20close%20automatically%20if%20the%20user%0A%20%20%20%20%20%20%20*%20taps%20outside%20it%20or%20presses%20the%20escape%20key.%20Disable%20this%0A%20%20%20%20%20%20%20*%20behavior%20by%20setting%20the%20%60autoCloseDisabled%60%20property%20to%20true.%0A%20%20%20%20%20%20%20*%20%40attribute%20autoCloseDisabled%0A%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20autoCloseDisabled%3A%20false%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20This%20property%20specifies%20a%20selector%20matching%20elements%20that%20should%0A%20%20%20%20%20%20%20*%20close%20the%20dialog%20on%20tap.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20closeSelector%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20%22%22%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20closeSelector%3A%20'%5Bdismissive%5D%2C%5Baffirmative%5D'%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20%40attribute%20heading%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20heading%3A%20''%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Set%20this%20property%20to%20the%20id%20of%20a%20%60core-transition%60%20element%20to%20specify%0A%20%20%20%20%20%20%20*%20the%20transition%20to%20use%20when%20opening%2Fclosing%20this%20dialog.%0A%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20*%20%40attribute%20transition%0A%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20*%20%40default%20''%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20transition%3A%20''%2C%0A%0A%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20*%20Toggle%20the%20dialog's%20opened%20state.%0A%20%20%20%20%20%20%20*%20%40method%20toggle%0A%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20toggle%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.overlay.toggle()%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20headingChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.setAttribute('aria-label'%2C%20this.heading)%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D)%3B%0A%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-dialog.js%0A
1 ms
javascript;charset=utf-8,%0A%20%20%20%20Polymer('paper-spinner'%2C%7B%0A%20%20%20%20%20%20eventDelegates%3A%20%7B%0A%20%20%20%20%20%20%20%20'animationend'%3A%20'reset'%2C%0A%20%20%20%20%20%20%20%20'webkitAnimationEnd'%3A%20'reset'%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20publish%3A%20%7B%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20Displays%20the%20spinner.%0A%20%20%20%20%20%20%20%20%20*%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20active%0A%20%20%20%20%20%20%20%20%20*%20%40type%20boolean%0A%20%20%20%20%20%20%20%20%20*%20%40default%20false%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20active%3A%20%7Bvalue%3A%20false%2C%20reflect%3A%20true%7D%2C%0A%0A%20%20%20%20%20%20%20%20%2F**%0A%20%20%20%20%20%20%20%20%20*%20Alternative%20text%20content%20for%20accessibility%20support.%0A%20%20%20%20%20%20%20%20%20*%20If%20alt%20is%20present%2C%20it%20will%20add%20an%20aria-label%20whose%20content%20matches%20alt%20when%20active.%0A%20%20%20%20%20%20%20%20%20*%20If%20alt%20is%20not%20present%2C%20it%20will%20default%20to%20'loading'%20as%20the%20alt%20value.%0A%20%20%20%20%20%20%20%20%20*%20%40attribute%20alt%0A%20%20%20%20%20%20%20%20%20*%20%40type%20string%0A%20%20%20%20%20%20%20%20%20*%20%40default%20'loading'%0A%20%20%20%20%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20alt%3A%20%7Bvalue%3A%20'loading'%2C%20reflect%3A%20true%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20ready%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Allow%20user-provided%20%60aria-label%60%20take%20preference%20to%20any%20other%20text%20alternative.%0A%20%20%20%20%20%20%20%20if%20(this.hasAttribute('aria-label'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.alt%20%3D%20this.getAttribute('aria-label')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('aria-label'%2C%20this.alt)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(!this.active)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('aria-hidden'%2C%20'true')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20activeChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.active)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.spinnerContainer.classList.remove('cooldown')%3B%0A%20%20%20%20%20%20%20%20%20%20this.%24.spinnerContainer.classList.add('active')%3B%0A%20%20%20%20%20%20%20%20%20%20this.removeAttribute('aria-hidden')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.%24.spinnerContainer.classList.add('cooldown')%3B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('aria-hidden'%2C%20'true')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20altChanged%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20if%20(this.alt%20%3D%3D%3D%20'')%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.setAttribute('aria-hidden'%2C%20'true')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeAttribute('aria-hidden')%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20this.setAttribute('aria-label'%2C%20this.alt)%3B%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20reset%3A%20function()%20%7B%0A%20%20%20%20%20%20%20%20this.%24.spinnerContainer.classList.remove('active'%2C%20'cooldown')%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D)%3B%0A%20%20%0A%2F%2F%23%20sourceURL%3Dhttp%3A%2F%2Fnew.effcreative.com%2Fwp-content%2Fthemes%2Feffcreative%2Fassets%2Fcomponents%2Fpolymer.html%2Fpaper-spinner.js%0A
3 ms
t.dhj
71 ms
fBnyGA8Aionz5086-mElmoOSPUuyQ1M9Un647_EjucU.js
69 ms
ad_status.js
67 ms
XSR5EQVYSZAZXPGQTAPYQF.js
297 ms
cm
94 ms
x35248
160 ms
zN7GBFwfMP4uA6AR0HCoLQ.ttf
93 ms
RxZJdnzeo3R5zSexge8UUaCWcynf_cDxXwCLxiixG1c.ttf
97 ms
s-3271.xgi
60 ms
hbpix
37 ms
pixel
16 ms
7 ms
6 ms
xrefid.xgi
4 ms
pixel
15 ms
2981
21 ms
new.effcreative.com SEO score
EN
N/A
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise New.effcreative.com can be misinterpreted by Google and other search engines. Our service has detected that English is used on the page, and neither this language nor any other was claimed in <html> or <meta> tags. Our system also found out that New.effcreative.com main page’s claimed encoding is utf-8. Use of this encoding format is the best practice as the main page visitors from all over the world won’t have any issues with symbol transcription.
new.effcreative.com
Open Graph description is not detected on the main page of New Eff Creative. Lack of Open Graph description can be counter-productive for their social media presence, as such a description allows converting a website homepage (or other pages) into good-looking, rich and well-structured posts, when it is being shared on Facebook and other social media. For example, adding the following code snippet into HTML <head> tag will help to represent this web page correctly in social networks: