native-fn 1.0.77 → 1.0.79
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 +131 -50
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +131 -50
- package/dist/plugin/app/index.umd.js +131 -50
- package/dist/plugin/app/index.umd.min.js +1 -1
- package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +10 -0
- package/dist/plugin/appearance/index.cjs +131 -50
- package/dist/plugin/appearance/index.min.cjs +1 -1
- package/dist/plugin/appearance/index.min.mjs +1 -1
- package/dist/plugin/appearance/index.mjs +131 -50
- package/dist/plugin/appearance/index.umd.js +131 -50
- package/dist/plugin/appearance/index.umd.min.js +1 -1
- package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +10 -0
- package/dist/plugin/clipboard/index.cjs +131 -50
- package/dist/plugin/clipboard/index.min.cjs +1 -1
- package/dist/plugin/clipboard/index.min.mjs +1 -1
- package/dist/plugin/clipboard/index.mjs +131 -50
- package/dist/plugin/clipboard/index.umd.js +131 -50
- package/dist/plugin/clipboard/index.umd.min.js +1 -1
- package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +10 -0
- package/dist/plugin/fullscreen/index.cjs +131 -50
- package/dist/plugin/fullscreen/index.min.cjs +1 -1
- package/dist/plugin/fullscreen/index.min.mjs +1 -1
- package/dist/plugin/fullscreen/index.mjs +131 -50
- package/dist/plugin/fullscreen/index.umd.js +131 -50
- package/dist/plugin/fullscreen/index.umd.min.js +1 -1
- package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +10 -0
- package/dist/plugin/platform/index.cjs +131 -50
- package/dist/plugin/platform/index.d.ts +11 -1
- package/dist/plugin/platform/index.min.cjs +1 -1
- package/dist/plugin/platform/index.min.mjs +1 -1
- package/dist/plugin/platform/index.mjs +131 -50
- package/dist/plugin/platform/index.umd.js +131 -50
- package/dist/plugin/platform/index.umd.min.js +1 -1
- package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +10 -0
- package/dist/plugin/theme/index.cjs +131 -50
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +131 -50
- package/dist/plugin/theme/index.umd.js +131 -50
- package/dist/plugin/theme/index.umd.min.js +1 -1
- package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +10 -0
- package/dist/src/plugin/platform/types/platform.d.ts +10 -0
- package/package.json +1 -1
|
@@ -97,15 +97,24 @@ var CrossPlatformFramework;
|
|
|
97
97
|
})(CrossPlatformFramework || (CrossPlatformFramework = {}));
|
|
98
98
|
var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
|
|
99
99
|
|
|
100
|
+
var readyState = 'loading';
|
|
101
|
+
var readyCallback = [];
|
|
102
|
+
var pendingTasks = 0;
|
|
100
103
|
var Platform = {
|
|
101
104
|
os: { name: OS.Unknown, version: '' },
|
|
102
105
|
engine: { name: Engines.Unknown, version: '' },
|
|
103
106
|
browser: { name: Browsers.Unknown, version: '' },
|
|
104
107
|
crossPlatformFramework: CrossPlatformFramework.Unknown,
|
|
105
108
|
userAgent: USER_AGENT,
|
|
109
|
+
get readyState() {
|
|
110
|
+
return readyState;
|
|
111
|
+
},
|
|
106
112
|
get network() {
|
|
107
113
|
return getNetwork();
|
|
108
114
|
},
|
|
115
|
+
get dimension() {
|
|
116
|
+
return getDimension();
|
|
117
|
+
},
|
|
109
118
|
get device() {
|
|
110
119
|
if (this.os.name === OS.iOS || this.os.name === OS.Android)
|
|
111
120
|
return Devices.Mobile;
|
|
@@ -135,6 +144,18 @@ var Platform = {
|
|
|
135
144
|
return false;
|
|
136
145
|
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
137
146
|
},
|
|
147
|
+
onready: function (callback) {
|
|
148
|
+
if (this.readyState === 'complete') {
|
|
149
|
+
try {
|
|
150
|
+
callback(this);
|
|
151
|
+
}
|
|
152
|
+
catch (_) {
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
readyCallback.push(callback);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
138
159
|
};
|
|
139
160
|
var OS_RESOLVER_MAP = [
|
|
140
161
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -202,6 +223,26 @@ var HIGH_ENTROPY_BRAND_NAME_MAP = {
|
|
|
202
223
|
'HeadlessChrome': 'Chrome Headless',
|
|
203
224
|
'OperaMobile': 'Opera Mobi',
|
|
204
225
|
};
|
|
226
|
+
function incrementPendingTasks() {
|
|
227
|
+
pendingTasks++;
|
|
228
|
+
}
|
|
229
|
+
function decrementPendingTasks() {
|
|
230
|
+
pendingTasks--;
|
|
231
|
+
checkReady();
|
|
232
|
+
}
|
|
233
|
+
function checkReady() {
|
|
234
|
+
if (pendingTasks === 0 && readyState === 'loading') {
|
|
235
|
+
readyState = 'complete';
|
|
236
|
+
for (var i = 0; i < readyCallback.length; i++) {
|
|
237
|
+
try {
|
|
238
|
+
readyCallback[i](Platform);
|
|
239
|
+
}
|
|
240
|
+
catch (_) {
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
readyCallback.length = 0;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
205
246
|
function resolveWindowsVersion(string) {
|
|
206
247
|
if (string === undefined)
|
|
207
248
|
return '';
|
|
@@ -402,6 +443,7 @@ function parseOSFromCordova() {
|
|
|
402
443
|
break;
|
|
403
444
|
}
|
|
404
445
|
}
|
|
446
|
+
decrementPendingTasks();
|
|
405
447
|
}
|
|
406
448
|
function getRenderer() {
|
|
407
449
|
if (typeof globalThis.document === 'undefined')
|
|
@@ -511,8 +553,40 @@ function getNetwork() {
|
|
|
511
553
|
}
|
|
512
554
|
return network;
|
|
513
555
|
}
|
|
514
|
-
function
|
|
515
|
-
|
|
556
|
+
function getDimension() {
|
|
557
|
+
var dimension = {
|
|
558
|
+
innerWidth: -1,
|
|
559
|
+
innerHeight: -1,
|
|
560
|
+
outerWidth: -1,
|
|
561
|
+
outerHeight: -1,
|
|
562
|
+
scale: 1,
|
|
563
|
+
};
|
|
564
|
+
if (typeof globalThis.innerWidth !== 'undefined') {
|
|
565
|
+
dimension.innerWidth = globalThis.innerWidth;
|
|
566
|
+
dimension.innerHeight = globalThis.innerHeight;
|
|
567
|
+
dimension.outerWidth = globalThis.outerWidth;
|
|
568
|
+
dimension.outerHeight = globalThis.outerHeight;
|
|
569
|
+
dimension.scale = globalThis.devicePixelRatio || 1;
|
|
570
|
+
return dimension;
|
|
571
|
+
}
|
|
572
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
573
|
+
try {
|
|
574
|
+
var reactNative = require('react-native');
|
|
575
|
+
var dimensions = reactNative.Dimensions;
|
|
576
|
+
var pixelRatio = reactNative.PixelRatio;
|
|
577
|
+
var screenDimensions = dimensions.get('screen');
|
|
578
|
+
var windowDimensions = dimensions.get('window');
|
|
579
|
+
dimension.innerWidth = screenDimensions.width;
|
|
580
|
+
dimension.innerHeight = screenDimensions.height;
|
|
581
|
+
dimension.outerWidth = windowDimensions.width;
|
|
582
|
+
dimension.outerHeight = windowDimensions.height;
|
|
583
|
+
dimension.scale = pixelRatio.get();
|
|
584
|
+
return dimension;
|
|
585
|
+
}
|
|
586
|
+
catch (_) {
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
return dimension;
|
|
516
590
|
}
|
|
517
591
|
function init() {
|
|
518
592
|
if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
|
|
@@ -653,61 +727,68 @@ function init() {
|
|
|
653
727
|
globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
|
|
654
728
|
}
|
|
655
729
|
}
|
|
656
|
-
if (
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
.userAgentData
|
|
660
|
-
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
730
|
+
if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
|
|
731
|
+
incrementPendingTasks();
|
|
732
|
+
globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
661
733
|
.then(function (result) {
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
var
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
734
|
+
try {
|
|
735
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
736
|
+
var platformVersion = result.platformVersion;
|
|
737
|
+
var platform = result.platform;
|
|
738
|
+
var browserName = Platform.browser.name;
|
|
739
|
+
var prevBrandName = null;
|
|
740
|
+
for (var i = 0; i < brands.length; i++) {
|
|
741
|
+
var brand = normalizeBrand(brands[i]);
|
|
742
|
+
var brandVersion = brand.version;
|
|
743
|
+
var brandName = brand.brand;
|
|
744
|
+
if (/not.a.brand/i.test(brandName))
|
|
745
|
+
continue;
|
|
746
|
+
if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
|
|
747
|
+
brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
|
|
748
|
+
prevBrandName = browserName;
|
|
749
|
+
if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
|
|
750
|
+
browserName = brandName;
|
|
751
|
+
if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
|
|
752
|
+
Platform.browser.name = Browsers.Chrome;
|
|
753
|
+
else if (browserName === 'Edge' || browserName === 'Edge WebView2')
|
|
754
|
+
Platform.browser.name = Browsers.Edge;
|
|
755
|
+
else if (browserName === 'Opera Mobi')
|
|
756
|
+
Platform.browser.name = Browsers.Opera;
|
|
757
|
+
Platform.browser.version = brandVersion;
|
|
758
|
+
}
|
|
759
|
+
prevBrandName = brandName;
|
|
685
760
|
}
|
|
686
|
-
|
|
761
|
+
if (brandName === 'Chromium')
|
|
762
|
+
Platform.engine.version = brandVersion;
|
|
687
763
|
}
|
|
688
|
-
if (
|
|
689
|
-
Platform.
|
|
764
|
+
if (typeof platformVersion === 'string') {
|
|
765
|
+
if (Platform.os.name === OS.Windows)
|
|
766
|
+
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
767
|
+
else
|
|
768
|
+
Platform.os.version = platformVersion;
|
|
769
|
+
}
|
|
770
|
+
if (typeof platform === 'string') {
|
|
771
|
+
if (/android/i.test(platform))
|
|
772
|
+
Platform.os.name = OS.Android;
|
|
773
|
+
else if (/ios|iphone|ipad/i.test(platform))
|
|
774
|
+
Platform.os.name = OS.iOS;
|
|
775
|
+
else if (/windows|win32/i.test(platform))
|
|
776
|
+
Platform.os.name = OS.Windows;
|
|
777
|
+
else if (/macos|macintel/i.test(platform))
|
|
778
|
+
Platform.os.name = OS.MacOS;
|
|
779
|
+
}
|
|
780
|
+
if (result.mobile === true)
|
|
781
|
+
Platform.device = Devices.Mobile;
|
|
690
782
|
}
|
|
691
|
-
|
|
692
|
-
if (Platform.os.name === OS.Windows)
|
|
693
|
-
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
694
|
-
else
|
|
695
|
-
Platform.os.version = platformVersion;
|
|
783
|
+
catch (_) {
|
|
696
784
|
}
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
Platform.os.name = OS.Android;
|
|
700
|
-
else if (/ios|iphone|ipad/i.test(platform))
|
|
701
|
-
Platform.os.name = OS.iOS;
|
|
702
|
-
else if (/windows|win32/i.test(platform))
|
|
703
|
-
Platform.os.name = OS.Windows;
|
|
704
|
-
else if (/macos|macintel/i.test(platform))
|
|
705
|
-
Platform.os.name = OS.MacOS;
|
|
785
|
+
finally {
|
|
786
|
+
decrementPendingTasks();
|
|
706
787
|
}
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
});
|
|
788
|
+
})
|
|
789
|
+
.catch(decrementPendingTasks);
|
|
710
790
|
}
|
|
791
|
+
checkReady();
|
|
711
792
|
}
|
|
712
793
|
init();
|
|
713
794
|
|
|
@@ -103,15 +103,24 @@
|
|
|
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
|
},
|
|
121
|
+
get dimension() {
|
|
122
|
+
return getDimension();
|
|
123
|
+
},
|
|
115
124
|
get device() {
|
|
116
125
|
if (this.os.name === OS.iOS || this.os.name === OS.Android)
|
|
117
126
|
return Devices.Mobile;
|
|
@@ -141,6 +150,18 @@
|
|
|
141
150
|
return false;
|
|
142
151
|
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
143
152
|
},
|
|
153
|
+
onready: function (callback) {
|
|
154
|
+
if (this.readyState === 'complete') {
|
|
155
|
+
try {
|
|
156
|
+
callback(this);
|
|
157
|
+
}
|
|
158
|
+
catch (_) {
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
readyCallback.push(callback);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
144
165
|
};
|
|
145
166
|
var OS_RESOLVER_MAP = [
|
|
146
167
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -208,6 +229,26 @@
|
|
|
208
229
|
'HeadlessChrome': 'Chrome Headless',
|
|
209
230
|
'OperaMobile': 'Opera Mobi',
|
|
210
231
|
};
|
|
232
|
+
function incrementPendingTasks() {
|
|
233
|
+
pendingTasks++;
|
|
234
|
+
}
|
|
235
|
+
function decrementPendingTasks() {
|
|
236
|
+
pendingTasks--;
|
|
237
|
+
checkReady();
|
|
238
|
+
}
|
|
239
|
+
function checkReady() {
|
|
240
|
+
if (pendingTasks === 0 && readyState === 'loading') {
|
|
241
|
+
readyState = 'complete';
|
|
242
|
+
for (var i = 0; i < readyCallback.length; i++) {
|
|
243
|
+
try {
|
|
244
|
+
readyCallback[i](Platform);
|
|
245
|
+
}
|
|
246
|
+
catch (_) {
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
readyCallback.length = 0;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
211
252
|
function resolveWindowsVersion(string) {
|
|
212
253
|
if (string === undefined)
|
|
213
254
|
return '';
|
|
@@ -408,6 +449,7 @@
|
|
|
408
449
|
break;
|
|
409
450
|
}
|
|
410
451
|
}
|
|
452
|
+
decrementPendingTasks();
|
|
411
453
|
}
|
|
412
454
|
function getRenderer() {
|
|
413
455
|
if (typeof globalThis.document === 'undefined')
|
|
@@ -517,8 +559,40 @@
|
|
|
517
559
|
}
|
|
518
560
|
return network;
|
|
519
561
|
}
|
|
520
|
-
function
|
|
521
|
-
|
|
562
|
+
function getDimension() {
|
|
563
|
+
var dimension = {
|
|
564
|
+
innerWidth: -1,
|
|
565
|
+
innerHeight: -1,
|
|
566
|
+
outerWidth: -1,
|
|
567
|
+
outerHeight: -1,
|
|
568
|
+
scale: 1,
|
|
569
|
+
};
|
|
570
|
+
if (typeof globalThis.innerWidth !== 'undefined') {
|
|
571
|
+
dimension.innerWidth = globalThis.innerWidth;
|
|
572
|
+
dimension.innerHeight = globalThis.innerHeight;
|
|
573
|
+
dimension.outerWidth = globalThis.outerWidth;
|
|
574
|
+
dimension.outerHeight = globalThis.outerHeight;
|
|
575
|
+
dimension.scale = globalThis.devicePixelRatio || 1;
|
|
576
|
+
return dimension;
|
|
577
|
+
}
|
|
578
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
579
|
+
try {
|
|
580
|
+
var reactNative = require('react-native');
|
|
581
|
+
var dimensions = reactNative.Dimensions;
|
|
582
|
+
var pixelRatio = reactNative.PixelRatio;
|
|
583
|
+
var screenDimensions = dimensions.get('screen');
|
|
584
|
+
var windowDimensions = dimensions.get('window');
|
|
585
|
+
dimension.innerWidth = screenDimensions.width;
|
|
586
|
+
dimension.innerHeight = screenDimensions.height;
|
|
587
|
+
dimension.outerWidth = windowDimensions.width;
|
|
588
|
+
dimension.outerHeight = windowDimensions.height;
|
|
589
|
+
dimension.scale = pixelRatio.get();
|
|
590
|
+
return dimension;
|
|
591
|
+
}
|
|
592
|
+
catch (_) {
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
return dimension;
|
|
522
596
|
}
|
|
523
597
|
function init() {
|
|
524
598
|
if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
|
|
@@ -659,61 +733,68 @@
|
|
|
659
733
|
globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
|
|
660
734
|
}
|
|
661
735
|
}
|
|
662
|
-
if (
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
.userAgentData
|
|
666
|
-
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
736
|
+
if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
|
|
737
|
+
incrementPendingTasks();
|
|
738
|
+
globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
667
739
|
.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
|
-
|
|
740
|
+
try {
|
|
741
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
742
|
+
var platformVersion = result.platformVersion;
|
|
743
|
+
var platform = result.platform;
|
|
744
|
+
var browserName = Platform.browser.name;
|
|
745
|
+
var prevBrandName = null;
|
|
746
|
+
for (var i = 0; i < brands.length; i++) {
|
|
747
|
+
var brand = normalizeBrand(brands[i]);
|
|
748
|
+
var brandVersion = brand.version;
|
|
749
|
+
var brandName = brand.brand;
|
|
750
|
+
if (/not.a.brand/i.test(brandName))
|
|
751
|
+
continue;
|
|
752
|
+
if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
|
|
753
|
+
brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
|
|
754
|
+
prevBrandName = browserName;
|
|
755
|
+
if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
|
|
756
|
+
browserName = brandName;
|
|
757
|
+
if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
|
|
758
|
+
Platform.browser.name = Browsers.Chrome;
|
|
759
|
+
else if (browserName === 'Edge' || browserName === 'Edge WebView2')
|
|
760
|
+
Platform.browser.name = Browsers.Edge;
|
|
761
|
+
else if (browserName === 'Opera Mobi')
|
|
762
|
+
Platform.browser.name = Browsers.Opera;
|
|
763
|
+
Platform.browser.version = brandVersion;
|
|
764
|
+
}
|
|
765
|
+
prevBrandName = brandName;
|
|
691
766
|
}
|
|
692
|
-
|
|
767
|
+
if (brandName === 'Chromium')
|
|
768
|
+
Platform.engine.version = brandVersion;
|
|
693
769
|
}
|
|
694
|
-
if (
|
|
695
|
-
Platform.
|
|
770
|
+
if (typeof platformVersion === 'string') {
|
|
771
|
+
if (Platform.os.name === OS.Windows)
|
|
772
|
+
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
773
|
+
else
|
|
774
|
+
Platform.os.version = platformVersion;
|
|
775
|
+
}
|
|
776
|
+
if (typeof platform === 'string') {
|
|
777
|
+
if (/android/i.test(platform))
|
|
778
|
+
Platform.os.name = OS.Android;
|
|
779
|
+
else if (/ios|iphone|ipad/i.test(platform))
|
|
780
|
+
Platform.os.name = OS.iOS;
|
|
781
|
+
else if (/windows|win32/i.test(platform))
|
|
782
|
+
Platform.os.name = OS.Windows;
|
|
783
|
+
else if (/macos|macintel/i.test(platform))
|
|
784
|
+
Platform.os.name = OS.MacOS;
|
|
785
|
+
}
|
|
786
|
+
if (result.mobile === true)
|
|
787
|
+
Platform.device = Devices.Mobile;
|
|
696
788
|
}
|
|
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;
|
|
789
|
+
catch (_) {
|
|
702
790
|
}
|
|
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;
|
|
791
|
+
finally {
|
|
792
|
+
decrementPendingTasks();
|
|
712
793
|
}
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
});
|
|
794
|
+
})
|
|
795
|
+
.catch(decrementPendingTasks);
|
|
716
796
|
}
|
|
797
|
+
checkReady();
|
|
717
798
|
}
|
|
718
799
|
init();
|
|
719
800
|
|
|
@@ -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,r,o,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"}(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"}(o||(o={})),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,h={os:{name:n.Unknown,version:""},engine:{name:o.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 r=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==r&&(void 0!==r.effectiveType&&(e.effectiveType=r.effectiveType),void 0!==r.type&&(e.type=r.type),void 0!==r.downlink&&(e.downlink=r.downlink),void 0!==r.rtt&&(e.rtt=r.rtt),void 0!==r.saveData&&(e.saveData=r.saveData))}if(h.isNode){try{for(var o=require("os").networkInterfaces(),i=Object.keys(o),t=0;t<i.length;t++){for(var a=o[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(h.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(h.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 dimension(){return function(){var e={innerWidth:-1,innerHeight:-1,outerWidth:-1,outerHeight:-1,scale:1};if(void 0!==globalThis.innerWidth)return e.innerWidth=globalThis.innerWidth,e.innerHeight=globalThis.innerHeight,e.outerWidth=globalThis.outerWidth,e.outerHeight=globalThis.outerHeight,e.scale=globalThis.devicePixelRatio||1,e;if(h.crossPlatformFramework===t.ReactNative)try{var n=require("react-native"),r=n.Dimensions,o=n.PixelRatio,i=r.get("screen"),a=r.get("window");return e.innerWidth=i.width,e.innerHeight=i.height,e.outerWidth=a.width,e.outerHeight=a.height,e.scale=o.get(),e}catch(e){}return e}()},get device(){return this.os.name===n.iOS||this.os.name===n.Android?r.Mobile:this.os.name===n.Windows||this.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 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 r=n.getExtension("WEBGL_debug_renderer_info");return null===r?n.getParameter(n.RENDERER):n.getParameter(r.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===r.Mobile},get isDesktop(){return this.device===r.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)}},f=[[/windows nt (6\.[23]); arm/i,n.Windows,T],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,T],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,T],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,T],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,T],[/windows ce\/?([\d.]*)/i,n.Windows,T],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,j],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,j],[/cfnetwork\/.+darwin/i,n.iOS,j],[/mac os x ?([\w. ]*)/i,n.MacOS,j],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,j],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],g=[[/windows.+ edge\/([\w.]+)/i,o.EdgeHTML],[/arkweb\/([\w.]+)/i,o.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,o.Blink],[/presto\/([\w.]+)/i,o.Presto],[/webkit\/([\w.]+)/i,o.WebKit],[/trident\/([\w.]+)/i,o.Trident],[/netfront\/([\w.]+)/i,o.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,o.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,o.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,o.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--,k()}function k(){if(0===v&&"loading"===d){d="complete";for(var e=0;e<u.length;e++)try{u[e](h)}catch(e){}u.length=0}}function T(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 j(e){return void 0===e?"":e.replace(/_/g,".")}function y(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 E(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 S(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 W(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function x(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function O(){if(h.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":h.os={name:n.Android,version:globalThis.device.version};break;case"iOS":h.os={name:n.iOS,version:globalThis.device.version}}p()}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(m))&&(h.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(h.crossPlatformFramework=t.ReactNative);for(var e=0;e<f.length;e++){var o=(c=f[e])[0],a=c[1],s=c[2];if(null!==(d=h.userAgent.match(o))){h.os={name:a,version:W(d[1],s)};break}}for(h.os.name===n.iOS&&0===function(e,n){for(var r=e.split("."),o=n.split("."),i=Math.max(r.length,o.length),t=0;t<i;t++){var a=void 0,s=void 0;if((a=t<r.length?parseInt(r[t],10):0)>(s=t<o.length?parseInt(o[t],10):0))return 1;if(a<s)return-1}return 0}(h.os.version,"18.6")&&null!==(T=/\) Version\/([\d.]+)/.exec(h.userAgent))&&parseInt(T[1].substring(0,2),10)>=26&&(h.os.version=T[1]),e=0;e<g.length;e++){o=(c=g[e])[0];var l=c[1];s=c[2];if(null!==(d=h.userAgent.match(o))){h.engine={name:l,version:W(d[1],s)};break}}for(e=0;e<w.length;e++){o=(c=w[e])[0];var c,d,u=c[1];s=c[2];if(null!==(d=h.userAgent.match(o))){h.browser={name:u,version:W(d[1],s)};break}}if(h.crossPlatformFramework===t.ReactNative)try{a=(C=require("react-native").Platform).OS;var T=x(j=""+C.Version);switch(a){case"android":h.os={name:n.Android,version:S(T,j)};break;case"ios":h.os={name:n.iOS,version:j};break;case"windows":h.os={name:n.Windows,version:y(T,j)};break;case"macos":h.os={name:n.MacOS,version:j}}}catch(e){}if(h.isNode)try{var j,C=(a=require("os")).platform();T=x(j=a.release());switch(C){case"win32":h.os={name:n.Windows,version:y(T,j)};break;case"darwin":h.os={name:n.MacOS,version:E(T,j)};break;case"android":h.os={name:n.Android,version:j};break;case"linux":/android/i.test(j)&&(h.os={name:n.Android,version:j})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?O():globalThis.document.addEventListener("deviceready",O,!1)),void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&(v++,globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){try{for(var o=e.fullVersionList||e.brands||[],t=e.platformVersion,a=e.platform,s=h.browser.name,l=null,c=0;c<o.length;c++){var m=null==(v=o[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?h.browser.name=i.Chrome:"Edge"===s||"Edge WebView2"===s?h.browser.name=i.Edge:"Opera Mobi"===s&&(h.browser.name=i.Opera),h.browser.version=d),l=u),"Chromium"===u&&(h.engine.version=d))}"string"==typeof t&&(h.os.name===n.Windows?h.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":h.os.version=t),"string"==typeof a&&(/android/i.test(a)?h.os.name=n.Android:/ios|iphone|ipad/i.test(a)?h.os.name=n.iOS:/windows|win32/i.test(a)?h.os.name=n.Windows:/macos|macintel/i.test(a)&&(h.os.name=n.MacOS)),!0===e.mobile&&(h.device=r.Mobile)}catch(e){}finally{p()}var v})).catch(p)),k()}();var C=null,M=null;function L(){return new Promise((function(n){var r=new Image;r.onload=function(){if(null===l)return n(e.Light);l.drawImage(r,0,0);var o=l.getImageData(0,0,1,1).data;(o[0]&o[1]&o[2])<255?n(e.Dark):n(e.Light)},r.onerror=function(){n(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function A(){return s?a.matches?e.Dark:e.Light:e.Unknown}function I(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function N(){return h.crossPlatformFramework===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):h.crossPlatformFramework===t.Electron?new Promise((function(e){e(I())})):h.browser.name===i.SamsungInternet?L():new Promise((function(e){e(A())}))}function P(n){var r;(r=n.matches?e.Dark:e.Light)!==C&&F(C=r)}function F(e){for(var n=0;n<c.length;n++){var r=c[n];r.fn(e),r.once&&D(r)}}function D(e){var n,r=R(e);-1!==r&&c.splice(r,1),0===c.length&&(h.browser.name===i.SamsungInternet?(C=null,null!==M&&(clearInterval(M),M=null)):(n=e.capture,C=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",P,n):"function"==typeof a.removeListener&&a.removeListener(P)))}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 N()},set value(e){!function(e){if(h.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(h.crossPlatformFramework===t.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,r){void 0===r&&(r=!1);if(h.crossPlatformFramework===t.ReactNative)return function(n){try{var r=require("react-native").Appearance.addChangeListener((function(r){n(r.colorScheme||e.Unknown)}));return function(){r.remove()}}catch(e){}return function(){}}(n);if(h.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),r=function(){e(I())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",r),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",r)}}catch(e){}return function(){}}(n);var o={fn:n,capture:!1,once:!1};"boolean"==typeof r&&(r={capture:r});void 0!==r.capture&&(o.capture=r.capture);void 0!==r.once&&(o.once=r.once);void 0!==r.signal&&(o.signal=r.signal);var s=R(o);-1===s?(c.push(o),1===c.length&&(h.browser.name===i.SamsungInternet?(L().then((function(e){C=e})),M=globalThis.setInterval((function(){L().then((function(e){e!==C&&(C=e,F(e))}))}),2e3)):(l=o.capture,C=A(),"function"==typeof a.addEventListener?a.addEventListener("change",P,l):"function"==typeof a.addListener&&a.addListener(P))),N().then(F)):c[s].once&&!o.once&&(c[s].once=!1);var l;void 0!==o.signal&&(o.signal.aborted?D(o):o.signal.addEventListener("abort",(function e(){void 0!==o.signal&&o.signal.removeEventListener("abort",e),D(o)})));return function(){D(o)}}},Constants:{Appearances:e},Errors:{}}}));
|
|
@@ -6,13 +6,16 @@ export declare interface PlatformInstance {
|
|
|
6
6
|
device: Devices;
|
|
7
7
|
crossPlatformFramework: CrossPlatformFramework;
|
|
8
8
|
network: Network;
|
|
9
|
+
dimension: Dimension;
|
|
9
10
|
renderer: string;
|
|
10
11
|
userAgent: string;
|
|
12
|
+
readyState: 'loading' | 'complete';
|
|
11
13
|
isNode: boolean;
|
|
12
14
|
isStandalone: boolean;
|
|
13
15
|
isMobile: boolean;
|
|
14
16
|
isDesktop: boolean;
|
|
15
17
|
isWebview: boolean;
|
|
18
|
+
onready(callback: (platform: PlatformInstance) => void): void;
|
|
16
19
|
}
|
|
17
20
|
export declare interface NameVersionPair<T> {
|
|
18
21
|
name: T;
|
|
@@ -26,3 +29,10 @@ export declare interface Network {
|
|
|
26
29
|
rtt: number | null;
|
|
27
30
|
saveData: boolean | null;
|
|
28
31
|
}
|
|
32
|
+
export declare interface Dimension {
|
|
33
|
+
outerWidth: number;
|
|
34
|
+
outerHeight: number;
|
|
35
|
+
innerWidth: number;
|
|
36
|
+
innerHeight: number;
|
|
37
|
+
scale: number;
|
|
38
|
+
}
|