native-fn 1.0.80 → 1.0.82
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 +126 -8
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +126 -8
- package/dist/plugin/app/index.umd.js +126 -8
- package/dist/plugin/app/index.umd.min.js +1 -1
- package/dist/plugin/app/src/plugin/appearance/types/appearance.d.ts +1 -1
- package/dist/plugin/app/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/plugin/app/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/plugin/app/src/plugin/dimension/index.d.ts +4 -0
- package/dist/plugin/app/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/plugin/app/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +5 -0
- package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +7 -2
- package/dist/plugin/appearance/index.cjs +149 -53
- package/dist/plugin/appearance/index.d.ts +1 -1
- package/dist/plugin/appearance/index.min.cjs +1 -1
- package/dist/plugin/appearance/index.min.mjs +1 -1
- package/dist/plugin/appearance/index.mjs +149 -53
- package/dist/plugin/appearance/index.umd.js +149 -53
- package/dist/plugin/appearance/index.umd.min.js +1 -1
- package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +1 -1
- package/dist/plugin/appearance/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/plugin/appearance/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/plugin/appearance/src/plugin/dimension/index.d.ts +4 -0
- package/dist/plugin/appearance/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/plugin/appearance/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +5 -0
- package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +7 -2
- package/dist/plugin/clipboard/index.cjs +126 -8
- package/dist/plugin/clipboard/index.min.cjs +1 -1
- package/dist/plugin/clipboard/index.min.mjs +1 -1
- package/dist/plugin/clipboard/index.mjs +126 -8
- package/dist/plugin/clipboard/index.umd.js +126 -8
- package/dist/plugin/clipboard/index.umd.min.js +1 -1
- package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +1 -1
- package/dist/plugin/clipboard/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/plugin/clipboard/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/plugin/clipboard/src/plugin/dimension/index.d.ts +4 -0
- package/dist/plugin/clipboard/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/plugin/clipboard/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +5 -0
- package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +7 -2
- package/dist/plugin/dimension/index.cjs +13 -0
- package/dist/plugin/dimension/index.d.ts +27 -0
- package/dist/plugin/dimension/index.min.cjs +1 -0
- package/dist/plugin/dimension/index.min.mjs +1 -0
- package/dist/plugin/dimension/index.mjs +11 -0
- package/dist/plugin/dimension/index.umd.js +19 -0
- package/dist/plugin/dimension/index.umd.min.js +1 -0
- package/dist/plugin/dimension/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/plugin/dimension/src/plugin/app/constants/index.d.ts +12 -0
- package/dist/plugin/dimension/src/plugin/app/cores/index.d.ts +13 -0
- package/dist/plugin/dimension/src/plugin/app/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/dimension/src/plugin/app/index.d.ts +12 -0
- package/dist/plugin/dimension/src/plugin/app/types/app.d.ts +54 -0
- package/dist/plugin/dimension/src/plugin/app/types/index.d.ts +16 -0
- package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +11 -0
- package/dist/plugin/dimension/src/plugin/appearance/cores/index.d.ts +3 -0
- package/dist/plugin/dimension/src/plugin/appearance/index.d.ts +8 -0
- package/dist/plugin/dimension/src/plugin/appearance/types/appearance.d.ts +12 -0
- package/dist/plugin/dimension/src/plugin/appearance/types/index.d.ts +13 -0
- package/dist/plugin/dimension/src/plugin/clipboard/cores/index.d.ts +3 -0
- package/dist/plugin/dimension/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/plugin/dimension/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/plugin/dimension/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/plugin/dimension/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/plugin/dimension/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/plugin/dimension/src/plugin/dimension/index.d.ts +4 -0
- package/dist/plugin/dimension/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/plugin/dimension/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/plugin/dimension/src/plugin/fullscreen/cores/index.d.ts +35 -0
- package/dist/plugin/dimension/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/plugin/dimension/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/plugin/dimension/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +42 -0
- package/dist/plugin/dimension/src/plugin/platform/cores/index.d.ts +45 -0
- package/dist/plugin/dimension/src/plugin/platform/index.d.ts +12 -0
- package/dist/plugin/dimension/src/plugin/platform/types/index.d.ts +11 -0
- package/dist/plugin/dimension/src/plugin/platform/types/platform.d.ts +43 -0
- package/dist/plugin/dimension/src/plugin/theme/constants/index.d.ts +2 -0
- package/dist/plugin/dimension/src/plugin/theme/cores/index.d.ts +3 -0
- package/dist/plugin/dimension/src/plugin/theme/index.d.ts +5 -0
- package/dist/plugin/dimension/src/plugin/theme/types/index.d.ts +11 -0
- package/dist/plugin/dimension/src/plugin/theme/types/theme.d.ts +4 -0
- package/dist/plugin/dimension/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/dimension/src/types/index.d.ts +1 -0
- package/dist/plugin/dimension/src/types/native.d.ts +27 -0
- package/dist/plugin/dimension/src/utils/assign.d.ts +1 -0
- package/dist/plugin/dimension/src/utils/compare-version.d.ts +1 -0
- package/dist/plugin/dimension/src/utils/create-custom-error.d.ts +6 -0
- package/dist/plugin/dimension/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/plugin/dimension/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/dimension/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/dimension/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/dimension/src/utils/is-secure-context.d.ts +1 -0
- package/dist/plugin/fullscreen/index.cjs +142 -21
- package/dist/plugin/fullscreen/index.min.cjs +1 -1
- package/dist/plugin/fullscreen/index.min.mjs +1 -1
- package/dist/plugin/fullscreen/index.mjs +142 -21
- package/dist/plugin/fullscreen/index.umd.js +142 -21
- package/dist/plugin/fullscreen/index.umd.min.js +1 -1
- package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +1 -1
- package/dist/plugin/fullscreen/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/plugin/fullscreen/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/plugin/fullscreen/src/plugin/dimension/index.d.ts +4 -0
- package/dist/plugin/fullscreen/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/plugin/fullscreen/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +5 -0
- package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +7 -2
- package/dist/plugin/platform/index.cjs +126 -8
- package/dist/plugin/platform/index.d.ts +8 -3
- package/dist/plugin/platform/index.min.cjs +1 -1
- package/dist/plugin/platform/index.min.mjs +1 -1
- package/dist/plugin/platform/index.mjs +126 -8
- package/dist/plugin/platform/index.umd.js +126 -8
- package/dist/plugin/platform/index.umd.min.js +1 -1
- package/dist/plugin/platform/src/plugin/appearance/types/appearance.d.ts +1 -1
- package/dist/plugin/platform/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/plugin/platform/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/plugin/platform/src/plugin/dimension/index.d.ts +4 -0
- package/dist/plugin/platform/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/plugin/platform/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +5 -0
- package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +7 -2
- package/dist/plugin/theme/index.cjs +126 -8
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +126 -8
- package/dist/plugin/theme/index.umd.js +126 -8
- package/dist/plugin/theme/index.umd.min.js +1 -1
- package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +1 -1
- package/dist/plugin/theme/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/plugin/theme/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/plugin/theme/src/plugin/dimension/index.d.ts +4 -0
- package/dist/plugin/theme/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/plugin/theme/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +5 -0
- package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +7 -2
- package/dist/src/plugin/appearance/types/appearance.d.ts +1 -1
- package/dist/src/plugin/clipboard/types/appearance.d.ts +13 -0
- package/dist/src/plugin/dimension/cores/index.d.ts +3 -0
- package/dist/src/plugin/dimension/index.d.ts +4 -0
- package/dist/src/plugin/dimension/types/dimension.d.ts +8 -0
- package/dist/src/plugin/dimension/types/index.d.ts +13 -0
- package/dist/src/plugin/platform/cores/index.d.ts +5 -0
- package/dist/src/plugin/platform/types/platform.d.ts +7 -2
- package/package.json +15 -15
|
@@ -23,7 +23,7 @@ var FALLBACK_MEDIA_QUERY_LIST = {
|
|
|
23
23
|
var MEDIA_QUERY_LIST = typeof globalThis.matchMedia !== 'undefined' ? globalThis.matchMedia('(prefers-color-scheme: dark)') : FALLBACK_MEDIA_QUERY_LIST;
|
|
24
24
|
var SUPPORT_PREFERS_COLOR_SCHEME = MEDIA_QUERY_LIST.media !== 'not all';
|
|
25
25
|
var CONTEXT = 'document' in globalThis ? globalThis.document.createElement('canvas').getContext('2d', { willReadFrequently: true }) : null;
|
|
26
|
-
var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,
|
|
26
|
+
var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMXYxSDB6Ii8+PC9zdmc+';
|
|
27
27
|
var ENTRIES = [];
|
|
28
28
|
|
|
29
29
|
function compareVersion(lhs, rhs) {
|
|
@@ -112,6 +112,9 @@ var Platform = {
|
|
|
112
112
|
get network() {
|
|
113
113
|
return getNetwork();
|
|
114
114
|
},
|
|
115
|
+
get locale() {
|
|
116
|
+
return getLocale();
|
|
117
|
+
},
|
|
115
118
|
get dimension() {
|
|
116
119
|
return getDimension();
|
|
117
120
|
},
|
|
@@ -125,12 +128,6 @@ var Platform = {
|
|
|
125
128
|
get renderer() {
|
|
126
129
|
return getRenderer();
|
|
127
130
|
},
|
|
128
|
-
get isMobile() {
|
|
129
|
-
return this.device === Devices.Mobile;
|
|
130
|
-
},
|
|
131
|
-
get isDesktop() {
|
|
132
|
-
return this.device === Devices.Desktop;
|
|
133
|
-
},
|
|
134
131
|
get isWebview() {
|
|
135
132
|
return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
|
|
136
133
|
},
|
|
@@ -554,6 +551,127 @@ function getNetwork() {
|
|
|
554
551
|
}
|
|
555
552
|
return network;
|
|
556
553
|
}
|
|
554
|
+
function normalizeLocale(locale) {
|
|
555
|
+
if (locale === null || locale === undefined)
|
|
556
|
+
return locale;
|
|
557
|
+
if (locale.length === 0)
|
|
558
|
+
return null;
|
|
559
|
+
locale = locale.replace(/_/g, '-');
|
|
560
|
+
if (locale === 'C' || locale === 'posix' || locale === 'POSIX')
|
|
561
|
+
return 'en-US';
|
|
562
|
+
if (locale.indexOf('.') !== -1)
|
|
563
|
+
return normalizeLocale(locale.split('.')[0]);
|
|
564
|
+
if (locale.indexOf('@') !== -1)
|
|
565
|
+
return normalizeLocale(locale.split('@')[0]);
|
|
566
|
+
var parts = locale.split('-');
|
|
567
|
+
if (parts.length === 0)
|
|
568
|
+
return null;
|
|
569
|
+
parts[0] = parts[0].toLowerCase();
|
|
570
|
+
if (parts.length > 1 && parts[1].length === 2)
|
|
571
|
+
parts[1] = parts[1].toUpperCase();
|
|
572
|
+
if (parts.length > 2 && parts[1].length === 4)
|
|
573
|
+
parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
|
|
574
|
+
return parts.join('-');
|
|
575
|
+
}
|
|
576
|
+
function getLocale() {
|
|
577
|
+
var locale = {
|
|
578
|
+
language: '',
|
|
579
|
+
languages: [],
|
|
580
|
+
timezone: '',
|
|
581
|
+
timezoneOffset: 0,
|
|
582
|
+
};
|
|
583
|
+
function addLanguages(language) {
|
|
584
|
+
for (var i = 0; i < language.length; i++)
|
|
585
|
+
addLanguage(language[i]);
|
|
586
|
+
}
|
|
587
|
+
function addLanguage(language) {
|
|
588
|
+
language = normalizeLocale(language);
|
|
589
|
+
if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
|
|
590
|
+
if (locale.language.length === 0)
|
|
591
|
+
locale.language = language;
|
|
592
|
+
locale.languages.push(language);
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
596
|
+
try {
|
|
597
|
+
var reactNative = require('react-native');
|
|
598
|
+
var nativeModules = reactNative.NativeModules;
|
|
599
|
+
if (typeof nativeModules.SettingsManager !== 'undefined') {
|
|
600
|
+
var settingManager = nativeModules.SettingsManager;
|
|
601
|
+
if (typeof settingManager !== 'undefined') {
|
|
602
|
+
var constant = typeof settingManager.getConstants === 'function'
|
|
603
|
+
? settingManager.getConstants()
|
|
604
|
+
: settingManager;
|
|
605
|
+
if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
|
|
606
|
+
var settings = constant.settings;
|
|
607
|
+
if (typeof settings.AppleLocale === 'string')
|
|
608
|
+
addLanguage(settings.AppleLocale);
|
|
609
|
+
if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
|
|
610
|
+
addLanguages(settings.AppleLanguages);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
if (typeof nativeModules.I18nManager !== 'undefined') {
|
|
615
|
+
var i18nManager = nativeModules.I18nManager;
|
|
616
|
+
if (typeof i18nManager !== 'undefined') {
|
|
617
|
+
var constant = typeof i18nManager.getConstants === 'function'
|
|
618
|
+
? i18nManager.getConstants()
|
|
619
|
+
: i18nManager;
|
|
620
|
+
if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
|
|
621
|
+
addLanguage(constant.localeIdentifier);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
catch (_) {
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
|
|
629
|
+
try {
|
|
630
|
+
var electron = require('electron');
|
|
631
|
+
var app = electron.app;
|
|
632
|
+
if (typeof app.getLocale !== 'undefined')
|
|
633
|
+
addLanguage(app.getLocale());
|
|
634
|
+
if (typeof app.getSystemLocale !== 'undefined')
|
|
635
|
+
addLanguage(app.getSystemLocale());
|
|
636
|
+
if (typeof app.getPreferredSystemLanguages !== 'undefined')
|
|
637
|
+
addLanguages(app.getPreferredSystemLanguages());
|
|
638
|
+
}
|
|
639
|
+
catch (_) {
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
if (typeof Intl !== 'undefined') {
|
|
643
|
+
try {
|
|
644
|
+
addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
|
|
645
|
+
}
|
|
646
|
+
catch (_) {
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
if (typeof globalThis.navigator !== 'undefined') {
|
|
650
|
+
if (typeof globalThis.navigator.languages !== 'undefined')
|
|
651
|
+
addLanguages(globalThis.navigator.languages);
|
|
652
|
+
if (typeof globalThis.navigator.language !== 'undefined')
|
|
653
|
+
addLanguage(globalThis.navigator.language);
|
|
654
|
+
if (typeof globalThis.navigator.userLanguage !== 'undefined')
|
|
655
|
+
addLanguage(globalThis.navigator.userLanguage);
|
|
656
|
+
if (typeof globalThis.navigator.browserLanguage !== 'undefined')
|
|
657
|
+
addLanguage(globalThis.navigator.browserLanguage);
|
|
658
|
+
if (typeof globalThis.navigator.systemLanguage !== 'undefined')
|
|
659
|
+
addLanguage(globalThis.navigator.systemLanguage);
|
|
660
|
+
}
|
|
661
|
+
try {
|
|
662
|
+
if (typeof Intl !== 'undefined') {
|
|
663
|
+
locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
catch (_) {
|
|
667
|
+
}
|
|
668
|
+
try {
|
|
669
|
+
locale.timezoneOffset = new Date().getTimezoneOffset();
|
|
670
|
+
}
|
|
671
|
+
catch (_) {
|
|
672
|
+
}
|
|
673
|
+
return locale;
|
|
674
|
+
}
|
|
557
675
|
function getDimension() {
|
|
558
676
|
var dimension = {
|
|
559
677
|
innerWidth: -1,
|
|
@@ -592,8 +710,8 @@ function getDimension() {
|
|
|
592
710
|
var electron = require('electron');
|
|
593
711
|
var screen_1 = electron.screen;
|
|
594
712
|
var browserWindow = electron.BrowserWindow;
|
|
595
|
-
var focusedWindow = browserWindow.getFocusedWindow();
|
|
596
|
-
if (focusedWindow) {
|
|
713
|
+
var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
|
|
714
|
+
if (focusedWindow !== undefined) {
|
|
597
715
|
var contentSize = focusedWindow.getContentSize();
|
|
598
716
|
var size = focusedWindow.getSize();
|
|
599
717
|
dimension.innerWidth = contentSize[0];
|
|
@@ -825,23 +943,16 @@ var Appearance = {
|
|
|
825
943
|
onchange: onchange,
|
|
826
944
|
};
|
|
827
945
|
function getAppearanceFromEngine() {
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
resolve(Appearances.Light);
|
|
839
|
-
};
|
|
840
|
-
img.onerror = function () {
|
|
841
|
-
resolve(Appearances.Unknown);
|
|
842
|
-
};
|
|
843
|
-
img.src = SVG_PIXEL_DATA_URL;
|
|
844
|
-
});
|
|
946
|
+
var img = new Image();
|
|
947
|
+
img.src = SVG_PIXEL_DATA_URL;
|
|
948
|
+
if (CONTEXT === null)
|
|
949
|
+
return Appearances.Light;
|
|
950
|
+
CONTEXT.drawImage(img, 0, 0);
|
|
951
|
+
var data = CONTEXT.getImageData(0, 0, 1, 1).data;
|
|
952
|
+
if ((data[0] & data[1] & data[2]) < 255)
|
|
953
|
+
return Appearances.Dark;
|
|
954
|
+
else
|
|
955
|
+
return Appearances.Light;
|
|
845
956
|
}
|
|
846
957
|
function getAppearanceFromMediaQuery() {
|
|
847
958
|
if (!SUPPORT_PREFERS_COLOR_SCHEME)
|
|
@@ -870,18 +981,12 @@ function getAppearanceFromElectron() {
|
|
|
870
981
|
}
|
|
871
982
|
function getAppearance() {
|
|
872
983
|
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative)
|
|
873
|
-
return
|
|
874
|
-
resolve(getAppearanceFromReactNative());
|
|
875
|
-
});
|
|
984
|
+
return getAppearanceFromReactNative();
|
|
876
985
|
if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron)
|
|
877
|
-
return
|
|
878
|
-
resolve(getAppearanceFromElectron());
|
|
879
|
-
});
|
|
986
|
+
return getAppearanceFromElectron();
|
|
880
987
|
if (Platform.browser.name === Browsers.SamsungInternet)
|
|
881
988
|
return getAppearanceFromEngine();
|
|
882
|
-
return
|
|
883
|
-
resolve(getAppearanceFromMediaQuery());
|
|
884
|
-
});
|
|
989
|
+
return getAppearanceFromMediaQuery();
|
|
885
990
|
}
|
|
886
991
|
function setAppearance(appearance) {
|
|
887
992
|
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
@@ -904,18 +1009,13 @@ function setAppearance(appearance) {
|
|
|
904
1009
|
}
|
|
905
1010
|
}
|
|
906
1011
|
function startPolling() {
|
|
907
|
-
getAppearanceFromEngine()
|
|
908
|
-
.then(function (appearance) {
|
|
909
|
-
currentAppearance = appearance;
|
|
910
|
-
});
|
|
1012
|
+
currentAppearance = getAppearanceFromEngine();
|
|
911
1013
|
appearanceIntervalId = globalThis.setInterval(function () {
|
|
912
|
-
getAppearanceFromEngine()
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
}
|
|
918
|
-
});
|
|
1014
|
+
var appearance = getAppearanceFromEngine();
|
|
1015
|
+
if (appearance !== currentAppearance) {
|
|
1016
|
+
currentAppearance = appearance;
|
|
1017
|
+
notify(appearance);
|
|
1018
|
+
}
|
|
919
1019
|
}, 2000);
|
|
920
1020
|
}
|
|
921
1021
|
function stopPolling() {
|
|
@@ -994,12 +1094,9 @@ function onchangeElectron(listener) {
|
|
|
994
1094
|
var handleThemeChange_1 = function () {
|
|
995
1095
|
listener(getAppearanceFromElectron());
|
|
996
1096
|
};
|
|
997
|
-
|
|
998
|
-
electron_1.nativeTheme.on('updated', handleThemeChange_1);
|
|
999
|
-
}
|
|
1097
|
+
electron_1.nativeTheme.on('updated', handleThemeChange_1);
|
|
1000
1098
|
return function () {
|
|
1001
|
-
|
|
1002
|
-
electron_1.nativeTheme.removeListener('updated', handleThemeChange_1);
|
|
1099
|
+
electron_1.nativeTheme.removeListener('updated', handleThemeChange_1);
|
|
1003
1100
|
};
|
|
1004
1101
|
}
|
|
1005
1102
|
catch (_) {
|
|
@@ -1031,8 +1128,7 @@ function onchange(listener, options) {
|
|
|
1031
1128
|
else
|
|
1032
1129
|
addListener(entry.capture);
|
|
1033
1130
|
}
|
|
1034
|
-
getAppearance()
|
|
1035
|
-
.then(notify);
|
|
1131
|
+
notify(getAppearance());
|
|
1036
1132
|
}
|
|
1037
1133
|
else if (ENTRIES[index].once && !entry.once) {
|
|
1038
1134
|
ENTRIES[index].once = false;
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
var MEDIA_QUERY_LIST = typeof globalThis.matchMedia !== 'undefined' ? globalThis.matchMedia('(prefers-color-scheme: dark)') : FALLBACK_MEDIA_QUERY_LIST;
|
|
30
30
|
var SUPPORT_PREFERS_COLOR_SCHEME = MEDIA_QUERY_LIST.media !== 'not all';
|
|
31
31
|
var CONTEXT = 'document' in globalThis ? globalThis.document.createElement('canvas').getContext('2d', { willReadFrequently: true }) : null;
|
|
32
|
-
var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,
|
|
32
|
+
var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMXYxSDB6Ii8+PC9zdmc+';
|
|
33
33
|
var ENTRIES = [];
|
|
34
34
|
|
|
35
35
|
function compareVersion(lhs, rhs) {
|
|
@@ -118,6 +118,9 @@
|
|
|
118
118
|
get network() {
|
|
119
119
|
return getNetwork();
|
|
120
120
|
},
|
|
121
|
+
get locale() {
|
|
122
|
+
return getLocale();
|
|
123
|
+
},
|
|
121
124
|
get dimension() {
|
|
122
125
|
return getDimension();
|
|
123
126
|
},
|
|
@@ -131,12 +134,6 @@
|
|
|
131
134
|
get renderer() {
|
|
132
135
|
return getRenderer();
|
|
133
136
|
},
|
|
134
|
-
get isMobile() {
|
|
135
|
-
return this.device === Devices.Mobile;
|
|
136
|
-
},
|
|
137
|
-
get isDesktop() {
|
|
138
|
-
return this.device === Devices.Desktop;
|
|
139
|
-
},
|
|
140
137
|
get isWebview() {
|
|
141
138
|
return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
|
|
142
139
|
},
|
|
@@ -560,6 +557,127 @@
|
|
|
560
557
|
}
|
|
561
558
|
return network;
|
|
562
559
|
}
|
|
560
|
+
function normalizeLocale(locale) {
|
|
561
|
+
if (locale === null || locale === undefined)
|
|
562
|
+
return locale;
|
|
563
|
+
if (locale.length === 0)
|
|
564
|
+
return null;
|
|
565
|
+
locale = locale.replace(/_/g, '-');
|
|
566
|
+
if (locale === 'C' || locale === 'posix' || locale === 'POSIX')
|
|
567
|
+
return 'en-US';
|
|
568
|
+
if (locale.indexOf('.') !== -1)
|
|
569
|
+
return normalizeLocale(locale.split('.')[0]);
|
|
570
|
+
if (locale.indexOf('@') !== -1)
|
|
571
|
+
return normalizeLocale(locale.split('@')[0]);
|
|
572
|
+
var parts = locale.split('-');
|
|
573
|
+
if (parts.length === 0)
|
|
574
|
+
return null;
|
|
575
|
+
parts[0] = parts[0].toLowerCase();
|
|
576
|
+
if (parts.length > 1 && parts[1].length === 2)
|
|
577
|
+
parts[1] = parts[1].toUpperCase();
|
|
578
|
+
if (parts.length > 2 && parts[1].length === 4)
|
|
579
|
+
parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
|
|
580
|
+
return parts.join('-');
|
|
581
|
+
}
|
|
582
|
+
function getLocale() {
|
|
583
|
+
var locale = {
|
|
584
|
+
language: '',
|
|
585
|
+
languages: [],
|
|
586
|
+
timezone: '',
|
|
587
|
+
timezoneOffset: 0,
|
|
588
|
+
};
|
|
589
|
+
function addLanguages(language) {
|
|
590
|
+
for (var i = 0; i < language.length; i++)
|
|
591
|
+
addLanguage(language[i]);
|
|
592
|
+
}
|
|
593
|
+
function addLanguage(language) {
|
|
594
|
+
language = normalizeLocale(language);
|
|
595
|
+
if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
|
|
596
|
+
if (locale.language.length === 0)
|
|
597
|
+
locale.language = language;
|
|
598
|
+
locale.languages.push(language);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
602
|
+
try {
|
|
603
|
+
var reactNative = require('react-native');
|
|
604
|
+
var nativeModules = reactNative.NativeModules;
|
|
605
|
+
if (typeof nativeModules.SettingsManager !== 'undefined') {
|
|
606
|
+
var settingManager = nativeModules.SettingsManager;
|
|
607
|
+
if (typeof settingManager !== 'undefined') {
|
|
608
|
+
var constant = typeof settingManager.getConstants === 'function'
|
|
609
|
+
? settingManager.getConstants()
|
|
610
|
+
: settingManager;
|
|
611
|
+
if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
|
|
612
|
+
var settings = constant.settings;
|
|
613
|
+
if (typeof settings.AppleLocale === 'string')
|
|
614
|
+
addLanguage(settings.AppleLocale);
|
|
615
|
+
if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
|
|
616
|
+
addLanguages(settings.AppleLanguages);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
if (typeof nativeModules.I18nManager !== 'undefined') {
|
|
621
|
+
var i18nManager = nativeModules.I18nManager;
|
|
622
|
+
if (typeof i18nManager !== 'undefined') {
|
|
623
|
+
var constant = typeof i18nManager.getConstants === 'function'
|
|
624
|
+
? i18nManager.getConstants()
|
|
625
|
+
: i18nManager;
|
|
626
|
+
if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
|
|
627
|
+
addLanguage(constant.localeIdentifier);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
catch (_) {
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
|
|
635
|
+
try {
|
|
636
|
+
var electron = require('electron');
|
|
637
|
+
var app = electron.app;
|
|
638
|
+
if (typeof app.getLocale !== 'undefined')
|
|
639
|
+
addLanguage(app.getLocale());
|
|
640
|
+
if (typeof app.getSystemLocale !== 'undefined')
|
|
641
|
+
addLanguage(app.getSystemLocale());
|
|
642
|
+
if (typeof app.getPreferredSystemLanguages !== 'undefined')
|
|
643
|
+
addLanguages(app.getPreferredSystemLanguages());
|
|
644
|
+
}
|
|
645
|
+
catch (_) {
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
if (typeof Intl !== 'undefined') {
|
|
649
|
+
try {
|
|
650
|
+
addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
|
|
651
|
+
}
|
|
652
|
+
catch (_) {
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
if (typeof globalThis.navigator !== 'undefined') {
|
|
656
|
+
if (typeof globalThis.navigator.languages !== 'undefined')
|
|
657
|
+
addLanguages(globalThis.navigator.languages);
|
|
658
|
+
if (typeof globalThis.navigator.language !== 'undefined')
|
|
659
|
+
addLanguage(globalThis.navigator.language);
|
|
660
|
+
if (typeof globalThis.navigator.userLanguage !== 'undefined')
|
|
661
|
+
addLanguage(globalThis.navigator.userLanguage);
|
|
662
|
+
if (typeof globalThis.navigator.browserLanguage !== 'undefined')
|
|
663
|
+
addLanguage(globalThis.navigator.browserLanguage);
|
|
664
|
+
if (typeof globalThis.navigator.systemLanguage !== 'undefined')
|
|
665
|
+
addLanguage(globalThis.navigator.systemLanguage);
|
|
666
|
+
}
|
|
667
|
+
try {
|
|
668
|
+
if (typeof Intl !== 'undefined') {
|
|
669
|
+
locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
catch (_) {
|
|
673
|
+
}
|
|
674
|
+
try {
|
|
675
|
+
locale.timezoneOffset = new Date().getTimezoneOffset();
|
|
676
|
+
}
|
|
677
|
+
catch (_) {
|
|
678
|
+
}
|
|
679
|
+
return locale;
|
|
680
|
+
}
|
|
563
681
|
function getDimension() {
|
|
564
682
|
var dimension = {
|
|
565
683
|
innerWidth: -1,
|
|
@@ -598,8 +716,8 @@
|
|
|
598
716
|
var electron = require('electron');
|
|
599
717
|
var screen_1 = electron.screen;
|
|
600
718
|
var browserWindow = electron.BrowserWindow;
|
|
601
|
-
var focusedWindow = browserWindow.getFocusedWindow();
|
|
602
|
-
if (focusedWindow) {
|
|
719
|
+
var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
|
|
720
|
+
if (focusedWindow !== undefined) {
|
|
603
721
|
var contentSize = focusedWindow.getContentSize();
|
|
604
722
|
var size = focusedWindow.getSize();
|
|
605
723
|
dimension.innerWidth = contentSize[0];
|
|
@@ -831,23 +949,16 @@
|
|
|
831
949
|
onchange: onchange,
|
|
832
950
|
};
|
|
833
951
|
function getAppearanceFromEngine() {
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
resolve(Appearances.Light);
|
|
845
|
-
};
|
|
846
|
-
img.onerror = function () {
|
|
847
|
-
resolve(Appearances.Unknown);
|
|
848
|
-
};
|
|
849
|
-
img.src = SVG_PIXEL_DATA_URL;
|
|
850
|
-
});
|
|
952
|
+
var img = new Image();
|
|
953
|
+
img.src = SVG_PIXEL_DATA_URL;
|
|
954
|
+
if (CONTEXT === null)
|
|
955
|
+
return Appearances.Light;
|
|
956
|
+
CONTEXT.drawImage(img, 0, 0);
|
|
957
|
+
var data = CONTEXT.getImageData(0, 0, 1, 1).data;
|
|
958
|
+
if ((data[0] & data[1] & data[2]) < 255)
|
|
959
|
+
return Appearances.Dark;
|
|
960
|
+
else
|
|
961
|
+
return Appearances.Light;
|
|
851
962
|
}
|
|
852
963
|
function getAppearanceFromMediaQuery() {
|
|
853
964
|
if (!SUPPORT_PREFERS_COLOR_SCHEME)
|
|
@@ -876,18 +987,12 @@
|
|
|
876
987
|
}
|
|
877
988
|
function getAppearance() {
|
|
878
989
|
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative)
|
|
879
|
-
return
|
|
880
|
-
resolve(getAppearanceFromReactNative());
|
|
881
|
-
});
|
|
990
|
+
return getAppearanceFromReactNative();
|
|
882
991
|
if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron)
|
|
883
|
-
return
|
|
884
|
-
resolve(getAppearanceFromElectron());
|
|
885
|
-
});
|
|
992
|
+
return getAppearanceFromElectron();
|
|
886
993
|
if (Platform.browser.name === Browsers.SamsungInternet)
|
|
887
994
|
return getAppearanceFromEngine();
|
|
888
|
-
return
|
|
889
|
-
resolve(getAppearanceFromMediaQuery());
|
|
890
|
-
});
|
|
995
|
+
return getAppearanceFromMediaQuery();
|
|
891
996
|
}
|
|
892
997
|
function setAppearance(appearance) {
|
|
893
998
|
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
@@ -910,18 +1015,13 @@
|
|
|
910
1015
|
}
|
|
911
1016
|
}
|
|
912
1017
|
function startPolling() {
|
|
913
|
-
getAppearanceFromEngine()
|
|
914
|
-
.then(function (appearance) {
|
|
915
|
-
currentAppearance = appearance;
|
|
916
|
-
});
|
|
1018
|
+
currentAppearance = getAppearanceFromEngine();
|
|
917
1019
|
appearanceIntervalId = globalThis.setInterval(function () {
|
|
918
|
-
getAppearanceFromEngine()
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
}
|
|
924
|
-
});
|
|
1020
|
+
var appearance = getAppearanceFromEngine();
|
|
1021
|
+
if (appearance !== currentAppearance) {
|
|
1022
|
+
currentAppearance = appearance;
|
|
1023
|
+
notify(appearance);
|
|
1024
|
+
}
|
|
925
1025
|
}, 2000);
|
|
926
1026
|
}
|
|
927
1027
|
function stopPolling() {
|
|
@@ -1000,12 +1100,9 @@
|
|
|
1000
1100
|
var handleThemeChange_1 = function () {
|
|
1001
1101
|
listener(getAppearanceFromElectron());
|
|
1002
1102
|
};
|
|
1003
|
-
|
|
1004
|
-
electron_1.nativeTheme.on('updated', handleThemeChange_1);
|
|
1005
|
-
}
|
|
1103
|
+
electron_1.nativeTheme.on('updated', handleThemeChange_1);
|
|
1006
1104
|
return function () {
|
|
1007
|
-
|
|
1008
|
-
electron_1.nativeTheme.removeListener('updated', handleThemeChange_1);
|
|
1105
|
+
electron_1.nativeTheme.removeListener('updated', handleThemeChange_1);
|
|
1009
1106
|
};
|
|
1010
1107
|
}
|
|
1011
1108
|
catch (_) {
|
|
@@ -1037,8 +1134,7 @@
|
|
|
1037
1134
|
else
|
|
1038
1135
|
addListener(entry.capture);
|
|
1039
1136
|
}
|
|
1040
|
-
getAppearance()
|
|
1041
|
-
.then(notify);
|
|
1137
|
+
notify(getAppearance());
|
|
1042
1138
|
}
|
|
1043
1139
|
else if (ENTRIES[index].once && !entry.once) {
|
|
1044
1140
|
ENTRIES[index].once = false;
|
|
@@ -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,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,g={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;if(void 0!==r)return 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),e}if(g.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(g.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(g.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(g.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){}if(g.crossPlatformFramework===t.Electron)try{var s=require("electron"),l=s.screen,c=s.BrowserWindow.getFocusedWindow();if(c){var m=c.getContentSize(),d=c.getSize();e.innerWidth=m[0],e.innerHeight=m[1],e.outerWidth=d[0],e.outerHeight=d[1],e.scale=l.getDisplayMatching(c.getBounds()).scaleFactor}return 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)}},h=[[/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,y],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,y],[/cfnetwork\/.+darwin/i,n.iOS,y],[/mac os x ?([\w. ]*)/i,n.MacOS,y],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,y],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],f=[[/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](g)}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 y(e){return void 0===e?"":e.replace(/_/g,".")}function j(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(g.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":g.os={name:n.Android,version:globalThis.device.version};break;case"iOS":g.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))&&(g.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(g.crossPlatformFramework=t.ReactNative);for(var e=0;e<h.length;e++){var o=(c=h[e])[0],a=c[1],s=c[2];if(null!==(d=g.userAgent.match(o))){g.os={name:a,version:W(d[1],s)};break}}for(g.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}(g.os.version,"18.6")&&null!==(T=/\) Version\/([\d.]+)/.exec(g.userAgent))&&parseInt(T[1].substring(0,2),10)>=26&&(g.os.version=T[1]),e=0;e<f.length;e++){o=(c=f[e])[0];var l=c[1];s=c[2];if(null!==(d=g.userAgent.match(o))){g.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=g.userAgent.match(o))){g.browser={name:u,version:W(d[1],s)};break}}if(g.crossPlatformFramework===t.ReactNative)try{a=(C=require("react-native").Platform).OS;var T=x(y=""+C.Version);switch(a){case"android":g.os={name:n.Android,version:S(T,y)};break;case"ios":g.os={name:n.iOS,version:y};break;case"windows":g.os={name:n.Windows,version:j(T,y)};break;case"macos":g.os={name:n.MacOS,version:y}}}catch(e){}if(g.isNode)try{var y,C=(a=require("os")).platform();T=x(y=a.release());switch(C){case"win32":g.os={name:n.Windows,version:j(T,y)};break;case"darwin":g.os={name:n.MacOS,version:E(T,y)};break;case"android":g.os={name:n.Android,version:y};break;case"linux":/android/i.test(y)&&(g.os={name:n.Android,version:y})}}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=g.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?g.browser.name=i.Chrome:"Edge"===s||"Edge WebView2"===s?g.browser.name=i.Edge:"Opera Mobi"===s&&(g.browser.name=i.Opera),g.browser.version=d),l=u),"Chromium"===u&&(g.engine.version=d))}"string"==typeof t&&(g.os.name===n.Windows?g.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":g.os.version=t),"string"==typeof a&&(/android/i.test(a)?g.os.name=n.Android:/ios|iphone|ipad/i.test(a)?g.os.name=n.iOS:/windows|win32/i.test(a)?g.os.name=n.Windows:/macos|macintel/i.test(a)&&(g.os.name=n.MacOS)),!0===e.mobile&&(g.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 P(){return s?a.matches?e.Dark:e.Light:e.Unknown}function A(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function I(){return g.crossPlatformFramework===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):g.crossPlatformFramework===t.Electron?new Promise((function(e){e(A())})):g.browser.name===i.SamsungInternet?L():new Promise((function(e){e(P())}))}function N(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=H(e);-1!==r&&c.splice(r,1),0===c.length&&(g.browser.name===i.SamsungInternet?(C=null,null!==M&&(clearInterval(M),M=null)):(n=e.capture,C=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",N,n):"function"==typeof a.removeListener&&a.removeListener(N)))}function H(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 I()},set value(e){!function(e){if(g.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(g.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(g.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(g.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),r=function(){e(A())};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=H(o);-1===s?(c.push(o),1===c.length&&(g.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=P(),"function"==typeof a.addEventListener?a.addEventListener("change",N,l):"function"==typeof a.addListener&&a.addListener(N))),I().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:{}}}));
|
|
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 d=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",m="loading",g=[],u=0,v={os:{name:n.Unknown,version:""},engine:{name:o.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:t.Unknown,userAgent:d,get readyState(){return 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 r=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;if(void 0!==r)return 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),e}if(v.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(v.os.name===n.Windows){try{(d=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&d.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(d=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(e.type="ethernet")}catch(e){}null===e.type&&(e.type="other")}else if(v.os.name===n.MacOS)try{var d=c.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),m=c.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});m.includes("en0")&&d.includes("Wi-Fi")?e.type="wifi":m.includes("en")||d.includes("Ethernet")?e.type="ethernet":e.type="other"}catch(n){e.type="other"}}catch(e){}}return e}()},get locale(){return function(){var e={language:"",languages:[],timezone:"",timezoneOffset:0};function n(e){for(var n=0;n<e.length;n++)r(e[n])}function r(n){"string"==typeof(n=W(n))&&-1===e.languages.indexOf(n)&&(0===e.language.length&&(e.language=n),e.languages.push(n))}if(v.crossPlatformFramework===t.ReactNative)try{var o=require("react-native").NativeModules;if(void 0!==o.SettingsManager){var i=o.SettingsManager;if(void 0!==i)if(void 0!==(s="function"==typeof i.getConstants?i.getConstants():i)&&void 0!==s.settings){var a=s.settings;"string"==typeof a.AppleLocale&&r(a.AppleLocale),Array.isArray(a.AppleLanguages)&&a.AppleLanguages.length>0&&n(a.AppleLanguages)}}if(void 0!==o.I18nManager){var s,l=o.I18nManager;if(void 0!==l)void 0!==(s="function"==typeof l.getConstants?l.getConstants():l)&&void 0!==s.localeIdentifier&&r(s.localeIdentifier)}}catch(e){}if(v.crossPlatformFramework===t.Electron)try{var c=require("electron").app;void 0!==c.getLocale&&r(c.getLocale()),void 0!==c.getSystemLocale&&r(c.getSystemLocale()),void 0!==c.getPreferredSystemLanguages&&n(c.getPreferredSystemLanguages())}catch(e){}if("undefined"!=typeof Intl)try{r(Intl.DateTimeFormat().resolvedOptions().locale)}catch(e){}void 0!==globalThis.navigator&&(void 0!==globalThis.navigator.languages&&n(globalThis.navigator.languages),void 0!==globalThis.navigator.language&&r(globalThis.navigator.language),void 0!==globalThis.navigator.userLanguage&&r(globalThis.navigator.userLanguage),void 0!==globalThis.navigator.browserLanguage&&r(globalThis.navigator.browserLanguage),void 0!==globalThis.navigator.systemLanguage&&r(globalThis.navigator.systemLanguage));try{"undefined"!=typeof Intl&&(e.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone)}catch(e){}try{e.timezoneOffset=(new Date).getTimezoneOffset()}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(v.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){}if(v.crossPlatformFramework===t.Electron)try{var s=require("electron"),l=s.screen,c=s.BrowserWindow,d=c.getFocusedWindow()||c.getAllWindows()[0];if(void 0!==d){var m=d.getContentSize(),g=d.getSize();e.innerWidth=m[0],e.innerHeight=m[1],e.outerWidth=g[0],e.outerHeight=g[1],e.scale=l.getDisplayMatching(d.getBounds()).scaleFactor}return 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 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 g.push(e)}},f=[[/windows nt (6\.[23]); arm/i,n.Windows,y],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,y],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,y],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,y],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,y],[/windows ce\/?([\d.]*)/i,n.Windows,y],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,k],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,k],[/cfnetwork\/.+darwin/i,n.iOS,k],[/mac os x ?([\w. ]*)/i,n.MacOS,k],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,k],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],h=[[/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]],p={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function b(){u--,T()}function T(){if(0===u&&"loading"===m){m="complete";for(var e=0;e<g.length;e++)try{g[e](v)}catch(e){}g.length=0}}function y(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 k(e){return void 0===e?"":e.replace(/_/g,".")}function j(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 L(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function O(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function C(){if(v.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":v.os={name:n.Android,version:globalThis.device.version};break;case"iOS":v.os={name:n.iOS,version:globalThis.device.version}}b()}function W(e){if(null==e)return e;if(0===e.length)return null;if("C"===(e=e.replace(/_/g,"-"))||"posix"===e||"POSIX"===e)return"en-US";if(-1!==e.indexOf("."))return W(e.split(".")[0]);if(-1!==e.indexOf("@"))return W(e.split("@")[0]);var n=e.split("-");return 0===n.length?null:(n[0]=n[0].toLowerCase(),n.length>1&&2===n[1].length&&(n[1]=n[1].toUpperCase()),n.length>2&&4===n[1].length&&(n[1]=n[1].charAt(0).toUpperCase()+n[1].slice(1).toLowerCase()),n.join("-"))}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(d))&&(v.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(v.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!==(m=v.userAgent.match(o))){v.os={name:a,version:L(m[1],s)};break}}for(v.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}(v.os.version,"18.6")&&null!==(y=/\) Version\/([\d.]+)/.exec(v.userAgent))&&parseInt(y[1].substring(0,2),10)>=26&&(v.os.version=y[1]),e=0;e<h.length;e++){o=(c=h[e])[0];var l=c[1];s=c[2];if(null!==(m=v.userAgent.match(o))){v.engine={name:l,version:L(m[1],s)};break}}for(e=0;e<w.length;e++){o=(c=w[e])[0];var c,m,g=c[1];s=c[2];if(null!==(m=v.userAgent.match(o))){v.browser={name:g,version:L(m[1],s)};break}}if(v.crossPlatformFramework===t.ReactNative)try{a=(W=require("react-native").Platform).OS;var y=O(k=""+W.Version);switch(a){case"android":v.os={name:n.Android,version:S(y,k)};break;case"ios":v.os={name:n.iOS,version:k};break;case"windows":v.os={name:n.Windows,version:j(y,k)};break;case"macos":v.os={name:n.MacOS,version:k}}}catch(e){}if(v.isNode)try{var k,W=(a=require("os")).platform();y=O(k=a.release());switch(W){case"win32":v.os={name:n.Windows,version:j(y,k)};break;case"darwin":v.os={name:n.MacOS,version:E(y,k)};break;case"android":v.os={name:n.Android,version:k};break;case"linux":/android/i.test(k)&&(v.os={name:n.Android,version:k})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?C():globalThis.document.addEventListener("deviceready",C,!1)),void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&(u++,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=v.browser.name,l=null,c=0;c<o.length;c++){var d=null==(u=o[c])?{brand:"",version:""}:"string"==typeof u?{brand:u,version:""}:{brand:u.brand,version:u.version},m=d.version,g=d.brand;/not.a.brand/i.test(g)||((null===l||/Chrom/.test(l)&&"Chromium"!==g||"Edge"===l&&/WebView2/.test(g))&&(g=p[g]||g,null!==(l=s)&&!/Chrom/.test(l)&&/Chrom/.test(g)||("Chrome"===(s=g)||"Chrome WebView"===s||"Chrome Headless"===s?v.browser.name=i.Chrome:"Edge"===s||"Edge WebView2"===s?v.browser.name=i.Edge:"Opera Mobi"===s&&(v.browser.name=i.Opera),v.browser.version=m),l=g),"Chromium"===g&&(v.engine.version=m))}"string"==typeof t&&(v.os.name===n.Windows?v.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":v.os.version=t),"string"==typeof a&&(/android/i.test(a)?v.os.name=n.Android:/ios|iphone|ipad/i.test(a)?v.os.name=n.iOS:/windows|win32/i.test(a)?v.os.name=n.Windows:/macos|macintel/i.test(a)&&(v.os.name=n.MacOS)),!0===e.mobile&&(v.device=r.Mobile)}catch(e){}finally{b()}var u})).catch(b)),T()}();var x=null,A=null;function I(){var n=new Image;if(n.src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMXYxSDB6Ii8+PC9zdmc+",null===l)return e.Light;l.drawImage(n,0,0);var r=l.getImageData(0,0,1,1).data;return(r[0]&r[1]&r[2])<255?e.Dark:e.Light}function M(){return s?a.matches?e.Dark:e.Light:e.Unknown}function N(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function P(){return v.crossPlatformFramework===t.ReactNative?function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}():v.crossPlatformFramework===t.Electron?N():v.browser.name===i.SamsungInternet?I():M()}function F(n){var r;(r=n.matches?e.Dark:e.Light)!==x&&D(x=r)}function D(e){for(var n=0;n<c.length;n++){var r=c[n];r.fn(e),r.once&&H(r)}}function H(e){var n,r=U(e);-1!==r&&c.splice(r,1),0===c.length&&(v.browser.name===i.SamsungInternet?(x=null,null!==A&&(clearInterval(A),A=null)):(n=e.capture,x=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",F,n):"function"==typeof a.removeListener&&a.removeListener(F)))}function U(e){for(var n=0;n<c.length;n++)if(c[n].fn===e.fn&&c[n].capture===e.capture)return n;return-1}return{installed:!1,name:"Appearance",module:{get value(){return P()},set value(e){!function(e){if(v.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(v.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(v.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(v.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),r=function(){e(N())};return n.nativeTheme.on("updated",r),function(){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=U(o);-1===s?(c.push(o),1===c.length&&(v.browser.name===i.SamsungInternet?(x=I(),A=globalThis.setInterval((function(){var e=I();e!==x&&(x=e,D(e))}),2e3)):(l=o.capture,x=M(),"function"==typeof a.addEventListener?a.addEventListener("change",F,l):"function"==typeof a.addListener&&a.addListener(F))),D(P())):c[s].once&&!o.once&&(c[s].once=!1);var l;void 0!==o.signal&&(o.signal.aborted?H(o):o.signal.addEventListener("abort",(function e(){void 0!==o.signal&&o.signal.removeEventListener("abort",e),H(o)})));return function(){H(o)}}},Constants:{Appearances:e},Errors:{}}}));
|
|
@@ -6,7 +6,7 @@ export declare interface ListenerEntry {
|
|
|
6
6
|
signal?: AbortSignal;
|
|
7
7
|
}
|
|
8
8
|
export declare interface AppearanceInstance {
|
|
9
|
-
get value():
|
|
9
|
+
get value(): Appearances;
|
|
10
10
|
set value(appearances: Exclude<Appearances, Appearances.Unknown>);
|
|
11
11
|
onchange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
|
|
12
12
|
}
|