native-fn 1.0.74 → 1.0.76
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/index.d.ts +5 -5
- 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 +355 -176
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +355 -176
- package/dist/plugin/app/index.umd.js +355 -176
- package/dist/plugin/app/index.umd.min.js +1 -1
- package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/app/src/types/native.d.ts +5 -5
- package/dist/plugin/appearance/index.cjs +344 -165
- package/dist/plugin/appearance/index.min.cjs +1 -1
- package/dist/plugin/appearance/index.min.mjs +1 -1
- package/dist/plugin/appearance/index.mjs +344 -165
- package/dist/plugin/appearance/index.umd.js +344 -165
- package/dist/plugin/appearance/index.umd.min.js +1 -1
- package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/appearance/src/types/native.d.ts +5 -5
- package/dist/plugin/clipboard/index.cjs +339 -160
- package/dist/plugin/clipboard/index.min.cjs +1 -1
- package/dist/plugin/clipboard/index.min.mjs +1 -1
- package/dist/plugin/clipboard/index.mjs +339 -160
- package/dist/plugin/clipboard/index.umd.js +339 -160
- package/dist/plugin/clipboard/index.umd.min.js +1 -1
- package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/clipboard/src/types/native.d.ts +5 -5
- package/dist/plugin/fullscreen/index.cjs +348 -169
- package/dist/plugin/fullscreen/index.min.cjs +1 -1
- package/dist/plugin/fullscreen/index.min.mjs +1 -1
- package/dist/plugin/fullscreen/index.mjs +348 -169
- package/dist/plugin/fullscreen/index.umd.js +348 -169
- package/dist/plugin/fullscreen/index.umd.min.js +1 -1
- package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/fullscreen/src/types/native.d.ts +5 -5
- package/dist/plugin/platform/index.cjs +339 -160
- package/dist/plugin/platform/index.d.ts +17 -7
- package/dist/plugin/platform/index.min.cjs +1 -1
- package/dist/plugin/platform/index.min.mjs +1 -1
- package/dist/plugin/platform/index.mjs +339 -160
- package/dist/plugin/platform/index.umd.js +339 -160
- package/dist/plugin/platform/index.umd.min.js +1 -1
- package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/platform/src/types/native.d.ts +5 -5
- package/dist/plugin/theme/index.cjs +339 -160
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +339 -160
- package/dist/plugin/theme/index.umd.js +339 -160
- package/dist/plugin/theme/index.umd.min.js +1 -1
- package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/theme/src/types/native.d.ts +5 -5
- package/dist/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/src/types/native.d.ts +5 -5
- package/package.json +8 -1
|
@@ -100,21 +100,43 @@ var CrossPlatformFramework;
|
|
|
100
100
|
var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
|
|
101
101
|
|
|
102
102
|
var Platform = {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
browser: Browsers.Unknown,
|
|
103
|
+
os: { name: OS.Unknown, version: '' },
|
|
104
|
+
engine: { name: Engines.Unknown, version: '' },
|
|
105
|
+
browser: { name: Browsers.Unknown, version: '' },
|
|
107
106
|
crossPlatformFramework: CrossPlatformFramework.Unknown,
|
|
108
|
-
osVersion: '',
|
|
109
|
-
engineVersion: '',
|
|
110
|
-
browserVersion: '',
|
|
111
|
-
renderer: getRenderer(),
|
|
112
107
|
userAgent: USER_AGENT,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
108
|
+
get network() {
|
|
109
|
+
return getNetwork();
|
|
110
|
+
},
|
|
111
|
+
get device() {
|
|
112
|
+
if (this.os.name === OS.iOS || this.os.name === OS.Android)
|
|
113
|
+
return Devices.Mobile;
|
|
114
|
+
if (this.os.name === OS.Windows || this.os.name === OS.MacOS)
|
|
115
|
+
return Devices.Desktop;
|
|
116
|
+
return Devices.Unknown;
|
|
117
|
+
},
|
|
118
|
+
get renderer() {
|
|
119
|
+
return getRenderer();
|
|
120
|
+
},
|
|
121
|
+
get isMobile() {
|
|
122
|
+
return this.device === Devices.Mobile;
|
|
123
|
+
},
|
|
124
|
+
get isDesktop() {
|
|
125
|
+
return this.device === Devices.Desktop;
|
|
126
|
+
},
|
|
127
|
+
get isWebview() {
|
|
128
|
+
return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
|
|
129
|
+
},
|
|
130
|
+
get isNode() {
|
|
131
|
+
return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
|
|
132
|
+
},
|
|
133
|
+
get isStandalone() {
|
|
134
|
+
if (this.os.name === OS.iOS)
|
|
135
|
+
return 'standalone' in globalThis.navigator && !!globalThis.navigator.standalone;
|
|
136
|
+
if (!('matchMedia' in globalThis))
|
|
137
|
+
return false;
|
|
138
|
+
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
139
|
+
},
|
|
118
140
|
};
|
|
119
141
|
var OS_RESOLVER_MAP = [
|
|
120
142
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -174,6 +196,14 @@ var BROWSER_RESOLVER_MAP = [
|
|
|
174
196
|
[/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
|
|
175
197
|
[/firefox\/([\w.]+)/i, Browsers.Firefox],
|
|
176
198
|
];
|
|
199
|
+
var HIGH_ENTROPY_BRAND_NAME_MAP = {
|
|
200
|
+
'Google Chrome': 'Chrome',
|
|
201
|
+
'Microsoft Edge': 'Edge',
|
|
202
|
+
'Microsoft Edge WebView2': 'Edge WebView2',
|
|
203
|
+
'Android WebView': 'Chrome WebView',
|
|
204
|
+
'HeadlessChrome': 'Chrome Headless',
|
|
205
|
+
'OperaMobile': 'Opera Mobi',
|
|
206
|
+
};
|
|
177
207
|
function resolveWindowsVersion(string) {
|
|
178
208
|
if (string === undefined)
|
|
179
209
|
return '';
|
|
@@ -348,6 +378,33 @@ function normalizeBrand(entry) {
|
|
|
348
378
|
return { brand: entry, version: '' };
|
|
349
379
|
return { brand: entry.brand, version: entry.version };
|
|
350
380
|
}
|
|
381
|
+
function getSemanticVersion(string) {
|
|
382
|
+
var parts = string.split('.');
|
|
383
|
+
return {
|
|
384
|
+
major: parseInt(parts[0] || '0'),
|
|
385
|
+
minor: parseInt(parts[1] || '0'),
|
|
386
|
+
build: parseInt(parts[2] || '0')
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
function parseOSFromCordova() {
|
|
390
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.Cordova;
|
|
391
|
+
if (typeof globalThis.device !== 'undefined') {
|
|
392
|
+
switch (globalThis.device.platform) {
|
|
393
|
+
case 'Android':
|
|
394
|
+
Platform.os = {
|
|
395
|
+
name: OS.Android,
|
|
396
|
+
version: globalThis.device.version,
|
|
397
|
+
};
|
|
398
|
+
break;
|
|
399
|
+
case 'iOS':
|
|
400
|
+
Platform.os = {
|
|
401
|
+
name: OS.iOS,
|
|
402
|
+
version: globalThis.device.version,
|
|
403
|
+
};
|
|
404
|
+
break;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
351
408
|
function getRenderer() {
|
|
352
409
|
if (typeof globalThis.document === 'undefined')
|
|
353
410
|
return '';
|
|
@@ -368,171 +425,293 @@ function getRenderer() {
|
|
|
368
425
|
return '';
|
|
369
426
|
}
|
|
370
427
|
}
|
|
371
|
-
function
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
var parts = string.split('.');
|
|
380
|
-
return {
|
|
381
|
-
major: parseInt(parts[0] || '0'),
|
|
382
|
-
minor: parseInt(parts[1] || '0'),
|
|
383
|
-
build: parseInt(parts[2] || '0')
|
|
428
|
+
function getNetwork() {
|
|
429
|
+
var network = {
|
|
430
|
+
isOnline: null,
|
|
431
|
+
effectiveType: null,
|
|
432
|
+
type: null,
|
|
433
|
+
downlink: null,
|
|
434
|
+
rtt: null,
|
|
435
|
+
saveData: null,
|
|
384
436
|
};
|
|
385
|
-
|
|
386
|
-
if (
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
if (typeof
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
break;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
if (Platform.os === OS.iOS && compareVersion(Platform.osVersion, '18.6') === 0) {
|
|
405
|
-
var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
|
|
406
|
-
if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
|
|
407
|
-
Platform.osVersion = version[1];
|
|
408
|
-
}
|
|
409
|
-
for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
|
|
410
|
-
var map = ENGINE_RESOLVER_MAP[i];
|
|
411
|
-
var regexp = map[0];
|
|
412
|
-
var engine = map[1];
|
|
413
|
-
var resolver = map[2];
|
|
414
|
-
var matched = Platform.userAgent.match(regexp);
|
|
415
|
-
if (matched !== null) {
|
|
416
|
-
Platform.engine = engine;
|
|
417
|
-
Platform.engineVersion = resolveVersion(matched[1], resolver);
|
|
418
|
-
break;
|
|
437
|
+
if (typeof globalThis.navigator !== 'undefined') {
|
|
438
|
+
if (typeof globalThis.navigator.onLine !== 'undefined')
|
|
439
|
+
network.isOnline = globalThis.navigator.onLine;
|
|
440
|
+
var connection = globalThis.navigator.connection || globalThis.navigator.mozConnection || globalThis.navigator.webkitConnection;
|
|
441
|
+
if (typeof connection !== 'undefined') {
|
|
442
|
+
if (typeof connection.effectiveType !== 'undefined')
|
|
443
|
+
network.effectiveType = connection.effectiveType;
|
|
444
|
+
if (typeof connection.type !== 'undefined')
|
|
445
|
+
network.type = connection.type;
|
|
446
|
+
if (typeof connection.downlink !== 'undefined')
|
|
447
|
+
network.downlink = connection.downlink;
|
|
448
|
+
if (typeof connection.rtt !== 'undefined')
|
|
449
|
+
network.rtt = connection.rtt;
|
|
450
|
+
if (typeof connection.saveData !== 'undefined')
|
|
451
|
+
network.saveData = connection.saveData;
|
|
452
|
+
}
|
|
419
453
|
}
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
454
|
+
if (Platform.isNode) {
|
|
455
|
+
try {
|
|
456
|
+
var os = require('os');
|
|
457
|
+
var networkInterfaces = os.networkInterfaces();
|
|
458
|
+
var networkInterfaceNames = Object.keys(networkInterfaces);
|
|
459
|
+
for (var i = 0; i < networkInterfaceNames.length; i++) {
|
|
460
|
+
var name_1 = networkInterfaceNames[i];
|
|
461
|
+
var networkInterface = networkInterfaces[name_1];
|
|
462
|
+
for (var j = 0; j < networkInterface.length; j++) {
|
|
463
|
+
var address = networkInterface[j];
|
|
464
|
+
if (!address.internal && address.family === 'IPv4')
|
|
465
|
+
network.isOnline = true;
|
|
466
|
+
}
|
|
467
|
+
if (network.isOnline)
|
|
468
|
+
break;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
catch (_) {
|
|
472
|
+
}
|
|
473
|
+
try {
|
|
474
|
+
var childProcess = require('child_process');
|
|
475
|
+
if (Platform.os.name === OS.Windows) {
|
|
476
|
+
try {
|
|
477
|
+
var output = childProcess.execSync('netsh wlan show interfaces', { encoding: 'utf8', timeout: 5000 });
|
|
478
|
+
if (output.includes('State') && output.includes('connected'))
|
|
479
|
+
network.type = 'wifi';
|
|
480
|
+
}
|
|
481
|
+
catch (_) {
|
|
482
|
+
}
|
|
483
|
+
if (network.type === null) {
|
|
484
|
+
try {
|
|
485
|
+
var output = childProcess.execSync('ipconfig', { encoding: 'utf8', timeout: 5000 });
|
|
486
|
+
if (output.includes('Ethernet adapter'))
|
|
487
|
+
network.type = 'ethernet';
|
|
488
|
+
}
|
|
489
|
+
catch (_) {
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
if (network.type === null)
|
|
493
|
+
network.type = 'other';
|
|
494
|
+
}
|
|
495
|
+
else if (Platform.os.name === OS.MacOS) {
|
|
496
|
+
try {
|
|
497
|
+
var output = childProcess.execSync('networksetup -listallhardwareports', { encoding: 'utf8', timeout: 5000 });
|
|
498
|
+
var activeInterface = childProcess.execSync('route -n get default | grep interface', { encoding: 'utf8', timeout: 5000 });
|
|
499
|
+
if (activeInterface.includes('en0') && output.includes('Wi-Fi'))
|
|
500
|
+
network.type = 'wifi';
|
|
501
|
+
else if (activeInterface.includes('en') || output.includes('Ethernet'))
|
|
502
|
+
network.type = 'ethernet';
|
|
503
|
+
else
|
|
504
|
+
network.type = 'other';
|
|
505
|
+
}
|
|
506
|
+
catch (_) {
|
|
507
|
+
network.type = 'other';
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
catch (_) {
|
|
512
|
+
}
|
|
431
513
|
}
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
Platform.os = OS.MacOS;
|
|
455
|
-
Platform.osVersion = release;
|
|
456
|
-
break;
|
|
514
|
+
return network;
|
|
515
|
+
}
|
|
516
|
+
function canUseHighEntropyValues(navigator) {
|
|
517
|
+
return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
|
|
518
|
+
}
|
|
519
|
+
function init() {
|
|
520
|
+
if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
|
|
521
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
|
|
522
|
+
if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
|
|
523
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
|
|
524
|
+
for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
|
|
525
|
+
var map = OS_RESOLVER_MAP[i];
|
|
526
|
+
var regexp = map[0];
|
|
527
|
+
var os = map[1];
|
|
528
|
+
var resolver = map[2];
|
|
529
|
+
var matched = Platform.userAgent.match(regexp);
|
|
530
|
+
if (matched !== null) {
|
|
531
|
+
Platform.os = {
|
|
532
|
+
name: os,
|
|
533
|
+
version: resolveVersion(matched[1], resolver),
|
|
534
|
+
};
|
|
535
|
+
break;
|
|
457
536
|
}
|
|
458
537
|
}
|
|
459
|
-
|
|
538
|
+
if (Platform.os.name === OS.iOS && compareVersion(Platform.os.version, '18.6') === 0) {
|
|
539
|
+
var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
|
|
540
|
+
if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
|
|
541
|
+
Platform.os.version = version[1];
|
|
460
542
|
}
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
var
|
|
465
|
-
var
|
|
466
|
-
var
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
case 'darwin':
|
|
474
|
-
Platform.os = OS.MacOS;
|
|
475
|
-
Platform.osVersion = resolveSemanticDarwinVersion(version, release);
|
|
476
|
-
break;
|
|
477
|
-
case 'android':
|
|
478
|
-
Platform.os = OS.Android;
|
|
479
|
-
Platform.osVersion = release;
|
|
480
|
-
break;
|
|
481
|
-
case 'linux':
|
|
482
|
-
if (/android/i.test(release)) {
|
|
483
|
-
Platform.os = OS.Android;
|
|
484
|
-
Platform.osVersion = release;
|
|
485
|
-
}
|
|
486
|
-
break;
|
|
543
|
+
for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
|
|
544
|
+
var map = ENGINE_RESOLVER_MAP[i];
|
|
545
|
+
var regexp = map[0];
|
|
546
|
+
var engine = map[1];
|
|
547
|
+
var resolver = map[2];
|
|
548
|
+
var matched = Platform.userAgent.match(regexp);
|
|
549
|
+
if (matched !== null) {
|
|
550
|
+
Platform.engine = {
|
|
551
|
+
name: engine,
|
|
552
|
+
version: resolveVersion(matched[1], resolver),
|
|
553
|
+
};
|
|
554
|
+
break;
|
|
487
555
|
}
|
|
488
556
|
}
|
|
489
|
-
|
|
557
|
+
for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
|
|
558
|
+
var map = BROWSER_RESOLVER_MAP[i];
|
|
559
|
+
var regexp = map[0];
|
|
560
|
+
var browser = map[1];
|
|
561
|
+
var resolver = map[2];
|
|
562
|
+
var matched = Platform.userAgent.match(regexp);
|
|
563
|
+
if (matched !== null) {
|
|
564
|
+
Platform.browser = {
|
|
565
|
+
name: browser,
|
|
566
|
+
version: resolveVersion(matched[1], resolver),
|
|
567
|
+
};
|
|
568
|
+
break;
|
|
569
|
+
}
|
|
490
570
|
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
571
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
572
|
+
try {
|
|
573
|
+
var reactNative = require('react-native');
|
|
574
|
+
var platform = reactNative.Platform;
|
|
575
|
+
var os = platform.OS;
|
|
576
|
+
var release = '' + platform.Version;
|
|
577
|
+
var version = getSemanticVersion(release);
|
|
578
|
+
switch (os) {
|
|
579
|
+
case 'android':
|
|
580
|
+
Platform.os = {
|
|
581
|
+
name: OS.Android,
|
|
582
|
+
version: resolveSemanticAndroidVersion(version, release),
|
|
583
|
+
};
|
|
584
|
+
break;
|
|
585
|
+
case 'ios':
|
|
586
|
+
Platform.os = {
|
|
587
|
+
name: OS.iOS,
|
|
588
|
+
version: release,
|
|
589
|
+
};
|
|
590
|
+
break;
|
|
591
|
+
case 'windows':
|
|
592
|
+
Platform.os = {
|
|
593
|
+
name: OS.Windows,
|
|
594
|
+
version: resolveSemanticWindowsVersion(version, release),
|
|
595
|
+
};
|
|
499
596
|
break;
|
|
500
|
-
case '
|
|
501
|
-
Platform.os =
|
|
597
|
+
case 'macos':
|
|
598
|
+
Platform.os = {
|
|
599
|
+
name: OS.MacOS,
|
|
600
|
+
version: release,
|
|
601
|
+
};
|
|
502
602
|
break;
|
|
503
603
|
}
|
|
504
|
-
Platform.osVersion = globalThis.device.version;
|
|
505
604
|
}
|
|
506
|
-
|
|
507
|
-
}
|
|
508
|
-
if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
|
|
509
|
-
navigator
|
|
510
|
-
.userAgentData
|
|
511
|
-
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
512
|
-
.then(function (result) {
|
|
513
|
-
var brands = result.fullVersionList || result.brands || [];
|
|
514
|
-
var platformVersion = result.platformVersion;
|
|
515
|
-
for (var i = 0; i < brands.length; i++) {
|
|
516
|
-
var brand = normalizeBrand(brands[i]);
|
|
517
|
-
var brandName = brand.brand;
|
|
518
|
-
var brandVersion = brand.version;
|
|
519
|
-
if (/not.a.brand/i.test(brandName))
|
|
520
|
-
continue;
|
|
521
|
-
if (brandName === "Chromium")
|
|
522
|
-
Platform.engineVersion = brandVersion;
|
|
605
|
+
catch (_) {
|
|
523
606
|
}
|
|
524
|
-
|
|
525
|
-
if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
|
|
526
|
-
Platform.osVersion = '11';
|
|
527
|
-
else
|
|
528
|
-
Platform.osVersion = platformVersion;
|
|
607
|
+
finally {
|
|
529
608
|
}
|
|
530
|
-
}
|
|
609
|
+
}
|
|
610
|
+
if (Platform.isNode) {
|
|
611
|
+
try {
|
|
612
|
+
var os = require('os');
|
|
613
|
+
var platform = os.platform();
|
|
614
|
+
var release = os.release();
|
|
615
|
+
var version = getSemanticVersion(release);
|
|
616
|
+
switch (platform) {
|
|
617
|
+
case 'win32':
|
|
618
|
+
Platform.os = {
|
|
619
|
+
name: OS.Windows,
|
|
620
|
+
version: resolveSemanticWindowsVersion(version, release),
|
|
621
|
+
};
|
|
622
|
+
break;
|
|
623
|
+
case 'darwin':
|
|
624
|
+
Platform.os = {
|
|
625
|
+
name: OS.MacOS,
|
|
626
|
+
version: resolveSemanticDarwinVersion(version, release),
|
|
627
|
+
};
|
|
628
|
+
break;
|
|
629
|
+
case 'android':
|
|
630
|
+
Platform.os = {
|
|
631
|
+
name: OS.Android,
|
|
632
|
+
version: release,
|
|
633
|
+
};
|
|
634
|
+
break;
|
|
635
|
+
case 'linux':
|
|
636
|
+
if (/android/i.test(release)) {
|
|
637
|
+
Platform.os = {
|
|
638
|
+
name: OS.Android,
|
|
639
|
+
version: release,
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
break;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
catch (_) {
|
|
646
|
+
}
|
|
647
|
+
finally {
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
if (typeof globalThis.document !== 'undefined') {
|
|
651
|
+
if (typeof globalThis.device !== 'undefined') {
|
|
652
|
+
parseOSFromCordova();
|
|
653
|
+
}
|
|
654
|
+
else {
|
|
655
|
+
globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
if (canUseHighEntropyValues(globalThis.navigator)) {
|
|
659
|
+
globalThis
|
|
660
|
+
.navigator
|
|
661
|
+
.userAgentData
|
|
662
|
+
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
663
|
+
.then(function (result) {
|
|
664
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
665
|
+
var platformVersion = result.platformVersion;
|
|
666
|
+
var platform = result.platform;
|
|
667
|
+
var browserName = Platform.browser.name;
|
|
668
|
+
var prevBrandName = null;
|
|
669
|
+
for (var i = 0; i < brands.length; i++) {
|
|
670
|
+
var brand = normalizeBrand(brands[i]);
|
|
671
|
+
var brandVersion = brand.version;
|
|
672
|
+
var brandName = brand.brand;
|
|
673
|
+
if (/not.a.brand/i.test(brandName))
|
|
674
|
+
continue;
|
|
675
|
+
if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
|
|
676
|
+
brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
|
|
677
|
+
prevBrandName = browserName;
|
|
678
|
+
if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
|
|
679
|
+
browserName = brandName;
|
|
680
|
+
if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
|
|
681
|
+
Platform.browser.name = Browsers.Chrome;
|
|
682
|
+
else if (browserName === 'Edge' || browserName === 'Edge WebView2')
|
|
683
|
+
Platform.browser.name = Browsers.Edge;
|
|
684
|
+
else if (browserName === 'Opera Mobi')
|
|
685
|
+
Platform.browser.name = Browsers.Opera;
|
|
686
|
+
Platform.browser.version = brandVersion;
|
|
687
|
+
}
|
|
688
|
+
prevBrandName = brandName;
|
|
689
|
+
}
|
|
690
|
+
if (brandName === 'Chromium')
|
|
691
|
+
Platform.engine.version = brandVersion;
|
|
692
|
+
}
|
|
693
|
+
if (typeof platformVersion === 'string') {
|
|
694
|
+
if (Platform.os.name === OS.Windows)
|
|
695
|
+
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
696
|
+
else
|
|
697
|
+
Platform.os.version = platformVersion;
|
|
698
|
+
}
|
|
699
|
+
if (typeof platform === 'string') {
|
|
700
|
+
if (/android/i.test(platform))
|
|
701
|
+
Platform.os.name = OS.Android;
|
|
702
|
+
else if (/ios|iphone|ipad/i.test(platform))
|
|
703
|
+
Platform.os.name = OS.iOS;
|
|
704
|
+
else if (/windows|win32/i.test(platform))
|
|
705
|
+
Platform.os.name = OS.Windows;
|
|
706
|
+
else if (/macos|macintel/i.test(platform))
|
|
707
|
+
Platform.os.name = OS.MacOS;
|
|
708
|
+
}
|
|
709
|
+
if (result.mobile === true)
|
|
710
|
+
Platform.device = Devices.Mobile;
|
|
711
|
+
});
|
|
712
|
+
}
|
|
531
713
|
}
|
|
532
|
-
|
|
533
|
-
Platform.isMobile = Platform.device === Devices.Mobile;
|
|
534
|
-
Platform.isDesktop = Platform.device === Devices.Desktop;
|
|
535
|
-
Platform.isStandalone = getIsStandalone(Platform.os);
|
|
714
|
+
init();
|
|
536
715
|
|
|
537
716
|
var currentAppearance = null;
|
|
538
717
|
var appearanceIntervalId = null;
|
|
@@ -598,7 +777,7 @@ function getAppearance() {
|
|
|
598
777
|
return new Promise(function (resolve) {
|
|
599
778
|
resolve(getAppearanceFromElectron());
|
|
600
779
|
});
|
|
601
|
-
if (Platform.browser === Browsers.SamsungInternet)
|
|
780
|
+
if (Platform.browser.name === Browsers.SamsungInternet)
|
|
602
781
|
return getAppearanceFromEngine();
|
|
603
782
|
return new Promise(function (resolve) {
|
|
604
783
|
resolve(getAppearanceFromMediaQuery());
|
|
@@ -682,7 +861,7 @@ function removeEntry(entry) {
|
|
|
682
861
|
if (index !== -1)
|
|
683
862
|
ENTRIES.splice(index, 1);
|
|
684
863
|
if (ENTRIES.length === 0) {
|
|
685
|
-
if (Platform.browser === Browsers.SamsungInternet)
|
|
864
|
+
if (Platform.browser.name === Browsers.SamsungInternet)
|
|
686
865
|
stopPolling();
|
|
687
866
|
else
|
|
688
867
|
removeListener(entry.capture);
|
|
@@ -747,7 +926,7 @@ function onchange(listener, options) {
|
|
|
747
926
|
if (index === -1) {
|
|
748
927
|
ENTRIES.push(entry);
|
|
749
928
|
if (ENTRIES.length === 1) {
|
|
750
|
-
if (Platform.browser === Browsers.SamsungInternet)
|
|
929
|
+
if (Platform.browser.name === Browsers.SamsungInternet)
|
|
751
930
|
startPolling();
|
|
752
931
|
else
|
|
753
932
|
addListener(entry.capture);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var o,r,n,i,a,t=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"!==t.media,c="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,m=[];!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(o||(o={})),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"}(n||(n={})),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"}(a||(a={}));var l=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d={device:r.Unknown,os:o.Unknown,engine:n.Unknown,browser:i.Unknown,crossPlatformFramework:a.Unknown,osVersion:"",engineVersion:"",browserVersion:"",renderer:function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var o=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===o)return"";if(o instanceof WebGLRenderingContext||"getParameter"in o&&"function"==typeof o.getParameter){var r=o.getExtension("WEBGL_debug_renderer_info");return null===r?o.getParameter(o.RENDERER):o.getParameter(r.UNMASKED_RENDERER_WEBGL)}return""}(),userAgent:l,isNode:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node,isMobile:!1,isDesktop:!1,isStandalone:!1,isWebview:/; ?wv|applewebkit(?!.*safari)/i.test(l)},u=[[/windows nt (6\.[23]); arm/i,o.Windows,w],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,o.Windows,w],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,o.Windows,w],[/windows nt ?([\d.)]*)(?!.+xbox)/i,o.Windows,w],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,o.Windows,w],[/windows ce\/?([\d.]*)/i,o.Windows,w],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,o.iOS,g],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,o.iOS,g],[/cfnetwork\/.+darwin/i,o.iOS,g],[/mac os x ?([\w. ]*)/i,o.MacOS,g],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,o.MacOS,g],[/droid ([\w.]+)\b.+(android[- ]x86)/i,o.Android],[/android\w*[-\/.; ]?([\d.]*)/i,o.Android]],v=[[/windows.+ edge\/([\w.]+)/i,n.EdgeHTML],[/arkweb\/([\w.]+)/i,n.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,n.Blink],[/presto\/([\w.]+)/i,n.Presto],[/webkit\/([\w.]+)/i,n.WebKit],[/trident\/([\w.]+)/i,n.Trident],[/netfront\/([\w.]+)/i,n.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,n.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,n.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,n.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]];function w(e){if(void 0===e)return"";var o={"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!==o?o:e}function g(e){return void 0===e?"":e.replace(/_/g,".")}function b(e,o){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":o}function h(e,o){return"function"==typeof o?o(e):"string"==typeof o?o:void 0===e?"":e}function p(e){var o=e.split(".");return{major:parseInt(o[0]||"0"),minor:parseInt(o[1]||"0"),build:parseInt(o[2]||"0")}}(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(l))&&(d.crossPlatformFramework=a.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(d.crossPlatformFramework=a.ReactNative);for(var k=0;k<u.length;k++){var j=(L=u[k])[0],T=L[1],E=L[2];if(null!==(x=d.userAgent.match(j))){d.os=T,d.osVersion=h(x[1],E);break}}d.os===o.iOS&&0===function(e,o){for(var r=e.split("."),n=o.split("."),i=Math.max(r.length,n.length),a=0;a<i;a++){var t=void 0,s=void 0;if((t=a<r.length?parseInt(r[a],10):0)>(s=a<n.length?parseInt(n[a],10):0))return 1;if(t<s)return-1}return 0}(d.osVersion,"18.6")&&(null!==(N=/\) Version\/([\d.]+)/.exec(d.userAgent))&&parseInt(N[1].substring(0,2),10)>=26&&(d.osVersion=N[1]));for(k=0;k<v.length;k++){j=(L=v[k])[0];var S=L[1];E=L[2];if(null!==(x=d.userAgent.match(j))){d.engine=S,d.engineVersion=h(x[1],E);break}}for(k=0;k<f.length;k++){j=(L=f[k])[0];var L,x,I=L[1];E=L[2];if(null!==(x=d.userAgent.match(j))){d.browser=I,d.browserVersion=h(x[1],E);break}}if(d.crossPlatformFramework===a.ReactNative)try{T=(V=require("react-native").Platform).OS;var N=p(M=""+V.Version);switch(T){case"android":d.os=o.Android,d.osVersion=function(e,o){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":o}(N,M);break;case"ios":d.os=o.iOS,d.osVersion=M;break;case"windows":d.os=o.Windows,d.osVersion=b(N,M);break;case"macos":d.os=o.MacOS,d.osVersion=M}}catch(e){}if(d.isNode)try{var M,V=(T=require("os")).platform();N=p(M=T.release());switch(V){case"win32":d.os=o.Windows,d.osVersion=b(N,M);break;case"darwin":d.os=o.MacOS,d.osVersion=function(e,o){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:o}(N,M);break;case"android":d.os=o.Android,d.osVersion=M;break;case"linux":/android/i.test(M)&&(d.os=o.Android,d.osVersion=M)}}catch(e){}void 0!==globalThis.document&&globalThis.document.addEventListener("deviceready",(function(){if(d.crossPlatformFramework=a.Cordova,d.os===o.Unknown&&void 0!==globalThis.device){switch(globalThis.device.platform){case"Android":d.os=o.Android;break;case"iOS":d.os=o.iOS}d.osVersion=globalThis.device.version}}),!1),void 0!==navigator.userAgentData&&void 0!==navigator.userAgentData.getHighEntropyValues&&navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){for(var r,n=e.fullVersionList||e.brands||[],i=e.platformVersion,a=0;a<n.length;a++){var t=null==(r=n[a])?{brand:"",version:""}:"string"==typeof r?{brand:r,version:""}:{brand:r.brand,version:r.version},s=t.brand,c=t.version;/not.a.brand/i.test(s)||"Chromium"===s&&(d.engineVersion=c)}"string"==typeof i&&(d.os===o.Windows&&parseInt(i.replace(/[^\d.]/g,"").split(".")[0],10)>=13?d.osVersion="11":d.osVersion=i)})),d.device=d.os===o.iOS||d.os===o.Android?r.Mobile:d.os===o.Windows||d.os===o.MacOS?r.Desktop:r.Unknown,d.isMobile=d.device===r.Mobile,d.isDesktop=d.device===r.Desktop,d.isStandalone=function(e){return"matchMedia"in globalThis&&(e===o.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches)}(d.os);var A=null,P=null;function y(){return new Promise((function(o){var r=new Image;r.onload=function(){if(null===c)return o(e.Light);c.drawImage(r,0,0);var n=c.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?o(e.Dark):o(e.Light)},r.onerror=function(){o(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function O(){return s?t.matches?e.Dark:e.Light:e.Unknown}function U(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(o){return e.Unknown}}function W(){return d.crossPlatformFramework===a.ReactNative?new Promise((function(o){o(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(o){return e.Unknown}}())})):d.crossPlatformFramework===a.Electron?new Promise((function(e){e(U())})):d.browser===i.SamsungInternet?y():new Promise((function(e){e(O())}))}function C(o){var r;(r=o.matches?e.Dark:e.Light)!==A&&F(A=r)}function F(e){for(var o=0;o<m.length;o++){var r=m[o];r.fn(e),r.once&&R(r)}}function R(e){var o,r=D(e);-1!==r&&m.splice(r,1),0===m.length&&(d.browser===i.SamsungInternet?(A=null,null!==P&&(clearInterval(P),P=null)):(o=e.capture,A=null,"function"==typeof t.removeEventListener?t.removeEventListener("change",C,o):"function"==typeof t.removeListener&&t.removeListener(C)))}function D(e){for(var o=0;o<m.length;o++)if(m[o].fn===e.fn&&m[o].capture===e.capture)return o;return-1}var H={installed:!1,name:"Appearance",module:{get value(){return W()},set value(e){!function(e){if(d.crossPlatformFramework===a.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(d.crossPlatformFramework===a.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(o,r){void 0===r&&(r=!1);if(d.crossPlatformFramework===a.ReactNative)return function(o){try{var r=require("react-native").Appearance.addChangeListener((function(r){o(r.colorScheme||e.Unknown)}));return function(){r.remove()}}catch(e){}return function(){}}(o);if(d.crossPlatformFramework===a.Electron)return function(e){try{var o=require("electron"),r=function(){e(U())};return void 0!==o.nativeTheme.on&&o.nativeTheme.on("updated",r),function(){void 0!==o.nativeTheme.removeListener&&o.nativeTheme.removeListener("updated",r)}}catch(e){}return function(){}}(o);var n={fn:o,capture:!1,once:!1};"boolean"==typeof r&&(r={capture:r});void 0!==r.capture&&(n.capture=r.capture);void 0!==r.once&&(n.once=r.once);void 0!==r.signal&&(n.signal=r.signal);var s=D(n);-1===s?(m.push(n),1===m.length&&(d.browser===i.SamsungInternet?(y().then((function(e){A=e})),P=globalThis.setInterval((function(){y().then((function(e){e!==A&&(A=e,F(e))}))}),2e3)):(c=n.capture,A=O(),"function"==typeof t.addEventListener?t.addEventListener("change",C,c):"function"==typeof t.addListener&&t.addListener(C))),W().then(F)):m[s].once&&!n.once&&(m[s].once=!1);var c;void 0!==n.signal&&(n.signal.aborted?R(n):n.signal.addEventListener("abort",(function e(){void 0!==n.signal&&n.signal.removeEventListener("abort",e),R(n)})));return function(){R(n)}}},Constants:{Appearances:e},Errors:{}};module.exports=H;
|
|
1
|
+
"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,r,o,i,a,t=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"!==t.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,m=[];!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"}(a||(a={}));var c=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d={os:{name:n.Unknown,version:""},engine:{name:o.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:a.Unknown,userAgent:c,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(d.isNode){try{for(var o=require("os").networkInterfaces(),i=Object.keys(o),a=0;a<i.length;a++){for(var t=o[i[a]],s=0;s<t.length;s++){var l=t[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var m=require("child_process");if(d.os.name===n.Windows){try{(c=m.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&c.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(c=m.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 c=m.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),u=m.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});u.includes("en0")&&c.includes("Wi-Fi")?e.type="wifi":u.includes("en")||c.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?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}},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,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]],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=a.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(c))&&(d.crossPlatformFramework=a.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(d.crossPlatformFramework=a.ReactNative);for(var e=0;e<u.length;e++){var o=(w=u[e])[0],t=w[1],s=w[2];if(null!==(h=d.userAgent.match(o))){d.os={name:t,version:T(h[1],s)};break}}var l;for(d.os.name===n.iOS&&0===function(e,n){for(var r=e.split("."),o=n.split("."),i=Math.max(r.length,o.length),a=0;a<i;a++){var t=void 0,s=void 0;if((t=a<r.length?parseInt(r[a],10):0)>(s=a<o.length?parseInt(o[a],10):0))return 1;if(t<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++){o=(w=v[e])[0];var m=w[1];s=w[2];if(null!==(h=d.userAgent.match(o))){d.engine={name:m,version:T(h[1],s)};break}}for(e=0;e<f.length;e++){o=(w=f[e])[0];var w,h,E=w[1];s=w[2];if(null!==(h=d.userAgent.match(o))){d.browser={name:E,version:T(h[1],s)};break}}if(d.crossPlatformFramework===a.ReactNative)try{t=(x=require("react-native").Platform).OS;var S=j(O=""+x.Version);switch(t){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=(t=require("os")).platform();S=j(O=t.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 o,a=e.fullVersionList||e.brands||[],t=e.platformVersion,s=e.platform,l=d.browser.name,m=null,c=0;c<a.length;c++){var u=null==(o=a[c])?{brand:"",version:""}:"string"==typeof o?{brand:o,version:""}:{brand:o.brand,version:o.version},v=u.version,f=u.brand;/not.a.brand/i.test(f)||((null===m||/Chrom/.test(m)&&"Chromium"!==f||"Edge"===m&&/WebView2/.test(f))&&(f=g[f]||f,null!==(m=l)&&!/Chrom/.test(m)&&/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),m=f),"Chromium"===f&&(d.engine.version=v))}"string"==typeof t&&(d.os.name===n.Windows?d.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":d.os.version=t),"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=r.Mobile)}))}();var E=null,S=null;function O(){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 x(){return s?t.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===a.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):d.crossPlatformFramework===a.Electron?new Promise((function(e){e(C())})):d.browser.name===i.SamsungInternet?O():new Promise((function(e){e(x())}))}function L(n){var r;(r=n.matches?e.Dark:e.Light)!==E&&W(E=r)}function W(e){for(var n=0;n<m.length;n++){var r=m[n];r.fn(e),r.once&&I(r)}}function I(e){var n,r=A(e);-1!==r&&m.splice(r,1),0===m.length&&(d.browser.name===i.SamsungInternet?(E=null,null!==S&&(clearInterval(S),S=null)):(n=e.capture,E=null,"function"==typeof t.removeEventListener?t.removeEventListener("change",L,n):"function"==typeof t.removeListener&&t.removeListener(L)))}function A(e){for(var n=0;n<m.length;n++)if(m[n].fn===e.fn&&m[n].capture===e.capture)return n;return-1}var N={installed:!1,name:"Appearance",module:{get value(){return M()},set value(e){!function(e){if(d.crossPlatformFramework===a.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(d.crossPlatformFramework===a.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,r){void 0===r&&(r=!1);if(d.crossPlatformFramework===a.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(d.crossPlatformFramework===a.Electron)return function(e){try{var n=require("electron"),r=function(){e(C())};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=A(o);-1===s?(m.push(o),1===m.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=o.capture,E=x(),"function"==typeof t.addEventListener?t.addEventListener("change",L,l):"function"==typeof t.addListener&&t.addListener(L))),M().then(W)):m[s].once&&!o.once&&(m[s].once=!1);var l;void 0!==o.signal&&(o.signal.aborted?I(o):o.signal.addEventListener("abort",(function e(){void 0!==o.signal&&o.signal.removeEventListener("abort",e),I(o)})));return function(){I(o)}}},Constants:{Appearances:e},Errors:{}};module.exports=N;
|