UNPKG

native-fn

Version:
2 lines (1 loc) 17.4 kB
function e(e){if(void 0===e)return"";var i={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==i?i:e}function i(e){return void 0===e?"":e.replace(/_/g,".")}var n,r,t,o;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(n||(n={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(r||(r={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(t||(t={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(o||(o={}));var a=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",l={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"},s=["ae","ar","arc","bcc","bqi","ckb","dv","fa","glk","he","iw","ku","mzn","nqo","pnb","ps","sd","ug","ur","yi"],u=[[/windows nt (6\.[23]); arm/i,n.Windows,e],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,e],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,e],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,e],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,e],[/windows ce\/?([\d.]*)/i,n.Windows,e],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,i],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,i],[/cfnetwork\/.+darwin/i,n.iOS,i],[/mac os x ?([\w. ]*)/i,n.MacOS,i],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,i],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],c=[[/windows.+ edge\/([\w.]+)/i,t.EdgeHTML],[/arkweb\/([\w.]+)/i,t.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,t.Blink],[/presto\/([\w.]+)/i,t.Presto],[/webkit\/([\w.]+)/i,t.WebKit],[/trident\/([\w.]+)/i,t.Trident],[/netfront\/([\w.]+)/i,t.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,t.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,t.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,t.Gecko]],d=[[/\b(?:crmo|crios)\/([\w.]+)/i,o.Chrome],[/webview.+edge\/([\w.]+)/i,o.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,o.Edge],[/opera mini\/([-\w.]+)/i,o.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,o.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,o.Opera],[/opios[\/ ]+([\w.]+)/i,o.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,o.Opera],[/\bopr\/([\w.]+)/i,o.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,o.IE],[/(?:ms|\()ie ([\w.]+)/i,o.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,o.IE],[/\bfocus\/([\w.]+)/i,o.Firefox],[/\bopt\/([\w.]+)/i,o.Opera],[/coast\/([\w.]+)/i,o.Opera],[/fxios\/([\w.-]+)/i,o.Firefox],[/samsungbrowser\/([\w.]+)/i,o.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,o.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,o.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,o.Chrome],[/chrome\/([\w.]+) mobile/i,o.Chrome],[/chrome\/v?([\w.]+)/i,o.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/version\/([\w.,]+) .*safari/i,o.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,o.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,o.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,o.Firefox],[/firefox\/([\w.]+)/i,o.Firefox]],g=[/ daum[ /]/i,/ deusu\//i,/(?:^|[^g])news(?!sapphire)/i,/(?<! (?:channel\/|google\/))google(?!(app|\/google| pixel))/i,/(?<! cu)bots?(?:\b|_)/i,/(?<!lib)http/i,/(?<![hg]m)score/i,/(?<!cam)scan/i,/24x7/i,/@[a-z][\w-]+\./i,/\(\)/i,/\.com\b/i,/\b\w+\.ai/i,/\bmanus-user\//i,/\bort\//i,/\bperl\b/i,/\bsecurityheaders\b/i,/\btime\//i,/\|/i,/^[\w .\-(?:)%]+(?:\/v?\d+(?:\.\d+)?(?:\.\d{1,10})*?)?(?:,|$)/i,/^[^ ]{50,}$/i,/^\d+\b/i,/^\W/i,/^\w*search\b/i,/^\w+\/[\w()]*$/i,/^\w+\/\d\.\d\s\([\w@]+\)$/i,/^active/i,/^ad muncher/i,/^amaya/i,/^apache\//i,/^avsdevicesdk\//i,/^azure/i,/^biglotron/i,/^bot/i,/^bw\//i,/^clamav[ /]/i,/^client\//i,/^cobweb\//i,/^custom/i,/^ddg[_-]android/i,/^discourse/i,/^dispatch\/\d/i,/^downcast\//i,/^duckduckgo/i,/^email/i,/^facebook/i,/^getright\//i,/^gozilla\//i,/^hobbit/i,/^hotzonu/i,/^hwcdn\//i,/^igetter\//i,/^jeode\//i,/^jetty\//i,/^jigsaw/i,/^microsoft bits/i,/^movabletype/i,/^mozilla\/\d\.\d\s[\w.-]+$/i,/^mozilla\/\d\.\d\s\(compatible;?(?:\s[\w-.]+\/\d+\.\d+)?\)$/i,/^navermailapp/i,/^netsurf/i,/^offline/i,/^openai\//i,/^owler/i,/^php/i,/^postman/i,/^python/i,/^rank/i,/^read/i,/^reed/i,/^rest/i,/^rss/i,/^snapchat/i,/^space bison/i,/^svn/i,/^swcd /i,/^taringa/i,/^thumbor\//i,/^track/i,/^w3c/i,/^webbandit\//i,/^webcopier/i,/^wget/i,/^whatsapp/i,/^wordpress/i,/^xenu link sleuth/i,/^yahoo/i,/^yandex/i,/^zdm\/\d/i,/^zoom marketplace\//i,/advisor/i,/agent\b/i,/analyzer/i,/archive/i,/ask jeeves\/teoma/i,/audit/i,/bit\.ly\//i,/bluecoat drtr/i,/browsex/i,/burpcollaborator/i,/capture/i,/catch/i,/check\b/i,/checker/i,/chrome-lighthouse/i,/chromeframe/i,/classifier/i,/cloudflare/i,/convertify/i,/crawl/i,/cypress\//i,/dareboost/i,/datanyze/i,/dejaclick/i,/detect/i,/dmbrowser/i,/download/i,/exaleadcloudview/i,/feed/i,/fetcher/i,/firephp/i,/functionize/i,/grab/i,/headless/i,/httrack/i,/hubspot marketing grader/i,/ibisbrowser/i,/infrawatch/i,/insight/i,/inspect/i,/iplabel/i,/java(?!;)/i,/library/i,/linkcheck/i,/mail\.ru\//i,/manager/i,/measure/i,/neustar wpm/i,/node\b/i,/nutch/i,/offbyone/i,/onetrust/i,/optimize/i,/pageburst/i,/pagespeed/i,/parser/i,/phantomjs/i,/pingdom/i,/powermarks/i,/preview/i,/proxy/i,/ptst[ /]\d/i,/retriever/i,/rexx;/i,/rigor/i,/rss\b/i,/scrape/i,/server/i,/sogou/i,/sparkler\//i,/speedcurve/i,/spider/i,/splash/i,/statuscake/i,/supercleaner/i,/synapse/i,/synthetic/i,/tools/i,/torrent/i,/transcoder/i,/url/i,/validator/i,/virtuoso/i,/wappalyzer/i,/webglance/i,/webkit2png/i,/whatcms\//i,/xtate\//i],b=a,f={get os(){return function(){for(var e={name:n.Unknown,version:""},i=0;i<u.length;i++){var r=u[i],t=r[0],o=r[1],l=r[2],s=f.userAgent.match(t);if(null!==s){e.name=o,e.version=p(s[1],l);break}}if(e.name===n.iOS&&0===function(e,i){for(var n=e.split("."),r=i.split("."),t=Math.max(n.length,r.length),o=0;o<t;o++){var a=void 0,l=void 0;if((a=o<n.length?parseInt(n[o],10):0)>(l=o<r.length?parseInt(r[o],10):0))return 1;if(a<l)return-1}return 0}(e.version,"18.6")){var c=/\) Version\/([\d.]+)/.exec(f.userAgent);null!==c&&parseInt(c[1].substring(0,2),10)>=26&&(e.version=c[1])}f.userAgent===a&&(void 0!==m.name&&(e.name=m.name),void 0!==m.version&&(e.version=m.version));return e}()},get engine(){return function(){for(var e={name:t.Unknown,version:""},i=0;i<c.length;i++){var n=c[i],r=n[0],o=n[1],l=n[2],s=f.userAgent.match(r);if(null!==s){e.name=o,e.version=p(s[1],l);break}}f.userAgent===a&&(void 0!==h.name&&(e.name=h.name),void 0!==h.version&&(e.version=h.version));return e}()},get browser(){return function(){for(var e={name:o.Unknown,version:""},i=0;i<d.length;i++){var n=d[i],r=n[0],t=n[1],l=n[2],s=f.userAgent.match(r);if(null!==s){e.name=t,e.version=p(s[1],l);break}}f.userAgent===a&&(void 0!==v.name&&(e.name=v.name),void 0!==v.version&&(e.version=v.version));return e}()},get userAgent(){return b},set userAgent(e){b=e},get locale(){return function(){var e={language:null,languages:[],timezone:null,timezoneOffset:0,isRTL:!1},i=null;function n(e){for(var i=0;i<e.length;i++)r(e[i])}function r(i){"string"==typeof(i=k(i))&&-1===e.languages.indexOf(i)&&(null===e.language&&(e.language=i),e.languages.push(i))}if("undefined"!=typeof Intl){try{r(Intl.DateTimeFormat().resolvedOptions().locale)}catch(e){}try{e.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){}}void 0!==globalThis.navigator&&(void 0!==globalThis.navigator.languages&&n(globalThis.navigator.languages),void 0!==globalThis.navigator.language&&r(globalThis.navigator.language),void 0!==globalThis.navigator.userLanguage&&r(globalThis.navigator.userLanguage),void 0!==globalThis.navigator.browserLanguage&&r(globalThis.navigator.browserLanguage),void 0!==globalThis.navigator.systemLanguage&&r(globalThis.navigator.systemLanguage));try{e.timezoneOffset=(new Date).getTimezoneOffset()}catch(e){}if("string"==typeof e.language){if("undefined"!=typeof Intl&&void 0!==Intl.Locale)try{var t=new Intl.Locale(e.language);"function"==typeof t.getTextInfo?i="rtl"===t.getTextInfo().direction:void 0!==t.textInfo&&(i="rtl"===t.textInfo.direction)}catch(e){}if("boolean"!=typeof i){var o=/^([A-Za-z]{1,8})(?:[-_][A-Za-z0-9]{1,8})*$/.exec(e.language);if(null!==o)for(var a=o[1].toLowerCase(),l=0;l<s.length;l++)if(s[l]===a){i=!0;break}}}"boolean"==typeof i&&(e.isRTL=i);return e}()},get device(){return f.userAgent===a&&null!==w?w:f.os.name===n.iOS||f.os.name===n.Android?r.Mobile:f.os.name===n.Windows||f.os.name===n.MacOS?r.Desktop:r.Unknown},get renderer(){return function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var i=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===i)return"";if(i instanceof WebGLRenderingContext||"getParameter"in i&&"function"==typeof i.getParameter){var n=i.getExtension("WEBGL_debug_renderer_info");return null===n?i.getParameter(i.RENDERER):i.getParameter(n.UNMASKED_RENDERER_WEBGL)}return""}()},get isWebview(){return/; ?wv|applewebkit(?!.*safari)/i.test(f.userAgent)},get isNode(){return void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},get isStandalone(){return f.os.name===n.iOS?"standalone"in globalThis.navigator&&!!globalThis.navigator.standalone:"matchMedia"in globalThis&&globalThis.matchMedia("(display-mode: standalone)").matches},get isBot(){return function(){for(var e=0;e<g.length;e++)if(g[e].test(f.userAgent))return!0;return!1}()},Constants:{OS:n,Engines:t,Browsers:o,Devices:r},Errors:{}},m={},v={},h={},w=null;function p(e,i){return"function"==typeof i?i(e):"string"==typeof i?i:void 0===e?"":e}function k(e){if(null==e)return e;if(0===e.length)return null;if("C"===(e=e.replace(/_/g,"-"))||"posix"===e.toLowerCase())return"en-US";if(-1!==e.indexOf("."))return k(e.split(".")[0]);if(-1!==e.indexOf("@"))return k(e.split("@")[0]);var i=e.split("-");return 0===i.length?null:(i[0]=i[0].toLowerCase(),i.length>1&&2===i[1].length&&(i[1]=i[1].toUpperCase()),i.length>2&&4===i[1].length&&(i[1]=i[1].charAt(0).toUpperCase()+i[1].slice(1).toLowerCase()),i.join("-"))}void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){try{for(var i=e.fullVersionList||e.brands||[],t=e.platformVersion,a=e.platform,s=f.browser.name,u=null,c=0;c<i.length;c++){var d=null==(p=i[c])?{brand:"",version:""}:"string"==typeof p?{brand:p,version:""}:{brand:p.brand,version:p.version},g=d.version,b=d.brand;/not.a.brand/i.test(b)||((null===u||/Chrom/.test(u)&&"Chromium"!==b||"Edge"===u&&/WebView2/.test(b))&&(b=l[b]||b,null!==(u=s)&&!/Chrom/.test(u)&&/Chrom/.test(b)||("Chrome"===(s=b)||"Chrome WebView"===s||"Chrome Headless"===s?v.name=o.Chrome:"Edge"===s||"Edge WebView2"===s?v.name=o.Edge:"Opera Mobi"===s&&(v.name=o.Opera),v.version=g),u=b),"Chromium"===b&&(h.version=g))}"string"==typeof t&&(f.os.name===n.Windows?m.version=parseInt(t.split(".")[0],10)>=13?"11":"10":m.version=t),"string"==typeof a&&(/android/i.test(a)?m.name=n.Android:/ios|iphone|ipad/i.test(a)?m.name=n.iOS:/windows|win32/i.test(a)?m.name=n.Windows:/macos|macintel/i.test(a)&&(m.name=n.MacOS)),!0===e.mobile&&(w=r.Mobile)}catch(e){}var p}));var T={get enabled(){return function(){if(null===F){if(f.os.name!==n.iOS)return!1;for(var e=globalThis.document.querySelectorAll("video"),i=0;i<e.length;i++){var r=e[i];if(r.webkitSupportsFullscreen||"webkitEnterFullscreen"in r)return!0}return!1}var t=globalThis.document[F.enabled];return"boolean"==typeof t?t:void 0!==globalThis.document[F.element]}()},get element(){return O()},get isFullscreen(){return C()},request:A,exit:L,toggle:function(e,i){return C()?L():A(e,i)},onchange:function(e){var i=[];return function(n){function r(i){e(i)}if(void 0===globalThis.document)return;globalThis.document.addEventListener(n,r,!1),i.push((function(){globalThis.document.removeEventListener(n,r,!1)}))}("fullscreenchange"),function(){for(var e=0;e<i.length;e++)i[e]()}},onerror:function(e){var i=[];return function(n){function r(i){e(i)}if(void 0===globalThis.document)return;globalThis.document.addEventListener(n,r,!1),i.push((function(){globalThis.document.removeEventListener(n,r,!1)}))}("fullscreenerror"),function(){for(var e=0;e<i.length;e++)i[e]()}},Constants:{},Errors:{}},E=null,x=!1,y={standard:{enabled:"fullscreenEnabled",element:"fullscreenElement",request:"requestFullscreen",exit:"exitFullscreen",events:{change:"fullscreenchange",error:"fullscreenerror"}},webkit:{enabled:"webkitFullscreenEnabled",element:"webkitFullscreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:{change:"webkitfullscreenchange",error:"webkitfullscreenerror"}},moz:{enabled:"mozFullScreenEnabled",element:"mozFullScreenElement",request:"mozRequestFullScreen",exit:"mozCancelFullScreen",events:{change:"mozfullscreenchange",error:"mozfullscreenerror"}},ms:{enabled:"msFullscreenEnabled",element:"msFullscreenElement",request:"msRequestFullscreen",exit:"msExitFullscreen",events:{change:"MSFullscreenChange",error:"MSFullscreenError"}}},F=function(){var e=globalThis.document.documentElement;if("fullscreenEnabled"in globalThis.document||"exitFullscreen"in globalThis.document)return y.standard;for(var i=["webkit","moz","ms"],n=0;n<i.length;n++){var r=i[n],t=y[r];if(t.enabled in globalThis.document||t.element in globalThis.document||t.exit in globalThis.document)return"webkit"===r&&"webkitRequestFullScreen"in e&&(t.request="webkitRequestFullScreen"),t}if("webkitCurrentFullScreenElement"in globalThis.document){var o={enabled:"webkitFullscreenEnabled",element:"webkitCurrentFullScreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:y.webkit.events};return"webkitRequestFullScreen"in e&&(o.request="webkitRequestFullScreen"),o}return null}();function S(){void 0!==globalThis.document&&globalThis.document.querySelectorAll("video").forEach((function(e){function i(){globalThis.document.dispatchEvent(new Event("fullscreenchange"))}e.__fsBridged__||!("webkitEnterFullscreen"in e)&&!("onwebkitbeginfullscreen"in e)||(e.addEventListener("webkitbeginfullscreen",i,!1),e.addEventListener("webkitendfullscreen",i,!1),e.__fsBridged__=!0)}))}function O(){if(null===F)return E&&E.webkitDisplayingFullscreen?E:null;var e=globalThis.document[F.element];return null!=e?e:null}function C(){return null!==O()}function A(e,i){return void 0===e&&(e=function(){if(f.os.name===n.iOS){var e=globalThis.document.querySelector("video");if(null===e)throw new Error;return e}return globalThis.document.documentElement}()),new Promise((function(r,t){if(null!==F){var o=e[F.request];if("function"==typeof o)try{var a=o.call(e,i);return void 0!==a&&"function"==typeof a.then?void a.then((function(){r()})).catch((function(){f.os.name===n.iOS?l():t()})):void r()}catch(e){if(f.os.name!==n.iOS)return void t()}}function l(){if(f.os.name===n.iOS&&"VIDEO"===e.tagName.toUpperCase()){var i=e;if(i.webkitSupportsFullscreen&&"function"==typeof i.webkitEnterFullscreen)return E=i,S(),i.webkitEnterFullscreen(),void r()}t()}l()}))}function L(){return new Promise((function(e,i){if(null!==F){var r=globalThis.document[F.exit];if("function"==typeof r){var t=r.call(globalThis.document);return void 0!==t&&"function"==typeof t.then?void t.then((function(){e()})).catch((function(){i()})):void e()}}if(f.os.name===n.iOS&&null!==E){if("function"==typeof E.webkitExitFullscreen&&!0===E.webkitDisplayingFullscreen)return E.webkitExitFullscreen(),E=null,void e();for(var o=globalThis.document.querySelectorAll("video"),a=0;a<o.length;a++){var l=o[a];if("function"==typeof l.webkitExitFullscreen&&!0===l.webkitDisplayingFullscreen)return l.webkitExitFullscreen(),void e()}}O()?i():e()}))}!function(){if(!x){x=!0;for(var e=!1,i=["webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],r=["webkitfullscreenerror","mozfullscreenerror","MSFullscreenError"],t=0;t<i.length;t++)void 0!==globalThis.document&&globalThis.document.addEventListener(i[t],a,!1);for(t=0;t<r.length;t++)void 0!==globalThis.document&&globalThis.document.addEventListener(r[t],l,!1);if(f.os.name===n.iOS)if(S(),void 0!==globalThis.MutationObserver)new MutationObserver((function(){S()})).observe(globalThis.document.documentElement,{childList:!0,subtree:!0})}function o(i){e||(e=!0,void 0!==globalThis.document&&globalThis.document.dispatchEvent(new Event(i,{bubbles:!0,cancelable:!1})),Promise.resolve().then((function(){e=!1})))}function a(){o("fullscreenchange")}function l(){o("fullscreenerror")}}();export{T as default};