UNPKG

react-useragent

Version:

Utility to add user agent information to your react components

1,290 lines (1,063 loc) 40.1 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('mobile-detect')) : typeof define === 'function' && define.amd ? define(['exports', 'react', 'mobile-detect'], factory) : (factory((global.ReactUserAgent = {}),global.React,global.MobileDetect)); }(this, (function (exports,React,MobileDetect) { 'use strict'; var React__default = 'default' in React ? React['default'] : React; MobileDetect = MobileDetect && MobileDetect.hasOwnProperty('default') ? MobileDetect['default'] : MobileDetect; function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } function createCommonjsModule(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; } var _global = createCommonjsModule(function (module) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef }); var _core = createCommonjsModule(function (module) { var core = module.exports = {version: '2.4.0'}; if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef }); var _core_1 = _core.version; var _aFunction = function(it){ if(typeof it != 'function')throw TypeError(it + ' is not a function!'); return it; }; // optional / simple context binding var _ctx = function(fn, that, length){ _aFunction(fn); if(that === undefined)return fn; switch(length){ case 1: return function(a){ return fn.call(that, a); }; case 2: return function(a, b){ return fn.call(that, a, b); }; case 3: return function(a, b, c){ return fn.call(that, a, b, c); }; } return function(/* ...args */){ return fn.apply(that, arguments); }; }; var _isObject = function(it){ return typeof it === 'object' ? it !== null : typeof it === 'function'; }; var _anObject = function(it){ if(!_isObject(it))throw TypeError(it + ' is not an object!'); return it; }; var _fails = function(exec){ try { return !!exec(); } catch(e){ return true; } }; // Thank's IE8 for his funny defineProperty var _descriptors = !_fails(function(){ return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; }); var document$1 = _global.document; var is = _isObject(document$1) && _isObject(document$1.createElement); var _domCreate = function(it){ return is ? document$1.createElement(it) : {}; }; var _ie8DomDefine = !_descriptors && !_fails(function(){ return Object.defineProperty(_domCreate('div'), 'a', {get: function(){ return 7; }}).a != 7; }); // 7.1.1 ToPrimitive(input [, PreferredType]) // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string var _toPrimitive = function(it, S){ if(!_isObject(it))return it; var fn, val; if(S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it)))return val; if(typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it)))return val; if(!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it)))return val; throw TypeError("Can't convert object to primitive value"); }; var dP = Object.defineProperty; var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes){ _anObject(O); P = _toPrimitive(P, true); _anObject(Attributes); if(_ie8DomDefine)try { return dP(O, P, Attributes); } catch(e){ /* empty */ } if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); if('value' in Attributes)O[P] = Attributes.value; return O; }; var _objectDp = { f: f }; var _propertyDesc = function(bitmap, value){ return { enumerable : !(bitmap & 1), configurable: !(bitmap & 2), writable : !(bitmap & 4), value : value }; }; var _hide = _descriptors ? function(object, key, value){ return _objectDp.f(object, key, _propertyDesc(1, value)); } : function(object, key, value){ object[key] = value; return object; }; var PROTOTYPE = 'prototype'; var $export = function(type, name, source){ var IS_FORCED = type & $export.F , IS_GLOBAL = type & $export.G , IS_STATIC = type & $export.S , IS_PROTO = type & $export.P , IS_BIND = type & $export.B , IS_WRAP = type & $export.W , exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {}) , expProto = exports[PROTOTYPE] , target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] : (_global[name] || {})[PROTOTYPE] , key, own, out; if(IS_GLOBAL)source = name; for(key in source){ // contains in native own = !IS_FORCED && target && target[key] !== undefined; if(own && key in exports)continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] // bind timers to global for call from export context : IS_BIND && own ? _ctx(out, _global) // wrap global constructors for prevent change them in library : IS_WRAP && target[key] == out ? (function(C){ var F = function(a, b, c){ if(this instanceof C){ switch(arguments.length){ case 0: return new C; case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); } return C.apply(this, arguments); }; F[PROTOTYPE] = C[PROTOTYPE]; return F; // make static versions for prototype methods })(out) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out; // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% if(IS_PROTO){ (exports.virtual || (exports.virtual = {}))[key] = out; // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% if(type & $export.R && expProto && !expProto[key])_hide(expProto, key, out); } } }; // type bitmap $export.F = 1; // forced $export.G = 2; // global $export.S = 4; // static $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe $export.R = 128; // real proto method for `library` var _export = $export; var hasOwnProperty = {}.hasOwnProperty; var _has = function(it, key){ return hasOwnProperty.call(it, key); }; var toString = {}.toString; var _cof = function(it){ return toString.call(it).slice(8, -1); }; // fallback for non-array-like ES3 and non-enumerable old V8 strings var _iobject = Object('z').propertyIsEnumerable(0) ? Object : function(it){ return _cof(it) == 'String' ? it.split('') : Object(it); }; // 7.2.1 RequireObjectCoercible(argument) var _defined = function(it){ if(it == undefined)throw TypeError("Can't call method on " + it); return it; }; // to indexed object, toObject with fallback for non-array-like ES3 strings var _toIobject = function(it){ return _iobject(_defined(it)); }; // 7.1.4 ToInteger var ceil = Math.ceil; var floor = Math.floor; var _toInteger = function(it){ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; // 7.1.15 ToLength var min = Math.min; var _toLength = function(it){ return it > 0 ? min(_toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; var max = Math.max; var min$1 = Math.min; var _toIndex = function(index, length){ index = _toInteger(index); return index < 0 ? max(index + length, 0) : min$1(index, length); }; // false -> Array#indexOf // true -> Array#includes var _arrayIncludes = function(IS_INCLUDES){ return function($this, el, fromIndex){ var O = _toIobject($this) , length = _toLength(O.length) , index = _toIndex(fromIndex, length) , value; // Array#includes uses SameValueZero equality algorithm if(IS_INCLUDES && el != el)while(length > index){ value = O[index++]; if(value != value)return true; // Array#toIndex ignores holes, Array#includes - not } else for(;length > index; index++)if(IS_INCLUDES || index in O){ if(O[index] === el)return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; var SHARED = '__core-js_shared__'; var store = _global[SHARED] || (_global[SHARED] = {}); var _shared = function(key){ return store[key] || (store[key] = {}); }; var id = 0; var px = Math.random(); var _uid = function(key){ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; var shared = _shared('keys'); var _sharedKey = function(key){ return shared[key] || (shared[key] = _uid(key)); }; var arrayIndexOf = _arrayIncludes(false); var IE_PROTO = _sharedKey('IE_PROTO'); var _objectKeysInternal = function(object, names){ var O = _toIobject(object) , i = 0 , result = [] , key; for(key in O)if(key != IE_PROTO)_has(O, key) && result.push(key); // Don't enum bug & hidden keys while(names.length > i)if(_has(O, key = names[i++])){ ~arrayIndexOf(result, key) || result.push(key); } return result; }; // IE 8- don't enum bug keys var _enumBugKeys = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); // 19.1.2.14 / 15.2.3.14 Object.keys(O) var _objectKeys = Object.keys || function keys(O){ return _objectKeysInternal(O, _enumBugKeys); }; var f$1 = Object.getOwnPropertySymbols; var _objectGops = { f: f$1 }; var f$2 = {}.propertyIsEnumerable; var _objectPie = { f: f$2 }; // 7.1.13 ToObject(argument) var _toObject = function(it){ return Object(_defined(it)); }; // 19.1.2.1 Object.assign(target, source, ...) var $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) var _objectAssign = !$assign || _fails(function(){ var A = {} , B = {} , S = Symbol() , K = 'abcdefghijklmnopqrst'; A[S] = 7; K.split('').forEach(function(k){ B[k] = k; }); return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; }) ? function assign(target, source){ // eslint-disable-line no-unused-vars var T = _toObject(target) , aLen = arguments.length , index = 1 , getSymbols = _objectGops.f , isEnum = _objectPie.f; while(aLen > index){ var S = _iobject(arguments[index++]) , keys = getSymbols ? _objectKeys(S).concat(getSymbols(S)) : _objectKeys(S) , length = keys.length , j = 0 , key; while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; } return T; } : $assign; // 19.1.3.1 Object.assign(target, source) _export(_export.S + _export.F, 'Object', {assign: _objectAssign}); var assign$2 = _core.Object.assign; var assign = createCommonjsModule(function (module) { module.exports = { "default": assign$2, __esModule: true }; }); unwrapExports(assign); var _extends = createCommonjsModule(function (module, exports) { exports.__esModule = true; var _assign2 = _interopRequireDefault(assign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _assign2.default || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; }); var _extends$1 = unwrapExports(_extends); // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var IE_PROTO$1 = _sharedKey('IE_PROTO'); var ObjectProto = Object.prototype; var _objectGpo = Object.getPrototypeOf || function(O){ O = _toObject(O); if(_has(O, IE_PROTO$1))return O[IE_PROTO$1]; if(typeof O.constructor == 'function' && O instanceof O.constructor){ return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; }; // most Object methods by ES6 should accept primitives var _objectSap = function(KEY, exec){ var fn = (_core.Object || {})[KEY] || Object[KEY] , exp = {}; exp[KEY] = exec(fn); _export(_export.S + _export.F * _fails(function(){ fn(1); }), 'Object', exp); }; // 19.1.2.9 Object.getPrototypeOf(O) _objectSap('getPrototypeOf', function(){ return function getPrototypeOf(it){ return _objectGpo(_toObject(it)); }; }); var getPrototypeOf$1 = _core.Object.getPrototypeOf; var getPrototypeOf = createCommonjsModule(function (module) { module.exports = { "default": getPrototypeOf$1, __esModule: true }; }); var _Object$getPrototypeOf = unwrapExports(getPrototypeOf); var classCallCheck = createCommonjsModule(function (module, exports) { exports.__esModule = true; exports.default = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; }); var _classCallCheck = unwrapExports(classCallCheck); // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) _export(_export.S + _export.F * !_descriptors, 'Object', {defineProperty: _objectDp.f}); var $Object = _core.Object; var defineProperty$2 = function defineProperty(it, key, desc){ return $Object.defineProperty(it, key, desc); }; var defineProperty = createCommonjsModule(function (module) { module.exports = { "default": defineProperty$2, __esModule: true }; }); unwrapExports(defineProperty); var createClass = createCommonjsModule(function (module, exports) { exports.__esModule = true; var _defineProperty2 = _interopRequireDefault(defineProperty); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; (0, _defineProperty2.default)(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); }); var _createClass = unwrapExports(createClass); // true -> String#at // false -> String#codePointAt var _stringAt = function(TO_STRING){ return function(that, pos){ var s = String(_defined(that)) , i = _toInteger(pos) , l = s.length , a, b; if(i < 0 || i >= l)return TO_STRING ? '' : undefined; a = s.charCodeAt(i); return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; var _library = true; var _redefine = _hide; var _objectDps = _descriptors ? Object.defineProperties : function defineProperties(O, Properties){ _anObject(O); var keys = _objectKeys(Properties) , length = keys.length , i = 0 , P; while(length > i)_objectDp.f(O, P = keys[i++], Properties[P]); return O; }; var _html = _global.document && document.documentElement; // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var IE_PROTO$2 = _sharedKey('IE_PROTO'); var Empty = function(){ /* empty */ }; var PROTOTYPE$1 = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function(){ // Thrash, waste and sodomy: IE GC bug var iframe = _domCreate('iframe') , i = _enumBugKeys.length , lt = '<' , gt = '>' , iframeDocument; iframe.style.display = 'none'; _html.appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url // createDict = iframe.contentWindow.Object; // html.removeChild(iframe); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); iframeDocument.close(); createDict = iframeDocument.F; while(i--)delete createDict[PROTOTYPE$1][_enumBugKeys[i]]; return createDict(); }; var _objectCreate = Object.create || function create(O, Properties){ var result; if(O !== null){ Empty[PROTOTYPE$1] = _anObject(O); result = new Empty; Empty[PROTOTYPE$1] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO$2] = O; } else result = createDict(); return Properties === undefined ? result : _objectDps(result, Properties); }; var _wks = createCommonjsModule(function (module) { var store = _shared('wks') , Symbol = _global.Symbol , USE_SYMBOL = typeof Symbol == 'function'; var $exports = module.exports = function(name){ return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : _uid)('Symbol.' + name)); }; $exports.store = store; }); var def = _objectDp.f; var TAG = _wks('toStringTag'); var _setToStringTag = function(it, tag, stat){ if(it && !_has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); }; var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() _hide(IteratorPrototype, _wks('iterator'), function(){ return this; }); var _iterCreate = function(Constructor, NAME, next){ Constructor.prototype = _objectCreate(IteratorPrototype, {next: _propertyDesc(1, next)}); _setToStringTag(Constructor, NAME + ' Iterator'); }; var ITERATOR = _wks('iterator'); var BUGGY = !([].keys && 'next' in [].keys()); var FF_ITERATOR = '@@iterator'; var KEYS = 'keys'; var VALUES = 'values'; var returnThis = function(){ return this; }; var _iterDefine = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ _iterCreate(Constructor, NAME, next); var getMethod = function(kind){ if(!BUGGY && kind in proto)return proto[kind]; switch(kind){ case KEYS: return function keys(){ return new Constructor(this, kind); }; case VALUES: return function values(){ return new Constructor(this, kind); }; } return function entries(){ return new Constructor(this, kind); }; }; var TAG = NAME + ' Iterator' , DEF_VALUES = DEFAULT == VALUES , VALUES_BUG = false , proto = Base.prototype , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] , $default = $native || getMethod(DEFAULT) , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined , $anyNative = NAME == 'Array' ? proto.entries || $native : $native , methods, key, IteratorPrototype; // Fix native if($anyNative){ IteratorPrototype = _objectGpo($anyNative.call(new Base)); if(IteratorPrototype !== Object.prototype){ // Set @@toStringTag to native iterators _setToStringTag(IteratorPrototype, TAG, true); // fix for some old engines if(!_library && !_has(IteratorPrototype, ITERATOR))_hide(IteratorPrototype, ITERATOR, returnThis); } } // fix Array#{values, @@iterator}.name in V8 / FF if(DEF_VALUES && $native && $native.name !== VALUES){ VALUES_BUG = true; $default = function values(){ return $native.call(this); }; } // Define iterator if((!_library || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ _hide(proto, ITERATOR, $default); } // Plug for library if(DEFAULT){ methods = { values: DEF_VALUES ? $default : getMethod(VALUES), keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; if(FORCED)for(key in methods){ if(!(key in proto))_redefine(proto, key, methods[key]); } else _export(_export.P + _export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; }; var $at = _stringAt(true); // 21.1.3.27 String.prototype[@@iterator]() _iterDefine(String, 'String', function(iterated){ this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() }, function(){ var O = this._t , index = this._i , point; if(index >= O.length)return {value: undefined, done: true}; point = $at(O, index); this._i += point.length; return {value: point, done: false}; }); var _iterStep = function(done, value){ return {value: value, done: !!done}; }; // 22.1.3.4 Array.prototype.entries() // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() var es6_array_iterator = _iterDefine(Array, 'Array', function(iterated, kind){ this._t = _toIobject(iterated); // target this._i = 0; // next index this._k = kind; // kind // 22.1.5.2.1 %ArrayIteratorPrototype%.next() }, function(){ var O = this._t , kind = this._k , index = this._i++; if(!O || index >= O.length){ this._t = undefined; return _iterStep(1); } if(kind == 'keys' )return _iterStep(0, index); if(kind == 'values')return _iterStep(0, O[index]); return _iterStep(0, [index, O[index]]); }, 'values'); var TO_STRING_TAG = _wks('toStringTag'); for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ var NAME = collections[i] , Collection = _global[NAME] , proto = Collection && Collection.prototype; if(proto && !proto[TO_STRING_TAG])_hide(proto, TO_STRING_TAG, NAME); } var f$3 = _wks; var _wksExt = { f: f$3 }; var iterator$2 = _wksExt.f('iterator'); var iterator = createCommonjsModule(function (module) { module.exports = { "default": iterator$2, __esModule: true }; }); unwrapExports(iterator); var _meta = createCommonjsModule(function (module) { var META = _uid('meta') , setDesc = _objectDp.f , id = 0; var isExtensible = Object.isExtensible || function(){ return true; }; var FREEZE = !_fails(function(){ return isExtensible(Object.preventExtensions({})); }); var setMeta = function(it){ setDesc(it, META, {value: { i: 'O' + ++id, // object ID w: {} // weak collections IDs }}); }; var fastKey = function(it, create){ // return primitive with prefix if(!_isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; if(!_has(it, META)){ // can't set metadata to uncaught frozen object if(!isExtensible(it))return 'F'; // not necessary to add metadata if(!create)return 'E'; // add missing metadata setMeta(it); // return object ID } return it[META].i; }; var getWeak = function(it, create){ if(!_has(it, META)){ // can't set metadata to uncaught frozen object if(!isExtensible(it))return true; // not necessary to add metadata if(!create)return false; // add missing metadata setMeta(it); // return hash weak collections IDs } return it[META].w; }; // add metadata on freeze-family methods calling var onFreeze = function(it){ if(FREEZE && meta.NEED && isExtensible(it) && !_has(it, META))setMeta(it); return it; }; var meta = module.exports = { KEY: META, NEED: false, fastKey: fastKey, getWeak: getWeak, onFreeze: onFreeze }; }); var _meta_1 = _meta.KEY; var _meta_2 = _meta.NEED; var _meta_3 = _meta.fastKey; var _meta_4 = _meta.getWeak; var _meta_5 = _meta.onFreeze; var defineProperty$4 = _objectDp.f; var _wksDefine = function(name){ var $Symbol = _core.Symbol || (_core.Symbol = _library ? {} : _global.Symbol || {}); if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty$4($Symbol, name, {value: _wksExt.f(name)}); }; var _keyof = function(object, el){ var O = _toIobject(object) , keys = _objectKeys(O) , length = keys.length , index = 0 , key; while(length > index)if(O[key = keys[index++]] === el)return key; }; // all enumerable object keys, includes symbols var _enumKeys = function(it){ var result = _objectKeys(it) , getSymbols = _objectGops.f; if(getSymbols){ var symbols = getSymbols(it) , isEnum = _objectPie.f , i = 0 , key; while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); } return result; }; // 7.2.2 IsArray(argument) var _isArray = Array.isArray || function isArray(arg){ return _cof(arg) == 'Array'; }; // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var hiddenKeys = _enumBugKeys.concat('length', 'prototype'); var f$5 = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ return _objectKeysInternal(O, hiddenKeys); }; var _objectGopn = { f: f$5 }; // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window var gOPN$1 = _objectGopn.f; var toString$1 = {}.toString; var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; var getWindowNames = function(it){ try { return gOPN$1(it); } catch(e){ return windowNames.slice(); } }; var f$4 = function getOwnPropertyNames(it){ return windowNames && toString$1.call(it) == '[object Window]' ? getWindowNames(it) : gOPN$1(_toIobject(it)); }; var _objectGopnExt = { f: f$4 }; var gOPD$1 = Object.getOwnPropertyDescriptor; var f$6 = _descriptors ? gOPD$1 : function getOwnPropertyDescriptor(O, P){ O = _toIobject(O); P = _toPrimitive(P, true); if(_ie8DomDefine)try { return gOPD$1(O, P); } catch(e){ /* empty */ } if(_has(O, P))return _propertyDesc(!_objectPie.f.call(O, P), O[P]); }; var _objectGopd = { f: f$6 }; // ECMAScript 6 symbols shim var META = _meta.KEY; var gOPD = _objectGopd.f; var dP$1 = _objectDp.f; var gOPN = _objectGopnExt.f; var $Symbol = _global.Symbol; var $JSON = _global.JSON; var _stringify = $JSON && $JSON.stringify; var PROTOTYPE$2 = 'prototype'; var HIDDEN = _wks('_hidden'); var TO_PRIMITIVE = _wks('toPrimitive'); var isEnum = {}.propertyIsEnumerable; var SymbolRegistry = _shared('symbol-registry'); var AllSymbols = _shared('symbols'); var OPSymbols = _shared('op-symbols'); var ObjectProto$1 = Object[PROTOTYPE$2]; var USE_NATIVE = typeof $Symbol == 'function'; var QObject = _global.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 var setter = !QObject || !QObject[PROTOTYPE$2] || !QObject[PROTOTYPE$2].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 var setSymbolDesc = _descriptors && _fails(function(){ return _objectCreate(dP$1({}, 'a', { get: function(){ return dP$1(this, 'a', {value: 7}).a; } })).a != 7; }) ? function(it, key, D){ var protoDesc = gOPD(ObjectProto$1, key); if(protoDesc)delete ObjectProto$1[key]; dP$1(it, key, D); if(protoDesc && it !== ObjectProto$1)dP$1(ObjectProto$1, key, protoDesc); } : dP$1; var wrap = function(tag){ var sym = AllSymbols[tag] = _objectCreate($Symbol[PROTOTYPE$2]); sym._k = tag; return sym; }; var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){ return typeof it == 'symbol'; } : function(it){ return it instanceof $Symbol; }; var $defineProperty = function defineProperty(it, key, D){ if(it === ObjectProto$1)$defineProperty(OPSymbols, key, D); _anObject(it); key = _toPrimitive(key, true); _anObject(D); if(_has(AllSymbols, key)){ if(!D.enumerable){ if(!_has(it, HIDDEN))dP$1(it, HIDDEN, _propertyDesc(1, {})); it[HIDDEN][key] = true; } else { if(_has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; D = _objectCreate(D, {enumerable: _propertyDesc(0, false)}); } return setSymbolDesc(it, key, D); } return dP$1(it, key, D); }; var $defineProperties = function defineProperties(it, P){ _anObject(it); var keys = _enumKeys(P = _toIobject(P)) , i = 0 , l = keys.length , key; while(l > i)$defineProperty(it, key = keys[i++], P[key]); return it; }; var $create = function create(it, P){ return P === undefined ? _objectCreate(it) : $defineProperties(_objectCreate(it), P); }; var $propertyIsEnumerable = function propertyIsEnumerable(key){ var E = isEnum.call(this, key = _toPrimitive(key, true)); if(this === ObjectProto$1 && _has(AllSymbols, key) && !_has(OPSymbols, key))return false; return E || !_has(this, key) || !_has(AllSymbols, key) || _has(this, HIDDEN) && this[HIDDEN][key] ? E : true; }; var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ it = _toIobject(it); key = _toPrimitive(key, true); if(it === ObjectProto$1 && _has(AllSymbols, key) && !_has(OPSymbols, key))return; var D = gOPD(it, key); if(D && _has(AllSymbols, key) && !(_has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; return D; }; var $getOwnPropertyNames = function getOwnPropertyNames(it){ var names = gOPN(_toIobject(it)) , result = [] , i = 0 , key; while(names.length > i){ if(!_has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key); } return result; }; var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ var IS_OP = it === ObjectProto$1 , names = gOPN(IS_OP ? OPSymbols : _toIobject(it)) , result = [] , i = 0 , key; while(names.length > i){ if(_has(AllSymbols, key = names[i++]) && (IS_OP ? _has(ObjectProto$1, key) : true))result.push(AllSymbols[key]); } return result; }; // 19.4.1.1 Symbol([description]) if(!USE_NATIVE){ $Symbol = function Symbol(){ if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!'); var tag = _uid(arguments.length > 0 ? arguments[0] : undefined); var $set = function(value){ if(this === ObjectProto$1)$set.call(OPSymbols, value); if(_has(this, HIDDEN) && _has(this[HIDDEN], tag))this[HIDDEN][tag] = false; setSymbolDesc(this, tag, _propertyDesc(1, value)); }; if(_descriptors && setter)setSymbolDesc(ObjectProto$1, tag, {configurable: true, set: $set}); return wrap(tag); }; _redefine($Symbol[PROTOTYPE$2], 'toString', function toString(){ return this._k; }); _objectGopd.f = $getOwnPropertyDescriptor; _objectDp.f = $defineProperty; _objectGopn.f = _objectGopnExt.f = $getOwnPropertyNames; _objectPie.f = $propertyIsEnumerable; _objectGops.f = $getOwnPropertySymbols; if(_descriptors && !_library){ _redefine(ObjectProto$1, 'propertyIsEnumerable', $propertyIsEnumerable, true); } _wksExt.f = function(name){ return wrap(_wks(name)); }; } _export(_export.G + _export.W + _export.F * !USE_NATIVE, {Symbol: $Symbol}); for(var symbols = ( // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' ).split(','), i$1 = 0; symbols.length > i$1; )_wks(symbols[i$1++]); for(var symbols = _objectKeys(_wks.store), i$1 = 0; symbols.length > i$1; )_wksDefine(symbols[i$1++]); _export(_export.S + _export.F * !USE_NATIVE, 'Symbol', { // 19.4.2.1 Symbol.for(key) 'for': function(key){ return _has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); }, // 19.4.2.5 Symbol.keyFor(sym) keyFor: function keyFor(key){ if(isSymbol(key))return _keyof(SymbolRegistry, key); throw TypeError(key + ' is not a symbol!'); }, useSetter: function(){ setter = true; }, useSimple: function(){ setter = false; } }); _export(_export.S + _export.F * !USE_NATIVE, 'Object', { // 19.1.2.2 Object.create(O [, Properties]) create: $create, // 19.1.2.4 Object.defineProperty(O, P, Attributes) defineProperty: $defineProperty, // 19.1.2.3 Object.defineProperties(O, Properties) defineProperties: $defineProperties, // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) getOwnPropertyDescriptor: $getOwnPropertyDescriptor, // 19.1.2.7 Object.getOwnPropertyNames(O) getOwnPropertyNames: $getOwnPropertyNames, // 19.1.2.8 Object.getOwnPropertySymbols(O) getOwnPropertySymbols: $getOwnPropertySymbols }); // 24.3.2 JSON.stringify(value [, replacer [, space]]) $JSON && _export(_export.S + _export.F * (!USE_NATIVE || _fails(function(){ var S = $Symbol(); // MS Edge converts symbol values to JSON as {} // WebKit converts symbol values to JSON as null // V8 throws on boxed symbols return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; })), 'JSON', { stringify: function stringify(it){ if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined var args = [it] , i = 1 , replacer, $replacer; while(arguments.length > i)args.push(arguments[i++]); replacer = args[1]; if(typeof replacer == 'function')$replacer = replacer; if($replacer || !_isArray(replacer))replacer = function(key, value){ if($replacer)value = $replacer.call(this, key, value); if(!isSymbol(value))return value; }; args[1] = replacer; return _stringify.apply($JSON, args); } }); // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) $Symbol[PROTOTYPE$2][TO_PRIMITIVE] || _hide($Symbol[PROTOTYPE$2], TO_PRIMITIVE, $Symbol[PROTOTYPE$2].valueOf); // 19.4.3.5 Symbol.prototype[@@toStringTag] _setToStringTag($Symbol, 'Symbol'); // 20.2.1.9 Math[@@toStringTag] _setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] _setToStringTag(_global.JSON, 'JSON', true); _wksDefine('asyncIterator'); _wksDefine('observable'); var symbol$2 = _core.Symbol; var symbol = createCommonjsModule(function (module) { module.exports = { "default": symbol$2, __esModule: true }; }); unwrapExports(symbol); var _typeof_1 = createCommonjsModule(function (module, exports) { exports.__esModule = true; var _iterator2 = _interopRequireDefault(iterator); var _symbol2 = _interopRequireDefault(symbol); var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { return typeof obj === "undefined" ? "undefined" : _typeof(obj); } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); }; }); unwrapExports(_typeof_1); var possibleConstructorReturn = createCommonjsModule(function (module, exports) { exports.__esModule = true; var _typeof3 = _interopRequireDefault(_typeof_1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; }; }); var _possibleConstructorReturn = unwrapExports(possibleConstructorReturn); // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var check = function(O, proto){ _anObject(O); if(!_isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); }; var _setProto = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line function(test, buggy, set){ try { set = _ctx(Function.call, _objectGopd.f(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch(e){ buggy = true; } return function setPrototypeOf(O, proto){ check(O, proto); if(buggy)O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check }; // 19.1.3.19 Object.setPrototypeOf(O, proto) _export(_export.S, 'Object', {setPrototypeOf: _setProto.set}); var setPrototypeOf$2 = _core.Object.setPrototypeOf; var setPrototypeOf = createCommonjsModule(function (module) { module.exports = { "default": setPrototypeOf$2, __esModule: true }; }); unwrapExports(setPrototypeOf); // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) _export(_export.S, 'Object', {create: _objectCreate}); var $Object$1 = _core.Object; var create$2 = function create(P, D){ return $Object$1.create(P, D); }; var create = createCommonjsModule(function (module) { module.exports = { "default": create$2, __esModule: true }; }); unwrapExports(create); var inherits = createCommonjsModule(function (module, exports) { exports.__esModule = true; var _setPrototypeOf2 = _interopRequireDefault(setPrototypeOf); var _create2 = _interopRequireDefault(create); var _typeof3 = _interopRequireDefault(_typeof_1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); } subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; }; }); var _inherits = unwrapExports(inherits); var getUserAgent = function getUserAgent() { var md = new MobileDetect(window.navigator.userAgent); var state = { ua: { mobile: md.mobile(), phone: md.phone(), tablet: md.tablet(), os: md.os(), md: md } }; return state; }; var withUserAgent = function withUserAgent(ComposedComponent) { return function (_Component) { _inherits(_class, _Component); function _class(props) { _classCallCheck(this, _class); var _this = _possibleConstructorReturn(this, (_class.__proto__ || _Object$getPrototypeOf(_class)).call(this, props)); _this.state = getUserAgent(); return _this; } _createClass(_class, [{ key: "render", value: function render() { return React__default.createElement(ComposedComponent, _extends$1({ ua: this.state.ua }, this.props)); } }]); return _class; }(React.Component); }; var UserAgent = function (_Component2) { _inherits(UserAgent, _Component2); function UserAgent(props) { _classCallCheck(this, UserAgent); var _this2 = _possibleConstructorReturn(this, (UserAgent.__proto__ || _Object$getPrototypeOf(UserAgent)).call(this, props)); _this2.state = getUserAgent(); return _this2; } _createClass(UserAgent, [{ key: "render", value: function render() { var _props = this.props, children = _props.children, render = _props.render; if (children) { return children(this.state); } if (render) { return render(this.state); } console.error("Component UserAgent:", "no children or render prop are present"); return null; } }]); return UserAgent; }(React.Component); exports.withUserAgent = withUserAgent; exports.UserAgent = UserAgent; Object.defineProperty(exports, '__esModule', { value: true }); })));