native-fn 1.0.76 → 1.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/native.cjs +1 -1
- package/dist/native.min.cjs +1 -1
- package/dist/native.min.mjs +1 -1
- package/dist/native.mjs +1 -1
- package/dist/native.umd.js +1 -1
- package/dist/native.umd.min.js +1 -1
- package/dist/plugin/app/index.cjs +95 -51
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +95 -51
- package/dist/plugin/app/index.umd.js +95 -51
- package/dist/plugin/app/index.umd.min.js +1 -1
- package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +2 -0
- package/dist/plugin/appearance/index.cjs +95 -51
- package/dist/plugin/appearance/index.min.cjs +1 -1
- package/dist/plugin/appearance/index.min.mjs +1 -1
- package/dist/plugin/appearance/index.mjs +95 -51
- package/dist/plugin/appearance/index.umd.js +95 -51
- package/dist/plugin/appearance/index.umd.min.js +1 -1
- package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +2 -0
- package/dist/plugin/clipboard/index.cjs +95 -51
- package/dist/plugin/clipboard/index.min.cjs +1 -1
- package/dist/plugin/clipboard/index.min.mjs +1 -1
- package/dist/plugin/clipboard/index.mjs +95 -51
- package/dist/plugin/clipboard/index.umd.js +95 -51
- package/dist/plugin/clipboard/index.umd.min.js +1 -1
- package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +2 -0
- package/dist/plugin/fullscreen/index.cjs +95 -51
- package/dist/plugin/fullscreen/index.min.cjs +1 -1
- package/dist/plugin/fullscreen/index.min.mjs +1 -1
- package/dist/plugin/fullscreen/index.mjs +95 -51
- package/dist/plugin/fullscreen/index.umd.js +95 -51
- package/dist/plugin/fullscreen/index.umd.min.js +1 -1
- package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +2 -0
- package/dist/plugin/platform/index.cjs +95 -51
- package/dist/plugin/platform/index.d.ts +2 -0
- package/dist/plugin/platform/index.min.cjs +1 -1
- package/dist/plugin/platform/index.min.mjs +1 -1
- package/dist/plugin/platform/index.mjs +95 -51
- package/dist/plugin/platform/index.umd.js +95 -51
- package/dist/plugin/platform/index.umd.min.js +1 -1
- package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +2 -0
- package/dist/plugin/theme/index.cjs +95 -51
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +95 -51
- package/dist/plugin/theme/index.umd.js +95 -51
- package/dist/plugin/theme/index.umd.min.js +1 -1
- package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +2 -0
- package/dist/src/plugin/platform/types/platform.d.ts +2 -0
- package/package.json +7 -7
|
@@ -103,12 +103,18 @@
|
|
|
103
103
|
})(CrossPlatformFramework || (CrossPlatformFramework = {}));
|
|
104
104
|
var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
|
|
105
105
|
|
|
106
|
+
var readyState = 'loading';
|
|
107
|
+
var readyCallback = [];
|
|
108
|
+
var pendingTasks = 0;
|
|
106
109
|
var Platform = {
|
|
107
110
|
os: { name: OS.Unknown, version: '' },
|
|
108
111
|
engine: { name: Engines.Unknown, version: '' },
|
|
109
112
|
browser: { name: Browsers.Unknown, version: '' },
|
|
110
113
|
crossPlatformFramework: CrossPlatformFramework.Unknown,
|
|
111
114
|
userAgent: USER_AGENT,
|
|
115
|
+
get readyState() {
|
|
116
|
+
return readyState;
|
|
117
|
+
},
|
|
112
118
|
get network() {
|
|
113
119
|
return getNetwork();
|
|
114
120
|
},
|
|
@@ -141,6 +147,18 @@
|
|
|
141
147
|
return false;
|
|
142
148
|
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
143
149
|
},
|
|
150
|
+
onready: function (callback) {
|
|
151
|
+
if (this.readyState === 'complete') {
|
|
152
|
+
try {
|
|
153
|
+
callback(this);
|
|
154
|
+
}
|
|
155
|
+
catch (_) {
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
readyCallback.push(callback);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
144
162
|
};
|
|
145
163
|
var OS_RESOLVER_MAP = [
|
|
146
164
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -208,6 +226,26 @@
|
|
|
208
226
|
'HeadlessChrome': 'Chrome Headless',
|
|
209
227
|
'OperaMobile': 'Opera Mobi',
|
|
210
228
|
};
|
|
229
|
+
function incrementPendingTasks() {
|
|
230
|
+
pendingTasks++;
|
|
231
|
+
}
|
|
232
|
+
function decrementPendingTasks() {
|
|
233
|
+
pendingTasks--;
|
|
234
|
+
checkReady();
|
|
235
|
+
}
|
|
236
|
+
function checkReady() {
|
|
237
|
+
if (pendingTasks === 0 && readyState === 'loading') {
|
|
238
|
+
readyState = 'complete';
|
|
239
|
+
for (var i = 0; i < readyCallback.length; i++) {
|
|
240
|
+
try {
|
|
241
|
+
readyCallback[i](Platform);
|
|
242
|
+
}
|
|
243
|
+
catch (_) {
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
readyCallback.length = 0;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
211
249
|
function resolveWindowsVersion(string) {
|
|
212
250
|
if (string === undefined)
|
|
213
251
|
return '';
|
|
@@ -408,6 +446,7 @@
|
|
|
408
446
|
break;
|
|
409
447
|
}
|
|
410
448
|
}
|
|
449
|
+
decrementPendingTasks();
|
|
411
450
|
}
|
|
412
451
|
function getRenderer() {
|
|
413
452
|
if (typeof globalThis.document === 'undefined')
|
|
@@ -517,9 +556,6 @@
|
|
|
517
556
|
}
|
|
518
557
|
return network;
|
|
519
558
|
}
|
|
520
|
-
function canUseHighEntropyValues(navigator) {
|
|
521
|
-
return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
|
|
522
|
-
}
|
|
523
559
|
function init() {
|
|
524
560
|
if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
|
|
525
561
|
Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
|
|
@@ -652,6 +688,7 @@
|
|
|
652
688
|
}
|
|
653
689
|
}
|
|
654
690
|
if (typeof globalThis.document !== 'undefined') {
|
|
691
|
+
incrementPendingTasks();
|
|
655
692
|
if (typeof globalThis.device !== 'undefined') {
|
|
656
693
|
parseOSFromCordova();
|
|
657
694
|
}
|
|
@@ -659,61 +696,68 @@
|
|
|
659
696
|
globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
|
|
660
697
|
}
|
|
661
698
|
}
|
|
662
|
-
if (
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
.userAgentData
|
|
666
|
-
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
699
|
+
if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
|
|
700
|
+
incrementPendingTasks();
|
|
701
|
+
globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
667
702
|
.then(function (result) {
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
var
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
703
|
+
try {
|
|
704
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
705
|
+
var platformVersion = result.platformVersion;
|
|
706
|
+
var platform = result.platform;
|
|
707
|
+
var browserName = Platform.browser.name;
|
|
708
|
+
var prevBrandName = null;
|
|
709
|
+
for (var i = 0; i < brands.length; i++) {
|
|
710
|
+
var brand = normalizeBrand(brands[i]);
|
|
711
|
+
var brandVersion = brand.version;
|
|
712
|
+
var brandName = brand.brand;
|
|
713
|
+
if (/not.a.brand/i.test(brandName))
|
|
714
|
+
continue;
|
|
715
|
+
if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
|
|
716
|
+
brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
|
|
717
|
+
prevBrandName = browserName;
|
|
718
|
+
if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
|
|
719
|
+
browserName = brandName;
|
|
720
|
+
if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
|
|
721
|
+
Platform.browser.name = Browsers.Chrome;
|
|
722
|
+
else if (browserName === 'Edge' || browserName === 'Edge WebView2')
|
|
723
|
+
Platform.browser.name = Browsers.Edge;
|
|
724
|
+
else if (browserName === 'Opera Mobi')
|
|
725
|
+
Platform.browser.name = Browsers.Opera;
|
|
726
|
+
Platform.browser.version = brandVersion;
|
|
727
|
+
}
|
|
728
|
+
prevBrandName = brandName;
|
|
691
729
|
}
|
|
692
|
-
|
|
730
|
+
if (brandName === 'Chromium')
|
|
731
|
+
Platform.engine.version = brandVersion;
|
|
693
732
|
}
|
|
694
|
-
if (
|
|
695
|
-
Platform.
|
|
733
|
+
if (typeof platformVersion === 'string') {
|
|
734
|
+
if (Platform.os.name === OS.Windows)
|
|
735
|
+
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
736
|
+
else
|
|
737
|
+
Platform.os.version = platformVersion;
|
|
738
|
+
}
|
|
739
|
+
if (typeof platform === 'string') {
|
|
740
|
+
if (/android/i.test(platform))
|
|
741
|
+
Platform.os.name = OS.Android;
|
|
742
|
+
else if (/ios|iphone|ipad/i.test(platform))
|
|
743
|
+
Platform.os.name = OS.iOS;
|
|
744
|
+
else if (/windows|win32/i.test(platform))
|
|
745
|
+
Platform.os.name = OS.Windows;
|
|
746
|
+
else if (/macos|macintel/i.test(platform))
|
|
747
|
+
Platform.os.name = OS.MacOS;
|
|
748
|
+
}
|
|
749
|
+
if (result.mobile === true)
|
|
750
|
+
Platform.device = Devices.Mobile;
|
|
696
751
|
}
|
|
697
|
-
|
|
698
|
-
if (Platform.os.name === OS.Windows)
|
|
699
|
-
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
700
|
-
else
|
|
701
|
-
Platform.os.version = platformVersion;
|
|
752
|
+
catch (_) {
|
|
702
753
|
}
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
Platform.os.name = OS.Android;
|
|
706
|
-
else if (/ios|iphone|ipad/i.test(platform))
|
|
707
|
-
Platform.os.name = OS.iOS;
|
|
708
|
-
else if (/windows|win32/i.test(platform))
|
|
709
|
-
Platform.os.name = OS.Windows;
|
|
710
|
-
else if (/macos|macintel/i.test(platform))
|
|
711
|
-
Platform.os.name = OS.MacOS;
|
|
754
|
+
finally {
|
|
755
|
+
decrementPendingTasks();
|
|
712
756
|
}
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
});
|
|
757
|
+
})
|
|
758
|
+
.catch(decrementPendingTasks);
|
|
716
759
|
}
|
|
760
|
+
checkReady();
|
|
717
761
|
}
|
|
718
762
|
init();
|
|
719
763
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).Appearance=n()}(this,(function(){"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,o,r,i,t,a=void 0!==globalThis.matchMedia?globalThis.matchMedia("(prefers-color-scheme: dark)"):{matches:!1,media:"not all",onchange:null,addListener:function(){},removeListener:function(){},addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}},s="not all"!==a.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,c=[];!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"}(o||(o={})),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"}(r||(r={})),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"}(i||(i={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(t||(t={}));var m=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d={os:{name:n.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:t.Unknown,userAgent:m,get network(){return function(){var e={isOnline:null,effectiveType:null,type:null,downlink:null,rtt:null,saveData:null};if(void 0!==globalThis.navigator){void 0!==globalThis.navigator.onLine&&(e.isOnline=globalThis.navigator.onLine);var o=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==o&&(void 0!==o.effectiveType&&(e.effectiveType=o.effectiveType),void 0!==o.type&&(e.type=o.type),void 0!==o.downlink&&(e.downlink=o.downlink),void 0!==o.rtt&&(e.rtt=o.rtt),void 0!==o.saveData&&(e.saveData=o.saveData))}if(d.isNode){try{for(var r=require("os").networkInterfaces(),i=Object.keys(r),t=0;t<i.length;t++){for(var a=r[i[t]],s=0;s<a.length;s++){var l=a[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var c=require("child_process");if(d.os.name===n.Windows){try{(m=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&m.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(m=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(e.type="ethernet")}catch(e){}null===e.type&&(e.type="other")}else if(d.os.name===n.MacOS)try{var m=c.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),u=c.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});u.includes("en0")&&m.includes("Wi-Fi")?e.type="wifi":u.includes("en")||m.includes("Ethernet")?e.type="ethernet":e.type="other"}catch(n){e.type="other"}}catch(e){}}return e}()},get device(){return this.os.name===n.iOS||this.os.name===n.Android?o.Mobile:this.os.name===n.Windows||this.os.name===n.MacOS?o.Desktop:o.Unknown},get renderer(){return function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var n=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===n)return"";if(n instanceof WebGLRenderingContext||"getParameter"in n&&"function"==typeof n.getParameter){var o=n.getExtension("WEBGL_debug_renderer_info");return null===o?n.getParameter(n.RENDERER):n.getParameter(o.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===o.Mobile},get isDesktop(){return this.device===o.Desktop},get isWebview(){return/; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent)},get isNode(){return void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},get isStandalone(){return this.os.name===n.iOS?"standalone"in globalThis.navigator&&!!globalThis.navigator.standalone:"matchMedia"in globalThis&&globalThis.matchMedia("(display-mode: standalone)").matches}},u=[[/windows nt (6\.[23]); arm/i,n.Windows,w],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,w],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,w],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,w],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,w],[/windows ce\/?([\d.]*)/i,n.Windows,w],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,h],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,h],[/cfnetwork\/.+darwin/i,n.iOS,h],[/mac os x ?([\w. ]*)/i,n.MacOS,h],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,h],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],v=[[/windows.+ edge\/([\w.]+)/i,r.EdgeHTML],[/arkweb\/([\w.]+)/i,r.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,r.Blink],[/presto\/([\w.]+)/i,r.Presto],[/webkit\/([\w.]+)/i,r.WebKit],[/trident\/([\w.]+)/i,r.Trident],[/netfront\/([\w.]+)/i,r.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,r.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,r.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,r.Gecko]],f=[[/\b(?:crmo|crios)\/([\w.]+)/i,i.Chrome],[/webview.+edge\/([\w.]+)/i,i.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,i.Edge],[/opera mini\/([-\w.]+)/i,i.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,i.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,i.Opera],[/opios[\/ ]+([\w.]+)/i,i.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,i.Opera],[/\bopr\/([\w.]+)/i,i.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,i.IE],[/(?:ms|\()ie ([\w.]+)/i,i.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,i.IE],[/\bfocus\/([\w.]+)/i,i.Firefox],[/\bopt\/([\w.]+)/i,i.Opera],[/coast\/([\w.]+)/i,i.Opera],[/fxios\/([\w.-]+)/i,i.Firefox],[/samsungbrowser\/([\w.]+)/i,i.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,i.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,i.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,i.Chrome],[/chrome\/([\w.]+) mobile/i,i.Chrome],[/chrome\/v?([\w.]+)/i,i.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/version\/([\w.,]+) .*safari/i,i.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,i.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,i.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,i.Firefox],[/firefox\/([\w.]+)/i,i.Firefox]],g={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function w(e){if(void 0===e)return"";var n={"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!==n?n:e}function h(e){return void 0===e?"":e.replace(/_/g,".")}function b(e,n){return 10===e.major&&0===e.minor&&e.build>=22e3?"11":10===e.major&&0===e.minor&&e.build<22e3?"10":6===e.major&&3===e.minor?"8.1":6===e.major&&2===e.minor?"8":6===e.major&&1===e.minor?"7":6===e.major&&0===e.minor?"Vista":5===e.major&&1===e.minor||5===e.major&&2===e.minor?"XP":5===e.major&&0===e.minor?"2000":4===e.major&&90===e.minor?"ME":4===e.major&&0===e.minor?"NT 4.0":3===e.major&&51===e.minor?"NT 3.11":n}function p(e,n){return e.major>=24?e.major-9+"."+e.minor+"."+e.build:23===e.major?"14."+e.minor+"."+e.build:22===e.major?"13."+e.minor+"."+e.build:21===e.major?"12."+e.minor+"."+e.build:20===e.major?"11."+e.minor+"."+e.build:19===e.major?"10.15."+e.minor:18===e.major?"10.14."+e.minor:17===e.major?"10.13."+e.minor:16===e.major?"10.12."+e.minor:15===e.major?"10.11."+e.minor:14===e.major?"10.10."+e.minor:13===e.major?"10.9."+e.minor:e.major>=5&&e.major<=12?"10."+(e.major-4)+"."+e.minor:n}function k(e,n){return e.major>=36?"16":35===e.major?"15":34===e.major?"14":33===e.major?"13":32===e.major?"12.1":31===e.major?"12":30===e.major?"11":29===e.major?"10":28===e.major?"9":27===e.major?"8.1":26===e.major?"8.0":25===e.major?"7.1":24===e.major?"7.0":23===e.major?"6.0":22===e.major?"5.1":21===e.major?"5.0":20===e.major||19===e.major?"4.4":18===e.major?"4.3":17===e.major?"4.2":16===e.major?"4.1":15===e.major?"4.0.3":14===e.major?"4.0":13===e.major?"3.2":12===e.major?"3.1":11===e.major?"3.0":10===e.major?"2.3.3":9===e.major?"2.3":8===e.major?"2.2":7===e.major?"2.1":6===e.major?"2.0.1":5===e.major?"2.0":4===e.major?"1.6":3===e.major?"1.5":2===e.major?"1.1":1===e.major?"1.0":n}function T(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function j(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function y(){if(d.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":d.os={name:n.Android,version:globalThis.device.version};break;case"iOS":d.os={name:n.iOS,version:globalThis.device.version}}}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(m))&&(d.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(d.crossPlatformFramework=t.ReactNative);for(var e=0;e<u.length;e++){var r=(w=u[e])[0],a=w[1],s=w[2];if(null!==(h=d.userAgent.match(r))){d.os={name:a,version:T(h[1],s)};break}}var l;for(d.os.name===n.iOS&&0===function(e,n){for(var o=e.split("."),r=n.split("."),i=Math.max(o.length,r.length),t=0;t<i;t++){var a=void 0,s=void 0;if((a=t<o.length?parseInt(o[t],10):0)>(s=t<r.length?parseInt(r[t],10):0))return 1;if(a<s)return-1}return 0}(d.os.version,"18.6")&&null!==(S=/\) Version\/([\d.]+)/.exec(d.userAgent))&&parseInt(S[1].substring(0,2),10)>=26&&(d.os.version=S[1]),e=0;e<v.length;e++){r=(w=v[e])[0];var c=w[1];s=w[2];if(null!==(h=d.userAgent.match(r))){d.engine={name:c,version:T(h[1],s)};break}}for(e=0;e<f.length;e++){r=(w=f[e])[0];var w,h,E=w[1];s=w[2];if(null!==(h=d.userAgent.match(r))){d.browser={name:E,version:T(h[1],s)};break}}if(d.crossPlatformFramework===t.ReactNative)try{a=(x=require("react-native").Platform).OS;var S=j(O=""+x.Version);switch(a){case"android":d.os={name:n.Android,version:k(S,O)};break;case"ios":d.os={name:n.iOS,version:O};break;case"windows":d.os={name:n.Windows,version:b(S,O)};break;case"macos":d.os={name:n.MacOS,version:O}}}catch(e){}if(d.isNode)try{var O,x=(a=require("os")).platform();S=j(O=a.release());switch(x){case"win32":d.os={name:n.Windows,version:b(S,O)};break;case"darwin":d.os={name:n.MacOS,version:p(S,O)};break;case"android":d.os={name:n.Android,version:O};break;case"linux":/android/i.test(O)&&(d.os={name:n.Android,version:O})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?y():globalThis.document.addEventListener("deviceready",y,!1)),l=globalThis.navigator,void 0!==globalThis.navigator&&void 0!==l.userAgentData&&void 0!==l.userAgentData.getHighEntropyValues&&globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){for(var r,t=e.fullVersionList||e.brands||[],a=e.platformVersion,s=e.platform,l=d.browser.name,c=null,m=0;m<t.length;m++){var u=null==(r=t[m])?{brand:"",version:""}:"string"==typeof r?{brand:r,version:""}:{brand:r.brand,version:r.version},v=u.version,f=u.brand;/not.a.brand/i.test(f)||((null===c||/Chrom/.test(c)&&"Chromium"!==f||"Edge"===c&&/WebView2/.test(f))&&(f=g[f]||f,null!==(c=l)&&!/Chrom/.test(c)&&/Chrom/.test(f)||("Chrome"===(l=f)||"Chrome WebView"===l||"Chrome Headless"===l?d.browser.name=i.Chrome:"Edge"===l||"Edge WebView2"===l?d.browser.name=i.Edge:"Opera Mobi"===l&&(d.browser.name=i.Opera),d.browser.version=v),c=f),"Chromium"===f&&(d.engine.version=v))}"string"==typeof a&&(d.os.name===n.Windows?d.os.version=parseInt(a.split(".")[0],10)>=13?"11":"10":d.os.version=a),"string"==typeof s&&(/android/i.test(s)?d.os.name=n.Android:/ios|iphone|ipad/i.test(s)?d.os.name=n.iOS:/windows|win32/i.test(s)?d.os.name=n.Windows:/macos|macintel/i.test(s)&&(d.os.name=n.MacOS)),!0===e.mobile&&(d.device=o.Mobile)}))}();var E=null,S=null;function O(){return new Promise((function(n){var o=new Image;o.onload=function(){if(null===l)return n(e.Light);l.drawImage(o,0,0);var r=l.getImageData(0,0,1,1).data;(r[0]&r[1]&r[2])<255?n(e.Dark):n(e.Light)},o.onerror=function(){n(e.Unknown)},o.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function x(){return s?a.matches?e.Dark:e.Light:e.Unknown}function C(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function M(){return d.crossPlatformFramework===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):d.crossPlatformFramework===t.Electron?new Promise((function(e){e(C())})):d.browser.name===i.SamsungInternet?O():new Promise((function(e){e(x())}))}function L(n){var o;(o=n.matches?e.Dark:e.Light)!==E&&W(E=o)}function W(e){for(var n=0;n<c.length;n++){var o=c[n];o.fn(e),o.once&&A(o)}}function A(e){var n,o=I(e);-1!==o&&c.splice(o,1),0===c.length&&(d.browser.name===i.SamsungInternet?(E=null,null!==S&&(clearInterval(S),S=null)):(n=e.capture,E=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",L,n):"function"==typeof a.removeListener&&a.removeListener(L)))}function I(e){for(var n=0;n<c.length;n++)if(c[n].fn===e.fn&&c[n].capture===e.capture)return n;return-1}return{installed:!1,name:"Appearance",module:{get value(){return M()},set value(e){!function(e){if(d.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(d.crossPlatformFramework===t.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,o){void 0===o&&(o=!1);if(d.crossPlatformFramework===t.ReactNative)return function(n){try{var o=require("react-native").Appearance.addChangeListener((function(o){n(o.colorScheme||e.Unknown)}));return function(){o.remove()}}catch(e){}return function(){}}(n);if(d.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),o=function(){e(C())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",o),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",o)}}catch(e){}return function(){}}(n);var r={fn:n,capture:!1,once:!1};"boolean"==typeof o&&(o={capture:o});void 0!==o.capture&&(r.capture=o.capture);void 0!==o.once&&(r.once=o.once);void 0!==o.signal&&(r.signal=o.signal);var s=I(r);-1===s?(c.push(r),1===c.length&&(d.browser.name===i.SamsungInternet?(O().then((function(e){E=e})),S=globalThis.setInterval((function(){O().then((function(e){e!==E&&(E=e,W(e))}))}),2e3)):(l=r.capture,E=x(),"function"==typeof a.addEventListener?a.addEventListener("change",L,l):"function"==typeof a.addListener&&a.addListener(L))),M().then(W)):c[s].once&&!r.once&&(c[s].once=!1);var l;void 0!==r.signal&&(r.signal.aborted?A(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),A(r)})));return function(){A(r)}}},Constants:{Appearances:e},Errors:{}}}));
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).Appearance=n()}(this,(function(){"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,o,r,i,t,a=void 0!==globalThis.matchMedia?globalThis.matchMedia("(prefers-color-scheme: dark)"):{matches:!1,media:"not all",onchange:null,addListener:function(){},removeListener:function(){},addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}},s="not all"!==a.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,c=[];!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"}(o||(o={})),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"}(r||(r={})),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"}(i||(i={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(t||(t={}));var m=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d="loading",u=[],v=0,f={os:{name:n.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:t.Unknown,userAgent:m,get readyState(){return d},get network(){return function(){var e={isOnline:null,effectiveType:null,type:null,downlink:null,rtt:null,saveData:null};if(void 0!==globalThis.navigator){void 0!==globalThis.navigator.onLine&&(e.isOnline=globalThis.navigator.onLine);var o=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==o&&(void 0!==o.effectiveType&&(e.effectiveType=o.effectiveType),void 0!==o.type&&(e.type=o.type),void 0!==o.downlink&&(e.downlink=o.downlink),void 0!==o.rtt&&(e.rtt=o.rtt),void 0!==o.saveData&&(e.saveData=o.saveData))}if(f.isNode){try{for(var r=require("os").networkInterfaces(),i=Object.keys(r),t=0;t<i.length;t++){for(var a=r[i[t]],s=0;s<a.length;s++){var l=a[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var c=require("child_process");if(f.os.name===n.Windows){try{(m=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&m.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(m=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(e.type="ethernet")}catch(e){}null===e.type&&(e.type="other")}else if(f.os.name===n.MacOS)try{var m=c.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),d=c.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});d.includes("en0")&&m.includes("Wi-Fi")?e.type="wifi":d.includes("en")||m.includes("Ethernet")?e.type="ethernet":e.type="other"}catch(n){e.type="other"}}catch(e){}}return e}()},get device(){return this.os.name===n.iOS||this.os.name===n.Android?o.Mobile:this.os.name===n.Windows||this.os.name===n.MacOS?o.Desktop:o.Unknown},get renderer(){return function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var n=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===n)return"";if(n instanceof WebGLRenderingContext||"getParameter"in n&&"function"==typeof n.getParameter){var o=n.getExtension("WEBGL_debug_renderer_info");return null===o?n.getParameter(n.RENDERER):n.getParameter(o.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===o.Mobile},get isDesktop(){return this.device===o.Desktop},get isWebview(){return/; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent)},get isNode(){return void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},get isStandalone(){return this.os.name===n.iOS?"standalone"in globalThis.navigator&&!!globalThis.navigator.standalone:"matchMedia"in globalThis&&globalThis.matchMedia("(display-mode: standalone)").matches},onready:function(e){if("complete"===this.readyState)try{e(this)}catch(e){}else u.push(e)}},g=[[/windows nt (6\.[23]); arm/i,n.Windows,j],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,j],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,j],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,j],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,j],[/windows ce\/?([\d.]*)/i,n.Windows,j],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,y],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,y],[/cfnetwork\/.+darwin/i,n.iOS,y],[/mac os x ?([\w. ]*)/i,n.MacOS,y],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,y],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],h=[[/windows.+ edge\/([\w.]+)/i,r.EdgeHTML],[/arkweb\/([\w.]+)/i,r.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,r.Blink],[/presto\/([\w.]+)/i,r.Presto],[/webkit\/([\w.]+)/i,r.WebKit],[/trident\/([\w.]+)/i,r.Trident],[/netfront\/([\w.]+)/i,r.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,r.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,r.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,r.Gecko]],w=[[/\b(?:crmo|crios)\/([\w.]+)/i,i.Chrome],[/webview.+edge\/([\w.]+)/i,i.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,i.Edge],[/opera mini\/([-\w.]+)/i,i.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,i.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,i.Opera],[/opios[\/ ]+([\w.]+)/i,i.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,i.Opera],[/\bopr\/([\w.]+)/i,i.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,i.IE],[/(?:ms|\()ie ([\w.]+)/i,i.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,i.IE],[/\bfocus\/([\w.]+)/i,i.Firefox],[/\bopt\/([\w.]+)/i,i.Opera],[/coast\/([\w.]+)/i,i.Opera],[/fxios\/([\w.-]+)/i,i.Firefox],[/samsungbrowser\/([\w.]+)/i,i.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,i.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,i.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,i.Chrome],[/chrome\/([\w.]+) mobile/i,i.Chrome],[/chrome\/v?([\w.]+)/i,i.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/version\/([\w.,]+) .*safari/i,i.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,i.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,i.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,i.Firefox],[/firefox\/([\w.]+)/i,i.Firefox]],b={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function p(){v++}function k(){v--,T()}function T(){if(0===v&&"loading"===d){d="complete";for(var e=0;e<u.length;e++)try{u[e](f)}catch(e){}u.length=0}}function j(e){if(void 0===e)return"";var n={"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!==n?n:e}function y(e){return void 0===e?"":e.replace(/_/g,".")}function E(e,n){return 10===e.major&&0===e.minor&&e.build>=22e3?"11":10===e.major&&0===e.minor&&e.build<22e3?"10":6===e.major&&3===e.minor?"8.1":6===e.major&&2===e.minor?"8":6===e.major&&1===e.minor?"7":6===e.major&&0===e.minor?"Vista":5===e.major&&1===e.minor||5===e.major&&2===e.minor?"XP":5===e.major&&0===e.minor?"2000":4===e.major&&90===e.minor?"ME":4===e.major&&0===e.minor?"NT 4.0":3===e.major&&51===e.minor?"NT 3.11":n}function S(e,n){return e.major>=24?e.major-9+"."+e.minor+"."+e.build:23===e.major?"14."+e.minor+"."+e.build:22===e.major?"13."+e.minor+"."+e.build:21===e.major?"12."+e.minor+"."+e.build:20===e.major?"11."+e.minor+"."+e.build:19===e.major?"10.15."+e.minor:18===e.major?"10.14."+e.minor:17===e.major?"10.13."+e.minor:16===e.major?"10.12."+e.minor:15===e.major?"10.11."+e.minor:14===e.major?"10.10."+e.minor:13===e.major?"10.9."+e.minor:e.major>=5&&e.major<=12?"10."+(e.major-4)+"."+e.minor:n}function O(e,n){return e.major>=36?"16":35===e.major?"15":34===e.major?"14":33===e.major?"13":32===e.major?"12.1":31===e.major?"12":30===e.major?"11":29===e.major?"10":28===e.major?"9":27===e.major?"8.1":26===e.major?"8.0":25===e.major?"7.1":24===e.major?"7.0":23===e.major?"6.0":22===e.major?"5.1":21===e.major?"5.0":20===e.major||19===e.major?"4.4":18===e.major?"4.3":17===e.major?"4.2":16===e.major?"4.1":15===e.major?"4.0.3":14===e.major?"4.0":13===e.major?"3.2":12===e.major?"3.1":11===e.major?"3.0":10===e.major?"2.3.3":9===e.major?"2.3":8===e.major?"2.2":7===e.major?"2.1":6===e.major?"2.0.1":5===e.major?"2.0":4===e.major?"1.6":3===e.major?"1.5":2===e.major?"1.1":1===e.major?"1.0":n}function x(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function C(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function M(){if(f.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":f.os={name:n.Android,version:globalThis.device.version};break;case"iOS":f.os={name:n.iOS,version:globalThis.device.version}}k()}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(m))&&(f.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(f.crossPlatformFramework=t.ReactNative);for(var e=0;e<g.length;e++){var r=(c=g[e])[0],a=c[1],s=c[2];if(null!==(d=f.userAgent.match(r))){f.os={name:a,version:x(d[1],s)};break}}for(f.os.name===n.iOS&&0===function(e,n){for(var o=e.split("."),r=n.split("."),i=Math.max(o.length,r.length),t=0;t<i;t++){var a=void 0,s=void 0;if((a=t<o.length?parseInt(o[t],10):0)>(s=t<r.length?parseInt(r[t],10):0))return 1;if(a<s)return-1}return 0}(f.os.version,"18.6")&&null!==(v=/\) Version\/([\d.]+)/.exec(f.userAgent))&&parseInt(v[1].substring(0,2),10)>=26&&(f.os.version=v[1]),e=0;e<h.length;e++){r=(c=h[e])[0];var l=c[1];s=c[2];if(null!==(d=f.userAgent.match(r))){f.engine={name:l,version:x(d[1],s)};break}}for(e=0;e<w.length;e++){r=(c=w[e])[0];var c,d,u=c[1];s=c[2];if(null!==(d=f.userAgent.match(r))){f.browser={name:u,version:x(d[1],s)};break}}if(f.crossPlatformFramework===t.ReactNative)try{a=(y=require("react-native").Platform).OS;var v=C(j=""+y.Version);switch(a){case"android":f.os={name:n.Android,version:O(v,j)};break;case"ios":f.os={name:n.iOS,version:j};break;case"windows":f.os={name:n.Windows,version:E(v,j)};break;case"macos":f.os={name:n.MacOS,version:j}}}catch(e){}if(f.isNode)try{var j,y=(a=require("os")).platform();v=C(j=a.release());switch(y){case"win32":f.os={name:n.Windows,version:E(v,j)};break;case"darwin":f.os={name:n.MacOS,version:S(v,j)};break;case"android":f.os={name:n.Android,version:j};break;case"linux":/android/i.test(j)&&(f.os={name:n.Android,version:j})}}catch(e){}void 0!==globalThis.document&&(p(),void 0!==globalThis.device?M():globalThis.document.addEventListener("deviceready",M,!1)),void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&(p(),globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){try{for(var r=e.fullVersionList||e.brands||[],t=e.platformVersion,a=e.platform,s=f.browser.name,l=null,c=0;c<r.length;c++){var m=null==(v=r[c])?{brand:"",version:""}:"string"==typeof v?{brand:v,version:""}:{brand:v.brand,version:v.version},d=m.version,u=m.brand;/not.a.brand/i.test(u)||((null===l||/Chrom/.test(l)&&"Chromium"!==u||"Edge"===l&&/WebView2/.test(u))&&(u=b[u]||u,null!==(l=s)&&!/Chrom/.test(l)&&/Chrom/.test(u)||("Chrome"===(s=u)||"Chrome WebView"===s||"Chrome Headless"===s?f.browser.name=i.Chrome:"Edge"===s||"Edge WebView2"===s?f.browser.name=i.Edge:"Opera Mobi"===s&&(f.browser.name=i.Opera),f.browser.version=d),l=u),"Chromium"===u&&(f.engine.version=d))}"string"==typeof t&&(f.os.name===n.Windows?f.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":f.os.version=t),"string"==typeof a&&(/android/i.test(a)?f.os.name=n.Android:/ios|iphone|ipad/i.test(a)?f.os.name=n.iOS:/windows|win32/i.test(a)?f.os.name=n.Windows:/macos|macintel/i.test(a)&&(f.os.name=n.MacOS)),!0===e.mobile&&(f.device=o.Mobile)}catch(e){}finally{k()}var v})).catch(k)),T()}();var L=null,W=null;function A(){return new Promise((function(n){var o=new Image;o.onload=function(){if(null===l)return n(e.Light);l.drawImage(o,0,0);var r=l.getImageData(0,0,1,1).data;(r[0]&r[1]&r[2])<255?n(e.Dark):n(e.Light)},o.onerror=function(){n(e.Unknown)},o.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function I(){return s?a.matches?e.Dark:e.Light:e.Unknown}function N(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function P(){return f.crossPlatformFramework===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):f.crossPlatformFramework===t.Electron?new Promise((function(e){e(N())})):f.browser.name===i.SamsungInternet?A():new Promise((function(e){e(I())}))}function F(n){var o;(o=n.matches?e.Dark:e.Light)!==L&&D(L=o)}function D(e){for(var n=0;n<c.length;n++){var o=c[n];o.fn(e),o.once&&U(o)}}function U(e){var n,o=R(e);-1!==o&&c.splice(o,1),0===c.length&&(f.browser.name===i.SamsungInternet?(L=null,null!==W&&(clearInterval(W),W=null)):(n=e.capture,L=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",F,n):"function"==typeof a.removeListener&&a.removeListener(F)))}function R(e){for(var n=0;n<c.length;n++)if(c[n].fn===e.fn&&c[n].capture===e.capture)return n;return-1}return{installed:!1,name:"Appearance",module:{get value(){return P()},set value(e){!function(e){if(f.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(f.crossPlatformFramework===t.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,o){void 0===o&&(o=!1);if(f.crossPlatformFramework===t.ReactNative)return function(n){try{var o=require("react-native").Appearance.addChangeListener((function(o){n(o.colorScheme||e.Unknown)}));return function(){o.remove()}}catch(e){}return function(){}}(n);if(f.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),o=function(){e(N())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",o),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",o)}}catch(e){}return function(){}}(n);var r={fn:n,capture:!1,once:!1};"boolean"==typeof o&&(o={capture:o});void 0!==o.capture&&(r.capture=o.capture);void 0!==o.once&&(r.once=o.once);void 0!==o.signal&&(r.signal=o.signal);var s=R(r);-1===s?(c.push(r),1===c.length&&(f.browser.name===i.SamsungInternet?(A().then((function(e){L=e})),W=globalThis.setInterval((function(){A().then((function(e){e!==L&&(L=e,D(e))}))}),2e3)):(l=r.capture,L=I(),"function"==typeof a.addEventListener?a.addEventListener("change",F,l):"function"==typeof a.addListener&&a.addListener(F))),P().then(D)):c[s].once&&!r.once&&(c[s].once=!1);var l;void 0!==r.signal&&(r.signal.aborted?U(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),U(r)})));return function(){U(r)}}},Constants:{Appearances:e},Errors:{}}}));
|
|
@@ -8,11 +8,13 @@ export declare interface PlatformInstance {
|
|
|
8
8
|
network: Network;
|
|
9
9
|
renderer: string;
|
|
10
10
|
userAgent: string;
|
|
11
|
+
readyState: 'loading' | 'complete';
|
|
11
12
|
isNode: boolean;
|
|
12
13
|
isStandalone: boolean;
|
|
13
14
|
isMobile: boolean;
|
|
14
15
|
isDesktop: boolean;
|
|
15
16
|
isWebview: boolean;
|
|
17
|
+
onready(callback: (platform: PlatformInstance) => void): void;
|
|
16
18
|
}
|
|
17
19
|
export declare interface NameVersionPair<T> {
|
|
18
20
|
name: T;
|
|
@@ -280,12 +280,18 @@ var CrossPlatformFramework;
|
|
|
280
280
|
})(CrossPlatformFramework || (CrossPlatformFramework = {}));
|
|
281
281
|
var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
|
|
282
282
|
|
|
283
|
+
var readyState = 'loading';
|
|
284
|
+
var readyCallback = [];
|
|
285
|
+
var pendingTasks = 0;
|
|
283
286
|
var Platform = {
|
|
284
287
|
os: { name: OS.Unknown, version: '' },
|
|
285
288
|
engine: { name: Engines.Unknown, version: '' },
|
|
286
289
|
browser: { name: Browsers.Unknown, version: '' },
|
|
287
290
|
crossPlatformFramework: CrossPlatformFramework.Unknown,
|
|
288
291
|
userAgent: USER_AGENT,
|
|
292
|
+
get readyState() {
|
|
293
|
+
return readyState;
|
|
294
|
+
},
|
|
289
295
|
get network() {
|
|
290
296
|
return getNetwork();
|
|
291
297
|
},
|
|
@@ -318,6 +324,18 @@ var Platform = {
|
|
|
318
324
|
return false;
|
|
319
325
|
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
320
326
|
},
|
|
327
|
+
onready: function (callback) {
|
|
328
|
+
if (this.readyState === 'complete') {
|
|
329
|
+
try {
|
|
330
|
+
callback(this);
|
|
331
|
+
}
|
|
332
|
+
catch (_) {
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
readyCallback.push(callback);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
321
339
|
};
|
|
322
340
|
var OS_RESOLVER_MAP = [
|
|
323
341
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -385,6 +403,26 @@ var HIGH_ENTROPY_BRAND_NAME_MAP = {
|
|
|
385
403
|
'HeadlessChrome': 'Chrome Headless',
|
|
386
404
|
'OperaMobile': 'Opera Mobi',
|
|
387
405
|
};
|
|
406
|
+
function incrementPendingTasks() {
|
|
407
|
+
pendingTasks++;
|
|
408
|
+
}
|
|
409
|
+
function decrementPendingTasks() {
|
|
410
|
+
pendingTasks--;
|
|
411
|
+
checkReady();
|
|
412
|
+
}
|
|
413
|
+
function checkReady() {
|
|
414
|
+
if (pendingTasks === 0 && readyState === 'loading') {
|
|
415
|
+
readyState = 'complete';
|
|
416
|
+
for (var i = 0; i < readyCallback.length; i++) {
|
|
417
|
+
try {
|
|
418
|
+
readyCallback[i](Platform);
|
|
419
|
+
}
|
|
420
|
+
catch (_) {
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
readyCallback.length = 0;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
388
426
|
function resolveWindowsVersion(string) {
|
|
389
427
|
if (string === undefined)
|
|
390
428
|
return '';
|
|
@@ -585,6 +623,7 @@ function parseOSFromCordova() {
|
|
|
585
623
|
break;
|
|
586
624
|
}
|
|
587
625
|
}
|
|
626
|
+
decrementPendingTasks();
|
|
588
627
|
}
|
|
589
628
|
function getRenderer() {
|
|
590
629
|
if (typeof globalThis.document === 'undefined')
|
|
@@ -694,9 +733,6 @@ function getNetwork() {
|
|
|
694
733
|
}
|
|
695
734
|
return network;
|
|
696
735
|
}
|
|
697
|
-
function canUseHighEntropyValues(navigator) {
|
|
698
|
-
return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
|
|
699
|
-
}
|
|
700
736
|
function init() {
|
|
701
737
|
if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
|
|
702
738
|
Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
|
|
@@ -829,6 +865,7 @@ function init() {
|
|
|
829
865
|
}
|
|
830
866
|
}
|
|
831
867
|
if (typeof globalThis.document !== 'undefined') {
|
|
868
|
+
incrementPendingTasks();
|
|
832
869
|
if (typeof globalThis.device !== 'undefined') {
|
|
833
870
|
parseOSFromCordova();
|
|
834
871
|
}
|
|
@@ -836,61 +873,68 @@ function init() {
|
|
|
836
873
|
globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
|
|
837
874
|
}
|
|
838
875
|
}
|
|
839
|
-
if (
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
.userAgentData
|
|
843
|
-
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
876
|
+
if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
|
|
877
|
+
incrementPendingTasks();
|
|
878
|
+
globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
844
879
|
.then(function (result) {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
var
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
880
|
+
try {
|
|
881
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
882
|
+
var platformVersion = result.platformVersion;
|
|
883
|
+
var platform = result.platform;
|
|
884
|
+
var browserName = Platform.browser.name;
|
|
885
|
+
var prevBrandName = null;
|
|
886
|
+
for (var i = 0; i < brands.length; i++) {
|
|
887
|
+
var brand = normalizeBrand(brands[i]);
|
|
888
|
+
var brandVersion = brand.version;
|
|
889
|
+
var brandName = brand.brand;
|
|
890
|
+
if (/not.a.brand/i.test(brandName))
|
|
891
|
+
continue;
|
|
892
|
+
if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
|
|
893
|
+
brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
|
|
894
|
+
prevBrandName = browserName;
|
|
895
|
+
if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
|
|
896
|
+
browserName = brandName;
|
|
897
|
+
if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
|
|
898
|
+
Platform.browser.name = Browsers.Chrome;
|
|
899
|
+
else if (browserName === 'Edge' || browserName === 'Edge WebView2')
|
|
900
|
+
Platform.browser.name = Browsers.Edge;
|
|
901
|
+
else if (browserName === 'Opera Mobi')
|
|
902
|
+
Platform.browser.name = Browsers.Opera;
|
|
903
|
+
Platform.browser.version = brandVersion;
|
|
904
|
+
}
|
|
905
|
+
prevBrandName = brandName;
|
|
868
906
|
}
|
|
869
|
-
|
|
907
|
+
if (brandName === 'Chromium')
|
|
908
|
+
Platform.engine.version = brandVersion;
|
|
870
909
|
}
|
|
871
|
-
if (
|
|
872
|
-
Platform.
|
|
910
|
+
if (typeof platformVersion === 'string') {
|
|
911
|
+
if (Platform.os.name === OS.Windows)
|
|
912
|
+
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
913
|
+
else
|
|
914
|
+
Platform.os.version = platformVersion;
|
|
915
|
+
}
|
|
916
|
+
if (typeof platform === 'string') {
|
|
917
|
+
if (/android/i.test(platform))
|
|
918
|
+
Platform.os.name = OS.Android;
|
|
919
|
+
else if (/ios|iphone|ipad/i.test(platform))
|
|
920
|
+
Platform.os.name = OS.iOS;
|
|
921
|
+
else if (/windows|win32/i.test(platform))
|
|
922
|
+
Platform.os.name = OS.Windows;
|
|
923
|
+
else if (/macos|macintel/i.test(platform))
|
|
924
|
+
Platform.os.name = OS.MacOS;
|
|
925
|
+
}
|
|
926
|
+
if (result.mobile === true)
|
|
927
|
+
Platform.device = Devices.Mobile;
|
|
873
928
|
}
|
|
874
|
-
|
|
875
|
-
if (Platform.os.name === OS.Windows)
|
|
876
|
-
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
877
|
-
else
|
|
878
|
-
Platform.os.version = platformVersion;
|
|
929
|
+
catch (_) {
|
|
879
930
|
}
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
Platform.os.name = OS.Android;
|
|
883
|
-
else if (/ios|iphone|ipad/i.test(platform))
|
|
884
|
-
Platform.os.name = OS.iOS;
|
|
885
|
-
else if (/windows|win32/i.test(platform))
|
|
886
|
-
Platform.os.name = OS.Windows;
|
|
887
|
-
else if (/macos|macintel/i.test(platform))
|
|
888
|
-
Platform.os.name = OS.MacOS;
|
|
931
|
+
finally {
|
|
932
|
+
decrementPendingTasks();
|
|
889
933
|
}
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
});
|
|
934
|
+
})
|
|
935
|
+
.catch(decrementPendingTasks);
|
|
893
936
|
}
|
|
937
|
+
checkReady();
|
|
894
938
|
}
|
|
895
939
|
init();
|
|
896
940
|
|