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.
Files changed (154) hide show
  1. package/dist/native.cjs +1 -1
  2. package/dist/native.min.cjs +1 -1
  3. package/dist/native.min.mjs +1 -1
  4. package/dist/native.mjs +1 -1
  5. package/dist/native.umd.js +1 -1
  6. package/dist/native.umd.min.js +1 -1
  7. package/dist/plugin/app/index.cjs +126 -8
  8. package/dist/plugin/app/index.min.cjs +1 -1
  9. package/dist/plugin/app/index.min.mjs +1 -1
  10. package/dist/plugin/app/index.mjs +126 -8
  11. package/dist/plugin/app/index.umd.js +126 -8
  12. package/dist/plugin/app/index.umd.min.js +1 -1
  13. package/dist/plugin/app/src/plugin/appearance/types/appearance.d.ts +1 -1
  14. package/dist/plugin/app/src/plugin/clipboard/types/appearance.d.ts +13 -0
  15. package/dist/plugin/app/src/plugin/dimension/cores/index.d.ts +3 -0
  16. package/dist/plugin/app/src/plugin/dimension/index.d.ts +4 -0
  17. package/dist/plugin/app/src/plugin/dimension/types/dimension.d.ts +8 -0
  18. package/dist/plugin/app/src/plugin/dimension/types/index.d.ts +13 -0
  19. package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +5 -0
  20. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +7 -2
  21. package/dist/plugin/appearance/index.cjs +149 -53
  22. package/dist/plugin/appearance/index.d.ts +1 -1
  23. package/dist/plugin/appearance/index.min.cjs +1 -1
  24. package/dist/plugin/appearance/index.min.mjs +1 -1
  25. package/dist/plugin/appearance/index.mjs +149 -53
  26. package/dist/plugin/appearance/index.umd.js +149 -53
  27. package/dist/plugin/appearance/index.umd.min.js +1 -1
  28. package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +1 -1
  29. package/dist/plugin/appearance/src/plugin/clipboard/types/appearance.d.ts +13 -0
  30. package/dist/plugin/appearance/src/plugin/dimension/cores/index.d.ts +3 -0
  31. package/dist/plugin/appearance/src/plugin/dimension/index.d.ts +4 -0
  32. package/dist/plugin/appearance/src/plugin/dimension/types/dimension.d.ts +8 -0
  33. package/dist/plugin/appearance/src/plugin/dimension/types/index.d.ts +13 -0
  34. package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +5 -0
  35. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +7 -2
  36. package/dist/plugin/clipboard/index.cjs +126 -8
  37. package/dist/plugin/clipboard/index.min.cjs +1 -1
  38. package/dist/plugin/clipboard/index.min.mjs +1 -1
  39. package/dist/plugin/clipboard/index.mjs +126 -8
  40. package/dist/plugin/clipboard/index.umd.js +126 -8
  41. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  42. package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +1 -1
  43. package/dist/plugin/clipboard/src/plugin/clipboard/types/appearance.d.ts +13 -0
  44. package/dist/plugin/clipboard/src/plugin/dimension/cores/index.d.ts +3 -0
  45. package/dist/plugin/clipboard/src/plugin/dimension/index.d.ts +4 -0
  46. package/dist/plugin/clipboard/src/plugin/dimension/types/dimension.d.ts +8 -0
  47. package/dist/plugin/clipboard/src/plugin/dimension/types/index.d.ts +13 -0
  48. package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +5 -0
  49. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +7 -2
  50. package/dist/plugin/dimension/index.cjs +13 -0
  51. package/dist/plugin/dimension/index.d.ts +27 -0
  52. package/dist/plugin/dimension/index.min.cjs +1 -0
  53. package/dist/plugin/dimension/index.min.mjs +1 -0
  54. package/dist/plugin/dimension/index.mjs +11 -0
  55. package/dist/plugin/dimension/index.umd.js +19 -0
  56. package/dist/plugin/dimension/index.umd.min.js +1 -0
  57. package/dist/plugin/dimension/src/errors/plugin-not-extended-error.d.ts +2 -0
  58. package/dist/plugin/dimension/src/plugin/app/constants/index.d.ts +12 -0
  59. package/dist/plugin/dimension/src/plugin/app/cores/index.d.ts +13 -0
  60. package/dist/plugin/dimension/src/plugin/app/errors/url-open-error.d.ts +2 -0
  61. package/dist/plugin/dimension/src/plugin/app/index.d.ts +12 -0
  62. package/dist/plugin/dimension/src/plugin/app/types/app.d.ts +54 -0
  63. package/dist/plugin/dimension/src/plugin/app/types/index.d.ts +16 -0
  64. package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +11 -0
  65. package/dist/plugin/dimension/src/plugin/appearance/cores/index.d.ts +3 -0
  66. package/dist/plugin/dimension/src/plugin/appearance/index.d.ts +8 -0
  67. package/dist/plugin/dimension/src/plugin/appearance/types/appearance.d.ts +12 -0
  68. package/dist/plugin/dimension/src/plugin/appearance/types/index.d.ts +13 -0
  69. package/dist/plugin/dimension/src/plugin/clipboard/cores/index.d.ts +3 -0
  70. package/dist/plugin/dimension/src/plugin/clipboard/index.d.ts +5 -0
  71. package/dist/plugin/dimension/src/plugin/clipboard/types/appearance.d.ts +13 -0
  72. package/dist/plugin/dimension/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  73. package/dist/plugin/dimension/src/plugin/clipboard/types/index.d.ts +11 -0
  74. package/dist/plugin/dimension/src/plugin/dimension/cores/index.d.ts +3 -0
  75. package/dist/plugin/dimension/src/plugin/dimension/index.d.ts +4 -0
  76. package/dist/plugin/dimension/src/plugin/dimension/types/dimension.d.ts +8 -0
  77. package/dist/plugin/dimension/src/plugin/dimension/types/index.d.ts +13 -0
  78. package/dist/plugin/dimension/src/plugin/fullscreen/cores/index.d.ts +35 -0
  79. package/dist/plugin/dimension/src/plugin/fullscreen/index.d.ts +5 -0
  80. package/dist/plugin/dimension/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  81. package/dist/plugin/dimension/src/plugin/fullscreen/types/index.d.ts +11 -0
  82. package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +42 -0
  83. package/dist/plugin/dimension/src/plugin/platform/cores/index.d.ts +45 -0
  84. package/dist/plugin/dimension/src/plugin/platform/index.d.ts +12 -0
  85. package/dist/plugin/dimension/src/plugin/platform/types/index.d.ts +11 -0
  86. package/dist/plugin/dimension/src/plugin/platform/types/platform.d.ts +43 -0
  87. package/dist/plugin/dimension/src/plugin/theme/constants/index.d.ts +2 -0
  88. package/dist/plugin/dimension/src/plugin/theme/cores/index.d.ts +3 -0
  89. package/dist/plugin/dimension/src/plugin/theme/index.d.ts +5 -0
  90. package/dist/plugin/dimension/src/plugin/theme/types/index.d.ts +11 -0
  91. package/dist/plugin/dimension/src/plugin/theme/types/theme.d.ts +4 -0
  92. package/dist/plugin/dimension/src/types/event-listener-util.d.ts +11 -0
  93. package/dist/plugin/dimension/src/types/index.d.ts +1 -0
  94. package/dist/plugin/dimension/src/types/native.d.ts +27 -0
  95. package/dist/plugin/dimension/src/utils/assign.d.ts +1 -0
  96. package/dist/plugin/dimension/src/utils/compare-version.d.ts +1 -0
  97. package/dist/plugin/dimension/src/utils/create-custom-error.d.ts +6 -0
  98. package/dist/plugin/dimension/src/utils/create-hidden-element.d.ts +1 -0
  99. package/dist/plugin/dimension/src/utils/dispatch-click-event.d.ts +1 -0
  100. package/dist/plugin/dimension/src/utils/event-listener-utils.d.ts +3 -0
  101. package/dist/plugin/dimension/src/utils/get-topmost-window.d.ts +1 -0
  102. package/dist/plugin/dimension/src/utils/is-secure-context.d.ts +1 -0
  103. package/dist/plugin/fullscreen/index.cjs +142 -21
  104. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  105. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  106. package/dist/plugin/fullscreen/index.mjs +142 -21
  107. package/dist/plugin/fullscreen/index.umd.js +142 -21
  108. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  109. package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +1 -1
  110. package/dist/plugin/fullscreen/src/plugin/clipboard/types/appearance.d.ts +13 -0
  111. package/dist/plugin/fullscreen/src/plugin/dimension/cores/index.d.ts +3 -0
  112. package/dist/plugin/fullscreen/src/plugin/dimension/index.d.ts +4 -0
  113. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimension.d.ts +8 -0
  114. package/dist/plugin/fullscreen/src/plugin/dimension/types/index.d.ts +13 -0
  115. package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +5 -0
  116. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +7 -2
  117. package/dist/plugin/platform/index.cjs +126 -8
  118. package/dist/plugin/platform/index.d.ts +8 -3
  119. package/dist/plugin/platform/index.min.cjs +1 -1
  120. package/dist/plugin/platform/index.min.mjs +1 -1
  121. package/dist/plugin/platform/index.mjs +126 -8
  122. package/dist/plugin/platform/index.umd.js +126 -8
  123. package/dist/plugin/platform/index.umd.min.js +1 -1
  124. package/dist/plugin/platform/src/plugin/appearance/types/appearance.d.ts +1 -1
  125. package/dist/plugin/platform/src/plugin/clipboard/types/appearance.d.ts +13 -0
  126. package/dist/plugin/platform/src/plugin/dimension/cores/index.d.ts +3 -0
  127. package/dist/plugin/platform/src/plugin/dimension/index.d.ts +4 -0
  128. package/dist/plugin/platform/src/plugin/dimension/types/dimension.d.ts +8 -0
  129. package/dist/plugin/platform/src/plugin/dimension/types/index.d.ts +13 -0
  130. package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +5 -0
  131. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +7 -2
  132. package/dist/plugin/theme/index.cjs +126 -8
  133. package/dist/plugin/theme/index.min.cjs +1 -1
  134. package/dist/plugin/theme/index.min.mjs +1 -1
  135. package/dist/plugin/theme/index.mjs +126 -8
  136. package/dist/plugin/theme/index.umd.js +126 -8
  137. package/dist/plugin/theme/index.umd.min.js +1 -1
  138. package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +1 -1
  139. package/dist/plugin/theme/src/plugin/clipboard/types/appearance.d.ts +13 -0
  140. package/dist/plugin/theme/src/plugin/dimension/cores/index.d.ts +3 -0
  141. package/dist/plugin/theme/src/plugin/dimension/index.d.ts +4 -0
  142. package/dist/plugin/theme/src/plugin/dimension/types/dimension.d.ts +8 -0
  143. package/dist/plugin/theme/src/plugin/dimension/types/index.d.ts +13 -0
  144. package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +5 -0
  145. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +7 -2
  146. package/dist/src/plugin/appearance/types/appearance.d.ts +1 -1
  147. package/dist/src/plugin/clipboard/types/appearance.d.ts +13 -0
  148. package/dist/src/plugin/dimension/cores/index.d.ts +3 -0
  149. package/dist/src/plugin/dimension/index.d.ts +4 -0
  150. package/dist/src/plugin/dimension/types/dimension.d.ts +8 -0
  151. package/dist/src/plugin/dimension/types/index.d.ts +13 -0
  152. package/dist/src/plugin/platform/cores/index.d.ts +5 -0
  153. package/dist/src/plugin/platform/types/platform.d.ts +7 -2
  154. 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,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+';
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
- return new Promise(function (resolve) {
829
- var img = new Image();
830
- img.onload = function () {
831
- if (CONTEXT === null)
832
- return resolve(Appearances.Light);
833
- CONTEXT.drawImage(img, 0, 0);
834
- var data = CONTEXT.getImageData(0, 0, 1, 1).data;
835
- if ((data[0] & data[1] & data[2]) < 255)
836
- resolve(Appearances.Dark);
837
- else
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 new Promise(function (resolve) {
874
- resolve(getAppearanceFromReactNative());
875
- });
984
+ return getAppearanceFromReactNative();
876
985
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron)
877
- return new Promise(function (resolve) {
878
- resolve(getAppearanceFromElectron());
879
- });
986
+ return getAppearanceFromElectron();
880
987
  if (Platform.browser.name === Browsers.SamsungInternet)
881
988
  return getAppearanceFromEngine();
882
- return new Promise(function (resolve) {
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
- .then(function (appearance) {
914
- if (appearance !== currentAppearance) {
915
- currentAppearance = appearance;
916
- notify(appearance);
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
- if (typeof electron_1.nativeTheme.on !== 'undefined') {
998
- electron_1.nativeTheme.on('updated', handleThemeChange_1);
999
- }
1097
+ electron_1.nativeTheme.on('updated', handleThemeChange_1);
1000
1098
  return function () {
1001
- if (typeof electron_1.nativeTheme.removeListener !== 'undefined')
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,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+';
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
- return new Promise(function (resolve) {
835
- var img = new Image();
836
- img.onload = function () {
837
- if (CONTEXT === null)
838
- return resolve(Appearances.Light);
839
- CONTEXT.drawImage(img, 0, 0);
840
- var data = CONTEXT.getImageData(0, 0, 1, 1).data;
841
- if ((data[0] & data[1] & data[2]) < 255)
842
- resolve(Appearances.Dark);
843
- else
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 new Promise(function (resolve) {
880
- resolve(getAppearanceFromReactNative());
881
- });
990
+ return getAppearanceFromReactNative();
882
991
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron)
883
- return new Promise(function (resolve) {
884
- resolve(getAppearanceFromElectron());
885
- });
992
+ return getAppearanceFromElectron();
886
993
  if (Platform.browser.name === Browsers.SamsungInternet)
887
994
  return getAppearanceFromEngine();
888
- return new Promise(function (resolve) {
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
- .then(function (appearance) {
920
- if (appearance !== currentAppearance) {
921
- currentAppearance = appearance;
922
- notify(appearance);
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
- if (typeof electron_1.nativeTheme.on !== 'undefined') {
1004
- electron_1.nativeTheme.on('updated', handleThemeChange_1);
1005
- }
1103
+ electron_1.nativeTheme.on('updated', handleThemeChange_1);
1006
1104
  return function () {
1007
- if (typeof electron_1.nativeTheme.removeListener !== 'undefined')
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(): Promise<Appearances>;
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
  }