0&&m ').wrapAll('
');C.attr("style",function(j,D){return D.replace(/(?:background)[^;]+;/g,"")});for(var w=0;w0;o--){var n=Math.floor(Math.random()*(o+1));var m=l[o];l[o]=l[n];l[n]=m}return l},slideTransitions:{fade:function(j,l){var k=this.slides[l];this.slides[j].$element.precss({"*opacity":"0","transition-duration":k.duration+"ms"});k.$element.precss({"*opacity":"1","transition-duration":k.duration+"ms"})},slide:function(j,k){var l;if(k===0&&j===this.slides.length-1){l="slideLeft"}else{if(j===0&&k===this.slides.length-1){l="slideRight"}else{if(k>j){l="slideLeft"}else{l="slideRight"}}}return this.slideTransitions[l].apply(this,[j,k])},verticalSlide:function(j,k){var l;if(k===0&&j===this.slides.length-1){l="slideUp"}else{if(j===0&&k===this.slides.length-1){l="slideDown"}else{if(k>j){l="slideUp"}else{l="slideDown"}}}return this.slideTransitions[l].apply(this,[j,k])},slideLeft:function(k,m){var j=this;var l=j.slides[m];j.slides[k].$element.precss("animation-duration",l.duration+"ms").addClass("pogoSlider-animation-leftOut");l.$element.precss({"*opacity":"1","animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-leftIn");return function(){j.slides[k].$element.removeClass("pogoSlider-animation-leftOut");l.$element.attr("style",l.$element.data("original-styles")).css("opacity","1").removeClass("pogoSlider-animation-leftIn")}},slideRight:function(k,m){var j=this;var l=j.slides[m];j.slides[k].$element.precss("animation-duration",l.duration+"ms").addClass("pogoSlider-animation-rightOut");l.$element.precss({"*opacity":"1","animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-rightIn");return function(){j.slides[k].$element.removeClass("pogoSlider-animation-rightOut");
4 | l.$element.attr("style",l.$element.data("original-styles")).css("opacity","1").removeClass("pogoSlider-animation-rightIn")}},slideUp:function(k,m){var j=this;var l=j.slides[m];j.slides[k].$element.precss("animation-duration",l.duration+"ms").addClass("pogoSlider-animation-upOut");l.$element.precss({"*opacity":"1","animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-upIn");return function(){j.slides[k].$element.removeClass("pogoSlider-animation-upOut");l.$element.attr("style",l.$element.data("original-styles")).css("opacity","1").removeClass("pogoSlider-animation-upIn")}},slideDown:function(k,m){var j=this;var l=j.slides[m];j.slides[k].$element.precss("animation-duration",l.duration+"ms").addClass("pogoSlider-animation-downOut");l.$element.precss({"*opacity":"1","animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-downIn");return function(){j.slides[k].$element.removeClass("pogoSlider-animation-downOut");l.$element.attr("style",l.$element.data("original-styles")).css("opacity","1").removeClass("pogoSlider-animation-downIn")}},slideRevealLeft:function(k,m){var j=this;var l=j.slides[m];j.slides[k].$element.precss({"*z-index":j.settings.baseZindex+1,"animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-leftOut");l.$element.css({"opacity":1,"z-index":j.settings.baseZindex});return function(){j.slides[k].$element.removeClass("pogoSlider-animation-leftOut")}},slideRevealRight:function(k,m){var j=this;var l=j.slides[m];j.slides[k].$element.precss({"*z-index":j.settings.baseZindex+1,"animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-rightOut");l.$element.css({"opacity":1,"z-index":j.settings.baseZindex});return function(){j.slides[k].$element.removeClass("pogoSlider-animation-rightOut")}},slideOverLeft:function(j,l){var k=this.slides[l];k.$element.precss({"*opacity":"1","*z-index":this.settings.baseZindex+1,"animation-duration":k.duration+"ms"}).addClass("pogoSlider-animation-leftIn");return function(){k.$element.attr("style",k.$element.data("original-styles")).css("opacity","1").removeClass("pogoSlider-animation-leftIn")}},slideOverRight:function(j,l){var k=this.slides[l];k.$element.precss({"*opacity":"1","*z-index":this.settings.baseZindex+1,"animation-duration":k.duration+"ms"}).addClass("pogoSlider-animation-rightIn");return function(){k.$element.attr("style",k.$element.data("original-styles")).css("opacity","1").removeClass("pogoSlider-animation-rightIn")}},expandReveal:function(k,m){var j=this;var l=j.slides[m];j.$element.css("overflow","visible");j.slides[k].$element.precss({"*z-index":j.settings.baseZindex+1,"animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-expandReveal");l.$element.css({"opacity":1,"z-index":j.settings.baseZindex});return function(){j.$element.css("overflow","");j.slides[k].$element.removeClass("pogoSlider-animation-expandReveal")}},shrinkReveal:function(k,m){var j=this;var l=j.slides[m];j.slides[k].$element.precss({"*z-index":j.settings.baseZindex+1,"animation-duration":l.duration+"ms"}).addClass("pogoSlider-animation-shrinkReveal");l.$element.css({"opacity":1,"z-index":j.settings.baseZindex});return function(){j.slides[k].$element.removeClass("pogoSlider-animation-shrinkReveal")}},verticalSplitReveal:function(l,n){var k=this;var m=k.slides[n];k.slides[l].$element.css("z-index",k.settings.baseZindex+1);m.$element.css({"opacity":1,"z-index":k.settings.baseZindex});k._createSlideSlices(l,1,2);var j=k.slides[l].$element.find(".pogoSlider-slide-slice");j.precss("animation-duration",m.duration+"ms");j.eq(0).addClass("pogoSlider-animation-leftOut");j.eq(1).addClass("pogoSlider-animation-rightOut")},horizontalSplitReveal:function(l,n){var k=this;var m=k.slides[n];k.slides[l].$element.css("z-index",k.settings.baseZindex+1);m.$element.css({"opacity":1,"z-index":k.settings.baseZindex});k._createSlideSlices(l,2,1);var j=k.slides[l].$element.find(".pogoSlider-slide-slice");j.precss("animation-duration",m.duration+"ms");j.eq(0).addClass("pogoSlider-animation-upOut");j.eq(1).addClass("pogoSlider-animation-downOut")},zipReveal:function(l,n){var k=this;var m=k.slides[n];k.slides[l].$element.css("z-index",k.settings.baseZindex+1);m.$element.css({"opacity":1,"z-index":k.settings.baseZindex});k._createSlideSlices(l,1,Math.round(k.$element.width()/100));var j=k.slides[l].$element.find(".pogoSlider-slide-slice");j.precss("animation-duration",m.duration+"ms");j.each(function(o){if(o%2===0){d(this).addClass("pogoSlider-animation-upOut")}else{d(this).addClass("pogoSlider-animation-downOut")}})},barRevealDown:function(j,k){return this.slideTransitions["barReveal"].apply(this,[j,k,"down"])},barRevealUp:function(j,k){return this.slideTransitions["barReveal"].apply(this,[j,k,"up"])},barReveal:function(o,q,n){var k=this;var p=k.slides[q];k.slides[o].$element.css("z-index",k.settings.baseZindex+1);p.$element.css({"opacity":1,"z-index":k.settings.baseZindex});k._createSlideSlices(o,1,Math.round(k.$element.width()/100));var j=k.slides[o].$element.find(".pogoSlider-slide-slice");
5 | var l=p.duration/(j.length+1);var m=l*2;j.precss("animation-duration",m+"ms");j.each(function(r){if(n==="down"){d(this).addClass("pogoSlider-animation-downOut").precss("animation-delay",l*r+"ms")}else{d(this).addClass("pogoSlider-animation-upOut").precss("animation-delay",l*r+"ms")}})},blocksReveal:function(k,j){var u=this;var q=u.slides[j];var t=0;if(u.settings.preserveTargetSize){t=parseFloat(u.$element.css("padding-bottom"))}else{t=u.$element.height()}var r=Math.round(t/100);var l=Math.round(u.$element.width()/100);u.slides[k].$element.css("z-index",u.settings.baseZindex+1);q.$element.css({"opacity":1,"z-index":u.settings.baseZindex});var p=u._generateARandomArray(r*l);u._createSlideSlices(k,r,l);var n=u.slides[k].$element.find(".pogoSlider-slide-slice");var o=q.duration/(n.length+1);var s=o*2;n.precss("animation-duration",s+"ms");for(var m=0;mj){l="foldLeft"}else{l="foldRight"}}}return this.slideTransitions[l].apply(this,[j,k])},foldRight:function(l,k){var s=this;var q=s.slides[k];var m=s.slides[l];s.$element.css("overflow","visible");m.$element.css({"overflow":"visible","z-index":s.settings.baseZindex});q.$element.css({"opacity":1,"overflow":"visible","z-index":s.settings.baseZindex+1});s._createSlideSlices(l,1,2);var r=m.$element.find(".pogoSlider-slide-slice");s._createSlideSlices(k,1,2);var o=s.slides[k].$element.find(".pogoSlider-slide-slice");var n=r.eq(0);var p=o.eq(0);var j=o.eq(1);q.$element.prepend(n.detach());m.$element.prepend(p.detach());n.addClass("pogoSlider-animation-foldInRight").precss("animation-duration",q.duration+"ms");j.addClass("pogoSlider-animation-foldOutRight").precss("animation-duration",q.duration+"ms");return function(){s.$element.css("overflow","");q.$element.prepend(p.detach());m.$element.prepend(n.detach());s._slideCleanup(k,true)}},foldLeft:function(l,k){var s=this;var q=s.slides[k];var m=s.slides[l];s.$element.css("overflow","visible");m.$element.css({"overflow":"visible","z-index":s.settings.baseZindex});q.$element.css({"opacity":1,"overflow":"visible","z-index":s.settings.baseZindex+1});s._createSlideSlices(l,1,2);var r=m.$element.find(".pogoSlider-slide-slice");s._createSlideSlices(k,1,2);var n=s.slides[k].$element.find(".pogoSlider-slide-slice");var p=r.eq(1);var o=n.eq(0);var j=n.eq(1);q.$element.append(p.detach());m.$element.append(j.detach());p.addClass("pogoSlider-animation-foldInLeft").precss("animation-duration",q.duration+"ms");o.addClass("pogoSlider-animation-foldOutLeft").precss("animation-duration",q.duration+"ms");return function(){s.$element.css("overflow","");s._slideCleanup(k,true)}}},compatSlideTransitions:{fade:function(j,l){var k=this.slides[l];this.slides[j].$element.animate({opacity:0},k.duration);k.$element.animate({opacity:1},k.duration)},slide:function(j,k){var l;if(j>k&&j===this.slides.length-1&&k===0){l="slideLeft"}else{if(jk&&j===this.slides.length-1&&k===0){l="slideUp"}else{if(j=1.9.0', null ]
15 | 9 verbose cache add name=undefined spec="jquery@>=1.9.0" args=["jquery@>=1.9.0",null]
16 | 10 verbose parsed url { protocol: null,
17 | 10 verbose parsed url slashes: null,
18 | 10 verbose parsed url auth: null,
19 | 10 verbose parsed url host: null,
20 | 10 verbose parsed url port: null,
21 | 10 verbose parsed url hostname: null,
22 | 10 verbose parsed url hash: null,
23 | 10 verbose parsed url search: null,
24 | 10 verbose parsed url query: null,
25 | 10 verbose parsed url pathname: 'jquery@%3E=1.9.0',
26 | 10 verbose parsed url path: 'jquery@%3E=1.9.0',
27 | 10 verbose parsed url href: 'jquery@%3E=1.9.0' }
28 | 11 verbose cache add [ 'grunt-contrib-uglify@*', null ]
29 | 12 verbose cache add name=undefined spec="grunt-contrib-uglify@*" args=["grunt-contrib-uglify@*",null]
30 | 13 verbose parsed url { protocol: null,
31 | 13 verbose parsed url slashes: null,
32 | 13 verbose parsed url auth: null,
33 | 13 verbose parsed url host: null,
34 | 13 verbose parsed url port: null,
35 | 13 verbose parsed url hostname: null,
36 | 13 verbose parsed url hash: null,
37 | 13 verbose parsed url search: null,
38 | 13 verbose parsed url query: null,
39 | 13 verbose parsed url pathname: 'grunt-contrib-uglify@*',
40 | 13 verbose parsed url path: 'grunt-contrib-uglify@*',
41 | 13 verbose parsed url href: 'grunt-contrib-uglify@*' }
42 | 14 verbose cache add [ 'grunt-contrib-cssmin@*', null ]
43 | 15 verbose cache add name=undefined spec="grunt-contrib-cssmin@*" args=["grunt-contrib-cssmin@*",null]
44 | 16 verbose parsed url { protocol: null,
45 | 16 verbose parsed url slashes: null,
46 | 16 verbose parsed url auth: null,
47 | 16 verbose parsed url host: null,
48 | 16 verbose parsed url port: null,
49 | 16 verbose parsed url hostname: null,
50 | 16 verbose parsed url hash: null,
51 | 16 verbose parsed url search: null,
52 | 16 verbose parsed url query: null,
53 | 16 verbose parsed url pathname: 'grunt-contrib-cssmin@*',
54 | 16 verbose parsed url path: 'grunt-contrib-cssmin@*',
55 | 16 verbose parsed url href: 'grunt-contrib-cssmin@*' }
56 | 17 verbose cache add [ 'grunt-autoprefixer@*', null ]
57 | 18 verbose cache add name=undefined spec="grunt-autoprefixer@*" args=["grunt-autoprefixer@*",null]
58 | 19 verbose parsed url { protocol: null,
59 | 19 verbose parsed url slashes: null,
60 | 19 verbose parsed url auth: null,
61 | 19 verbose parsed url host: null,
62 | 19 verbose parsed url port: null,
63 | 19 verbose parsed url hostname: null,
64 | 19 verbose parsed url hash: null,
65 | 19 verbose parsed url search: null,
66 | 19 verbose parsed url query: null,
67 | 19 verbose parsed url pathname: 'grunt-autoprefixer@*',
68 | 19 verbose parsed url path: 'grunt-autoprefixer@*',
69 | 19 verbose parsed url href: 'grunt-autoprefixer@*' }
70 | 20 verbose cache add name="jquery" spec=">=1.9.0" args=["jquery",">=1.9.0"]
71 | 21 verbose parsed url { protocol: null,
72 | 21 verbose parsed url slashes: null,
73 | 21 verbose parsed url auth: null,
74 | 21 verbose parsed url host: null,
75 | 21 verbose parsed url port: null,
76 | 21 verbose parsed url hostname: null,
77 | 21 verbose parsed url hash: null,
78 | 21 verbose parsed url search: null,
79 | 21 verbose parsed url query: null,
80 | 21 verbose parsed url pathname: '%3E=1.9.0',
81 | 21 verbose parsed url path: '%3E=1.9.0',
82 | 21 verbose parsed url href: '%3E=1.9.0' }
83 | 22 verbose addNamed [ 'jquery', '>=1.9.0' ]
84 | 23 verbose addNamed [ null, '>=1.9.0' ]
85 | 24 verbose cache add name="grunt-contrib-uglify" spec="*" args=["grunt-contrib-uglify","*"]
86 | 25 verbose parsed url { protocol: null,
87 | 25 verbose parsed url slashes: null,
88 | 25 verbose parsed url auth: null,
89 | 25 verbose parsed url host: null,
90 | 25 verbose parsed url port: null,
91 | 25 verbose parsed url hostname: null,
92 | 25 verbose parsed url hash: null,
93 | 25 verbose parsed url search: null,
94 | 25 verbose parsed url query: null,
95 | 25 verbose parsed url pathname: '*',
96 | 25 verbose parsed url path: '*',
97 | 25 verbose parsed url href: '*' }
98 | 26 verbose addNamed [ 'grunt-contrib-uglify', '*' ]
99 | 27 verbose addNamed [ null, '*' ]
100 | 28 verbose cache add name="grunt-contrib-cssmin" spec="*" args=["grunt-contrib-cssmin","*"]
101 | 29 verbose parsed url { protocol: null,
102 | 29 verbose parsed url slashes: null,
103 | 29 verbose parsed url auth: null,
104 | 29 verbose parsed url host: null,
105 | 29 verbose parsed url port: null,
106 | 29 verbose parsed url hostname: null,
107 | 29 verbose parsed url hash: null,
108 | 29 verbose parsed url search: null,
109 | 29 verbose parsed url query: null,
110 | 29 verbose parsed url pathname: '*',
111 | 29 verbose parsed url path: '*',
112 | 29 verbose parsed url href: '*' }
113 | 30 verbose addNamed [ 'grunt-contrib-cssmin', '*' ]
114 | 31 verbose addNamed [ null, '*' ]
115 | 32 verbose cache add [ 'grunt-contrib-copy@*', null ]
116 | 33 verbose cache add name=undefined spec="grunt-contrib-copy@*" args=["grunt-contrib-copy@*",null]
117 | 34 verbose parsed url { protocol: null,
118 | 34 verbose parsed url slashes: null,
119 | 34 verbose parsed url auth: null,
120 | 34 verbose parsed url host: null,
121 | 34 verbose parsed url port: null,
122 | 34 verbose parsed url hostname: null,
123 | 34 verbose parsed url hash: null,
124 | 34 verbose parsed url search: null,
125 | 34 verbose parsed url query: null,
126 | 34 verbose parsed url pathname: 'grunt-contrib-copy@*',
127 | 34 verbose parsed url path: 'grunt-contrib-copy@*',
128 | 34 verbose parsed url href: 'grunt-contrib-copy@*' }
129 | 35 verbose cache add name="grunt-autoprefixer" spec="*" args=["grunt-autoprefixer","*"]
130 | 36 verbose parsed url { protocol: null,
131 | 36 verbose parsed url slashes: null,
132 | 36 verbose parsed url auth: null,
133 | 36 verbose parsed url host: null,
134 | 36 verbose parsed url port: null,
135 | 36 verbose parsed url hostname: null,
136 | 36 verbose parsed url hash: null,
137 | 36 verbose parsed url search: null,
138 | 36 verbose parsed url query: null,
139 | 36 verbose parsed url pathname: '*',
140 | 36 verbose parsed url path: '*',
141 | 36 verbose parsed url href: '*' }
142 | 37 verbose addNamed [ 'grunt-autoprefixer', '*' ]
143 | 38 verbose addNamed [ null, '*' ]
144 | 39 silly lockFile 169ab83b-jquery-1-9-0 jquery@>=1.9.0
145 | 40 verbose lock jquery@>=1.9.0 /Users/mdgriffin/.npm/169ab83b-jquery-1-9-0.lock
146 | 41 silly lockFile d203f81c-grunt-contrib-uglify grunt-contrib-uglify@*
147 | 42 verbose lock grunt-contrib-uglify@* /Users/mdgriffin/.npm/d203f81c-grunt-contrib-uglify.lock
148 | 43 silly lockFile b3f2337d-grunt-contrib-cssmin grunt-contrib-cssmin@*
149 | 44 verbose lock grunt-contrib-cssmin@* /Users/mdgriffin/.npm/b3f2337d-grunt-contrib-cssmin.lock
150 | 45 silly lockFile ad1a3c41-grunt-autoprefixer grunt-autoprefixer@*
151 | 46 verbose lock grunt-autoprefixer@* /Users/mdgriffin/.npm/ad1a3c41-grunt-autoprefixer.lock
152 | 47 verbose cache add name="grunt-contrib-copy" spec="*" args=["grunt-contrib-copy","*"]
153 | 48 verbose parsed url { protocol: null,
154 | 48 verbose parsed url slashes: null,
155 | 48 verbose parsed url auth: null,
156 | 48 verbose parsed url host: null,
157 | 48 verbose parsed url port: null,
158 | 48 verbose parsed url hostname: null,
159 | 48 verbose parsed url hash: null,
160 | 48 verbose parsed url search: null,
161 | 48 verbose parsed url query: null,
162 | 48 verbose parsed url pathname: '*',
163 | 48 verbose parsed url path: '*',
164 | 48 verbose parsed url href: '*' }
165 | 49 verbose addNamed [ 'grunt-contrib-copy', '*' ]
166 | 50 verbose addNamed [ null, '*' ]
167 | 51 silly lockFile 89c12057-grunt-contrib-copy grunt-contrib-copy@*
168 | 52 verbose lock grunt-contrib-copy@* /Users/mdgriffin/.npm/89c12057-grunt-contrib-copy.lock
169 | 53 silly addNameRange { name: 'jquery', range: '>=1.9.0', hasData: false }
170 | 54 silly addNameRange { name: 'grunt-contrib-uglify', range: '*', hasData: false }
171 | 55 verbose request where is /jquery
172 | 56 verbose request registry https://registry.npmjs.org/
173 | 57 verbose request id aa187048196ddc70
174 | 58 verbose url raw /jquery
175 | 59 verbose url resolving [ 'https://registry.npmjs.org/', './jquery' ]
176 | 60 verbose url resolved https://registry.npmjs.org/jquery
177 | 61 verbose request where is https://registry.npmjs.org/jquery
178 | 62 info trying registry request attempt 1 at 15:22:56
179 | 63 http GET https://registry.npmjs.org/jquery
180 | 64 silly addNameRange { name: 'grunt-autoprefixer', range: '*', hasData: false }
181 | 65 silly addNameRange { name: 'grunt-contrib-copy', range: '*', hasData: false }
182 | 66 silly addNameRange { name: 'grunt-contrib-cssmin', range: '*', hasData: false }
183 | 67 verbose request where is /grunt-autoprefixer
184 | 68 verbose request registry https://registry.npmjs.org/
185 | 69 verbose url raw /grunt-autoprefixer
186 | 70 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-autoprefixer' ]
187 | 71 verbose url resolved https://registry.npmjs.org/grunt-autoprefixer
188 | 72 verbose request where is https://registry.npmjs.org/grunt-autoprefixer
189 | 73 info trying registry request attempt 1 at 15:22:56
190 | 74 http GET https://registry.npmjs.org/grunt-autoprefixer
191 | 75 verbose request where is /grunt-contrib-uglify
192 | 76 verbose request registry https://registry.npmjs.org/
193 | 77 verbose url raw /grunt-contrib-uglify
194 | 78 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-uglify' ]
195 | 79 verbose url resolved https://registry.npmjs.org/grunt-contrib-uglify
196 | 80 verbose request where is https://registry.npmjs.org/grunt-contrib-uglify
197 | 81 info trying registry request attempt 1 at 15:22:56
198 | 82 verbose etag "1XM55RI59L7G9DTQN66N8WH3W"
199 | 83 http GET https://registry.npmjs.org/grunt-contrib-uglify
200 | 84 verbose request where is /grunt-contrib-copy
201 | 85 verbose request registry https://registry.npmjs.org/
202 | 86 verbose url raw /grunt-contrib-copy
203 | 87 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-copy' ]
204 | 88 verbose url resolved https://registry.npmjs.org/grunt-contrib-copy
205 | 89 verbose request where is https://registry.npmjs.org/grunt-contrib-copy
206 | 90 info trying registry request attempt 1 at 15:22:56
207 | 91 verbose etag "6QA95B96YZQTWNCFTCCKQRUG6"
208 | 92 http GET https://registry.npmjs.org/grunt-contrib-copy
209 | 93 verbose request where is /grunt-contrib-cssmin
210 | 94 verbose request registry https://registry.npmjs.org/
211 | 95 verbose url raw /grunt-contrib-cssmin
212 | 96 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-cssmin' ]
213 | 97 verbose url resolved https://registry.npmjs.org/grunt-contrib-cssmin
214 | 98 verbose request where is https://registry.npmjs.org/grunt-contrib-cssmin
215 | 99 info trying registry request attempt 1 at 15:22:56
216 | 100 verbose etag "ASRCNGCBSF8MN6G8HCPEF9FT"
217 | 101 http GET https://registry.npmjs.org/grunt-contrib-cssmin
218 | 102 http 200 https://registry.npmjs.org/grunt-contrib-copy
219 | 103 silly registry.get cb [ 200,
220 | 103 silly registry.get { date: 'Tue, 28 Apr 2015 14:22:57 GMT',
221 | 103 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
222 | 103 silly registry.get etag: '"4VIPYG9WUF2EO8954Q83473W8"',
223 | 103 silly registry.get 'content-type': 'application/json',
224 | 103 silly registry.get 'cache-control': 'max-age=60',
225 | 103 silly registry.get 'content-length': '32696',
226 | 103 silly registry.get 'accept-ranges': 'bytes',
227 | 103 silly registry.get via: '1.1 varnish',
228 | 103 silly registry.get age: '35',
229 | 103 silly registry.get 'x-served-by': 'cache-lhr6334-LHR',
230 | 103 silly registry.get 'x-cache': 'HIT',
231 | 103 silly registry.get 'x-cache-hits': '1',
232 | 103 silly registry.get 'x-timer': 'S1430230977.367152,VS0,VE1',
233 | 103 silly registry.get vary: 'Accept',
234 | 103 silly registry.get 'keep-alive': 'timeout=10, max=50',
235 | 103 silly registry.get connection: 'Keep-Alive' } ]
236 | 104 silly addNameRange number 2 { name: 'grunt-contrib-copy', range: '*', hasData: true }
237 | 105 silly addNameRange versions [ 'grunt-contrib-copy',
238 | 105 silly addNameRange [ '0.2.0',
239 | 105 silly addNameRange '0.2.1',
240 | 105 silly addNameRange '0.2.2',
241 | 105 silly addNameRange '0.2.3',
242 | 105 silly addNameRange '0.2.4',
243 | 105 silly addNameRange '0.3.0',
244 | 105 silly addNameRange '0.3.1',
245 | 105 silly addNameRange '0.3.2',
246 | 105 silly addNameRange '0.4.0',
247 | 105 silly addNameRange '0.4.1',
248 | 105 silly addNameRange '0.5.0',
249 | 105 silly addNameRange '0.6.0',
250 | 105 silly addNameRange '0.7.0',
251 | 105 silly addNameRange '0.8.0',
252 | 105 silly addNameRange '0.4.0-rc7' ] ]
253 | 106 verbose addNamed [ 'grunt-contrib-copy', '0.8.0' ]
254 | 107 verbose addNamed [ '0.8.0', '0.8.0' ]
255 | 108 silly lockFile 4ba694f5-grunt-contrib-copy-0-8-0 grunt-contrib-copy@0.8.0
256 | 109 verbose lock grunt-contrib-copy@0.8.0 /Users/mdgriffin/.npm/4ba694f5-grunt-contrib-copy-0-8-0.lock
257 | 110 silly lockFile 1419f501-opy-grunt-contrib-copy-0-8-0-tgz https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz
258 | 111 verbose lock https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz /Users/mdgriffin/.npm/1419f501-opy-grunt-contrib-copy-0-8-0-tgz.lock
259 | 112 verbose addRemoteTarball [ 'https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz',
260 | 112 verbose addRemoteTarball 'ee3027e65e4f2ffb9525a903c19efd80a8f2479b' ]
261 | 113 info retry fetch attempt 1 at 15:22:57
262 | 114 verbose fetch to= /var/folders/3t/v6v654b93fx6g9jcd9zw_0dm0000gn/T/npm-766-RdKrnlYd/registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz
263 | 115 http GET https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz
264 | 116 http 200 https://registry.npmjs.org/grunt-contrib-uglify
265 | 117 silly registry.get cb [ 200,
266 | 117 silly registry.get { date: 'Tue, 28 Apr 2015 14:22:57 GMT',
267 | 117 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
268 | 117 silly registry.get etag: '"D6I7VSGW1NJ3EJ7ZC9UNR4TY4"',
269 | 117 silly registry.get 'content-type': 'application/json',
270 | 117 silly registry.get 'cache-control': 'max-age=60',
271 | 117 silly registry.get 'content-length': '65582',
272 | 117 silly registry.get 'accept-ranges': 'bytes',
273 | 117 silly registry.get via: '1.1 varnish',
274 | 117 silly registry.get age: '23',
275 | 117 silly registry.get 'x-served-by': 'cache-lhr6327-LHR',
276 | 117 silly registry.get 'x-cache': 'HIT',
277 | 117 silly registry.get 'x-cache-hits': '1',
278 | 117 silly registry.get 'x-timer': 'S1430230977.382035,VS0,VE1',
279 | 117 silly registry.get vary: 'Accept',
280 | 117 silly registry.get 'keep-alive': 'timeout=10, max=50',
281 | 117 silly registry.get connection: 'Keep-Alive' } ]
282 | 118 silly addNameRange number 2 { name: 'grunt-contrib-uglify', range: '*', hasData: true }
283 | 119 silly addNameRange versions [ 'grunt-contrib-uglify',
284 | 119 silly addNameRange [ '0.1.0',
285 | 119 silly addNameRange '0.1.1',
286 | 119 silly addNameRange '0.1.2',
287 | 119 silly addNameRange '0.2.0',
288 | 119 silly addNameRange '0.2.1',
289 | 119 silly addNameRange '0.2.2',
290 | 119 silly addNameRange '0.2.3',
291 | 119 silly addNameRange '0.2.4',
292 | 119 silly addNameRange '0.2.5',
293 | 119 silly addNameRange '0.2.6',
294 | 119 silly addNameRange '0.2.7',
295 | 119 silly addNameRange '0.3.0',
296 | 119 silly addNameRange '0.3.1',
297 | 119 silly addNameRange '0.1.1-rc5',
298 | 119 silly addNameRange '0.1.1-rc6',
299 | 119 silly addNameRange '0.3.2',
300 | 119 silly addNameRange '0.3.3',
301 | 119 silly addNameRange '0.4.0',
302 | 119 silly addNameRange '0.5.0',
303 | 119 silly addNameRange '0.4.1',
304 | 119 silly addNameRange '0.5.1',
305 | 119 silly addNameRange '0.6.0',
306 | 119 silly addNameRange '0.7.0',
307 | 119 silly addNameRange '0.8.0',
308 | 119 silly addNameRange '0.8.1',
309 | 119 silly addNameRange '0.9.0',
310 | 119 silly addNameRange '0.9.1' ] ]
311 | 120 verbose addNamed [ 'grunt-contrib-uglify', '0.9.1' ]
312 | 121 verbose addNamed [ '0.9.1', '0.9.1' ]
313 | 122 silly lockFile 59c70bbc-grunt-contrib-uglify-0-9-1 grunt-contrib-uglify@0.9.1
314 | 123 verbose lock grunt-contrib-uglify@0.9.1 /Users/mdgriffin/.npm/59c70bbc-grunt-contrib-uglify-0-9-1.lock
315 | 124 silly lockFile 6cc09e86-y-grunt-contrib-uglify-0-9-1-tgz https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz
316 | 125 verbose lock https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz /Users/mdgriffin/.npm/6cc09e86-y-grunt-contrib-uglify-0-9-1-tgz.lock
317 | 126 verbose addRemoteTarball [ 'https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz',
318 | 126 verbose addRemoteTarball '1eb8420009f15ed1a97368077479ab25ded28d1b' ]
319 | 127 info retry fetch attempt 1 at 15:22:57
320 | 128 verbose fetch to= /var/folders/3t/v6v654b93fx6g9jcd9zw_0dm0000gn/T/npm-766-RdKrnlYd/registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz
321 | 129 http GET https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz
322 | 130 http 200 https://registry.npmjs.org/grunt-contrib-cssmin
323 | 131 silly registry.get cb [ 200,
324 | 131 silly registry.get { date: 'Tue, 28 Apr 2015 14:22:57 GMT',
325 | 131 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
326 | 131 silly registry.get etag: '"2R9QRGV3OM9MGH9K0V43KVNS6"',
327 | 131 silly registry.get 'content-type': 'application/json',
328 | 131 silly registry.get 'cache-control': 'max-age=60',
329 | 131 silly registry.get 'content-length': '32949',
330 | 131 silly registry.get 'accept-ranges': 'bytes',
331 | 131 silly registry.get via: '1.1 varnish',
332 | 131 silly registry.get age: '6',
333 | 131 silly registry.get 'x-served-by': 'cache-lhr6326-LHR',
334 | 131 silly registry.get 'x-cache': 'HIT',
335 | 131 silly registry.get 'x-cache-hits': '107',
336 | 131 silly registry.get 'x-timer': 'S1430230977.430097,VS0,VE0',
337 | 131 silly registry.get vary: 'Accept',
338 | 131 silly registry.get 'keep-alive': 'timeout=10, max=50',
339 | 131 silly registry.get connection: 'Keep-Alive' } ]
340 | 132 silly addNameRange number 2 { name: 'grunt-contrib-cssmin', range: '*', hasData: true }
341 | 133 silly addNameRange versions [ 'grunt-contrib-cssmin',
342 | 133 silly addNameRange [ '0.4.0',
343 | 133 silly addNameRange '0.4.1',
344 | 133 silly addNameRange '0.4.2',
345 | 133 silly addNameRange '0.5.0',
346 | 133 silly addNameRange '0.6.0',
347 | 133 silly addNameRange '0.6.1',
348 | 133 silly addNameRange '0.6.2',
349 | 133 silly addNameRange '0.7.0',
350 | 133 silly addNameRange '0.8.0',
351 | 133 silly addNameRange '0.9.0',
352 | 133 silly addNameRange '0.10.0',
353 | 133 silly addNameRange '0.11.0',
354 | 133 silly addNameRange '0.12.0',
355 | 133 silly addNameRange '0.12.1',
356 | 133 silly addNameRange '0.12.2' ] ]
357 | 134 verbose addNamed [ 'grunt-contrib-cssmin', '0.12.2' ]
358 | 135 verbose addNamed [ '0.12.2', '0.12.2' ]
359 | 136 silly lockFile 703e7501-grunt-contrib-cssmin-0-12-2 grunt-contrib-cssmin@0.12.2
360 | 137 verbose lock grunt-contrib-cssmin@0.12.2 /Users/mdgriffin/.npm/703e7501-grunt-contrib-cssmin-0-12-2.lock
361 | 138 silly lockFile edea93e1--grunt-contrib-cssmin-0-12-2-tgz https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz
362 | 139 verbose lock https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz /Users/mdgriffin/.npm/edea93e1--grunt-contrib-cssmin-0-12-2-tgz.lock
363 | 140 verbose addRemoteTarball [ 'https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz',
364 | 140 verbose addRemoteTarball '254957427abdf63cd18f0690d34c0083fb544cff' ]
365 | 141 info retry fetch attempt 1 at 15:22:58
366 | 142 verbose fetch to= /var/folders/3t/v6v654b93fx6g9jcd9zw_0dm0000gn/T/npm-766-RdKrnlYd/registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz
367 | 143 http GET https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz
368 | 144 http 200 https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz
369 | 145 silly lockFile 1419f501-opy-grunt-contrib-copy-0-8-0-tgz https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz
370 | 146 silly lockFile 1419f501-opy-grunt-contrib-copy-0-8-0-tgz https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.8.0.tgz
371 | 147 silly lockFile 4ba694f5-grunt-contrib-copy-0-8-0 grunt-contrib-copy@0.8.0
372 | 148 silly lockFile 4ba694f5-grunt-contrib-copy-0-8-0 grunt-contrib-copy@0.8.0
373 | 149 silly lockFile 89c12057-grunt-contrib-copy grunt-contrib-copy@*
374 | 150 silly lockFile 89c12057-grunt-contrib-copy grunt-contrib-copy@*
375 | 151 http 200 https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz
376 | 152 http 200 https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz
377 | 153 silly lockFile edea93e1--grunt-contrib-cssmin-0-12-2-tgz https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz
378 | 154 silly lockFile edea93e1--grunt-contrib-cssmin-0-12-2-tgz https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz
379 | 155 silly lockFile 703e7501-grunt-contrib-cssmin-0-12-2 grunt-contrib-cssmin@0.12.2
380 | 156 silly lockFile 703e7501-grunt-contrib-cssmin-0-12-2 grunt-contrib-cssmin@0.12.2
381 | 157 silly lockFile b3f2337d-grunt-contrib-cssmin grunt-contrib-cssmin@*
382 | 158 silly lockFile b3f2337d-grunt-contrib-cssmin grunt-contrib-cssmin@*
383 | 159 http 200 https://registry.npmjs.org/jquery
384 | 160 silly registry.get cb [ 200,
385 | 160 silly registry.get { date: 'Tue, 28 Apr 2015 14:22:57 GMT',
386 | 160 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
387 | 160 silly registry.get etag: '"60B6HXEE446YGLHNB0U6DXCEB"',
388 | 160 silly registry.get 'content-type': 'application/json',
389 | 160 silly registry.get 'cache-control': 'max-age=60',
390 | 160 silly registry.get 'content-length': '51680',
391 | 160 silly registry.get 'accept-ranges': 'bytes',
392 | 160 silly registry.get via: '1.1 varnish',
393 | 160 silly registry.get age: '46',
394 | 160 silly registry.get 'x-served-by': 'cache-lhr6335-LHR',
395 | 160 silly registry.get 'x-cache': 'HIT',
396 | 160 silly registry.get 'x-cache-hits': '1',
397 | 160 silly registry.get 'x-timer': 'S1430230977.419335,VS0,VE1',
398 | 160 silly registry.get vary: 'Accept',
399 | 160 silly registry.get 'keep-alive': 'timeout=10, max=50',
400 | 160 silly registry.get connection: 'Keep-Alive' } ]
401 | 161 silly addNameRange number 2 { name: 'jquery', range: '>=1.9.0', hasData: true }
402 | 162 silly addNameRange versions [ 'jquery',
403 | 162 silly addNameRange [ '1.5.1',
404 | 162 silly addNameRange '1.6.2',
405 | 162 silly addNameRange '1.6.3',
406 | 162 silly addNameRange '1.7.2',
407 | 162 silly addNameRange '1.7.3',
408 | 162 silly addNameRange '1.8.2',
409 | 162 silly addNameRange '1.8.3',
410 | 162 silly addNameRange '2.1.0-beta2',
411 | 162 silly addNameRange '2.1.0-beta3',
412 | 162 silly addNameRange '1.11.0-beta3',
413 | 162 silly addNameRange '1.11.0-rc1',
414 | 162 silly addNameRange '2.1.0-rc1',
415 | 162 silly addNameRange '1.11.0',
416 | 162 silly addNameRange '2.1.0',
417 | 162 silly addNameRange '2.1.1-beta1',
418 | 162 silly addNameRange '1.11.1-beta1',
419 | 162 silly addNameRange '2.1.1-rc1',
420 | 162 silly addNameRange '1.11.1-rc1',
421 | 162 silly addNameRange '2.1.1-rc2',
422 | 162 silly addNameRange '1.11.1-rc2',
423 | 162 silly addNameRange '2.1.1',
424 | 162 silly addNameRange '1.11.1',
425 | 162 silly addNameRange '1.9.1',
426 | 162 silly addNameRange '2.1.2',
427 | 162 silly addNameRange '1.11.2',
428 | 162 silly addNameRange '2.1.3' ] ]
429 | 163 verbose addNamed [ 'jquery', '2.1.3' ]
430 | 164 verbose addNamed [ '2.1.3', '2.1.3' ]
431 | 165 silly lockFile 6fbd5787-jquery-2-1-3 jquery@2.1.3
432 | 166 verbose lock jquery@2.1.3 /Users/mdgriffin/.npm/6fbd5787-jquery-2-1-3.lock
433 | 167 silly lockFile 38b3ffac-pmjs-org-jquery-jquery-2-1-3-tgz https://registry.npmjs.org/jquery/-/jquery-2.1.3.tgz
434 | 168 verbose lock https://registry.npmjs.org/jquery/-/jquery-2.1.3.tgz /Users/mdgriffin/.npm/38b3ffac-pmjs-org-jquery-jquery-2-1-3-tgz.lock
435 | 169 verbose addRemoteTarball [ 'https://registry.npmjs.org/jquery/-/jquery-2.1.3.tgz',
436 | 169 verbose addRemoteTarball '6ec55204673d505d39432c5bf5cfad10e1dbad2e' ]
437 | 170 info retry fetch attempt 1 at 15:22:58
438 | 171 verbose fetch to= /var/folders/3t/v6v654b93fx6g9jcd9zw_0dm0000gn/T/npm-766-RdKrnlYd/registry.npmjs.org/jquery/-/jquery-2.1.3.tgz
439 | 172 http GET https://registry.npmjs.org/jquery/-/jquery-2.1.3.tgz
440 | 173 silly lockFile 6cc09e86-y-grunt-contrib-uglify-0-9-1-tgz https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz
441 | 174 silly lockFile 6cc09e86-y-grunt-contrib-uglify-0-9-1-tgz https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz
442 | 175 silly lockFile 59c70bbc-grunt-contrib-uglify-0-9-1 grunt-contrib-uglify@0.9.1
443 | 176 silly lockFile 59c70bbc-grunt-contrib-uglify-0-9-1 grunt-contrib-uglify@0.9.1
444 | 177 silly lockFile d203f81c-grunt-contrib-uglify grunt-contrib-uglify@*
445 | 178 silly lockFile d203f81c-grunt-contrib-uglify grunt-contrib-uglify@*
446 | 179 http 200 https://registry.npmjs.org/jquery/-/jquery-2.1.3.tgz
447 | 180 http 200 https://registry.npmjs.org/grunt-autoprefixer
448 | 181 silly registry.get cb [ 200,
449 | 181 silly registry.get { date: 'Tue, 28 Apr 2015 14:22:57 GMT',
450 | 181 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
451 | 181 silly registry.get etag: '"6D5O6RQ4YCDC4YUXY0MD6JT2A"',
452 | 181 silly registry.get 'content-type': 'application/json',
453 | 181 silly registry.get 'cache-control': 'max-age=60',
454 | 181 silly registry.get 'content-length': '58263',
455 | 181 silly registry.get 'accept-ranges': 'bytes',
456 | 181 silly registry.get via: '1.1 varnish',
457 | 181 silly registry.get age: '0',
458 | 181 silly registry.get 'x-served-by': 'cache-lhr6323-LHR',
459 | 181 silly registry.get 'x-cache': 'HIT',
460 | 181 silly registry.get 'x-cache-hits': '1',
461 | 181 silly registry.get 'x-timer': 'S1430230977.393258,VS0,VE156',
462 | 181 silly registry.get vary: 'Accept',
463 | 181 silly registry.get 'keep-alive': 'timeout=10, max=50',
464 | 181 silly registry.get connection: 'Keep-Alive' } ]
465 | 182 silly addNameRange number 2 { name: 'grunt-autoprefixer', range: '*', hasData: true }
466 | 183 silly addNameRange versions [ 'grunt-autoprefixer',
467 | 183 silly addNameRange [ '0.1.0',
468 | 183 silly addNameRange '0.1.20130424',
469 | 183 silly addNameRange '0.1.20130516',
470 | 183 silly addNameRange '0.1.20130615',
471 | 183 silly addNameRange '0.2.0',
472 | 183 silly addNameRange '0.2.20130718',
473 | 183 silly addNameRange '0.2.20130806',
474 | 183 silly addNameRange '0.3.0',
475 | 183 silly addNameRange '0.3.1',
476 | 183 silly addNameRange '0.4.0',
477 | 183 silly addNameRange '0.4.1',
478 | 183 silly addNameRange '0.4.2',
479 | 183 silly addNameRange '0.5.0',
480 | 183 silly addNameRange '0.6.0',
481 | 183 silly addNameRange '0.6.1',
482 | 183 silly addNameRange '0.6.2',
483 | 183 silly addNameRange '0.6.3',
484 | 183 silly addNameRange '0.6.4',
485 | 183 silly addNameRange '0.6.5',
486 | 183 silly addNameRange '0.7.0',
487 | 183 silly addNameRange '0.7.1',
488 | 183 silly addNameRange '0.7.2',
489 | 183 silly addNameRange '0.7.3',
490 | 183 silly addNameRange '0.7.4',
491 | 183 silly addNameRange '0.7.5',
492 | 183 silly addNameRange '0.7.6',
493 | 183 silly addNameRange '0.8.0',
494 | 183 silly addNameRange '0.8.1',
495 | 183 silly addNameRange '0.8.2',
496 | 183 silly addNameRange '1.0.0',
497 | 183 silly addNameRange '1.0.1',
498 | 183 silly addNameRange '2.0.0',
499 | 183 silly addNameRange '2.1.0',
500 | 183 silly addNameRange '2.2.0',
501 | 183 silly addNameRange '3.0.0' ] ]
502 | 184 verbose addNamed [ 'grunt-autoprefixer', '3.0.0' ]
503 | 185 verbose addNamed [ '3.0.0', '3.0.0' ]
504 | 186 silly lockFile bbbd6667-grunt-autoprefixer-3-0-0 grunt-autoprefixer@3.0.0
505 | 187 verbose lock grunt-autoprefixer@3.0.0 /Users/mdgriffin/.npm/bbbd6667-grunt-autoprefixer-3-0-0.lock
506 | 188 silly lockFile e7978ac8-xer-grunt-autoprefixer-3-0-0-tgz https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz
507 | 189 verbose lock https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz /Users/mdgriffin/.npm/e7978ac8-xer-grunt-autoprefixer-3-0-0-tgz.lock
508 | 190 verbose addRemoteTarball [ 'https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz',
509 | 190 verbose addRemoteTarball 'df61b662f06c4bfd93cf659ef6d706faf0153755' ]
510 | 191 info retry fetch attempt 1 at 15:22:59
511 | 192 verbose fetch to= /var/folders/3t/v6v654b93fx6g9jcd9zw_0dm0000gn/T/npm-766-RdKrnlYd/registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz
512 | 193 http GET https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz
513 | 194 http 200 https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz
514 | 195 silly lockFile e7978ac8-xer-grunt-autoprefixer-3-0-0-tgz https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz
515 | 196 silly lockFile e7978ac8-xer-grunt-autoprefixer-3-0-0-tgz https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz
516 | 197 silly lockFile bbbd6667-grunt-autoprefixer-3-0-0 grunt-autoprefixer@3.0.0
517 | 198 silly lockFile bbbd6667-grunt-autoprefixer-3-0-0 grunt-autoprefixer@3.0.0
518 | 199 silly lockFile ad1a3c41-grunt-autoprefixer grunt-autoprefixer@*
519 | 200 silly lockFile ad1a3c41-grunt-autoprefixer grunt-autoprefixer@*
520 | 201 silly lockFile 38b3ffac-pmjs-org-jquery-jquery-2-1-3-tgz https://registry.npmjs.org/jquery/-/jquery-2.1.3.tgz
521 | 202 silly lockFile 38b3ffac-pmjs-org-jquery-jquery-2-1-3-tgz https://registry.npmjs.org/jquery/-/jquery-2.1.3.tgz
522 | 203 silly lockFile 6fbd5787-jquery-2-1-3 jquery@2.1.3
523 | 204 silly lockFile 6fbd5787-jquery-2-1-3 jquery@2.1.3
524 | 205 silly lockFile 169ab83b-jquery-1-9-0 jquery@>=1.9.0
525 | 206 silly lockFile 169ab83b-jquery-1-9-0 jquery@>=1.9.0
526 | 207 error Error: EACCES, mkdir '/Users/mdgriffin/.npm/grunt-contrib-copy/0.8.0'
527 | 207 error { [Error: EACCES, mkdir '/Users/mdgriffin/.npm/grunt-contrib-copy/0.8.0']
528 | 207 error errno: 3,
529 | 207 error code: 'EACCES',
530 | 207 error path: '/Users/mdgriffin/.npm/grunt-contrib-copy/0.8.0',
531 | 207 error parent: 'pogo-slider' }
532 | 208 error Please try running this command again as root/Administrator.
533 | 209 error System Darwin 14.3.0
534 | 210 error command "node" "/usr/local/bin/npm" "install"
535 | 211 error cwd /Users/mdgriffin/Desktop/pogo-slider
536 | 212 error node -v v0.10.35
537 | 213 error npm -v 1.4.28
538 | 214 error path /Users/mdgriffin/.npm/grunt-contrib-copy/0.8.0
539 | 215 error code EACCES
540 | 216 error errno 3
541 | 217 error stack Error: EACCES, mkdir '/Users/mdgriffin/.npm/grunt-contrib-copy/0.8.0'
542 | 218 verbose exit [ 3, true ]
543 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pogo-slider",
3 | "description": "jQuery animated slider plugin",
4 | "version": "0.7.0",
5 | "keywords": [
6 | "jquery",
7 | "jquery-plugin",
8 | "slider",
9 | "client"
10 | ],
11 | "author": "Michael Griffin ",
12 | "homepage": "https://github.com/mdgriffin/pogo-slider",
13 | "repository": {
14 | "type": "git",
15 | "url": "git://github.com/mdgriffin/pogo-slider.git"
16 | },
17 | "license": "MIT",
18 | "files": [
19 | "jquery.pogo-slider.min.js",
20 | "pogo-slider.min.css",
21 | "LICENSE.txt"
22 | ],
23 | "dependencies": {
24 | "jquery": ">=1.9.0"
25 | },
26 | "devDependencies": {
27 | "grunt-contrib-uglify": "*",
28 | "grunt-contrib-cssmin": "*",
29 | "grunt-autoprefixer": "*",
30 | "grunt-contrib-copy": "*"
31 | }
32 | }
--------------------------------------------------------------------------------
/pogo-slider.min.css:
--------------------------------------------------------------------------------
1 | .pogoSlider-dir-btn:focus,.pogoSlider-nav-btn:focus{outline:0}.pogoSlider{width:100%;height:0;padding-bottom:48%;position:relative;overflow:hidden}#column-left .pogoSlider,#column-right .pogoSlider,#content .pogoSlider{margin-bottom:20px}.pogoSlider--banner .pogoSlider-slide{ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1}.pogoSlider-slide{width:100%;height:100%;position:absolute;background-size:cover;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;-webkit-perspective:1300px;perspective:1300px;overflow:hidden}.pogoSlider-loading{position:absolute;top:0;left:0;width:100%;height:100%;background:#eaeaea;z-index:11}.pogoSlider-loading-icon{position:absolute;top:50%;margin-top:-18px;left:50%;margin-left:-18px;width:36px;height:36px;background-image:url(data:image/gif;base64,R0lGODlhJAAkAPIAAJmZmczMzObm5vLy8gAAAAAAAAAAAAAAACH5BA0KAAQAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAJAAkAAADfQi6DPQwyhmbpTgT27Sv3PKNoTh6pXKi6aqljovB8tzWE43vfH8GwKAw4HsMj0XCcZhcCptOIDQ6dVaXV2QxKk16vzWBeEwWPAbotHpUbp/VcHab/Ian5XNx3T7A5/d2fnOAcR95Y4RrhodmBHx3i4eJkB6MjY9ogm6OmCMJACH5BA0KAAQALAAAAAAkACQAAAN+GLocRCDK+aq1Lb/Jwf1P1mydBH4iQ5beiaXKWrovLHd0BccQ2+Y7R4+VC+1unCIhiKQUmcOZckqtWl2CrHYruIK4YO8HzBVfyFuzBa1VV9hZ9wPeldPlhLsdju/7vQOBgoMDeISHhoeDiYqBjI2PipGIco2Ck4SYi5WWhXIJACH5BA0KAAQALAAAAAAkACQAAAN7KLosRCHK+YC9GLT9pg9Vlm1N90mheJGMeYKEirGLe6YyrdgfruoOyAsmW+l4Hp8IiKTEipqj8KUcSYdE6GPL7Xq/4LB4/B2Yz+gBeZ1ur8nt9HscR8/F9fM9nDfvwX1qf16Bg4R9hl2FiYyNjo+QkZKTlJWWl5iZmpoJACH5BA0KAAQALAAAAAAkACQAAAN8OLo8RCLK+YK9OLT9phdVlm1N90mheJGMeYKEirGLe6YyrdgfruoOyAsmW+l4Hp8IiKTEipqj8KUcSYdE6GPL7Xq/4LB4TC5/Aei0GmAer99t8XsdD8/VdfA9nT/v2X1df4CBW4OFXIeID4qLjo+QkZKTlJWWl5iZmptxCQAh+QQNCgAEACwAAAAAJAAkAAADfUi6vPMwKkGrFS2ryMe8l5Z1EgGGIkNC30ml6uqZ7gtvcuve+KqfPIJsVrPdhj9QEEmrLXPNXXBKrVqvi4B2yw1gM93wtxHujhll7jmb1q4Vbfc77p3H3wQ6Xo/v+68AgYKDAHiEh4aHg4mKgYyNj4qRiG+NgpOEmIuVlgAJACH5BA0KAAQALAAAAAAkACQAAAN8SLrcziPKOZ69hGrMoZ5d+IEhN0qleVbptbLt88bWTDv27Z167/8cgXBIFAAJxeQxWVwyh86nESgVRp9XZlZJrR6/4AdgTC4rAui0OhAquwHn9br9JsflaXodTsCr9XV3foBvgniEboZyiGZ9fmiMdo6PkWOKcx17lpN+CQAh+QQNCgAEACwAAAAAJAAkAAADd0i63P4wykmrvTjrzbv/YCiOZGmSQ6quQ8i+7rvGckrXt5zDYK3uLODsRIQAjsgkQBFoOp8KgXRKFSivzKc2Wq1elVmtk9udfpNhcYBctp6PaTG7/IYT1GNC21yPb/V7bm9+UIB7dUt3eGuGbYiEeYGCZ5BNc10JACH5BA0KAAQALAAAAAAkACQAAAN3SLrc/jDKSau9OOvNu/9gKI5kaS5Aqq5AyL7uu8ZySte3nMNgre4s4OxELAaOyGRAIWg6n4qBdEodKK/MpzZarV6VWa2T251+k2GxgFy2no9pMbv8hhPUY0LbXI9v9Xtub35QgHt1S3d4a4ZtiIR5gYJnkE1zXQkAOw==)}.pogoSlider-slide-element{-webkit-animation-fill-mode:both;animation-fill-mode:both}.m-pogoSlider .pogoSlider-slide-element{position:absolute;margin:0;box-sizing:border-box}.pogoSlider-progressBar{position:absolute;width:100%;height:5px;top:0;left:0;background:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";filter:alpha(opacity=20);background:rgba(255,255,255,.2);z-index:6}.pogoSlider-progressBar-duration{position:absolute;height:100%;left:0;width:0;background:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";filter:alpha(opacity=40);background:rgba(255,255,255,.4)}.pogoSlider-dir-btn{position:absolute;z-index:10;background:0 0;width:20px;height:20px;border-color:#eaeaea;border-color:rgba(255,255,255,.7);border-style:solid;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);cursor:pointer}.pogoSlider-dir-btn:hover{border-color:#fff}.pogoSlider--dirBottomLeft .pogoSlider-dir-btn--prev,.pogoSlider--dirBottomRight .pogoSlider-dir-btn--prev,.pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--prev,.pogoSlider--dirTopLeft .pogoSlider-dir-btn--prev,.pogoSlider--dirTopRight .pogoSlider-dir-btn--prev{border-width:0 0 3px 3px}.pogoSlider--dirBottomLeft .pogoSlider-dir-btn--next,.pogoSlider--dirBottomRight .pogoSlider-dir-btn--next,.pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--next,.pogoSlider--dirTopLeft .pogoSlider-dir-btn--next,.pogoSlider--dirTopRight .pogoSlider-dir-btn--next{border-width:3px 3px 0 0}.pogoSlider--dirCenterVertical .pogoSlider-dir-btn--next{border-width:3px 0 0 3px}.pogoSlider--dirCenterVertical .pogoSlider-dir-btn--prev{border-width:0 3px 3px 0}.pogoSlider--dirCenterVertical .pogoSlider-dir-btn--next,.pogoSlider--dirTopLeft .pogoSlider-dir-btn,.pogoSlider--dirTopRight .pogoSlider-dir-btn{top:14px}.pogoSlider--dirBottomLeft .pogoSlider-dir-btn--prev,.pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--prev,.pogoSlider--dirTopLeft .pogoSlider-dir-btn--prev{left:14px}.pogoSlider--dirBottomLeft .pogoSlider-dir-btn--next,.pogoSlider--dirTopLeft .pogoSlider-dir-btn--next{left:50px}.pogoSlider--dirBottomRight .pogoSlider-dir-btn--prev,.pogoSlider--dirTopRight .pogoSlider-dir-btn--prev{right:50px}.pogoSlider--dirBottomRight .pogoSlider-dir-btn--next,.pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--next,.pogoSlider--dirTopRight .pogoSlider-dir-btn--next{right:14px}.pogoSlider--dirBottomLeft .pogoSlider-dir-btn,.pogoSlider--dirBottomRight .pogoSlider-dir-btn,.pogoSlider--dirCenterVertical .pogoSlider-dir-btn--prev{bottom:14px}.pogoSlider--dirCenterVertical .pogoSlider-dir-btn{left:50%;margin-left:-10px}.pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn{top:50%;margin-top:-10px}.pogoSlider-nav{position:absolute;padding:0;margin:0;z-index:10}.pogoSlider--navBottom .pogoSlider-nav,.pogoSlider--navTop .pogoSlider-nav{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.pogoSlider--navTop .pogoSlider-nav{top:10px}.pogoSlider--navBottom .pogoSlider-nav{bottom:10px}.pogoSlider--navBottom .pogoSlider-nav li,.pogoSlider--navTop .pogoSlider-nav li{display:inline;margin:0 6px}.pogoSlider--navLeft .pogoSlider-nav,.pogoSlider--navRight .pogoSlider-nav{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.pogoSlider--navLeft .pogoSlider-nav{left:10px}.pogoSlider--navRight .pogoSlider-nav{right:10px}.pogoSlider--navLeft .pogoSlider-nav li,.pogoSlider--navRight .pogoSlider-nav li{display:block;margin:6px 0}.pogoSlider-nav-btn{background:#ccc;background:rgba(255,255,255,.5);border:none;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 1px rgba(0,0,0,.1);cursor:pointer}.pogoSlider-nav-btn--selected{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.3)}.pogoSlider-slide-slice{overflow:hidden;position:absolute;background-size:cover}.pogoSlider-slide-slice-inner{position:absolute;overflow:hidden}.pogoSlider-animation-slideDownIn{-webkit-animation-name:slideDownIn;animation-name:slideDownIn}@-webkit-keyframes slideDownIn{0%{-webkit-transform:translateY(-50px);transform:translateY(-50px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideDownIn{0%{-webkit-transform:translateY(-50px);transform:translateY(-50px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.pogoSlider-animation-slideDownOut{-webkit-animation-name:slideDownOut;animation-name:slideDownOut}@-webkit-keyframes slideDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}100%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}}@keyframes slideDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}100%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}}.pogoSlider-animation-slideUpIn{-webkit-animation-name:slideUpIn;animation-name:slideUpIn}@-webkit-keyframes slideUpIn{0%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideUpIn{0%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.pogoSlider-animation-slideUpOut{-webkit-animation-name:slideUpOut;animation-name:slideUpOut}@-webkit-keyframes slideUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}100%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}}@keyframes slideUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}100%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}}.pogoSlider-animation-slideRightIn{-webkit-animation-name:slideRightIn;animation-name:slideRightIn}.pogoSlider-animation-slideRightOut{-webkit-animation-name:slideRightOut;animation-name:slideRightOut}@-webkit-keyframes slideRightIn{0%{-webkit-transform:translateX(-50px);transform:translateX(-50px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slideRightIn{0%{-webkit-transform:translateX(-50px);transform:translateX(-50px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes slideRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(50px);transform:translateX(50px);opacity:0}}@keyframes slideRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(50px);transform:translateX(50px);opacity:0}}.pogoSlider-animation-slideLeftIn{-webkit-animation-name:slideLeftIn;animation-name:slideLeftIn}.pogoSlider-animation-slideLeftOut{-webkit-animation-name:slideLeftOut;animation-name:slideLeftOut}@-webkit-keyframes slideLeftIn{0%{-webkit-transform:translateX(50px);transform:translateX(50px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slideLeftIn{0%{-webkit-transform:translateX(50px);transform:translateX(50px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes slideLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-50px);transform:translateX(-50px);opacity:0}}@keyframes slideLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-50px);transform:translateX(-50px);opacity:0}}.pogoSlider-animation-expandIn{-webkit-animation-name:expandIn;animation-name:expandIn}.pogoSlider-animation-expandOut{-webkit-animation-name:expandOut;animation-name:expandOut}@-webkit-keyframes expandIn{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes expandIn{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes expandOut{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}@keyframes expandOut{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}.pogoSlider-animation-contractIn{-webkit-animation-name:contractIn;animation-name:contractIn}.pogoSlider-animation-contractOut{-webkit-animation-name:contractOut;animation-name:contractOut}@-webkit-keyframes contractIn{0%{-webkit-transform:scale(2);transform:scale(2);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes contractIn{0%{-webkit-transform:scale(2);transform:scale(2);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes contractOut{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes contractOut{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.pogoSlider-animation-spinIn{-webkit-animation-name:spinIn;animation-name:spinIn}.pogoSlider-animation-spinOut{-webkit-animation-name:spinOut;animation-name:spinOut}@-webkit-keyframes spinIn{0%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(0)rotate(720deg);transform:scale(0)rotate(720deg)}100%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}}@keyframes spinIn{0%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(0)rotate(720deg);transform:scale(0)rotate(720deg)}100%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}}@-webkit-keyframes spinOut{0%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}100%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(0)rotate(720deg);transform:scale(0)rotate(720deg)}}@keyframes spinOut{0%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}100%{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:scale(0)rotate(720deg);transform:scale(0)rotate(720deg)}}.pogoSlider-animation-sideFallIn{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:sideFallIn;animation-name:sideFallIn}.pogoSlider-animation-sideFallOut{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:sideFallOut;animation-name:sideFallOut}@-webkit-keyframes sideFallIn{0%{-webkit-transform:translate(30%)translateZ(600px)rotate(10deg);transform:translate(30%)translateZ(600px)rotate(10deg);opacity:0}100%{-webkit-transform:translate(0)translateZ(0)rotate(0);transform:translate(0)translateZ(0)rotate(0);opacity:1}}@keyframes sideFallIn{0%{-webkit-transform:translate(30%)translateZ(600px)rotate(10deg);transform:translate(30%)translateZ(600px)rotate(10deg);opacity:0}100%{-webkit-transform:translate(0)translateZ(0)rotate(0);transform:translate(0)translateZ(0)rotate(0);opacity:1}}@-webkit-keyframes sideFallOut{0%{-webkit-transform:translate(0)translateZ(0)rotate(0);transform:translate(0)translateZ(0)rotate(0);opacity:1}100%{-webkit-transform:translate(30%)translateZ(600px)rotate(10deg);transform:translate(30%)translateZ(600px)rotate(10deg);opacity:0}}@keyframes sideFallOut{0%{-webkit-transform:translate(0)translateZ(0)rotate(0);transform:translate(0)translateZ(0)rotate(0);opacity:1}100%{-webkit-transform:translate(30%)translateZ(600px)rotate(10deg);transform:translate(30%)translateZ(600px)rotate(10deg);opacity:0}}.pogoSlider-animation-horizontal3DFlipIn{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:horizontal3DFlipIn;animation-name:horizontal3DFlipIn}.pogoSlider-animation-horizontal3DFlipOut{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:horizontal3DFlipOut;animation-name:horizontal3DFlipOut}@-webkit-keyframes horizontal3DFlipIn{0%{-webkit-transform:rotateY(-70deg);transform:rotateY(-70deg);opacity:0}100%{-webkit-transform:rotateY(0);transform:rotateY(0);opacity:1}}@keyframes horizontal3DFlipIn{0%{-webkit-transform:rotateY(-70deg);transform:rotateY(-70deg);opacity:0}100%{-webkit-transform:rotateY(0);transform:rotateY(0);opacity:1}}@-webkit-keyframes horizontal3DFlipOut{0%{-webkit-transform:rotateY(0);transform:rotateY(0);opacity:1}100%{-webkit-transform:rotateY(-70deg);transform:rotateY(-70deg);opacity:0}}@keyframes horizontal3DFlipOut{0%{-webkit-transform:rotateY(0);transform:rotateY(0);opacity:1}100%{-webkit-transform:rotateY(-70deg);transform:rotateY(-70deg);opacity:0}}.pogoSlider-animation-vertical3DFlipIn{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:vertical3DFlipIn;animation-name:vertical3DFlipIn}.pogoSlider-animation-vertical3DFlipOut{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:vertical3DFlipOut;animation-name:vertical3DFlipOut}@-webkit-keyframes vertical3DFlipIn{0%{-webkit-transform:rotateX(-70deg);transform:rotateX(-70deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes vertical3DFlipIn{0%{-webkit-transform:rotateX(-70deg);transform:rotateX(-70deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@-webkit-keyframes vertical3DFlipOut{0%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}100%{-webkit-transform:rotateX(-70deg);transform:rotateX(-70deg);opacity:0}}@keyframes vertical3DFlipOut{0%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}100%{-webkit-transform:rotateX(-70deg);transform:rotateX(-70deg);opacity:0}}.pogoSlider-animation-3DPivotIn{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:pivotIn;animation-name:pivotIn}.pogoSlider-animation-3DPivotOut{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-animation-name:pivotOut;animation-name:pivotOut}@-webkit-keyframes pivotIn{0%{-webkit-transform:rotateX(-60deg);transform:rotateX(-60deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes pivotIn{0%{-webkit-transform:rotateX(-60deg);transform:rotateX(-60deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes pivotOut{0%{-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}100%{-webkit-transform:rotateX(-60deg);transform:rotateX(-60deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}@keyframes pivotOut{0%{-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}100%{-webkit-transform:rotateX(-60deg);transform:rotateX(-60deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}.pogoSlider-animation-rollLeftIn{-webkit-animation-name:rollLeftIn;animation-name:rollLeftIn}.pogoSlider-animation-rollLeftOut{-webkit-animation-name:rollLeftOut;animation-name:rollLeftOut}@-webkit-keyframes rollLeftIn{0%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}@keyframes rollLeftIn{0%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}@-webkit-keyframes rollLeftOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}}@keyframes rollLeftOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}}.pogoSlider-animation-rollRightIn{-webkit-animation-name:rollRightIn;animation-name:rollRightIn}.pogoSlider-animation-rollRightOut{-webkit-animation-name:rollRightOut;animation-name:rollRightOut}@-webkit-keyframes rollRightIn{0%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}@keyframes rollRightIn{0%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}@-webkit-keyframes rollRightOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}}@keyframes rollRightOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}}.pogoSlider-animation-glideLeftIn{-webkit-animation-name:glideLeftIn;animation-name:glideLeftIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.pogoSlider-animation-glideLeftOut{-webkit-animation-name:glideLeftOut;animation-name:glideLeftOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes glideLeftIn{0%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%)skewX(30deg);transform:translateX(-20%)skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0)skewX(-15deg);transform:translateX(0)skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}}@keyframes glideLeftIn{0%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%)skewX(30deg);transform:translateX(-20%)skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0)skewX(-15deg);transform:translateX(0)skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}}@-webkit-keyframes glideLeftOut{0%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}100%{-webkit-transform:translateX(-100%)skewX(30deg);transform:translateX(-100%)skewX(30deg);opacity:0}}@keyframes glideLeftOut{0%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}100%{-webkit-transform:translateX(-100%)skewX(30deg);transform:translateX(-100%)skewX(30deg);opacity:0}}.pogoSlider-animation-glideRightIn{-webkit-animation-name:glideRightIn;animation-name:glideRightIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.pogoSlider-animation-glideRightOut{-webkit-animation-name:glideRightOut;animation-name:glideRightOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes glideRightIn{0%{-webkit-transform:translateX(-100%)skewX(30deg);transform:translateX(-100%)skewX(30deg);opacity:0}60%{-webkit-transform:translateX(20%)skewX(-30deg);transform:translateX(20%)skewX(-30deg);opacity:1}80%{-webkit-transform:translateX(0)skewX(15deg);transform:translateX(0)skewX(15deg);opacity:1}100%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}}@keyframes glideRightIn{0%{-webkit-transform:translateX(-100%)skewX(30deg);transform:translateX(-100%)skewX(30deg);opacity:0}60%{-webkit-transform:translateX(20%)skewX(-30deg);transform:translateX(20%)skewX(-30deg);opacity:1}80%{-webkit-transform:translateX(0)skewX(15deg);transform:translateX(0)skewX(15deg);opacity:1}100%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}}@-webkit-keyframes glideRightOut{0%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}100%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}}@keyframes glideRightOut{0%{-webkit-transform:translateX(0)skewX(0);transform:translateX(0)skewX(0);opacity:1}100%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}}.pogoSlider-animation-flipXIn{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipXIn;animation-name:flipXIn}.pogoSlider-animation-flipXOut{-webkit-animation-name:flipXOut;animation-name:flipXOut;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipXIn{0%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateX(-10deg);transform:perspective(400px)rotateX(-10deg)}70%{-webkit-transform:perspective(400px)rotateX(10deg);transform:perspective(400px)rotateX(10deg)}100%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}}@keyframes flipXIn{0%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateX(-10deg);transform:perspective(400px)rotateX(-10deg)}70%{-webkit-transform:perspective(400px)rotateX(10deg);transform:perspective(400px)rotateX(10deg)}100%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}}@-webkit-keyframes flipXOut{0%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}}@keyframes flipXOut{0%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}}.pogoSlider-animation-flipYIn{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipYIn;animation-name:flipYIn}.pogoSlider-animation-flipYOut{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipYOut;animation-name:flipYOut}@-webkit-keyframes flipYIn{0%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateY(-10deg);transform:perspective(400px)rotateY(-10deg)}70%{-webkit-transform:perspective(400px)rotateY(10deg);transform:perspective(400px)rotateY(10deg)}100%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}}@keyframes flipYIn{0%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateY(-10deg);transform:perspective(400px)rotateY(-10deg)}70%{-webkit-transform:perspective(400px)rotateY(10deg);transform:perspective(400px)rotateY(10deg)}100%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}}@-webkit-keyframes flipYOut{0%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}}@keyframes flipYOut{0%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}}.pogoSlider-animation-foldInLeft{-webkit-animation-name:foldInLeft;animation-name:foldInLeft;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:0 0 0;-ms-transform-origin:0 0 0;transform-origin:0 0 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@-webkit-keyframes foldInLeft{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}}@keyframes foldInLeft{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}}.pogoSlider-animation-foldOutLeft{-webkit-animation-name:foldOutLeft;animation-name:foldOutLeft;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100% 0;-ms-transform-origin:100% 100% 0;transform-origin:100% 100% 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@-webkit-keyframes foldOutLeft{0%{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{-webkit-transform:rotateY(0);transform:rotateY(0)}}@keyframes foldOutLeft{0%{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}100%{-webkit-transform:rotateY(0);transform:rotateY(0)}}.pogoSlider-animation-foldInRight{-webkit-animation-name:foldInRight;animation-name:foldInRight;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100% 0;-ms-transform-origin:100% 100% 0;transform-origin:100% 100% 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@-webkit-keyframes foldInRight{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}}@keyframes foldInRight{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}}.pogoSlider-animation-foldOutRight{-webkit-animation-name:foldOutRight;animation-name:foldOutRight;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:0 0 0;-ms-transform-origin:0 0 0;transform-origin:0 0 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@-webkit-keyframes foldOutRight{0%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}100%{-webkit-transform:rotateY(0);transform:rotateY(0)}}@keyframes foldOutRight{0%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}100%{-webkit-transform:rotateY(0);transform:rotateY(0)}}.pogoSlider-animation-expandReveal{-webkit-animation-name:expandReveal;animation-name:expandReveal;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes expandReveal{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.3);transform:scale(1.3);opacity:0}}@keyframes expandReveal{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.3);transform:scale(1.3);opacity:0}}.pogoSlider-animation-shrinkReveal{-webkit-animation-name:shrinkReveal;animation-name:shrinkReveal;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes shrinkReveal{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes shrinkReveal{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.pogoSlider-animation-blocksReveal{-webkit-animation-name:blocksReveal;animation-name:blocksReveal;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes blocksReveal{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@keyframes blocksReveal{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}.pogoSlider-animation-downIn{-webkit-animation-name:downIn;animation-name:downIn;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes downIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes downIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.pogoSlider-animation-downOut{-webkit-animation-name:downOut;animation-name:downOut;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes downOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes downOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(100%);transform:translateY(100%)}}.pogoSlider-animation-upIn{-webkit-animation-name:upIn;animation-name:upIn;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes upIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes upIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.pogoSlider-animation-upOut{-webkit-animation-name:upOut;animation-name:upOut;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes upOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes upOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.pogoSlider-animation-rightIn{-webkit-animation-name:rightIn;animation-name:rightIn;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes rightIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes rightIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.pogoSlider-animation-rightOut{-webkit-animation-name:rightOut;animation-name:rightOut;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes rightOut{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes rightOut{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.pogoSlider-animation-leftIn{-webkit-animation-name:leftIn;animation-name:leftIn;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes leftIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes leftIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.pogoSlider-animation-leftOut{-webkit-animation-name:leftOut;animation-name:leftOut;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes leftOut{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes leftOut{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}
--------------------------------------------------------------------------------
/src/jquery.pogo-slider.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * jQuery Pogo Slider v0.7
4 | *
5 | * Copyright 2015, Michael Griffin (mike@fluice.com)
6 | *
7 | **/
8 |
9 | (function ( $, window, document, undefined ) {
10 |
11 | function appendPrefixedStyles(obj,prop,val) {
12 |
13 | if (prop.charAt(0) === '*') {
14 |
15 | obj[prop.substring(1)] = val;
16 |
17 | } else {
18 |
19 | obj['-ms-' + prop] = val;
20 | obj['-webkit-' + prop] = val;
21 | obj[prop] = val;
22 |
23 | }
24 |
25 | }
26 |
27 | $.fn.precss = function (styles) {
28 |
29 | var prefixedStyles = {};
30 |
31 | if (arguments.length === 1) {
32 |
33 | for (style in styles) {
34 | if (styles.hasOwnProperty(style)) {
35 | appendPrefixedStyles(prefixedStyles,style,styles[style]);
36 | }
37 | }
38 |
39 | } else {
40 | appendPrefixedStyles(prefixedStyles,arguments[0],arguments[1]);
41 | }
42 |
43 | this.css(prefixedStyles);
44 |
45 | return this;
46 |
47 | }
48 |
49 | })( jQuery, window, document );
50 |
51 |
52 | (function ( $, window, document, undefined ) {
53 |
54 | 'use strict';
55 |
56 | var supportsCSSProp = function (featurename) {
57 |
58 | var feature = false;
59 | var domPrefixes = 'Webkit Moz ms O'.split(' ');
60 | var elm = document.createElement('div');
61 | var featurenameCapital = null;
62 |
63 | featurename = featurename.toLowerCase();
64 |
65 | if(elm.style[featurename]) {
66 | feature = true;
67 | }
68 |
69 | if(feature === false) {
70 |
71 | featurenameCapital = featurename.charAt(0).toUpperCase() + featurename.substr(1);
72 |
73 | for(var i = 0; i < domPrefixes.length; i++) {
74 |
75 | if(elm.style[domPrefixes[i] + featurenameCapital ] !== undefined) {
76 | feature = true;
77 | break;
78 | }
79 |
80 | }
81 |
82 | }
83 |
84 | return feature;
85 |
86 | };
87 |
88 | var supports = {};
89 | supports.animation = supportsCSSProp('animation');
90 | supports.transition = supportsCSSProp('transition');
91 | supports.transform = supportsCSSProp('transform');
92 |
93 | var pluginName = 'pogoSlider';
94 |
95 | var defaults = {
96 | autoplayTimeout: 4000,
97 | autoplay: true,
98 | baseZindex: 1,
99 | displayProgess: true,
100 | onSlideStart: null,
101 | onSlideEnd: null,
102 | onSliderPause: null,
103 | onSliderResume: null,
104 | slideTransition: 'slide',
105 | slideTransitionDuration: 1000,
106 | elementTransitionStart: 500,
107 | elementTransitionDuration: 1000,
108 | elementTransitionIn: 'slideUp',
109 | elementTransitionOut: 'slideDown',
110 | generateButtons: true,
111 | buttonPosition: 'CenterHorizontal',
112 | generateNav: true,
113 | navPosition: 'Bottom',
114 | preserveTargetSize: false,
115 | targetWidth: 1000,
116 | targetHeight: 300,
117 | responsive: false,
118 | pauseOnHover: true
119 | };
120 |
121 | function Plugin ( element, options ) {
122 |
123 | this.element = element;
124 | this.$element = $(element);
125 | this.settings = $.extend( {}, defaults, options );
126 | this.currentSlideIndex = 0;
127 | this.prevSlideIndex = 0;
128 | this.slideTimeoutId = 0;
129 | this.slides = [];
130 | this.calls = [];
131 | this.paused = false;
132 | this.navigating = false;
133 | this.slideStartTime = null;
134 | this.slideTimeRemaining = 0;
135 |
136 | this._init();
137 |
138 | }
139 |
140 | Plugin.prototype = {
141 |
142 | // creates the slides object to store all slide data
143 | // sets initial state and starts the wheels in motion
144 | _init: function () {
145 |
146 | var self = this;
147 |
148 | self.$element.find('.pogoSlider-slide').each(function () {
149 |
150 | var children = [];
151 | var elementTransitionDuration = 0;
152 |
153 | // store the original styles, so that we can restore them later
154 | $(this).data('original-styles',$(this).attr('style'));
155 |
156 | // create the slides object sotring all data
157 | $(this).find('.pogoSlider-slide-element').each(function () {
158 |
159 | var startTime = parseInt($(this).data('start')) !== undefined? $(this).data('start') : self.settings.elementTransitionStart;
160 | var duration = parseInt($(this).data('duration')) || self.settings.elementTransitionDuration;
161 |
162 | if ((startTime + duration) > elementTransitionDuration) {
163 | elementTransitionDuration = (startTime + duration);
164 | }
165 |
166 | children.push({
167 | $element: $(this),
168 | element: this,
169 | startTime: startTime,
170 | duration: duration,
171 | transitionIn: $(this).data('in') || self.settings.elementTransitionIn,
172 | transitionOut: $(this).data('out') || self.settings.elementTransitionOut
173 | });
174 |
175 | $(this).css('opacity',0);
176 |
177 | });
178 |
179 | var slide = {
180 | $element: $(this),
181 | element: this,
182 | transition: $(this).data('transition') || self.settings.slideTransition,
183 | duration: parseInt($(this).data('duration')) || self.settings.slideTransitionDuration,
184 | elementTransitionDuration: elementTransitionDuration,
185 | totalSlideDuration: self.settings.autoplayTimeout + elementTransitionDuration,
186 | children: children
187 | };
188 |
189 | self.slides.push(slide);
190 |
191 | });
192 |
193 | self.numSlides = self.slides.length;
194 |
195 | // initialize the first slide
196 | self.slides[0].$element.css('opacity',1);
197 |
198 | // if autoplay set the corrext startTime and time remaining properties
199 | if (self.settings.autoplay && self.settings.displayProgess) {
200 | self._createProgessBar();
201 | }
202 |
203 | // set the correct aspect ratio of the slider
204 | self.$element.css('padding-bottom',(100 / (self.settings.targetWidth / self.settings.targetHeight)) + '%');
205 |
206 | var numImages = self.$element.find('img').length;
207 |
208 | // if there are images to load
209 | if (numImages > 0) {
210 |
211 | var imagesLoaded = 0;
212 |
213 | // show a loading div while assets are being loaded
214 | self.$element.prepend('');
215 |
216 | // when all images have loaded
217 | self.$element.find('img').one('load',function () {
218 |
219 | if (++imagesLoaded === numImages) {
220 |
221 | $('.pogoSlider-loading').remove();
222 |
223 | self._onSliderReady();
224 |
225 | }
226 |
227 | }).each(function(){
228 | if(this.complete) {
229 | $(this).trigger('load');
230 | }
231 | });
232 |
233 | } else {
234 |
235 | self._onSliderReady();
236 |
237 | }
238 |
239 | },
240 |
241 | _onSliderReady: function () {
242 |
243 | var self = this;
244 |
245 | // start the slider if autoplay is true
246 | if (self.settings.autoplay) {
247 | self.slideStartTime = new Date();
248 | self.slideTimeRemaining = self.slides[0].totalSlideDuration;
249 | self._slideTimeout(self.slideTimeRemaining);
250 | }
251 |
252 | if (self.settings.generateButtons && self.slides.length > 1) {
253 | self._createDirButtons();
254 | }
255 |
256 | if (self.settings.generateNav && self.slides.length > 1) {
257 | self._createNavigation();
258 | }
259 |
260 | if (self.settings.preserveTargetSize) {
261 | self._preserveTargetSize();
262 |
263 | if (self.settings.responsive) {
264 | $(window).on('resize', function () {
265 | self._preserveTargetSize();
266 | });
267 | }
268 |
269 | }
270 |
271 | if (self.settings.pauseOnHover) {
272 |
273 | self.$element.on('mouseenter', function () {
274 | self.pause();
275 | });
276 |
277 | self.$element.on('mouseleave', function () {
278 | self.resume();
279 | });
280 |
281 | }
282 |
283 | self._onSlideStart(0);
284 |
285 | },
286 |
287 | _createDirButtons: function () {
288 |
289 | var self = this;
290 |
291 | self.$element.addClass('pogoSlider--dir' + self.settings.buttonPosition);
292 |
293 | $(' ').appendTo(self.$element).on('click', function () {
294 | self.prevSlide();
295 | });
296 |
297 | $(' ').appendTo(self.$element).on('click', function () {
298 | self.nextSlide();
299 | });
300 |
301 | },
302 |
303 | _createNavigation: function () {
304 |
305 | var self = this;
306 |
307 | self.$element.addClass('pogoSlider--nav' + self.settings.navPosition);
308 |
309 | var $navContainer = $('').appendTo(self.$element);
310 |
311 | for (var i = 0;i < self.slides.length;i++) {
312 | $(' ').appendTo($navContainer).on('click', function () {
313 | self.toSlide($(this).data('num'));
314 | });
315 | }
316 |
317 | },
318 |
319 | getAppliedProps: function(el) {
320 |
321 | var styleSheets = document.styleSheets;
322 | var stylesReg = new RegExp('{(.+)}');
323 | el.matches = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector || el.oMatchesSelector;
324 | var inlineStyles = el.getAttribute('style').replace(/ /g,'').split(';');
325 | var props = [];
326 |
327 | for (var k = 0;k < inlineStyles.length;k++) {
328 | var inlineProp = inlineStyles[k].split(':')[0];
329 | // if this prop is not empty and has a value and is not already in the props array
330 | if (inlineProp && props.indexOf(inlineProp) === -1) {
331 | props.push(inlineProp);
332 | }
333 | }
334 |
335 | for (var sheet in styleSheets) {
336 | if (styleSheets.hasOwnProperty(sheet)) {
337 | var cssRules = styleSheets[sheet].rules || styleSheets[sheet].cssRules;
338 | for (var r in cssRules) {
339 | if (el.matches(cssRules[r].selectorText)) {
340 | var matchedStyles = stylesReg.exec(cssRules[r].cssText.replace(/ /g,''));
341 | if (matchedStyles) {
342 | var styles = matchedStyles[1].split(';');
343 | for (var j = 0;j < styles.length;j++) {
344 | var prop = styles[j].split(':')[0];
345 | // if this prop is not empty and has a value and is not already in the props array
346 | if (prop && props.indexOf(prop) === -1) {
347 | props.push(prop);
348 | }
349 | }
350 | }
351 |
352 | }
353 | }
354 | }
355 | }
356 |
357 | return props;
358 |
359 | },
360 |
361 | _preserveTargetSize: function () {
362 |
363 | var self = this;
364 | var unitReg = new RegExp('px|%|em','i');
365 | var numReg = new RegExp('[0-9]*.?[0-9]+');
366 | var pixelReg = new RegExp('px','i');
367 | var scaleFactor = 1;
368 |
369 | if (this.scaledBy) {
370 | scaleFactor = (this.$element.width() / this.settings.targetWidth) / this.scaledBy;
371 | } else {
372 | scaleFactor = this.$element.width() / this.settings.targetWidth;
373 | }
374 |
375 | this.scaledBy = this.$element.width() / this.settings.targetWidth;
376 |
377 | this.$element.find('.pogoSlider-slide-element').each(function () {
378 |
379 | var elementStyles = window.getComputedStyle(this);
380 | var appliedProps = self.getAppliedProps(this);
381 | var styleObj = {};
382 |
383 | // store the oringal styles
384 | if (!$.data(self,'originalStyles')) {
385 | $.data(self,'originalStyles',$(this).attr('style'));
386 | }
387 |
388 | for (var i = 0;i < appliedProps.length;i++) {
389 |
390 | var cssVal = elementStyles.getPropertyValue(appliedProps[i]);
391 |
392 | if (unitReg.test(cssVal) && numReg.test(cssVal)) {
393 |
394 | // get the number
395 | var numVal = numReg.exec(cssVal);
396 | // get the unit
397 | var unitVal = unitReg.exec(cssVal);
398 |
399 | // if this is a pixel value
400 | if (pixelReg.test(unitVal[0])) {
401 | styleObj[appliedProps[i]] = Math.ceil(numVal[0] * scaleFactor) + unitVal[0];
402 | } else {
403 | styleObj[appliedProps[i]] = (numVal[0] * scaleFactor) + unitVal[0];
404 | }
405 |
406 | }
407 |
408 | }
409 |
410 | $(this).css(styleObj);
411 |
412 | });
413 |
414 | },
415 |
416 | // private method to create the slide progress bar
417 | _createProgessBar: function () {
418 |
419 | var progressHtml = '';
420 |
421 | progressHtml += '';
422 | progressHtml += '
';
423 | progressHtml += '
';
424 |
425 | //this.$element.prepend(progressHtml);
426 |
427 | for (var i = 0;i < this.slides.length;i++) {
428 | this.slides[i].$element.prepend(progressHtml);
429 | }
430 |
431 | },
432 |
433 | // private method to create a slide pause call
434 | _slideTimeout: function (pauseFor) {
435 |
436 | var self = this;
437 | var timeoutId;
438 |
439 | timeoutId = self.slideTimeoutId = setTimeout(function () {
440 |
441 | if (!self.paused && timeoutId === self.slideTimeoutId) {
442 | self._changeToNext();
443 | }
444 |
445 | },pauseFor);
446 |
447 | },
448 |
449 | // public method to pause the slider
450 | pause: function () {
451 |
452 | if (this.settings.autoplay) {
453 |
454 | this.paused = true;
455 |
456 | clearTimeout(this.slideTimeoutId);
457 |
458 | if (this.settings.displayProgess) {
459 | this.$element.find('.pogoSlider-progressBar-duration').stop(true);
460 | }
461 |
462 | this.slidePauseTime = new Date();
463 | this.slideTimeRemaining = this.slideTimeRemaining - ((new Date()) - this.slideStartTime);
464 |
465 | for (var i = 0;i < this.slides[this.currentSlideIndex].children.length;i++) {
466 | this.slides[this.currentSlideIndex].children[i].$element.precss('animation-play-state','paused');
467 | }
468 |
469 | if (this.settings.onSliderPause) {
470 | this.settings.onSliderPause.apply(this);
471 | }
472 |
473 | }
474 |
475 | },
476 |
477 | // public method to resume the slider
478 | resume: function () {
479 |
480 | if (this.settings.autoplay) {
481 |
482 | this.paused = false;
483 | this.slideStartTime = new Date();
484 |
485 | for (var i = 0;i < this.slides[this.currentSlideIndex].children.length;i++) {
486 | this.slides[this.currentSlideIndex].children[i].$element.precss('animation-play-state','');
487 | }
488 |
489 | // only add the additonal pause if there is time remaining
490 | if (this.slideTimeRemaining > 0 && !this.navigating) {
491 |
492 | if (this.settings.displayProgess) {
493 | this.$element.find('.pogoSlider-progressBar-duration').animate({'width':'100%'},this.slideTimeRemaining,'linear');
494 | }
495 |
496 | this._slideTimeout(this.slideTimeRemaining);
497 |
498 | }
499 |
500 | if (this.settings.onSliderResume) {
501 | this.settings.onSliderResume.apply(this);
502 | }
503 |
504 | }
505 |
506 | },
507 |
508 | // public method to change to the next slide
509 | nextSlide: function () {
510 |
511 | if (!this.navigating) {
512 |
513 | clearTimeout(this.slideTimeoutId);
514 |
515 | this.prevSlideIndex = this.currentSlideIndex;
516 |
517 | if (++this.currentSlideIndex > (this.numSlides - 1)) {
518 | this.currentSlideIndex = 0;
519 | }
520 |
521 | this._changeSlide(this.prevSlideIndex,this.currentSlideIndex);
522 |
523 | }
524 |
525 | },
526 |
527 | // public method to change to previous slide
528 | prevSlide: function () {
529 |
530 | if (!this.navigating) {
531 |
532 | clearTimeout(this.slideTimeoutId);
533 |
534 | this.prevSlideIndex = this.currentSlideIndex;
535 |
536 | if (--this.currentSlideIndex < 0) {
537 | this.currentSlideIndex = this.numSlides - 1;
538 | }
539 |
540 | this._changeSlide(this.prevSlideIndex,this.currentSlideIndex);
541 |
542 | }
543 |
544 | },
545 |
546 | // public method to change to a specified slide
547 | toSlide: function (slideIndex) {
548 |
549 | if (!this.navigating) {
550 |
551 | clearTimeout(this.slideTimeoutId);
552 |
553 | // return if the we are already on the called slide,
554 | // or the called slide is greater than the nuber of slides
555 | if (slideIndex === this.currentSlideIndex || slideIndex > (this.slides.length - 1)) {
556 | return;
557 | }
558 |
559 | this.prevSlideIndex = this.currentSlideIndex;
560 | this.currentSlideIndex = slideIndex;
561 | this._changeSlide(this.prevSlideIndex,this.currentSlideIndex);
562 |
563 | }
564 |
565 | },
566 |
567 | // public method to destroy the plugin
568 | destroy: function () {
569 |
570 | this.paused = true;
571 | clearTimeout(this.slideTimeoutId);
572 | $.removeData(this.element, 'plugin_' + pluginName);
573 |
574 | },
575 |
576 | // private method to change to the next slide
577 | // used for the autoplay functionality
578 | _changeToNext: function () {
579 |
580 | this.prevSlideIndex = this.currentSlideIndex;
581 |
582 | if (++this.currentSlideIndex > (this.numSlides - 1)) {
583 | this.currentSlideIndex = 0;
584 | }
585 |
586 | this._changeSlide(this.prevSlideIndex,this.currentSlideIndex);
587 |
588 | },
589 |
590 | // private method to change slides
591 | _changeSlide: function (prevSlideIndex,currentSlideIndex) {
592 |
593 | var self = this;
594 | var slideTransitions;
595 |
596 | self._onSlideEnd(prevSlideIndex);
597 |
598 | self.navigating = true;
599 |
600 | // check if browser support modern css3 features, fallback to javascript animations if it does not
601 | if (supports.animation && supports.transition && supports.transform) {
602 | slideTransitions = self.slideTransitions;
603 | } else {
604 | slideTransitions = self.compatSlideTransitions;
605 | }
606 |
607 | // check if transitions is available, if not fall back to simple slide transition
608 | var slideTransition = slideTransitions[self.slides[currentSlideIndex].transition] ? self.slides[currentSlideIndex].transition : 'slide';
609 | var slideTransitionCallback = slideTransitions[slideTransition].apply(self,[prevSlideIndex,currentSlideIndex]);
610 |
611 | setTimeout(function () {
612 |
613 | // if this function has a callback, call it
614 | if (slideTransitionCallback) {
615 | slideTransitionCallback();
616 | }
617 |
618 | self.navigating = false;
619 |
620 | self._slideCleanup(prevSlideIndex,false);
621 | self._slideElementCleanup(prevSlideIndex);
622 |
623 | if (self.settings.autoplay) {
624 | self._slideTimeout(self.slides[currentSlideIndex].totalSlideDuration);
625 | }
626 |
627 | self._onSlideStart(currentSlideIndex);
628 |
629 | }, self.slides[currentSlideIndex].duration);
630 |
631 | },
632 |
633 | // private method called on slide start
634 | _onSlideStart: function (slideIndex) {
635 |
636 | this.slides[slideIndex].$element.css('z-index', 1);
637 |
638 | if (this.settings.autoplay) {
639 | // need to set them regardless of whether it is paused or not
640 | this.slideStartTime = new Date();
641 | this.slideTimeRemaining = this.slides[slideIndex].totalSlideDuration;
642 |
643 | if (this.settings.displayProgess && !this.paused) {
644 | this.slides[slideIndex].$element.find('.pogoSlider-progressBar-duration').css('width','0').animate({'width':'100%'},this.slideTimeRemaining,'linear');
645 | }
646 | }
647 |
648 | if (this.slides[slideIndex].children.length > 0) {
649 | this._slideElementsTransitionIn(slideIndex);
650 | }
651 |
652 | // if slide is paused on change, preserve paused state to next slide
653 | if (this.paused) {
654 |
655 | for (var i = 0;i < this.slides[slideIndex].children.length;i++) {
656 | this.slides[slideIndex].children[i].$element.precss('animation-play-state','paused');
657 | }
658 |
659 | }
660 |
661 | if (this.settings.generateNav) {
662 | this.$element.find('.pogoSlider-nav-btn').removeClass('pogoSlider-nav-btn--selected');
663 | this.$element.find('.pogoSlider-nav-btn').eq(slideIndex).addClass('pogoSlider-nav-btn--selected');
664 | }
665 |
666 | if (this.settings.onSlideStart) {
667 | // run the slideEnd callback
668 | this.settings.onSlideStart.apply(this);
669 | }
670 |
671 | },
672 |
673 | // private method called on slide end
674 | _onSlideEnd: function (slideIndex) {
675 |
676 | var timeElapsed;
677 |
678 | if (this.settings.autoplay) {
679 | if (this.settings.displayProgess) {
680 | this.slides[slideIndex].$element.find('.pogoSlider-progressBar-duration').stop(true).css('width','0');
681 | }
682 | }
683 |
684 | if (this.paused) {
685 |
686 | timeElapsed = this.slides[slideIndex].totalSlideDuration - this.slideTimeRemaining;
687 |
688 | for (var i = 0;i < this.slides[slideIndex].children.length;i++) {
689 | this.slides[slideIndex].children[i].$element.precss('animation-play-state','');
690 | }
691 |
692 | } else {
693 |
694 | timeElapsed = this.slides[slideIndex].totalSlideDuration - (this.slideTimeRemaining - ((new Date()) - this.slideStartTime));
695 |
696 | }
697 |
698 | // transition out, if slides elements have already transitioned in
699 | if (this.slides[slideIndex].children.length > 0 && timeElapsed > this.slides[slideIndex].elementTransitionDuration) {
700 | //if (this.slides[slideIndex].children.length > 0 && (this.slides[slideIndex].totalSlideDuration - (this.slideTimeRemaining - ((new Date()) - this.slideStartTime))) > this.slides[slideIndex].elementTransitionDuration) {
701 | this._slideElementsTransitionOut(slideIndex);
702 | }
703 |
704 | if (this.settings.onSlideEnd) {
705 | // run the slideEnd callback
706 | this.settings.onSlideEnd.apply(this);
707 | }
708 |
709 | },
710 |
711 | // private methosd to animate in elements
712 | _slideElementsTransitionIn: function (slideIndex) {
713 |
714 | for (var i = 0; i < this.slides[slideIndex].children.length ; i++) {
715 |
716 | var el = this.slides[slideIndex].children[i];
717 |
718 | el.$element
719 | .precss({
720 | '*opacity': 1,
721 | 'animation-duration': el.duration + 'ms',
722 | 'animation-delay': el.startTime + 'ms'
723 | })
724 | .addClass('pogoSlider-animation-' + el.transitionIn + 'In');
725 |
726 | }
727 |
728 | },
729 |
730 | // private methosd to animate out elements
731 | _slideElementsTransitionOut: function (slideIndex) {
732 |
733 | for (var i = 0; i < this.slides[slideIndex].children.length ; i++) {
734 |
735 | var el = this.slides[slideIndex].children[i];
736 |
737 | el.$element
738 | .precss('animation-delay','')
739 | .removeClass('pogoSlider-animation-' + el.transitionIn + 'In')
740 | .addClass('pogoSlider-animation-' + el.transitionOut + 'Out');
741 | }
742 |
743 | },
744 |
745 | // ensure the slide are put back to their origninal state after they have transitioned out
746 | _slideCleanup: function (slideIndex,slideVisible) {
747 |
748 | if (this.slides[slideIndex].$element.find('.pogoSlider-slide-slice').length > 0) {
749 | this._removeSlideSlices(slideIndex);
750 | }
751 |
752 | this.slides[slideIndex].$element.attr('style',this.slides[slideIndex].$element.data('original-styles')).css('opacity',slideVisible? '1':'0');
753 |
754 | },
755 |
756 | // private method to clean up elements after slide ends
757 | _slideElementCleanup: function (slideIndex) {
758 |
759 | var removePogoSlideElementClasses = function (index,className) {
760 | return (className.match (/pogoSlider-(?:(?:transition)|(?:animation))(?:-[a-zA-Z0-9]+)?(?:--[a-z]+)?/gi) || []).join(' ');
761 | };
762 |
763 | var removePogoSlideElementStyles = function (index,style) {
764 | return style.replace(/(?:-webkit-)?(?:-ms-)?((?:transition)|(?:animation))[^;]+;/g, '');
765 | };
766 |
767 | this.slides[slideIndex].$element.find('.pogoSlider-progressBar-duration').css('width','0');
768 |
769 | for (var i = 0; i < this.slides[slideIndex].children.length ; i++) {
770 | this.slides[slideIndex].children[i].$element.removeClass(removePogoSlideElementClasses).attr('style',removePogoSlideElementStyles).css('opacity',0);
771 | }
772 |
773 | },
774 |
775 | _createSlideSlices: function (slideIndex,rows,cols) {
776 |
777 | var numSlices = cols * rows;
778 | var sliceWidth = 100 / cols;
779 | var sliceHeight = 100 / rows;
780 | var sliceInnerWidth = 100 * cols;
781 | var sliceInnerHeight = 100 * rows;
782 | var $el = this.slides[slideIndex].$element;
783 | var styleAttr = $el.attr('style');
784 | var timeElapsed;
785 |
786 | if (this.paused) {
787 | timeElapsed = this.slides[slideIndex].totalSlideDuration - this.slideTimeRemaining;
788 | } else {
789 | timeElapsed = this.slides[slideIndex].totalSlideDuration - (this.slideTimeRemaining - ((new Date()) - this.slideStartTime));
790 | }
791 |
792 | // if the elements are still transitioning in in the previous slide
793 | // set a negative animation delay to prevent the animation from restarting
794 | if (slideIndex === this.prevSlideIndex && this.slides[slideIndex].children.length > 0 && timeElapsed < this.slides[slideIndex].elementTransitionDuration) {
795 |
796 | for (var i = 0;i < this.slides[slideIndex].children.length;i++) {
797 |
798 | var animationDelay = (this.slides[slideIndex].children[i].startTime - timeElapsed) + 'ms';
799 |
800 | // change the animation delay, to reflect the actual amount of time
801 | this.slides[slideIndex].children[i].$element.precss('animation-delay',animationDelay);
802 |
803 | }
804 |
805 | }
806 |
807 | $el
808 | .children()
809 | .wrapAll('
')
810 | .wrapAll('
');
811 |
812 | $el.attr('style',function (i,style) {
813 | return style.replace(/(?:background)[^;]+;/g, '');
814 | });
815 |
816 | for (var j = 0; j < numSlices; j++) {
817 |
818 | var colNum = j % rows;
819 | var rowNum = Math.floor(j / rows);
820 |
821 | var slicePosStyles = 'width:' + sliceWidth + '%;height:' + sliceHeight + '%;top:' + (sliceHeight * colNum )+ '%;left:' + (sliceWidth * rowNum) + '%;';
822 | var sliceInnerPosStyles = 'width:' + sliceInnerWidth + '%;height:' + sliceInnerHeight + '%;top:-' + (100 * colNum) + '%;left:-' + (100 * rowNum) + '%;';
823 | var sliceInnerBackgroundStyles = '';
824 | if(this.settings.preserveTargetSize) {
825 | sliceInnerBackgroundStyles = 'background-size:' + this.$element.width() + 'px ' + parseFloat(this.$element.css('padding-bottom')) + 'px;';
826 | }
827 |
828 | var el = $el.find('.pogoSlider-slide-slice')
829 | .last();
830 | if(j != 0) {
831 | el = el.clone(true,true)
832 | .appendTo(this.slides[slideIndex].element);
833 | }
834 | el.attr('style',slicePosStyles)
835 | .find('.pogoSlider-slide-slice-inner')
836 | .attr('style',styleAttr + sliceInnerPosStyles + sliceInnerBackgroundStyles);
837 |
838 | }
839 |
840 | },
841 |
842 | // remove the slices and restore the slide back to its original state
843 | _removeSlideSlices: function (slideIndex) {
844 |
845 | var self = this;
846 | var $el = self.slides[slideIndex].$element;
847 |
848 | $el.attr('style',$el.data('original-styles'));
849 |
850 | // remove all slices except the first slide (which was the one we wrapped)
851 | $el.find('.pogoSlider-slide-slice').not(':first').remove();
852 | // unwrap the remaining slides (to preserve event handler etc.)
853 | $el.find('.pogoSlider-slide-slice-inner').children().unwrap();
854 | $el.find('.pogoSlider-slide-slice').children().unwrap();
855 |
856 | },
857 |
858 | _generateARandomArray: function (numItems) {
859 |
860 | var arr = [];
861 |
862 | for(var i = 0;i < numItems;i++) {
863 | arr.push(i);
864 | }
865 |
866 | for (var j = arr.length - 1; j > 0; j--) {
867 | var k = Math.floor(Math.random() * (j + 1));
868 | var temp = arr[j];
869 | arr[j] = arr[k];
870 | arr[k] = temp;
871 | }
872 |
873 | return arr;
874 |
875 | },
876 |
877 | // any slide transition effects can be added onto this object
878 | slideTransitions: {
879 |
880 | fade: function (prevSlideIndex,currentSlideIndex) {
881 |
882 | var currentSlide = this.slides[currentSlideIndex];
883 |
884 | // carry out transiton on previous slide and then clean up
885 | this.slides[prevSlideIndex].$element
886 | .precss({
887 | '*opacity': '0',
888 | 'transition-duration': currentSlide.duration + 'ms'
889 | });
890 |
891 | // transiton in the current slide
892 | currentSlide.$element
893 | .precss({
894 | '*opacity': '1',
895 | 'transition-duration': currentSlide.duration + 'ms'
896 | });
897 |
898 | },
899 |
900 | slide: function (prevSlideIndex,currentSlideIndex) {
901 |
902 | var method;
903 |
904 | if (currentSlideIndex === 0 && prevSlideIndex === this.slides.length - 1) {
905 | method = 'slideLeft';
906 | } else if (prevSlideIndex === 0 && currentSlideIndex === this.slides.length - 1) {
907 | method = 'slideRight';
908 | } else if (currentSlideIndex > prevSlideIndex) {
909 | method = 'slideLeft';
910 | } else {
911 | method = 'slideRight';
912 | }
913 |
914 | return this.slideTransitions[method].apply(this,[prevSlideIndex,currentSlideIndex]);
915 |
916 | },
917 |
918 | verticalSlide: function (prevSlideIndex,currentSlideIndex) {
919 |
920 | var method;
921 |
922 | if (currentSlideIndex === 0 && prevSlideIndex === this.slides.length - 1) {
923 | method = 'slideUp';
924 | } else if (prevSlideIndex === 0 && currentSlideIndex === this.slides.length - 1) {
925 | method = 'slideDown';
926 | } else if (currentSlideIndex > prevSlideIndex) {
927 | method = 'slideUp';
928 | } else {
929 | method = 'slideDown';
930 | }
931 |
932 | return this.slideTransitions[method].apply(this,[prevSlideIndex,currentSlideIndex]);
933 |
934 | },
935 |
936 | slideLeft: function (prevSlideIndex,currentSlideIndex) {
937 |
938 | var self = this;
939 | var currentSlide = self.slides[currentSlideIndex];
940 |
941 | self.slides[prevSlideIndex].$element
942 | .precss('animation-duration',currentSlide.duration + 'ms')
943 | .addClass('pogoSlider-animation-leftOut');
944 |
945 | currentSlide.$element
946 | .precss({
947 | '*opacity': '1',
948 | 'animation-duration': currentSlide.duration + 'ms'
949 | })
950 | .addClass('pogoSlider-animation-leftIn');
951 |
952 | return function () {
953 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-leftOut');
954 | currentSlide.$element.attr('style',currentSlide.$element.data('original-styles')).css('opacity','1').removeClass('pogoSlider-animation-leftIn');
955 | };
956 |
957 | },
958 |
959 | slideRight: function (prevSlideIndex,currentSlideIndex) {
960 |
961 | var self = this;
962 | var currentSlide = self.slides[currentSlideIndex];
963 |
964 | self.slides[prevSlideIndex].$element
965 | .precss('animation-duration',currentSlide.duration + 'ms')
966 | .addClass('pogoSlider-animation-rightOut');
967 |
968 | currentSlide.$element
969 | .precss({
970 | '*opacity': '1',
971 | 'animation-duration': currentSlide.duration + 'ms'
972 | })
973 | .addClass('pogoSlider-animation-rightIn');
974 |
975 | return function () {
976 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-rightOut');
977 | currentSlide.$element.attr('style',currentSlide.$element.data('original-styles')).css('opacity','1').removeClass('pogoSlider-animation-rightIn');
978 | };
979 |
980 | },
981 |
982 | slideUp: function (prevSlideIndex,currentSlideIndex) {
983 |
984 | var self = this;
985 | var currentSlide = self.slides[currentSlideIndex];
986 |
987 | self.slides[prevSlideIndex].$element
988 | .precss('animation-duration',currentSlide.duration + 'ms')
989 | .addClass('pogoSlider-animation-upOut');
990 |
991 | currentSlide.$element
992 | .precss({
993 | '*opacity': '1',
994 | 'animation-duration': currentSlide.duration + 'ms'
995 | })
996 | .addClass('pogoSlider-animation-upIn');
997 |
998 | return function () {
999 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-upOut');
1000 | currentSlide.$element.attr('style',currentSlide.$element.data('original-styles')).css('opacity','1').removeClass('pogoSlider-animation-upIn');
1001 |
1002 | };
1003 |
1004 | },
1005 |
1006 | slideDown: function (prevSlideIndex,currentSlideIndex) {
1007 |
1008 | var self = this;
1009 | var currentSlide = self.slides[currentSlideIndex];
1010 |
1011 | self.slides[prevSlideIndex].$element
1012 | .precss('animation-duration',currentSlide.duration + 'ms')
1013 | .addClass('pogoSlider-animation-downOut');
1014 |
1015 | currentSlide.$element
1016 | .precss({
1017 | '*opacity': '1',
1018 | 'animation-duration': currentSlide.duration + 'ms'
1019 | })
1020 | .addClass('pogoSlider-animation-downIn');
1021 |
1022 | return function () {
1023 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-downOut');
1024 | currentSlide.$element.attr('style',currentSlide.$element.data('original-styles')).css('opacity','1').removeClass('pogoSlider-animation-downIn');
1025 |
1026 | };
1027 |
1028 | },
1029 |
1030 | slideRevealLeft: function (prevSlideIndex,currentSlideIndex) {
1031 |
1032 | var self = this;
1033 | var currentSlide = self.slides[currentSlideIndex];
1034 |
1035 | self.slides[prevSlideIndex].$element
1036 | .precss({
1037 | '*z-index': self.settings.baseZindex + 1,
1038 | 'animation-duration': currentSlide.duration + 'ms'
1039 | })
1040 | .addClass('pogoSlider-animation-leftOut');
1041 |
1042 | currentSlide.$element.css({'opacity':1,'z-index':self.settings.baseZindex});
1043 |
1044 | return function () {
1045 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-leftOut');
1046 | };
1047 |
1048 | },
1049 |
1050 | slideRevealRight: function (prevSlideIndex,currentSlideIndex) {
1051 |
1052 | var self = this;
1053 | var currentSlide = self.slides[currentSlideIndex];
1054 |
1055 | self.slides[prevSlideIndex].$element
1056 | .precss({
1057 | '*z-index': self.settings.baseZindex + 1,
1058 | 'animation-duration': currentSlide.duration + 'ms'
1059 | })
1060 | .addClass('pogoSlider-animation-rightOut');
1061 |
1062 | currentSlide.$element.css({'opacity':1,'z-index':self.settings.baseZindex});
1063 |
1064 | return function () {
1065 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-rightOut');
1066 | };
1067 |
1068 | },
1069 |
1070 | slideOverLeft: function (prevSlideIndex,currentSlideIndex) {
1071 |
1072 | var currentSlide = this.slides[currentSlideIndex];
1073 |
1074 | currentSlide.$element
1075 | .precss({
1076 | '*opacity': '1',
1077 | '*z-index': this.settings.baseZindex + 1,
1078 | 'animation-duration': currentSlide.duration + 'ms'
1079 | })
1080 | .addClass('pogoSlider-animation-leftIn');
1081 |
1082 | return function () {
1083 | currentSlide.$element.attr('style',currentSlide.$element.data('original-styles')).css('opacity','1').removeClass('pogoSlider-animation-leftIn');
1084 | };
1085 |
1086 | },
1087 |
1088 | slideOverRight: function (prevSlideIndex,currentSlideIndex) {
1089 |
1090 | var currentSlide = this.slides[currentSlideIndex];
1091 |
1092 | currentSlide.$element
1093 | .precss({
1094 | '*opacity': '1',
1095 | '*z-index': this.settings.baseZindex + 1,
1096 | 'animation-duration': currentSlide.duration + 'ms'
1097 | })
1098 | .addClass('pogoSlider-animation-rightIn');
1099 |
1100 | return function () {
1101 | currentSlide.$element.attr('style',currentSlide.$element.data('original-styles')).css('opacity','1').removeClass('pogoSlider-animation-rightIn');
1102 | };
1103 |
1104 | },
1105 |
1106 | expandReveal: function (prevSlideIndex,currentSlideIndex) {
1107 |
1108 | var self = this;
1109 | var currentSlide = self.slides[currentSlideIndex];
1110 |
1111 | self.$element.css('overflow','visible');
1112 |
1113 | self.slides[prevSlideIndex].$element
1114 | .precss({
1115 | '*z-index': self.settings.baseZindex + 1,
1116 | 'animation-duration': currentSlide.duration + 'ms'
1117 | })
1118 | .addClass('pogoSlider-animation-expandReveal');
1119 |
1120 | currentSlide.$element.css({'opacity':1,'z-index':self.settings.baseZindex});
1121 |
1122 | return function () {
1123 | self.$element.css('overflow','');
1124 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-expandReveal');
1125 | };
1126 |
1127 | },
1128 |
1129 | shrinkReveal: function (prevSlideIndex,currentSlideIndex) {
1130 |
1131 | var self = this;
1132 | var currentSlide = self.slides[currentSlideIndex];
1133 |
1134 | self.slides[prevSlideIndex].$element
1135 | .precss({
1136 | '*z-index': self.settings.baseZindex + 1,
1137 | 'animation-duration': currentSlide.duration + 'ms'
1138 | })
1139 | .addClass('pogoSlider-animation-shrinkReveal');
1140 |
1141 | currentSlide.$element.css({'opacity':1,'z-index':self.settings.baseZindex});
1142 |
1143 | return function () {
1144 | self.slides[prevSlideIndex].$element.removeClass('pogoSlider-animation-shrinkReveal');
1145 | };
1146 |
1147 | },
1148 |
1149 | verticalSplitReveal: function (prevSlideIndex,currentSlideIndex) {
1150 |
1151 | var self = this;
1152 | var currentSlide = self.slides[currentSlideIndex];
1153 |
1154 | // init current slide and prev slides position
1155 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1156 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1157 |
1158 | self._createSlideSlices(prevSlideIndex,1,2);
1159 |
1160 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1161 |
1162 | $slices.precss('animation-duration',currentSlide.duration + 'ms');
1163 |
1164 | $slices.eq(0).addClass('pogoSlider-animation-leftOut');
1165 | $slices.eq(1).addClass('pogoSlider-animation-rightOut');
1166 |
1167 | },
1168 |
1169 | horizontalSplitReveal: function (prevSlideIndex,currentSlideIndex) {
1170 |
1171 | var self = this;
1172 | var currentSlide = self.slides[currentSlideIndex];
1173 |
1174 | // init current slide and prev slides position
1175 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1176 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1177 |
1178 | self._createSlideSlices(prevSlideIndex,2,1);
1179 |
1180 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1181 |
1182 | $slices.precss('animation-duration',currentSlide.duration + 'ms');
1183 |
1184 | $slices.eq(0).addClass('pogoSlider-animation-upOut');
1185 | $slices.eq(1).addClass('pogoSlider-animation-downOut');
1186 |
1187 | },
1188 |
1189 | zipReveal: function (prevSlideIndex,currentSlideIndex) {
1190 |
1191 | var self = this;
1192 | var currentSlide = self.slides[currentSlideIndex];
1193 |
1194 | // init current slide and prev slides position
1195 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1196 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1197 |
1198 | self._createSlideSlices(prevSlideIndex,1,Math.round(self.$element.width() / 100));
1199 |
1200 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1201 |
1202 | $slices.precss('animation-duration',currentSlide.duration + 'ms');
1203 |
1204 | //var transitionDelay = currentSlide.duration / ($slices.length + 1);
1205 | //var transitionDuration = transitionDelay * 2;
1206 |
1207 | $slices.each(function (index) {
1208 |
1209 | if (index % 2 === 0) {
1210 | $(this).addClass('pogoSlider-animation-upOut');
1211 | } else {
1212 | $(this).addClass('pogoSlider-animation-downOut');
1213 | }
1214 |
1215 | });
1216 |
1217 | },
1218 |
1219 | barRevealDown: function (prevSlideIndex,currentSlideIndex) {
1220 |
1221 | return this.slideTransitions['barReveal'].apply(this,[prevSlideIndex,currentSlideIndex,'down']);
1222 |
1223 | },
1224 |
1225 | barRevealUp: function (prevSlideIndex,currentSlideIndex) {
1226 |
1227 | return this.slideTransitions['barReveal'].apply(this,[prevSlideIndex,currentSlideIndex,'up']);
1228 |
1229 | },
1230 |
1231 | barReveal: function (prevSlideIndex,currentSlideIndex,direction) {
1232 |
1233 | var self = this;
1234 | var currentSlide = self.slides[currentSlideIndex];
1235 |
1236 | // init current slide and prev slides position
1237 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1238 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1239 |
1240 | self._createSlideSlices(prevSlideIndex,1,Math.round(self.$element.width() / 100));
1241 |
1242 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1243 |
1244 | var animationDelay = currentSlide.duration / ($slices.length + 1);
1245 | var animationDuration = animationDelay * 2;
1246 |
1247 | $slices.precss('animation-duration',animationDuration + 'ms');
1248 |
1249 | $slices.each(function (index) {
1250 |
1251 | if (direction === 'down') {
1252 |
1253 | $(this)
1254 | .addClass('pogoSlider-animation-downOut')
1255 | .precss('animation-delay',animationDelay * index + 'ms');
1256 |
1257 | } else {
1258 |
1259 | $(this)
1260 | .addClass('pogoSlider-animation-upOut')
1261 | .precss('animation-delay',animationDelay * index + 'ms');
1262 |
1263 | }
1264 |
1265 | });
1266 |
1267 | },
1268 |
1269 | blocksReveal: function (prevSlideIndex,currentSlideIndex) {
1270 |
1271 | var self = this;
1272 | var currentSlide = self.slides[currentSlideIndex];
1273 |
1274 | var height = 0;
1275 | if(self.settings.preserveTargetSize) {
1276 | height = parseFloat(self.$element.css('padding-bottom'));
1277 | } else {
1278 | height = self.$element.height();
1279 | }
1280 | var numRows = Math.round(height / 100); // 100 is the target square size
1281 | var numCols = Math.round(self.$element.width() / 100);
1282 |
1283 | // init current slide and prev slides position
1284 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1285 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1286 |
1287 | var randArr = self._generateARandomArray(numRows * numCols);
1288 | self._createSlideSlices(prevSlideIndex,numRows,numCols);
1289 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1290 |
1291 | var animationDelay = currentSlide.duration / ($slices.length + 1);
1292 | var animationDuration = animationDelay * 2;
1293 |
1294 | $slices.precss('animation-duration',animationDuration + 'ms');
1295 |
1296 | for (var i = 0;i < $slices.length;i++) {
1297 | $slices.eq(randArr.pop())
1298 | .precss('animation-delay',(animationDelay * i) + 'ms')
1299 | .addClass('pogoSlider-animation-blocksReveal');
1300 | }
1301 |
1302 | },
1303 |
1304 | fold: function (prevSlideIndex,currentSlideIndex) {
1305 |
1306 | var method;
1307 |
1308 | if (currentSlideIndex === 0 && prevSlideIndex === this.slides.length - 1) {
1309 | method = 'foldLeft';
1310 | } else if (prevSlideIndex === 0 && currentSlideIndex === this.slides.length - 1) {
1311 | method = 'foldRight';
1312 | } else if (currentSlideIndex > prevSlideIndex) {
1313 | method = 'foldLeft';
1314 | } else {
1315 | method = 'foldRight';
1316 | }
1317 |
1318 | return this.slideTransitions[method].apply(this,[prevSlideIndex,currentSlideIndex]);
1319 |
1320 | },
1321 |
1322 | foldRight: function (prevSlideIndex,currentSlideIndex) {
1323 |
1324 | var self = this;
1325 | var currentSlide = self.slides[currentSlideIndex];
1326 | var prevSlide = self.slides[prevSlideIndex];
1327 |
1328 | // init current slide and prev slides position
1329 | self.$element.css('overflow','visible');
1330 | prevSlide.$element.css({'overflow':'visible','z-index': self.settings.baseZindex});
1331 | currentSlide.$element.css({'opacity': 1,'overflow':'visible','z-index': self.settings.baseZindex + 1});
1332 |
1333 | self._createSlideSlices(prevSlideIndex,1,2);
1334 | var $prevSlideSlices = prevSlide.$element.find('.pogoSlider-slide-slice');
1335 |
1336 | self._createSlideSlices(currentSlideIndex,1,2);
1337 | var $currentSlideSlices = self.slides[currentSlideIndex].$element.find('.pogoSlider-slide-slice');
1338 |
1339 | var $bottomLeft = $prevSlideSlices.eq(0);
1340 | //var $bottomRight = $prevSlideSlices.eq(1);
1341 | var $topLeft = $currentSlideSlices.eq(0);
1342 | var $topRight = $currentSlideSlices.eq(1);
1343 |
1344 | currentSlide.$element.prepend($bottomLeft.detach());
1345 | prevSlide.$element.prepend($topLeft.detach());
1346 |
1347 | $bottomLeft
1348 | .addClass('pogoSlider-animation-foldInRight')
1349 | .precss('animation-duration',currentSlide.duration + 'ms');
1350 |
1351 | $topRight
1352 | .addClass('pogoSlider-animation-foldOutRight')
1353 | .precss('animation-duration',currentSlide.duration + 'ms');
1354 |
1355 | return function () {
1356 |
1357 | // restore original overflow
1358 | self.$element.css('overflow','');
1359 |
1360 | // since the original element has been move, restore it to the original position
1361 | currentSlide.$element.prepend($topLeft.detach());
1362 | prevSlide.$element.prepend($bottomLeft.detach());
1363 |
1364 | // need to manually cleanup the current slide
1365 | self._slideCleanup(currentSlideIndex,true);
1366 |
1367 | };
1368 |
1369 | },
1370 |
1371 | foldLeft: function (prevSlideIndex,currentSlideIndex) {
1372 |
1373 | var self = this;
1374 | var currentSlide = self.slides[currentSlideIndex];
1375 | var prevSlide = self.slides[prevSlideIndex];
1376 |
1377 | // init current slide and prev slides position
1378 | self.$element.css('overflow','visible');
1379 | prevSlide.$element.css({'overflow':'visible','z-index': self.settings.baseZindex});
1380 | currentSlide.$element.css({'opacity': 1,'overflow':'visible','z-index': self.settings.baseZindex + 1});
1381 |
1382 | self._createSlideSlices(prevSlideIndex,1,2);
1383 | var $prevSlideSlices = prevSlide.$element.find('.pogoSlider-slide-slice');
1384 |
1385 | self._createSlideSlices(currentSlideIndex,1,2);
1386 | var $currentSlideSlices = self.slides[currentSlideIndex].$element.find('.pogoSlider-slide-slice');
1387 |
1388 | //var $bottomLeft = $prevSlideSlices.eq(0);
1389 | var $bottomRight = $prevSlideSlices.eq(1);
1390 | var $topLeft = $currentSlideSlices.eq(0);
1391 | var $topRight = $currentSlideSlices.eq(1);
1392 |
1393 | currentSlide.$element.append($bottomRight.detach());
1394 | prevSlide.$element.append($topRight.detach());
1395 |
1396 | $bottomRight
1397 | .addClass('pogoSlider-animation-foldInLeft')
1398 | .precss('animation-duration',currentSlide.duration + 'ms');
1399 |
1400 | $topLeft
1401 | .addClass('pogoSlider-animation-foldOutLeft')
1402 | .precss('animation-duration',currentSlide.duration + 'ms');
1403 |
1404 | return function () {
1405 |
1406 | // restore original overflow
1407 | self.$element.css('overflow','');
1408 |
1409 | // need to manually cleanup the current slide
1410 | self._slideCleanup(currentSlideIndex,true);
1411 | };
1412 |
1413 | }
1414 |
1415 | },
1416 |
1417 | // plain javascript transitions for older browsers
1418 | compatSlideTransitions: {
1419 |
1420 | fade: function (prevSlideIndex,currentSlideIndex) {
1421 |
1422 | var currentSlide = this.slides[currentSlideIndex];
1423 |
1424 | // carry out transiton on previous slide and then clean up
1425 | this.slides[prevSlideIndex].$element.animate({opacity:0},currentSlide.duration);
1426 |
1427 | // transiton in the current slide
1428 | currentSlide.$element.animate({opacity:1},currentSlide.duration);
1429 |
1430 | },
1431 |
1432 | slide: function (prevSlideIndex,currentSlideIndex) {
1433 |
1434 | var method;
1435 |
1436 | if (prevSlideIndex > currentSlideIndex && prevSlideIndex === this.slides.length - 1 && currentSlideIndex === 0) {
1437 | method = 'slideLeft';
1438 | } else if (prevSlideIndex < currentSlideIndex && prevSlideIndex === 0 && currentSlideIndex === this.slides.length - 1) {
1439 | method = 'slideRight';
1440 | } else if (prevSlideIndex < currentSlideIndex) {
1441 | method = 'slideLeft';
1442 | } else {
1443 | method = 'slideRight';
1444 | }
1445 |
1446 | return this.slideTransitions[method].apply(this,[prevSlideIndex,currentSlideIndex]);
1447 |
1448 | },
1449 |
1450 | verticalSlide: function (prevSlideIndex,currentSlideIndex) {
1451 |
1452 | var method;
1453 |
1454 | if (prevSlideIndex > currentSlideIndex && prevSlideIndex === this.slides.length - 1 && currentSlideIndex === 0) {
1455 | method = 'slideUp';
1456 | } else if (prevSlideIndex < currentSlideIndex && prevSlideIndex === 0 && currentSlideIndex === this.slides.length - 1) {
1457 | method = 'slideDown';
1458 | } else if (prevSlideIndex < currentSlideIndex) {
1459 | method = 'slideUp';
1460 | } else {
1461 | method = 'slideDown';
1462 | }
1463 |
1464 | return this.slideTransitions[method].apply(this,[prevSlideIndex,currentSlideIndex]);
1465 |
1466 | },
1467 |
1468 | slideLeft: function (prevSlideIndex,currentSlideIndex) {
1469 |
1470 | var currentSlide = this.slides[currentSlideIndex];
1471 |
1472 | this.slides[prevSlideIndex].$element.animate({left:'-100%'},currentSlide.duration);
1473 |
1474 | currentSlide.$element.css({left:'100%','opacity':1}).animate({left:0},currentSlide.duration);
1475 |
1476 | },
1477 |
1478 | slideRight: function (prevSlideIndex,currentSlideIndex) {
1479 |
1480 | var currentSlide = this.slides[currentSlideIndex];
1481 |
1482 | this.slides[prevSlideIndex].$element.animate({left:'100%'},currentSlide.duration);
1483 |
1484 | currentSlide.$element.css({left:'-100%','opacity':1}).animate({left:0},currentSlide.duration);
1485 |
1486 | },
1487 |
1488 | slideUp: function (prevSlideIndex,currentSlideIndex) {
1489 |
1490 | var currentSlide = this.slides[currentSlideIndex];
1491 |
1492 | this.slides[prevSlideIndex].$element.animate({top:'-100%'},currentSlide.duration);
1493 |
1494 | currentSlide.$element.css({top:'100%','opacity':1}).animate({top:'0'},currentSlide.duration);
1495 |
1496 | },
1497 |
1498 | slideDown: function (prevSlideIndex,currentSlideIndex) {
1499 |
1500 | var currentSlide = this.slides[currentSlideIndex];
1501 |
1502 | this.slides[prevSlideIndex].$element.animate({top:'100%'},currentSlide.duration);
1503 |
1504 | currentSlide.$element.css({top:'-100%','opacity':1}).animate({top:'0'},currentSlide.duration);
1505 |
1506 | },
1507 |
1508 | slideRevealLeft: function (prevSlideIndex,currentSlideIndex) {
1509 |
1510 | var currentSlide = this.slides[currentSlideIndex];
1511 |
1512 | this.slides[prevSlideIndex].$element.css('z-index',this.settings.baseZindex + 1).animate({left:'-100%'},currentSlide.duration);
1513 |
1514 | currentSlide.$element.css({'opacity':1,'z-index':this.settings.baseZindex});
1515 |
1516 | },
1517 |
1518 | slideRevealRight: function (prevSlideIndex,currentSlideIndex) {
1519 |
1520 | var currentSlide = this.slides[currentSlideIndex];
1521 |
1522 | this.slides[prevSlideIndex].$element.css('z-index',this.settings.baseZindex + 1).animate({left:'100%'},currentSlide.duration);
1523 |
1524 | currentSlide.$element.css({'opacity':1,'z-index':this.settings.baseZindex});
1525 |
1526 | },
1527 |
1528 | slideOverLeft: function (prevSlideIndex,currentSlideIndex) {
1529 |
1530 | var currentSlide = this.slides[currentSlideIndex];
1531 |
1532 | currentSlide.$element.css({'opacity':1,'z-index':this.settings.baseZindex,'left': '100%'}).animate({'left':0},currentSlide.duration);
1533 |
1534 | },
1535 |
1536 | slideOverRight: function (prevSlideIndex,currentSlideIndex) {
1537 |
1538 | var currentSlide = this.slides[currentSlideIndex];
1539 |
1540 | currentSlide.$element.css({'opacity':1,'z-index':this.settings.baseZindex,'right': '100%'}).animate({'right':0},currentSlide.duration);
1541 |
1542 | },
1543 |
1544 | expandReveal: function (prevSlideIndex,currentSlideIndex) {
1545 |
1546 | var currentSlide = this.slides[currentSlideIndex];
1547 |
1548 | this.slides[prevSlideIndex].$element
1549 | .css('z-index',this.settings.baseZindex + 1)
1550 | .animate({
1551 | width:'120%',
1552 | height: '120%',
1553 | 'left': '-10%',
1554 | 'top': '-10%',
1555 | opacity: 0
1556 | },currentSlide.duration);
1557 |
1558 | currentSlide.$element.css({'opacity':1,'z-index':this.settings.baseZindex});
1559 |
1560 | },
1561 |
1562 | shrinkReveal: function (prevSlideIndex,currentSlideIndex) {
1563 |
1564 | var currentSlide = this.slides[currentSlideIndex];
1565 |
1566 | this.slides[prevSlideIndex].$element
1567 | .css('z-index',this.settings.baseZindex + 1)
1568 | .animate({
1569 | width: '50%',
1570 | height: '50%',
1571 | 'left': '25%',
1572 | 'top': '25%',
1573 | opacity: 0
1574 | },currentSlide.duration);
1575 |
1576 | currentSlide.$element.css({'opacity':1,'z-index':this.settings.baseZindex});
1577 |
1578 | },
1579 |
1580 | verticalSplitReveal: function (prevSlideIndex,currentSlideIndex) {
1581 |
1582 | var self = this;
1583 | var currentSlide = self.slides[currentSlideIndex];
1584 |
1585 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1586 |
1587 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1588 |
1589 | self._createSlideSlices(prevSlideIndex,1,2);
1590 |
1591 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1592 |
1593 | $slices.eq(0).animate({'left': '-50%'}, currentSlide.duration);
1594 |
1595 | $slices.eq(1).animate({'left': '100%'}, currentSlide.duration);
1596 |
1597 | },
1598 |
1599 | horizontalSplitReveal: function (prevSlideIndex,currentSlideIndex) {
1600 |
1601 | var self = this;
1602 | var currentSlide = self.slides[currentSlideIndex];
1603 |
1604 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1605 |
1606 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1607 |
1608 | self._createSlideSlices(prevSlideIndex,2,1);
1609 |
1610 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1611 |
1612 | $slices.eq(0).animate({'top': '-50%'}, currentSlide.duration);
1613 |
1614 | $slices.eq(1).animate({'top': '100%'}, currentSlide.duration);
1615 |
1616 | },
1617 |
1618 | zipReveal: function (prevSlideIndex,currentSlideIndex) {
1619 |
1620 | var self = this;
1621 | var currentSlide = self.slides[currentSlideIndex];
1622 |
1623 | // init prev slide
1624 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1625 | // init current slide
1626 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1627 |
1628 | self._createSlideSlices(prevSlideIndex,1,Math.round(self.$element.width() / 100));
1629 |
1630 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1631 |
1632 | var transitionDelay = currentSlide.duration / ($slices.length + 1);
1633 | var transitionDuration = transitionDelay * 2;
1634 |
1635 | $slices.each(function (index) {
1636 |
1637 | if (index % 2 === 0) {
1638 | $(this).delay(transitionDelay * index).animate({'top': '100%'}, transitionDuration);
1639 | } else {
1640 | $(this).delay(transitionDelay * index).animate({'top': '-100%'}, transitionDuration);
1641 | }
1642 |
1643 | });
1644 |
1645 | },
1646 |
1647 | barRevealDown: function (prevSlideIndex,currentSlideIndex) {
1648 |
1649 | return this.slideTransitions['barReveal'].apply(this,[prevSlideIndex,currentSlideIndex,'down']);
1650 |
1651 | },
1652 |
1653 | barRevealUp: function (prevSlideIndex,currentSlideIndex) {
1654 |
1655 | return this.slideTransitions['barReveal'].apply(this,[prevSlideIndex,currentSlideIndex,'up']);
1656 |
1657 | },
1658 |
1659 | barReveal: function (prevSlideIndex,currentSlideIndex,direction) {
1660 |
1661 | var self = this;
1662 | var currentSlide = self.slides[currentSlideIndex];
1663 |
1664 | // init prev slide
1665 | self.slides[prevSlideIndex].$element.css('z-index',self.settings.baseZindex + 1);
1666 | // init current slide
1667 | currentSlide.$element.css({'opacity': 1,'z-index': self.settings.baseZindex});
1668 |
1669 | self._createSlideSlices(prevSlideIndex,1,Math.round(self.$element.width() / 100));
1670 |
1671 | var $slices = self.slides[prevSlideIndex].$element.find('.pogoSlider-slide-slice');
1672 |
1673 | var transitionDelay = currentSlide.duration / ($slices.length + 1);
1674 | var transitionDuration = transitionDelay * 2;
1675 |
1676 | $slices.each(function (index) {
1677 |
1678 | if (direction === 'down') {
1679 | $(this).delay(transitionDelay * index).animate({'top': '100%'}, transitionDuration);
1680 | } else {
1681 | $(this).delay(transitionDelay * index).animate({'top': '-100%'}, transitionDuration);
1682 | }
1683 |
1684 | });
1685 |
1686 | }
1687 |
1688 | }
1689 |
1690 | };
1691 |
1692 | $.fn[ pluginName ] = function (options) {
1693 |
1694 | this.each(function() {
1695 | if ( !$.data( this, 'plugin_' + pluginName ) ) {
1696 | $.data( this, 'plugin_' + pluginName, new Plugin( this, options ) );
1697 | }
1698 | });
1699 |
1700 | // chain jQuery functions
1701 | return this;
1702 | };
1703 |
1704 |
1705 | })( jQuery, window, document );
--------------------------------------------------------------------------------
/src/pogo-slider.css:
--------------------------------------------------------------------------------
1 | /**
2 | * === z-index ===
3 | *
4 | * pogoSlider-progressBar = 6
5 | * pogoSlider-dir-btn = 10
6 | * pogoSlider-nav = 10
7 | * pogoSlider-loading = 11
8 | *
9 | */
10 |
11 | .pogoSlider {
12 | width: 100%;
13 | height: 0;
14 | padding-bottom: 48%;
15 | position: relative;
16 | overflow: hidden;
17 | }
18 |
19 | #column-left .pogoSlider,
20 | #column-right .pogoSlider,
21 | #content .pogoSlider {
22 | margin-bottom: 20px;
23 | }
24 |
25 | .pogoSlider--banner .pogoSlider-slide {
26 | ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
27 | filter: alpha(opacity=100);
28 | opacity: 1;
29 | }
30 |
31 | .pogoSlider-slide {
32 | width: 100%;
33 | height: 100%;
34 | position: absolute;
35 | background-size: cover;
36 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
37 | filter: alpha(opacity=0);
38 | opacity: 0;
39 | perspective: 1300px;
40 | overflow: hidden;
41 | }
42 |
43 | .pogoSlider-loading {
44 | position: absolute;
45 | top: 0;
46 | left: 0;
47 | width: 100%;
48 | height: 100%;
49 | background: #eaeaea;
50 | z-index: 11;
51 | }
52 |
53 | .pogoSlider-loading-icon {
54 | position: absolute;
55 | top: 50%;
56 | margin-top: -18px;
57 | left: 50%;
58 | margin-left: -18px;
59 | width: 36px;
60 | height: 36px;
61 | background-image: url(data:image/gif;base64,R0lGODlhJAAkAPIAAJmZmczMzObm5vLy8gAAAAAAAAAAAAAAACH5BA0KAAQAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAJAAkAAADfQi6DPQwyhmbpTgT27Sv3PKNoTh6pXKi6aqljovB8tzWE43vfH8GwKAw4HsMj0XCcZhcCptOIDQ6dVaXV2QxKk16vzWBeEwWPAbotHpUbp/VcHab/Ian5XNx3T7A5/d2fnOAcR95Y4RrhodmBHx3i4eJkB6MjY9ogm6OmCMJACH5BA0KAAQALAAAAAAkACQAAAN+GLocRCDK+aq1Lb/Jwf1P1mydBH4iQ5beiaXKWrovLHd0BccQ2+Y7R4+VC+1unCIhiKQUmcOZckqtWl2CrHYruIK4YO8HzBVfyFuzBa1VV9hZ9wPeldPlhLsdju/7vQOBgoMDeISHhoeDiYqBjI2PipGIco2Ck4SYi5WWhXIJACH5BA0KAAQALAAAAAAkACQAAAN7KLosRCHK+YC9GLT9pg9Vlm1N90mheJGMeYKEirGLe6YyrdgfruoOyAsmW+l4Hp8IiKTEipqj8KUcSYdE6GPL7Xq/4LB4/B2Yz+gBeZ1ur8nt9HscR8/F9fM9nDfvwX1qf16Bg4R9hl2FiYyNjo+QkZKTlJWWl5iZmpoJACH5BA0KAAQALAAAAAAkACQAAAN8OLo8RCLK+YK9OLT9phdVlm1N90mheJGMeYKEirGLe6YyrdgfruoOyAsmW+l4Hp8IiKTEipqj8KUcSYdE6GPL7Xq/4LB4TC5/Aei0GmAer99t8XsdD8/VdfA9nT/v2X1df4CBW4OFXIeID4qLjo+QkZKTlJWWl5iZmptxCQAh+QQNCgAEACwAAAAAJAAkAAADfUi6vPMwKkGrFS2ryMe8l5Z1EgGGIkNC30ml6uqZ7gtvcuve+KqfPIJsVrPdhj9QEEmrLXPNXXBKrVqvi4B2yw1gM93wtxHujhll7jmb1q4Vbfc77p3H3wQ6Xo/v+68AgYKDAHiEh4aHg4mKgYyNj4qRiG+NgpOEmIuVlgAJACH5BA0KAAQALAAAAAAkACQAAAN8SLrcziPKOZ69hGrMoZ5d+IEhN0qleVbptbLt88bWTDv27Z167/8cgXBIFAAJxeQxWVwyh86nESgVRp9XZlZJrR6/4AdgTC4rAui0OhAquwHn9br9JsflaXodTsCr9XV3foBvgniEboZyiGZ9fmiMdo6PkWOKcx17lpN+CQAh+QQNCgAEACwAAAAAJAAkAAADd0i63P4wykmrvTjrzbv/YCiOZGmSQ6quQ8i+7rvGckrXt5zDYK3uLODsRIQAjsgkQBFoOp8KgXRKFSivzKc2Wq1elVmtk9udfpNhcYBctp6PaTG7/IYT1GNC21yPb/V7bm9+UIB7dUt3eGuGbYiEeYGCZ5BNc10JACH5BA0KAAQALAAAAAAkACQAAAN3SLrc/jDKSau9OOvNu/9gKI5kaS5Aqq5AyL7uu8ZySte3nMNgre4s4OxELAaOyGRAIWg6n4qBdEodKK/MpzZarV6VWa2T251+k2GxgFy2no9pMbv8hhPUY0LbXI9v9Xtub35QgHt1S3d4a4ZtiIR5gYJnkE1zXQkAOw==);
62 | }
63 |
64 | .pogoSlider-slide-element {
65 | animation-fill-mode: both;
66 | }
67 |
68 | .m-pogoSlider .pogoSlider-slide-element {
69 | position: absolute;
70 | margin: 0;
71 | box-sizing: border-box;
72 | }
73 |
74 | .pogoSlider-progressBar {
75 | position: absolute;
76 | width: 100%;
77 | height: 5px;
78 | top: 0;
79 | left: 0%;
80 | background: #fff; /* fallback */
81 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
82 | filter: alpha(opacity=20);
83 | background: rgba(255,255,255,0.2);
84 | z-index: 6;
85 | }
86 |
87 | .pogoSlider-progressBar-duration {
88 | position: absolute;
89 | height: 100%;
90 | left: 0;
91 | width: 0%;
92 | background: #fff; /* fallback */
93 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
94 | filter: alpha(opacity=40);
95 | background: rgba(255,255,255,0.4);
96 | }
97 |
98 | .pogoSlider-dir-btn {
99 | position: absolute;
100 | z-index: 10;
101 | background: none;
102 | width: 20px;
103 | height: 20px;
104 | border-color: #eaeaea;
105 | border-color: rgba(255,255,255,0.7);
106 | border-style: solid;
107 | transform: rotate(45deg);
108 | cursor: pointer;
109 | }
110 |
111 | .pogoSlider-dir-btn:hover {
112 | border-color: #fff;
113 | }
114 |
115 | .pogoSlider-dir-btn:focus {
116 | outline: none;
117 | }
118 |
119 | .pogoSlider--dirTopLeft .pogoSlider-dir-btn--prev,
120 | .pogoSlider--dirTopRight .pogoSlider-dir-btn--prev,
121 | .pogoSlider--dirBottomLeft .pogoSlider-dir-btn--prev,
122 | .pogoSlider--dirBottomRight .pogoSlider-dir-btn--prev,
123 | .pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--prev {
124 | border-width: 0 0 3px 3px;
125 | }
126 |
127 | .pogoSlider--dirTopLeft .pogoSlider-dir-btn--next,
128 | .pogoSlider--dirTopRight .pogoSlider-dir-btn--next,
129 | .pogoSlider--dirBottomLeft .pogoSlider-dir-btn--next,
130 | .pogoSlider--dirBottomRight .pogoSlider-dir-btn--next,
131 | .pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--next {
132 | border-width: 3px 3px 0 0;
133 |
134 | }
135 |
136 | .pogoSlider--dirCenterVertical .pogoSlider-dir-btn--next {
137 | border-width: 3px 0 0 3px;
138 | }
139 |
140 | .pogoSlider--dirCenterVertical .pogoSlider-dir-btn--prev {
141 | border-width: 0 3px 3px 0;
142 | }
143 |
144 | .pogoSlider--dirTopLeft .pogoSlider-dir-btn,
145 | .pogoSlider--dirTopRight .pogoSlider-dir-btn,
146 | .pogoSlider--dirCenterVertical .pogoSlider-dir-btn--next {
147 | top: 14px;
148 | }
149 |
150 | .pogoSlider--dirTopLeft .pogoSlider-dir-btn--prev,
151 | .pogoSlider--dirBottomLeft .pogoSlider-dir-btn--prev,
152 | .pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--prev {
153 | left: 14px;
154 | }
155 |
156 | .pogoSlider--dirTopLeft .pogoSlider-dir-btn--next,
157 | .pogoSlider--dirBottomLeft .pogoSlider-dir-btn--next {
158 | left: 50px;
159 | }
160 |
161 | .pogoSlider--dirTopRight .pogoSlider-dir-btn--prev,
162 | .pogoSlider--dirBottomRight .pogoSlider-dir-btn--prev {
163 | right: 50px;
164 | }
165 |
166 | .pogoSlider--dirTopRight .pogoSlider-dir-btn--next,
167 | .pogoSlider--dirBottomRight .pogoSlider-dir-btn--next,
168 | .pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--next {
169 | right: 14px;
170 | }
171 |
172 | .pogoSlider--dirBottomLeft .pogoSlider-dir-btn,
173 | .pogoSlider--dirBottomRight .pogoSlider-dir-btn,
174 | .pogoSlider--dirCenterVertical .pogoSlider-dir-btn--prev {
175 | bottom: 14px;
176 | }
177 |
178 | .pogoSlider--dirCenterVertical .pogoSlider-dir-btn {
179 | left: 50%;
180 | margin-left: -10px
181 | }
182 |
183 | .pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn {
184 | top: 50%;
185 | margin-top: -10px;
186 | }
187 |
188 | .pogoSlider-nav {
189 | position: absolute;
190 | padding: 0;
191 | margin: 0;
192 | z-index: 10;
193 | }
194 |
195 | .pogoSlider--navTop .pogoSlider-nav,
196 | .pogoSlider--navBottom .pogoSlider-nav {
197 | left: 50%;
198 | transform: translateX(-50%);
199 | }
200 |
201 | .pogoSlider--navTop .pogoSlider-nav {
202 | top: 10px;
203 | }
204 |
205 | .pogoSlider--navBottom .pogoSlider-nav {
206 | bottom: 10px;
207 | }
208 |
209 | .pogoSlider--navTop .pogoSlider-nav li,
210 | .pogoSlider--navBottom .pogoSlider-nav li {
211 | display: inline;
212 | margin: 0 6px;
213 | }
214 |
215 | .pogoSlider--navLeft .pogoSlider-nav,
216 | .pogoSlider--navRight .pogoSlider-nav {
217 | top: 50%;
218 | transform: translateY(-50%);
219 | }
220 |
221 | .pogoSlider--navLeft .pogoSlider-nav {
222 | left: 10px;
223 | }
224 |
225 | .pogoSlider--navRight .pogoSlider-nav {
226 | right: 10px;
227 | }
228 |
229 | .pogoSlider--navLeft .pogoSlider-nav li,
230 | .pogoSlider--navRight .pogoSlider-nav li {
231 | display: block;
232 | margin: 6px 0;
233 | }
234 |
235 | .pogoSlider-nav-btn {
236 | background: #cccccc;
237 | background: rgba(255,255,255,0.5);
238 | border: none;
239 | border-radius: 50%;
240 | width: 20px;
241 | height: 20px;
242 | box-shadow: 0 1px 1px rgba(0,0,0,0.1);
243 | cursor: pointer;
244 | }
245 |
246 | .pogoSlider-nav-btn:focus {
247 | outline: none;
248 | }
249 |
250 | .pogoSlider-nav-btn--selected {
251 | background: #fff;
252 | box-shadow: 0 1px 1px rgba(0,0,0,0.3);
253 | }
254 |
255 | .pogoSlider-slide-slice {
256 | overflow: hidden;
257 | position: absolute;
258 | background-size: cover;
259 | }
260 |
261 | .pogoSlider-slide-slice-inner {
262 | position: absolute;
263 | overflow: hidden;
264 | }
265 |
266 | /**
267 | * Element Animations
268 | */
269 |
270 | /* Slide Down */
271 |
272 | .pogoSlider-animation-slideDownIn {
273 | animation-name: slideDownIn;
274 | }
275 |
276 | @keyframes slideDownIn {
277 | 0% {
278 | transform: translateY(-50px);
279 | opacity: 0;
280 | }
281 |
282 | 100% {
283 | transform: translateY(0);
284 | opacity: 1;
285 | }
286 | }
287 |
288 | .pogoSlider-animation-slideDownOut {
289 | animation-name: slideDownOut;
290 | }
291 |
292 | @keyframes slideDownOut {
293 | 0% {
294 | transform: translateY(0);
295 | opacity: 1;
296 | }
297 |
298 | 100% {
299 | transform: translateY(50px);
300 | opacity: 0;
301 | }
302 | }
303 |
304 | /* Slide Up */
305 |
306 | .pogoSlider-animation-slideUpIn {
307 | animation-name: slideUpIn;
308 | }
309 |
310 | @keyframes slideUpIn {
311 | 0% {
312 | transform: translateY(50px);
313 | opacity: 0;
314 | }
315 |
316 | 100% {
317 | transform: translateY(0);
318 | opacity: 1;
319 | }
320 | }
321 |
322 | .pogoSlider-animation-slideUpOut {
323 | animation-name: slideUpOut;
324 | }
325 |
326 | @keyframes slideUpOut {
327 | 0% {
328 | transform: translateY(0);
329 | opacity: 1;
330 | }
331 |
332 | 100% {
333 | transform: translateY(50px);
334 | opacity: 0;
335 | }
336 | }
337 |
338 | /* Slide Right */
339 |
340 | .pogoSlider-animation-slideRightIn {
341 | animation-name: slideRightIn;
342 | }
343 |
344 | .pogoSlider-animation-slideRightOut {
345 | animation-name: slideRightOut;
346 | }
347 |
348 | @keyframes slideRightIn {
349 | 0% {
350 | transform: translateX(-50px);
351 | opacity: 0;
352 | }
353 |
354 | 100% {
355 | transform: translateX(0);
356 | opacity: 1;
357 | }
358 | }
359 |
360 | @keyframes slideRightOut {
361 | 0% {
362 | transform: translateX(0);
363 | opacity: 1;
364 | }
365 |
366 | 100% {
367 | transform: translateX(50px);
368 | opacity: 0;
369 | }
370 | }
371 |
372 | /* Slide Left */
373 |
374 | .pogoSlider-animation-slideLeftIn {
375 | animation-name: slideLeftIn;
376 | }
377 |
378 | .pogoSlider-animation-slideLeftOut {
379 | animation-name: slideLeftOut;
380 | }
381 |
382 | @keyframes slideLeftIn {
383 | 0% {
384 | transform: translateX(50px);
385 | opacity: 0;
386 | }
387 |
388 | 100% {
389 | transform: translateX(0);
390 | opacity: 1;
391 | }
392 | }
393 |
394 | @keyframes slideLeftOut {
395 | 0% {
396 | transform: translateX(0);
397 | opacity: 1;
398 | }
399 |
400 | 100% {
401 | transform: translateX(-50px);
402 | opacity: 0;
403 | }
404 | }
405 |
406 | /* Expand */
407 |
408 | .pogoSlider-animation-expandIn {
409 | animation-name: expandIn;
410 | }
411 |
412 | .pogoSlider-animation-expandOut {
413 | animation-name: expandOut;
414 | }
415 |
416 | @keyframes expandIn {
417 | 0% {
418 | transform: scale(0.7);
419 | opacity: 0;
420 | }
421 |
422 | 100% {
423 | transform: scale(1);
424 | opacity: 1;
425 | }
426 | }
427 |
428 | @keyframes expandOut {
429 | 0% {
430 | transform: scale(1);
431 | opacity: 1;
432 | }
433 |
434 | 100% {
435 | transform: scale(1.5);
436 | opacity: 0;
437 | }
438 | }
439 |
440 | /* Contract */
441 |
442 | .pogoSlider-animation-contractIn {
443 | animation-name: contractIn;
444 | }
445 |
446 | .pogoSlider-animation-contractOut {
447 | animation-name: contractOut;
448 | }
449 |
450 | @keyframes contractIn {
451 | 0% {
452 | transform: scale(2);
453 | opacity: 0;
454 | }
455 |
456 | 100% {
457 | transform: scale(1);
458 | opacity: 1;
459 | }
460 | }
461 |
462 | @keyframes contractOut {
463 | 0% {
464 | transform: scale(1);
465 | opacity: 1;
466 | }
467 |
468 | 100% {
469 | transform: scale(0.5);
470 | opacity: 0;
471 | }
472 | }
473 |
474 | /* Spin In */
475 |
476 | .pogoSlider-animation-spinIn {
477 | animation-name: spinIn;
478 | }
479 |
480 | .pogoSlider-animation-spinOut {
481 | animation-name: spinOut;
482 | }
483 |
484 | @keyframes spinIn {
485 | 0% {
486 | backface-visibility: hidden;
487 | transform: scale(0) rotate(720deg);
488 | }
489 |
490 | 100% {
491 | backface-visibility: hidden;
492 | transform: scale(1) rotate(0);
493 | }
494 | }
495 |
496 | @keyframes spinOut {
497 | 0% {
498 | backface-visibility: hidden;
499 | transform: scale(1) rotate(0);
500 | }
501 |
502 | 100% {
503 | backface-visibility: hidden;
504 | transform: scale(0) rotate(720deg);
505 | }
506 | }
507 |
508 | /* Side Fall */
509 |
510 | .pogoSlider-animation-sideFallIn {
511 | transform-style: preserve-3d;
512 | animation-name: sideFallIn;
513 | }
514 |
515 | .pogoSlider-animation-sideFallOut {
516 | transform-style: preserve-3d;
517 | animation-name: sideFallOut;
518 | }
519 |
520 | @keyframes sideFallIn {
521 | 0% {
522 | transform: translate(30%) translateZ(600px) rotate(10deg);
523 | opacity: 0;
524 | }
525 |
526 | 100% {
527 | transform: translate(0) translateZ(0) rotate(0);
528 | opacity: 1;
529 | }
530 | }
531 |
532 | @keyframes sideFallOut {
533 | 0% {
534 | transform: translate(0) translateZ(0) rotate(0);
535 | opacity: 1;
536 | }
537 |
538 | 100% {
539 | transform: translate(30%) translateZ(600px) rotate(10deg);
540 | opacity: 0;
541 | }
542 | }
543 |
544 | /* 3D Horizontal Flip */
545 |
546 | .pogoSlider-animation-horizontal3DFlipIn {
547 | transform-style: preserve-3d;
548 | animation-name: horizontal3DFlipIn;
549 | }
550 |
551 | .pogoSlider-animation-horizontal3DFlipOut {
552 | transform-style: preserve-3d;
553 | animation-name: horizontal3DFlipOut;
554 | }
555 |
556 | @keyframes horizontal3DFlipIn {
557 | 0% {
558 | transform: rotateY(-70deg);
559 | opacity: 0;
560 | }
561 |
562 | 100% {
563 | transform: rotateY(0deg);
564 | opacity: 1;
565 | }
566 | }
567 |
568 | @keyframes horizontal3DFlipOut {
569 | 0% {
570 | transform: rotateY(0deg);
571 | opacity: 1;
572 | }
573 |
574 | 100% {
575 | transform: rotateY(-70deg);
576 | opacity: 0;
577 | }
578 | }
579 |
580 | /* 3D Vertical Flip */
581 |
582 | .pogoSlider-animation-vertical3DFlipIn {
583 | transform-style: preserve-3d;
584 | animation-name: vertical3DFlipIn;
585 | }
586 |
587 | .pogoSlider-animation-vertical3DFlipOut {
588 | transform-style: preserve-3d;
589 | animation-name: vertical3DFlipOut;
590 | }
591 |
592 | @keyframes vertical3DFlipIn {
593 | 0% {
594 | transform: rotateX(-70deg);
595 | opacity: 0;
596 | }
597 |
598 | 100% {
599 | transform: rotateX(0);
600 | opacity: 1;
601 | }
602 | }
603 |
604 | @keyframes vertical3DFlipOut {
605 | 0% {
606 | transform: rotateX(0);
607 | opacity: 1;
608 | }
609 |
610 | 100% {
611 | transform: rotateX(-70deg);
612 | opacity: 0;
613 | }
614 | }
615 |
616 | /* 3d Pivot */
617 |
618 | .pogoSlider-animation-3DPivotIn {
619 | transform-style: preserve-3d;
620 | animation-name: pivotIn;
621 | }
622 |
623 | .pogoSlider-animation-3DPivotOut {
624 | transform-style: preserve-3d;
625 | animation-name: pivotOut;
626 | }
627 |
628 | @keyframes pivotIn {
629 | 0% {
630 | transform: rotateX(-60deg);
631 | transform-origin: 50% 0;
632 | opacity: 0;
633 | }
634 |
635 | 100% {
636 | transform: rotateX(0);
637 | transform-origin: 0 0;
638 | opacity: 1;
639 | }
640 | }
641 |
642 | @keyframes pivotOut {
643 | 0% {
644 | transform: rotateX(0);
645 | transform-origin: 0 0;
646 | opacity: 1;
647 | }
648 |
649 | 100% {
650 | transform: rotateX(-60deg);
651 | transform-origin: 50% 0;
652 | opacity: 0;
653 | }
654 | }
655 |
656 | /* Roll Left */
657 |
658 | .pogoSlider-animation-rollLeftIn {
659 | animation-name: rollLeftIn;
660 | }
661 |
662 | .pogoSlider-animation-rollLeftOut {
663 | animation-name: rollLeftOut;
664 | }
665 |
666 | @keyframes rollLeftIn {
667 | 0% {
668 | opacity: 0;
669 | transform: translateX(100%) rotate(120deg);
670 | }
671 |
672 | 100% {
673 | opacity: 1;
674 | transform: translateX(0px) rotate(0deg);
675 | }
676 | }
677 |
678 | @keyframes rollLeftOut {
679 | 0% {
680 | opacity: 1;
681 | transform: translateX(0px) rotate(0deg);
682 | }
683 |
684 | 100% {
685 | opacity: 0;
686 | transform: translateX(-100%) rotate(-120deg);
687 | }
688 | }
689 |
690 |
691 | /* Roll Right */
692 |
693 | .pogoSlider-animation-rollRightIn {
694 | animation-name: rollRightIn;
695 | }
696 |
697 | .pogoSlider-animation-rollRightOut {
698 | animation-name: rollRightOut;
699 | }
700 |
701 | @keyframes rollRightIn {
702 | 0% {
703 | opacity: 0;
704 | transform: translateX(-100%) rotate(-120deg);
705 | }
706 |
707 | 100% {
708 | opacity: 1;
709 | transform: translateX(0px) rotate(0deg);
710 | }
711 | }
712 |
713 | @keyframes rollRightOut {
714 | 0% {
715 | opacity: 1;
716 | transform: translateX(0px) rotate(0deg);
717 | }
718 |
719 | 100% {
720 | opacity: 0;
721 | transform: translateX(100%) rotate(120deg);
722 | }
723 | }
724 |
725 | /* Glide Left */
726 |
727 | .pogoSlider-animation-glideLeftIn {
728 | animation-name: glideLeftIn;
729 | animation-timing-function: ease-out;
730 | }
731 |
732 | .pogoSlider-animation-glideLeftOut {
733 | animation-name: glideLeftOut;
734 | animation-timing-function: ease-in;
735 | }
736 |
737 | @keyframes glideLeftIn {
738 | 0% {
739 | transform: translateX(100%) skewX(-30deg);
740 | opacity: 0;
741 | }
742 |
743 | 60% {
744 | transform: translateX(-20%) skewX(30deg);
745 | opacity: 1;
746 | }
747 |
748 | 80% {
749 | transform: translateX(0%) skewX(-15deg);
750 | opacity: 1;
751 | }
752 |
753 | 100% {
754 | transform: translateX(0%) skewX(0deg);
755 | opacity: 1;
756 | }
757 | }
758 |
759 | @keyframes glideLeftOut {
760 | 0% {
761 | transform: translateX(0%) skewX(0deg);
762 | opacity: 1;
763 | }
764 |
765 | 100% {
766 | transform: translateX(-100%) skewX(30deg);
767 | opacity: 0;
768 | }
769 | }
770 |
771 |
772 | /* Glide Right */
773 |
774 | .pogoSlider-animation-glideRightIn {
775 | animation-name: glideRightIn;
776 | animation-timing-function: ease-out;
777 | }
778 |
779 | .pogoSlider-animation-glideRightOut {
780 | animation-name: glideRightOut;
781 | animation-timing-function: ease-in;
782 | }
783 |
784 | @keyframes glideRightIn {
785 | 0% {
786 | transform: translateX(-100%) skewX(30deg);
787 | opacity: 0;
788 | }
789 |
790 | 60% {
791 | transform: translateX(20%) skewX(-30deg);
792 | opacity: 1;
793 | }
794 |
795 | 80% {
796 | transform: translateX(0%) skewX(15deg);
797 | opacity: 1;
798 | }
799 |
800 | 100% {
801 | transform: translateX(0%) skewX(0deg);
802 | opacity: 1;
803 | }
804 | }
805 |
806 | @keyframes glideRightOut {
807 | 0% {
808 | transform: translateX(0%) skewX(0deg);
809 | opacity: 1;
810 | }
811 |
812 | 100% {
813 | transform: translateX(100%) skewX(-30deg);
814 | opacity: 0;
815 | }
816 | }
817 |
818 | /* FlipX */
819 |
820 | .pogoSlider-animation-flipXIn {
821 | backface-visibility: visible !important;
822 | animation-name: flipXIn;
823 | }
824 |
825 | .pogoSlider-animation-flipXOut {
826 | animation-name: flipXOut;
827 | backface-visibility: visible !important;
828 | }
829 |
830 | @keyframes flipXIn {
831 | 0% {
832 | transform: perspective(400px) rotateX(90deg);
833 | opacity: 0;
834 | }
835 |
836 | 40% {
837 | transform: perspective(400px) rotateX(-10deg);
838 | }
839 |
840 | 70% {
841 | transform: perspective(400px) rotateX(10deg);
842 | }
843 |
844 | 100% {
845 | transform: perspective(400px) rotateX(0deg);
846 | opacity: 1;
847 | }
848 | }
849 |
850 | @keyframes flipXOut {
851 | 0% {
852 | transform: perspective(400px) rotateX(0deg);
853 | opacity: 1;
854 | }
855 |
856 | 100% {
857 | transform: perspective(400px) rotateX(90deg);
858 | opacity: 0;
859 | }
860 | }
861 |
862 | /* FlipY */
863 |
864 | .pogoSlider-animation-flipYIn {
865 | backface-visibility: visible !important;
866 | animation-name: flipYIn;
867 | }
868 |
869 | .pogoSlider-animation-flipYOut {
870 | backface-visibility: visible !important;
871 | animation-name: flipYOut;
872 | }
873 |
874 | @keyframes flipYIn {
875 | 0% {
876 | transform: perspective(400px) rotateY(90deg);
877 | opacity: 0;
878 | }
879 |
880 | 40% {
881 | transform: perspective(400px) rotateY(-10deg);
882 | }
883 |
884 | 70% {
885 | transform: perspective(400px) rotateY(10deg);
886 | }
887 |
888 | 100% {
889 | transform: perspective(400px) rotateY(0deg);
890 | opacity: 1;
891 | }
892 | }
893 |
894 | @keyframes flipYOut {
895 | 0% {
896 | transform: perspective(400px) rotateY(0deg);
897 | opacity: 1;
898 | }
899 |
900 | 100% {
901 | transform: perspective(400px) rotateY(90deg);
902 | opacity: 0;
903 | }
904 | }
905 |
906 | /**
907 | * Slide Animations
908 | */
909 |
910 | /* Fold Left */
911 |
912 | .pogoSlider-animation-foldInLeft {
913 | animation-name: foldInLeft;
914 | animation-fill-mode: forwards;
915 | backface-visibility: hidden;
916 | transform-origin: 0% 0% 0;
917 | transform-style: preserve-3d;
918 | }
919 |
920 | @keyframes foldInLeft {
921 | 0% {
922 | transform: rotateY(0deg);
923 | }
924 |
925 | 100% {
926 | transform: rotateY(-180deg);
927 | }
928 | }
929 |
930 | .pogoSlider-animation-foldOutLeft {
931 | animation-name: foldOutLeft;
932 | animation-fill-mode: forwards;
933 | backface-visibility: hidden;
934 | transform-origin: 100% 100% 0;
935 | transform-style: preserve-3d;
936 | }
937 |
938 | @keyframes foldOutLeft {
939 | 0% {
940 | transform: rotateY(180deg);
941 | }
942 |
943 | 100% {
944 | transform: rotateY(0deg);
945 | }
946 | }
947 |
948 | /* Fold Right */
949 |
950 | .pogoSlider-animation-foldInRight {
951 | animation-name: foldInRight;
952 | animation-fill-mode: forwards;
953 | backface-visibility: hidden;
954 | transform-origin: 100% 100% 0;
955 | transform-style: preserve-3d;
956 | }
957 |
958 | @keyframes foldInRight {
959 | 0% {
960 | transform: rotateY(0deg);
961 | }
962 |
963 | 100% {
964 | transform: rotateY(180deg);
965 | }
966 | }
967 |
968 | .pogoSlider-animation-foldOutRight {
969 | animation-name: foldOutRight;
970 | animation-fill-mode: forwards;
971 | backface-visibility: hidden;
972 | transform-origin: 0% 0% 0;
973 | transform-style: preserve-3d;
974 | }
975 |
976 | @keyframes foldOutRight {
977 | 0% {
978 | transform: rotateY(-180deg);
979 | }
980 |
981 | 100% {
982 | transform: rotateY(0deg);
983 | }
984 | }
985 |
986 | /* Expand Reveal */
987 |
988 | .pogoSlider-animation-expandReveal {
989 | animation-name: expandReveal;
990 | animation-fill-mode: forwards;
991 | }
992 |
993 | @keyframes expandReveal {
994 | 0% {
995 | transform: scale(1);
996 | opacity: 1;
997 | }
998 |
999 | 100% {
1000 | transform: scale(1.3);
1001 | opacity: 0;
1002 | }
1003 | }
1004 |
1005 | /* Shrink Reveal */
1006 |
1007 | .pogoSlider-animation-shrinkReveal {
1008 | animation-name: shrinkReveal;
1009 | animation-fill-mode: forwards;
1010 | }
1011 |
1012 | @keyframes shrinkReveal {
1013 | 0% {
1014 | transform: scale(1);
1015 | opacity: 1;
1016 | }
1017 |
1018 | 100% {
1019 | transform: scale(0.5);
1020 | opacity: 0;
1021 | }
1022 | }
1023 |
1024 | /* Blocks Reveal */
1025 |
1026 | .pogoSlider-animation-blocksReveal {
1027 | animation-name: blocksReveal;
1028 | animation-fill-mode: forwards;
1029 | }
1030 |
1031 | @keyframes blocksReveal {
1032 | 0% {
1033 | transform: scale(1);
1034 | opacity: 1;
1035 | }
1036 |
1037 | 100% {
1038 | transform: scale(0.8);
1039 | opacity: 0;
1040 | }
1041 | }
1042 |
1043 | /* Down */
1044 |
1045 | .pogoSlider-animation-downIn {
1046 | animation-name: downIn;
1047 | animation-fill-mode: forwards;
1048 | }
1049 |
1050 | @keyframes downIn {
1051 | 0% {
1052 | transform: translateY(-100%);
1053 | }
1054 |
1055 | 100% {
1056 | transform: translateY(0);
1057 | }
1058 | }
1059 |
1060 | .pogoSlider-animation-downOut {
1061 | animation-name: downOut;
1062 | animation-fill-mode: forwards;
1063 | }
1064 |
1065 | @keyframes downOut {
1066 | 0% {
1067 | transform: translateY(0);
1068 | }
1069 |
1070 | 100% {
1071 | transform: translateY(100%);
1072 | }
1073 | }
1074 |
1075 | /* Up */
1076 |
1077 | .pogoSlider-animation-upIn {
1078 | animation-name: upIn;
1079 | animation-fill-mode: forwards;
1080 | }
1081 |
1082 | @keyframes upIn {
1083 | 0% {
1084 | transform: translateY(100%);
1085 | }
1086 |
1087 | 100% {
1088 | transform: translateY(0);
1089 | }
1090 | }
1091 |
1092 | .pogoSlider-animation-upOut {
1093 | animation-name: upOut;
1094 | animation-fill-mode: forwards;
1095 | }
1096 |
1097 | @keyframes upOut {
1098 | 0% {
1099 | transform: translateY(0);
1100 | }
1101 |
1102 | 100% {
1103 | transform: translateY(-100%);
1104 | }
1105 | }
1106 |
1107 | /* Right */
1108 |
1109 | .pogoSlider-animation-rightIn {
1110 | animation-name: rightIn;
1111 | animation-fill-mode: forwards;
1112 | }
1113 |
1114 | @keyframes rightIn {
1115 | 0% {
1116 | transform: translateX(-100%);
1117 | }
1118 |
1119 | 100% {
1120 | transform: translateX(0);
1121 | }
1122 | }
1123 |
1124 | .pogoSlider-animation-rightOut {
1125 | animation-name: rightOut;
1126 | animation-fill-mode: forwards;
1127 | }
1128 |
1129 | @keyframes rightOut {
1130 | 0% {
1131 | transform: translateX(0);
1132 | }
1133 |
1134 | 100% {
1135 | transform: translateX(100%);
1136 | }
1137 | }
1138 |
1139 | /* Left */
1140 |
1141 | .pogoSlider-animation-leftIn {
1142 | animation-name: leftIn;
1143 | animation-fill-mode: forwards;
1144 | }
1145 |
1146 | @keyframes leftIn {
1147 | 0% {
1148 | transform: translateX(100%);
1149 | }
1150 |
1151 | 100% {
1152 | transform: translateX(0);
1153 | }
1154 | }
1155 |
1156 | .pogoSlider-animation-leftOut {
1157 | animation-name: leftOut;
1158 | animation-fill-mode: forwards;
1159 | }
1160 |
1161 | @keyframes leftOut {
1162 | 0% {
1163 | transform: translateX(0);
1164 | }
1165 |
1166 | 100% {
1167 | transform: translateX(-100%);
1168 | }
1169 | }
--------------------------------------------------------------------------------