UNPKG

react-smartbanner

Version:
1 lines 20.6 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["react","prop-types"],t):"object"==typeof exports?exports.SmartBanner=t(require("react"),require("prop-types")):e.SmartBanner=t(e.React,e.PropTypes)}("undefined"!=typeof self?self:this,function(i,n){return function(i){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return i[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=i,o.c=n,o.d=function(e,t,i){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(o.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(i,n,function(e){return t[e]}.bind(null,n));return i},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=3)}([function(e,t){e.exports=i},function(e,t){e.exports=n},function(e,t){t=e.exports=function(o){o||(o={}),"string"==typeof o&&(o={cookie:o}),void 0===o.cookie&&(o.cookie="");var e={get:function(e){for(var t=o.cookie.split(/;\s*/),i=0;i<t.length;i++){var n=t[i].split("=");if(unescape(n[0])===e)return unescape(n[1])}},set:function(e,t,i){i||(i={});var n=escape(e)+"="+escape(t);return i.expires&&(n+="; expires="+i.expires),i.path&&(n+="; path="+escape(i.path)),o.cookie=n}};return e};if("undefined"!=typeof document){var i=t(document);t.get=i.get,t.set=i.set}},function(e,t,r){"use strict";r.r(t);var s=r(0),a=r.n(s),i=r(1),n=r.n(i);r(4);function p(e){return(p="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})(e)}function c(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function w(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var m,f,b="undefined"!=typeof window,h=function(e){var t=new Date;return t.setDate(t.getDate()+e),t.toUTCString()},o=function(e){function o(e){var t,i,n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i=this,n=l(o).call(this,e),w(d(d(t=!n||"object"!==p(n)&&"function"!=typeof n?d(i):n)),"hide",function(){b&&window.document.querySelector("html").classList.remove("smartbanner-show")}),w(d(d(t)),"show",function(){b&&window.document.querySelector("html").classList.add("smartbanner-show")}),w(d(d(t)),"close",function(){t.hide(),f.set("smartbanner-closed","true",{path:"/",expires:h(t.props.daysHidden)}),t.props.onClose&&"function"==typeof t.props.onClose&&t.props.onClose()}),w(d(d(t)),"install",function(){t.hide(),f.set("smartbanner-installed","true",{path:"/",expires:h(t.props.daysReminder)}),t.props.onInstall&&"function"==typeof t.props.onInstall&&t.props.onInstall()}),m=r(5),f=r(2),t.state={type:"",appId:"",settings:{}},t}var t,i,n;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(o,s["Component"]),t=o,(i=[{key:"UNSAFE_componentWillMount",value:function(){this.setType(this.props.force)}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.force!==this.props.force&&this.setType(e.force),"top"===e.position?(window.document.querySelector("html").classList.add("smartbanner-margin-top"),window.document.querySelector("html").classList.remove("smartbanner-margin-bottom")):"bottom"===e.position&&(window.document.querySelector("html").classList.add("smartbanner-margin-bottom"),window.document.querySelector("html").classList.remove("smartbanner-margin-top"))}},{key:"componentWillUnmount",value:function(){var e=window.document.querySelector("html");e.classList.remove("smartbanner-show"),e.classList.remove("smartbanner-margin-top"),e.classList.remove("smartbanner-margin-bottom")}},{key:"setType",value:function(e){var t,i=this;if(b){var n=m(window.navigator.userAgent);e?t=e:"Windows Phone"===n.os.name||"Windows Mobile"===n.os.name?t="windows":"iOS"===n.os.name&&(this.props.ignoreIosVersion||parseInt(n.os.version,10)<6||"Mobile Safari"!==n.browser.name)?t="ios":"Amazon"===n.device.vender||"Silk"===n.browser.name?t="kindle":"Android"===n.os.name&&(t="android")}this.setState({type:t},function(){t&&i.setSettingsByType()})}},{key:"setSettingsByType",value:function(){var e=this,t={ios:{appMeta:function(){return e.props.appMeta.ios},iconRels:["apple-touch-icon-precomposed","apple-touch-icon"],getStoreLink:function(){return"https://itunes.apple.com/".concat(e.props.appStoreLanguage,"/app/id")}},android:{appMeta:function(){return e.props.appMeta.android},iconRels:["android-touch-icon","apple-touch-icon-precomposed","apple-touch-icon"],getStoreLink:function(){return"http://play.google.com/store/apps/details?id="}},windows:{appMeta:function(){return e.props.appMeta.windows},iconRels:["windows-touch-icon","apple-touch-icon-precomposed","apple-touch-icon"],getStoreLink:function(){return"http://www.windowsphone.com/s?appid="}},kindle:{appMeta:function(){return e.props.appMeta.kindle},iconRels:["windows-touch-icon","apple-touch-icon-precomposed","apple-touch-icon"],getStoreLink:function(){return"amzn://apps/android?asin="}}};this.setState(function(e){return{settings:t[e.type]}},function(){e.state.type&&e.parseAppId()})}},{key:"parseAppId",value:function(){if(!b)return"";var e=window.document.querySelector('meta[name="'.concat(this.state.settings.appMeta(),'"]'));if(!e)return"";var t="";if("windows"===this.state.type)t=e.getAttribute("content");else{var i=/app-id=([^\s,]+)/.exec(e.getAttribute("content"));t=i&&i[1]?i[1]:t}return this.setState({appId:t}),t}},{key:"retrieveInfo",value:function(){var e,t="".concat(this.props.url[this.state.type])||this.state.settings.getStoreLink()+this.state.appId,i="\n ".concat(this.props.price[this.state.type]," - ").concat(this.props.storeText[this.state.type]);if(b)for(var n=0,o=this.state.settings.iconRels.length;n<o;n++){var r=window.document.querySelector('link[rel="'.concat(this.state.settings.iconRels[n],'"]'));if(r){e=r.getAttribute("href");break}}return{icon:e,link:t,inStore:i}}},{key:"render",value:function(){if(!b)return a.a.createElement("div",null);if(!this.state.type||window.navigator.standalone||f.get("smartbanner-closed")||f.get("smartbanner-installed"))return a.a.createElement("div",null);if(!this.state.appId)return a.a.createElement("div",null);this.show();var e=this.retrieveInfo(),t=e.icon,i=e.link,n=e.inStore,o="smartbanner smartbanner-".concat(this.state.type," smartbanner-").concat(this.props.position),r={backgroundImage:"url(".concat(t,")")};return a.a.createElement("div",{className:o},a.a.createElement("div",{className:"smartbanner-container"},a.a.createElement("button",{type:"button",className:"smartbanner-close","aria-label":"close",onClick:this.close},"×"),a.a.createElement("span",{className:"smartbanner-icon",style:r}),a.a.createElement("div",{className:"smartbanner-info"},a.a.createElement("div",{className:"smartbanner-title"},this.props.title),a.a.createElement("div",{className:"smartbanner-author"},this.props.author),a.a.createElement("div",{className:"smartbanner-description"},n)),a.a.createElement("div",{className:"smartbanner-wrapper"},a.a.createElement("a",{href:i,onClick:this.install,className:"smartbanner-button"},a.a.createElement("span",{className:"smartbanner-button-text"},this.props.button)))))}}])&&c(t.prototype,i),n&&c(t,n),o}();w(o,"propTypes",{daysHidden:n.a.number,daysReminder:n.a.number,appStoreLanguage:n.a.string,button:n.a.node,storeText:n.a.objectOf(n.a.string),price:n.a.objectOf(n.a.string),force:n.a.string,title:n.a.string,author:n.a.string,position:n.a.string,url:n.a.objectOf(n.a.string),ignoreIosVersion:n.a.bool,appMeta:n.a.shape({android:n.a.string,ios:n.a.string,windows:n.a.string,kindle:n.a.string}),onClose:n.a.func,onInstall:n.a.func}),w(o,"defaultProps",{daysHidden:15,daysReminder:90,appStoreLanguage:b&&(window.navigator.language||window.navigator.userLanguage).slice(-2)||"us",button:"View",storeText:{ios:"On the App Store",android:"In Google Play",windows:"In Windows Store",kindle:"In the Amazon Appstore"},price:{ios:"Free",android:"Free",windows:"Free",kindle:"Free"},force:"",title:"",author:"",position:"top",url:{ios:"",android:"",windows:"",kindle:""},appMeta:{ios:"apple-itunes-app",android:"google-play-app",windows:"msApplication-ID",kindle:"kindle-fire-app"}}),t.default=o},function(e,t,i){},function(S,E,A){var O;!function(o,u){"use strict";var d="function",w="undefined",m="object",e="model",t="name",i="type",n="vendor",r="version",s="architecture",a="console",p="mobile",c="tablet",l="smarttv",f="wearable",b={extend:function(e,t){var i={};for(var n in e)t[n]&&t[n].length%2==0?i[n]=t[n].concat(e[n]):i[n]=e[n];return i},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:u},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(){for(var e,t,i,n,o,r,s,a=0,p=arguments;a<p.length&&!r;){var c=p[a],l=p[a+1];if(typeof e===w)for(n in e={},l)l.hasOwnProperty(n)&&(typeof(o=l[n])===m?e[o[0]]=u:e[o]=u);for(t=i=0;t<c.length&&!r;)if(r=c[t++].exec(this.getUA()))for(n=0;n<l.length;n++)s=r[++i],typeof(o=l[n])===m&&0<o.length?2==o.length?typeof o[1]==d?e[o[0]]=o[1].call(this,s):e[o[0]]=o[1]:3==o.length?typeof o[1]!==d||o[1].exec&&o[1].test?e[o[0]]=s?s.replace(o[1],o[2]):u:e[o[0]]=s?o[1].call(this,s,o[2]):u:4==o.length&&(e[o[0]]=s?o[3].call(this,s.replace(o[1],o[2])):u):e[o]=s||u;a+=2}return e},str:function(e,t){for(var i in t)if(typeof t[i]===m&&0<t[i].length){for(var n=0;n<t[i].length;n++)if(b.has(t[i][n],e))return"?"===i?u:i}else if(b.has(t[i],e))return"?"===i?u:i;return e}},g={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}},y={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[t,r],[/(opios)[\/\s]+([\w\.]+)/i],[[t,"Opera Mini"],r],[/\s(opr)\/([\w\.]+)/i],[[t,"Opera"],r],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs)\/([\w\.-]+)/i],[t,r],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[t,"IE"],r],[/(edge)\/((\d+)?[\w\.]+)/i],[t,r],[/(yabrowser)\/([\w\.]+)/i],[[t,"Yandex"],r],[/(comodo_dragon)\/([\w\.]+)/i],[[t,/_/g," "],r],[/(micromessenger)\/([\w\.]+)/i],[[t,"WeChat"],r],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[r,[t,"MIUI Browser"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[t,/(.+)/,"$1 WebView"],r],[/android.+samsungbrowser\/([\w\.]+)/i,/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],[r,[t,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i,/(qqbrowser)[\/\s]?([\w\.]+)/i],[t,r],[/(uc\s?browser)[\/\s]?([\w\.]+)/i,/ucweb.+(ucbrowser)[\/\s]?([\w\.]+)/i,/juc.+(ucweb)[\/\s]?([\w\.]+)/i],[[t,"UCBrowser"],r],[/(dolfin)\/([\w\.]+)/i],[[t,"Dolphin"],r],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[t,"Chrome"],r],[/;fbav\/([\w\.]+);/i],[r,[t,"Facebook"]],[/fxios\/([\w\.-]+)/i],[r,[t,"Firefox"]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[r,[t,"Mobile Safari"]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[r,t],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[t,[r,h.str,g.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[t,r],[/(navigator|netscape)\/([\w\.-]+)/i],[[t,"Netscape"],r],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]+)*/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[t,r]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[s,"amd64"]],[/(ia32(?=;))/i],[[s,b.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[s,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[s,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[s,/ower/,"",b.lowerize]],[/(sun4\w)[;\)]/i],[[s,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[s,b.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[e,n,[i,c]],[/applecoremedia\/[\w\.]+ \((ipad)/],[e,[n,"Apple"],[i,c]],[/(apple\s{0,1}tv)/i],[[e,"Apple TV"],[n,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[n,e,[i,c]],[/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i],[e,[n,"Amazon"],[i,c]],[/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i],[[e,h.str,g.device.amazon.model],[n,"Amazon"],[i,p]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[e,n,[i,p]],[/\((ip[honed|\s\w*]+);/i],[e,[n,"Apple"],[i,p]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola|polytron)[\s_-]?([\w-]+)*/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[n,e,[i,p]],[/\(bb10;\s(\w+)/i],[e,[n,"BlackBerry"],[i,p]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone)/i],[e,[n,"Asus"],[i,c]],[/(sony)\s(tablet\s[ps])\sbuild\//i,/(sony)?(?:sgp.+)\sbuild\//i],[[n,"Sony"],[e,"Xperia Tablet"],[i,c]],[/(?:sony)?(?:(?:(?:c|d)\d{4})|(?:so[-l].+))\sbuild\//i],[[n,"Sony"],[e,"Xperia Phone"],[i,p]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[n,e,[i,a]],[/android.+;\s(shield)\sbuild/i],[e,[n,"Nvidia"],[i,a]],[/(playstation\s[34portablevi]+)/i],[e,[n,"Sony"],[i,a]],[/(sprint\s(\w+))/i],[[n,h.str,g.device.sprint.vendor],[e,h.str,g.device.sprint.model],[i,p]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[n,e,[i,c]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w+)*/i,/(alcatel|geeksphone|huawei|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i],[n,[e,/_/g," "],[i,p]],[/(nexus\s9)/i],[e,[n,"HTC"],[i,c]],[/(nexus\s6p)/i],[e,[n,"Huawei"],[i,p]],[/(microsoft);\s(lumia[\s\w]+)/i],[n,e,[i,p]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[e,[n,"Microsoft"],[i,a]],[/(kin\.[onetw]{3})/i],[[e,/\./g," "],[n,"Microsoft"],[i,p]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?)[\w\s]+build\//i,/mot[\s-]?(\w+)*/i,/(XT\d{3,4}) build\//i,/(nexus\s6)/i],[e,[n,"Motorola"],[i,p]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[e,[n,"Motorola"],[i,c]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[n,b.trim],[e,b.trim],[i,l]],[/hbbtv.+maple;(\d+)/i],[[e,/^/,"SmartTV"],[n,"Samsung"],[i,l]],[/\(dtv[\);].+(aquos)/i],[e,[n,"Sharp"],[i,l]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[n,"Samsung"],e,[i,c]],[/smart-tv.+(samsung)/i],[n,[i,l],e],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i,/sec-((sgh\w+))/i],[[n,"Samsung"],e,[i,p]],[/sie-(\w+)*/i],[e,[n,"Siemens"],[i,p]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]+)*/i],[[n,"Nokia"],e,[i,p]],[/android\s3\.[\s\w;-]{10}(a\d{3})/i],[e,[n,"Acer"],[i,c]],[/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[n,"LG"],e,[i,c]],[/(lg) netcast\.tv/i],[n,e,[i,l]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w+)*/i],[e,[n,"LG"],[i,p]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[e,[n,"Lenovo"],[i,c]],[/linux;.+((jolla));/i],[n,e,[i,p]],[/((pebble))app\/[\d\.]+\s/i],[n,e,[i,f]],[/android.+;\s(glass)\s\d/i],[e,[n,"Google"],[i,f]],[/android.+(\w+)\s+build\/hm\1/i,/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i,/android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d\w)?)\s+build/i],[[e,/_/g," "],[n,"Xiaomi"],[i,p]],[/android.+a000(1)\s+build/i],[e,[n,"OnePlus"],[i,p]],[/\s(tablet)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[i,b.lowerize],n,e]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[r,[t,"EdgeHTML"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[t,r],[/rv\:([\w\.]+).*(gecko)/i],[r,t]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[t,r],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s]+\w)*/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[t,[r,h.str,g.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[t,"Windows"],[r,h.str,g.os.windows.version]],[/\((bb)(10);/i],[[t,"BlackBerry"],r],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i,/linux;.+(sailfish);/i],[t,r],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[t,"Symbian"],r],[/\((series40);/i],[t],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[t,"Firefox OS"],r],[/(nintendo|playstation)\s([wids34portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[t,r],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[t,"Chromium OS"],r],[/(sunos)\s?([\w\.]+\d)*/i],[[t,"Solaris"],r],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[t,r],[/(haiku)\s(\w+)/i],[t,r],[/(ip[honead]+)(?:.*os\s([\w]+)*\slike\smac|;\sopera)/i],[[t,"iOS"],[r,/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,/(macintosh|mac(?=_powerpc)\s)/i],[[t,"Mac OS"],[r,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]+)*/i],[t,r]]},v=function(e,t){if(!(this instanceof v))return new v(e,t).getResult();var i=e||(o&&o.navigator&&o.navigator.userAgent?o.navigator.userAgent:""),n=t?b.extend(y,t):y;return this.getBrowser=function(){var e=h.rgx.apply(this,n.browser);return e.major=b.major(e.version),e},this.getCPU=function(){return h.rgx.apply(this,n.cpu)},this.getDevice=function(){return h.rgx.apply(this,n.device)},this.getEngine=function(){return h.rgx.apply(this,n.engine)},this.getOS=function(){return h.rgx.apply(this,n.os)},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return i},this.setUA=function(e){return i=e,this},this};v.VERSION="0.7.12",v.BROWSER={NAME:t,MAJOR:"major",VERSION:r},v.CPU={ARCHITECTURE:s},v.DEVICE={MODEL:e,VENDOR:n,TYPE:i,CONSOLE:a,MOBILE:p,SMARTTV:l,TABLET:c,WEARABLE:f,EMBEDDED:"embedded"},v.ENGINE={NAME:t,VERSION:r},v.OS={NAME:t,VERSION:r},typeof E!==w?(typeof S!==w&&S.exports&&(E=S.exports=v),E.UAParser=v):A(6)?(O=function(){return v}.call(E,A,E,S))===u||(S.exports=O):o.UAParser=v;var k=o.jQuery||o.Zepto;if(typeof k!==w){var x=new v;k.ua=x.getResult(),k.ua.get=function(){return x.getUA()},k.ua.set=function(e){x.setUA(e);var t=x.getResult();for(var i in t)k.ua[i]=t[i]}}}("object"==typeof window?window:this)},function(t,e){(function(e){t.exports=e}).call(this,{})}])});