native-fn 1.0.81 → 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 +124 -6
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +124 -6
- package/dist/plugin/app/index.umd.js +124 -6
- 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 +147 -51
- 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 +147 -51
- package/dist/plugin/appearance/index.umd.js +147 -51
- 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 +124 -6
- package/dist/plugin/clipboard/index.min.cjs +1 -1
- package/dist/plugin/clipboard/index.min.mjs +1 -1
- package/dist/plugin/clipboard/index.mjs +124 -6
- package/dist/plugin/clipboard/index.umd.js +124 -6
- 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 +140 -19
- package/dist/plugin/fullscreen/index.min.cjs +1 -1
- package/dist/plugin/fullscreen/index.min.mjs +1 -1
- package/dist/plugin/fullscreen/index.mjs +140 -19
- package/dist/plugin/fullscreen/index.umd.js +140 -19
- 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 +124 -6
- 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 +124 -6
- package/dist/plugin/platform/index.umd.js +124 -6
- 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 +124 -6
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +124 -6
- package/dist/plugin/theme/index.umd.js +124 -6
- 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,
|
|
@@ -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,
|
|
@@ -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,m=c.getFocusedWindow()||c.getAllWindows()[0];if(void 0!==m){var d=m.getContentSize(),u=m.getSize();e.innerWidth=d[0],e.innerHeight=d[1],e.outerWidth=u[0],e.outerHeight=u[1],e.scale=l.getDisplayMatching(m.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 A(){return s?a.matches?e.Dark:e.Light:e.Unknown}function P(){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(P())})):g.browser.name===i.SamsungInternet?L():new Promise((function(e){e(A())}))}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(P())};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=A(),"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
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Appearances } from "../constants";
|
|
2
|
+
import { NativeModule } from "../../../types";
|
|
3
|
+
export declare interface ListenerEntry {
|
|
4
|
+
fn: (appearance: Appearances) => any;
|
|
5
|
+
capture: boolean;
|
|
6
|
+
once: boolean;
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
export declare interface AppearanceInstance extends NativeModule {
|
|
10
|
+
get value(): Appearances;
|
|
11
|
+
set value(appearances: Exclude<Appearances, Appearances.Unknown>);
|
|
12
|
+
onchange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
|
|
13
|
+
}
|