/
redux-favicon.min.js
7 lines (7 loc) · 11.7 KB
/
redux-favicon.min.js
1
2
3
4
5
6
7
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ReduxFavicon=t():e.ReduxFavicon=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";"undefined"==typeof window?e.exports=n(1):e.exports=n(2)},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return function(){return function(e){return function(t){e(t)}}}},e.exports=t.default},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c,t=new u.default(e);return{currentVal:0,update:function(e,n){if("number"==typeof e){if(e%1!==0)return n("\n Warning: Favico not affected.\n You provided a floating-point value: "+e+".\n You need to provide an integer, or a keyword value.\n\n See https://github.com/joshwcomeau/redux-favicon#troubleshooting for more information.\n ");this.currentVal=e}else{if("string"!=typeof e){var o="undefined"==typeof e?"undefined":i(e);return n("\n Warning: Favico provided an illegal type.\n You provided a a value of type: "+o+".\n We only accept integers or strings.\n\n See https://github.com/joshwcomeau/redux-favicon#troubleshooting for more information.\n ")}switch(e.toLowerCase()){case"increment":this.currentVal++;break;case"decrement":this.currentVal--;break;case"reset":this.currentVal=0;break;default:return n("\n Warning: Favico not affected.\n You provided a string value: "+e+".\n The only strings we accept are: "+f.join(", ")+".\n\n See https://github.com/joshwcomeau/redux-favicon#troubleshooting for more information.\n ")}}return this.currentVal=this.currentVal<0?0:this.currentVal,t.badge(this.currentVal),n()}}}Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=function(e){e&&"function"==typeof e.getState&&console.error("\n redux-favicon middleware not preloaded!\n You need to first call reduxFavicon with its configuration to initialize it, THEN pass it to createStore.\n\n See https://github.com/joshwcomeau/redux-favicon#setup");var t=r(e);return function(e){return function(e){return function(n){return n.meta&&"undefined"!=typeof n.meta.favicon?void t.update(n.meta.favicon,function(t){return t&&console.warn(t),e(n)}):e(n)}}}};var a=n(3),u=o(a),c={animation:"slide"},f=["increment","decrement","reset"];e.exports=t.default},function(e,t,n){var o,r;/**
* @license MIT
* @fileOverview Favico animations
* @author Miroslav Magda, http://blog.ejci.net
* @version 0.3.10
*/
!function(){var n=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{s.clearRect(0,0,c,u),s.drawImage(e,0,0,c,u)}catch(e){}x=setTimeout(function(){t(e)},L.duration),j.setIcon(f)}function n(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(e,t,n,o){return t+t+n+n+o+o});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return!!n&&{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}}function o(e,t){var n,o={};for(n in e)o[n]=e[n];for(n in t)o[n]=t[n];return o}function r(){return b.hidden||b.msHidden||b.webkitHidden||b.mozHidden}e=e?e:{};var i,a,u,c,f,s,l,d,h,y,p,g,w,m,x,b,v={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,dataUrl:!1,win:window};w={},w.ff="undefined"!=typeof InstallTrigger,w.chrome=!!window.chrome,w.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,w.ie=!1,w.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,w.supported=w.chrome||w.ff||w.opera;var C=[];p=function(){},d=g=!1;var M=function(){i=o(v,e),i.bgColor=n(i.bgColor),i.textColor=n(i.textColor),i.position=i.position.toLowerCase(),i.animation=L.types[""+i.animation]?i.animation:v.animation,b=i.win.document;var t=i.position.indexOf("up")>-1,r=i.position.indexOf("left")>-1;if(t||r)for(var d=0;d<L.types[""+i.animation].length;d++){var h=L.types[""+i.animation][d];t&&(h.y<.6?h.y=h.y-.4:h.y=h.y-2*h.y+(1-h.w)),r&&(h.x<.6?h.x=h.x-.4:h.x=h.x-2*h.x+(1-h.h)),L.types[""+i.animation][d]=h}i.type=T[""+i.type]?i.type:v.type,a=j.getIcon(),f=document.createElement("canvas"),l=document.createElement("img"),a.hasAttribute("href")?(l.setAttribute("crossOrigin","anonymous"),l.onload=function(){u=l.height>0?l.height:32,c=l.width>0?l.width:32,f.height=u,f.width=c,s=f.getContext("2d"),E.ready()},l.setAttribute("src",a.getAttribute("href"))):(l.onload=function(){u=32,c=32,l.height=u,l.width=c,f.height=u,f.width=c,s=f.getContext("2d"),E.ready()},l.setAttribute("src",""))},E={};E.ready=function(){d=!0,E.reset(),p()},E.reset=function(){d&&(C=[],h=!1,y=!1,s.clearRect(0,0,c,u),s.drawImage(l,0,0,c,u),j.setIcon(f),window.clearTimeout(m),window.clearTimeout(x))},E.start=function(){if(d&&!y){var e=function(){h=C[0],y=!1,C.length>0&&(C.shift(),E.start())};if(C.length>0){y=!0;var t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach(function(e){e in C[0].options&&(i[e]=C[0].options[e])}),L.run(C[0].options,function(){e()},!1)};h?L.run(h.options,function(){t()},!0):t()}}};var T={},A=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=c*e.x,e.y=u*e.y,e.w=c*e.w,e.h=u*e.h,e.len=(""+e.n).length,e};T.circle=function(e){e=A(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),s.clearRect(0,0,c,u),s.drawImage(l,0,0,c,u),s.beginPath(),s.font=i.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+i.fontFamily,s.textAlign="center",t?(s.moveTo(e.x+e.w/2,e.y),s.lineTo(e.x+e.w-e.h/2,e.y),s.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),s.lineTo(e.x+e.w,e.y+e.h-e.h/2),s.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),s.lineTo(e.x+e.h/2,e.y+e.h),s.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),s.lineTo(e.x,e.y+e.h/2),s.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):s.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),s.fillStyle="rgba("+i.bgColor.r+","+i.bgColor.g+","+i.bgColor.b+","+e.o+")",s.fill(),s.closePath(),s.beginPath(),s.stroke(),s.fillStyle="rgba("+i.textColor.r+","+i.textColor.g+","+i.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?s.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):s.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),s.closePath()},T.rectangle=function(e){e=A(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),s.clearRect(0,0,c,u),s.drawImage(l,0,0,c,u),s.beginPath(),s.font=i.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+i.fontFamily,s.textAlign="center",s.fillStyle="rgba("+i.bgColor.r+","+i.bgColor.g+","+i.bgColor.b+","+e.o+")",s.fillRect(e.x,e.y,e.w,e.h),s.fillStyle="rgba("+i.textColor.r+","+i.textColor.g+","+i.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?s.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):s.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),s.closePath()};var I=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},p=function(){try{if("number"==typeof e?e>0:""!==e){var o={type:"badge",options:{n:e}};if("animation"in t&&L.types[""+t.animation]&&(o.options.animation=""+t.animation),"type"in t&&T[""+t.type]&&(o.options.type=""+t.type),["bgColor","textColor"].forEach(function(e){e in t&&(o.options[e]=n(t[e]))}),["fontStyle","fontFamily"].forEach(function(e){e in t&&(o.options[e]=t[e])}),C.push(o),C.length>100)throw new Error("Too many badges requests in queue.");E.start()}else E.reset()}catch(e){throw new Error("Error setting badge. Message: "+e.message)}},d&&p()},S=function(e){p=function(){try{var t=e.width,n=e.height,o=document.createElement("img"),r=t/c<n/u?t/c:n/u;o.setAttribute("crossOrigin","anonymous"),o.onload=function(){s.clearRect(0,0,c,u),s.drawImage(o,0,0,c,u),j.setIcon(f)},o.setAttribute("src",e.getAttribute("src")),o.height=n/r,o.width=t/r}catch(e){throw new Error("Error setting image. Message: "+e.message)}},d&&p()},U=function(e){p=function(){try{if("stop"===e)return g=!0,E.reset(),void(g=!1);e.addEventListener("play",function(){t(this)},!1)}catch(e){throw new Error("Error setting video. Message: "+e.message)}},d&&p()},R=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),w.supported){var n=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,p=function(){try{if("stop"===e)return g=!0,E.reset(),void(g=!1);n=document.createElement("video"),n.width=c,n.height=u,navigator.getUserMedia({video:!0,audio:!1},function(e){n.src=URL.createObjectURL(e),n.play(),t(n)},function(){})}catch(e){throw new Error("Error setting webcam. Message: "+e.message)}},d&&p()}},j={};j.getIcon=function(){var e=!1,t=function(){for(var e=b.getElementsByTagName("head")[0].getElementsByTagName("link"),t=e.length,n=t-1;n>=0;n--)if(/(^|\s)icon(\s|$)/i.test(e[n].getAttribute("rel")))return e[n];return!1};return i.element?e=i.element:i.elementId?(e=b.getElementById(i.elementId),e.setAttribute("href",e.getAttribute("src"))):(e=t(),e===!1&&(e=b.createElement("link"),e.setAttribute("rel","icon"),b.getElementsByTagName("head")[0].appendChild(e))),e.setAttribute("type","image/png"),e},j.setIcon=function(e){var t=e.toDataURL("image/png");if(i.dataUrl&&i.dataUrl(t),i.element)i.element.setAttribute("href",t),i.element.setAttribute("src",t);else if(i.elementId){var n=b.getElementById(i.elementId);n.setAttribute("href",t),n.setAttribute("src",t)}else if(w.ff||w.opera){var o=a;a=b.createElement("link"),w.opera&&a.setAttribute("rel","icon"),a.setAttribute("rel","icon"),a.setAttribute("type","image/png"),b.getElementsByTagName("head")[0].appendChild(a),a.setAttribute("href",t),o.parentNode&&o.parentNode.removeChild(o)}else a.setAttribute("href",t)};var L={};return L.duration=40,L.types={},L.types.fade=[{x:.4,y:.4,w:.6,h:.6,o:0},{x:.4,y:.4,w:.6,h:.6,o:.1},{x:.4,y:.4,w:.6,h:.6,o:.2},{x:.4,y:.4,w:.6,h:.6,o:.3},{x:.4,y:.4,w:.6,h:.6,o:.4},{x:.4,y:.4,w:.6,h:.6,o:.5},{x:.4,y:.4,w:.6,h:.6,o:.6},{x:.4,y:.4,w:.6,h:.6,o:.7},{x:.4,y:.4,w:.6,h:.6,o:.8},{x:.4,y:.4,w:.6,h:.6,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],L.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],L.types.pop=[{x:1,y:1,w:0,h:0,o:1},{x:.9,y:.9,w:.1,h:.1,o:1},{x:.8,y:.8,w:.2,h:.2,o:1},{x:.7,y:.7,w:.3,h:.3,o:1},{x:.6,y:.6,w:.4,h:.4,o:1},{x:.5,y:.5,w:.5,h:.5,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],L.types.popFade=[{x:.75,y:.75,w:0,h:0,o:0},{x:.65,y:.65,w:.1,h:.1,o:.2},{x:.6,y:.6,w:.2,h:.2,o:.4},{x:.55,y:.55,w:.3,h:.3,o:.6},{x:.5,y:.5,w:.4,h:.4,o:.8},{x:.45,y:.45,w:.5,h:.5,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],L.types.slide=[{x:.4,y:1,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.8,w:.6,h:.6,o:1},{x:.4,y:.7,w:.6,h:.6,o:1},{x:.4,y:.6,w:.6,h:.6,o:1},{x:.4,y:.5,w:.6,h:.6,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],L.run=function(e,t,n,a){var u=L.types[r()?"none":i.animation];return a=n===!0?"undefined"!=typeof a?a:u.length-1:"undefined"!=typeof a?a:0,t=t?t:function(){},a<u.length&&a>=0?(T[i.type](o(e,u[a])),m=setTimeout(function(){n?a-=1:a+=1,L.run(e,t,n,a)},L.duration),j.setIcon(f),void 0):void t()},M(),{badge:I,video:U,image:S,webcam:R,reset:E.reset,browser:{supported:w.supported}}};o=[],r=function(){return n}.apply(t,o),!(void 0!==r&&(e.exports=r))}()}])});