native-fn 1.0.77 → 1.0.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) 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 +131 -50
  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 +131 -50
  11. package/dist/plugin/app/index.umd.js +131 -50
  12. package/dist/plugin/app/index.umd.min.js +1 -1
  13. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +10 -0
  14. package/dist/plugin/appearance/index.cjs +131 -50
  15. package/dist/plugin/appearance/index.min.cjs +1 -1
  16. package/dist/plugin/appearance/index.min.mjs +1 -1
  17. package/dist/plugin/appearance/index.mjs +131 -50
  18. package/dist/plugin/appearance/index.umd.js +131 -50
  19. package/dist/plugin/appearance/index.umd.min.js +1 -1
  20. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +10 -0
  21. package/dist/plugin/clipboard/index.cjs +131 -50
  22. package/dist/plugin/clipboard/index.min.cjs +1 -1
  23. package/dist/plugin/clipboard/index.min.mjs +1 -1
  24. package/dist/plugin/clipboard/index.mjs +131 -50
  25. package/dist/plugin/clipboard/index.umd.js +131 -50
  26. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  27. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +10 -0
  28. package/dist/plugin/fullscreen/index.cjs +131 -50
  29. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  30. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  31. package/dist/plugin/fullscreen/index.mjs +131 -50
  32. package/dist/plugin/fullscreen/index.umd.js +131 -50
  33. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  34. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +10 -0
  35. package/dist/plugin/platform/index.cjs +131 -50
  36. package/dist/plugin/platform/index.d.ts +11 -1
  37. package/dist/plugin/platform/index.min.cjs +1 -1
  38. package/dist/plugin/platform/index.min.mjs +1 -1
  39. package/dist/plugin/platform/index.mjs +131 -50
  40. package/dist/plugin/platform/index.umd.js +131 -50
  41. package/dist/plugin/platform/index.umd.min.js +1 -1
  42. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +10 -0
  43. package/dist/plugin/theme/index.cjs +131 -50
  44. package/dist/plugin/theme/index.min.cjs +1 -1
  45. package/dist/plugin/theme/index.min.mjs +1 -1
  46. package/dist/plugin/theme/index.mjs +131 -50
  47. package/dist/plugin/theme/index.umd.js +131 -50
  48. package/dist/plugin/theme/index.umd.min.js +1 -1
  49. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +10 -0
  50. package/dist/src/plugin/platform/types/platform.d.ts +10 -0
  51. package/package.json +1 -1
@@ -97,15 +97,24 @@ var CrossPlatformFramework;
97
97
  })(CrossPlatformFramework || (CrossPlatformFramework = {}));
98
98
  var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
99
99
 
100
+ var readyState = 'loading';
101
+ var readyCallback = [];
102
+ var pendingTasks = 0;
100
103
  var Platform = {
101
104
  os: { name: OS.Unknown, version: '' },
102
105
  engine: { name: Engines.Unknown, version: '' },
103
106
  browser: { name: Browsers.Unknown, version: '' },
104
107
  crossPlatformFramework: CrossPlatformFramework.Unknown,
105
108
  userAgent: USER_AGENT,
109
+ get readyState() {
110
+ return readyState;
111
+ },
106
112
  get network() {
107
113
  return getNetwork();
108
114
  },
115
+ get dimension() {
116
+ return getDimension();
117
+ },
109
118
  get device() {
110
119
  if (this.os.name === OS.iOS || this.os.name === OS.Android)
111
120
  return Devices.Mobile;
@@ -135,6 +144,18 @@ var Platform = {
135
144
  return false;
136
145
  return globalThis.matchMedia('(display-mode: standalone)').matches;
137
146
  },
147
+ onready: function (callback) {
148
+ if (this.readyState === 'complete') {
149
+ try {
150
+ callback(this);
151
+ }
152
+ catch (_) {
153
+ }
154
+ }
155
+ else {
156
+ readyCallback.push(callback);
157
+ }
158
+ }
138
159
  };
139
160
  var OS_RESOLVER_MAP = [
140
161
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
@@ -202,6 +223,26 @@ var HIGH_ENTROPY_BRAND_NAME_MAP = {
202
223
  'HeadlessChrome': 'Chrome Headless',
203
224
  'OperaMobile': 'Opera Mobi',
204
225
  };
226
+ function incrementPendingTasks() {
227
+ pendingTasks++;
228
+ }
229
+ function decrementPendingTasks() {
230
+ pendingTasks--;
231
+ checkReady();
232
+ }
233
+ function checkReady() {
234
+ if (pendingTasks === 0 && readyState === 'loading') {
235
+ readyState = 'complete';
236
+ for (var i = 0; i < readyCallback.length; i++) {
237
+ try {
238
+ readyCallback[i](Platform);
239
+ }
240
+ catch (_) {
241
+ }
242
+ }
243
+ readyCallback.length = 0;
244
+ }
245
+ }
205
246
  function resolveWindowsVersion(string) {
206
247
  if (string === undefined)
207
248
  return '';
@@ -402,6 +443,7 @@ function parseOSFromCordova() {
402
443
  break;
403
444
  }
404
445
  }
446
+ decrementPendingTasks();
405
447
  }
406
448
  function getRenderer() {
407
449
  if (typeof globalThis.document === 'undefined')
@@ -511,8 +553,40 @@ function getNetwork() {
511
553
  }
512
554
  return network;
513
555
  }
514
- function canUseHighEntropyValues(navigator) {
515
- return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
556
+ function getDimension() {
557
+ var dimension = {
558
+ innerWidth: -1,
559
+ innerHeight: -1,
560
+ outerWidth: -1,
561
+ outerHeight: -1,
562
+ scale: 1,
563
+ };
564
+ if (typeof globalThis.innerWidth !== 'undefined') {
565
+ dimension.innerWidth = globalThis.innerWidth;
566
+ dimension.innerHeight = globalThis.innerHeight;
567
+ dimension.outerWidth = globalThis.outerWidth;
568
+ dimension.outerHeight = globalThis.outerHeight;
569
+ dimension.scale = globalThis.devicePixelRatio || 1;
570
+ return dimension;
571
+ }
572
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
573
+ try {
574
+ var reactNative = require('react-native');
575
+ var dimensions = reactNative.Dimensions;
576
+ var pixelRatio = reactNative.PixelRatio;
577
+ var screenDimensions = dimensions.get('screen');
578
+ var windowDimensions = dimensions.get('window');
579
+ dimension.innerWidth = screenDimensions.width;
580
+ dimension.innerHeight = screenDimensions.height;
581
+ dimension.outerWidth = windowDimensions.width;
582
+ dimension.outerHeight = windowDimensions.height;
583
+ dimension.scale = pixelRatio.get();
584
+ return dimension;
585
+ }
586
+ catch (_) {
587
+ }
588
+ }
589
+ return dimension;
516
590
  }
517
591
  function init() {
518
592
  if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
@@ -653,61 +727,68 @@ function init() {
653
727
  globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
654
728
  }
655
729
  }
656
- if (canUseHighEntropyValues(globalThis.navigator)) {
657
- globalThis
658
- .navigator
659
- .userAgentData
660
- .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
730
+ if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
731
+ incrementPendingTasks();
732
+ globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
661
733
  .then(function (result) {
662
- var brands = result.fullVersionList || result.brands || [];
663
- var platformVersion = result.platformVersion;
664
- var platform = result.platform;
665
- var browserName = Platform.browser.name;
666
- var prevBrandName = null;
667
- for (var i = 0; i < brands.length; i++) {
668
- var brand = normalizeBrand(brands[i]);
669
- var brandVersion = brand.version;
670
- var brandName = brand.brand;
671
- if (/not.a.brand/i.test(brandName))
672
- continue;
673
- if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
674
- brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
675
- prevBrandName = browserName;
676
- if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
677
- browserName = brandName;
678
- if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
679
- Platform.browser.name = Browsers.Chrome;
680
- else if (browserName === 'Edge' || browserName === 'Edge WebView2')
681
- Platform.browser.name = Browsers.Edge;
682
- else if (browserName === 'Opera Mobi')
683
- Platform.browser.name = Browsers.Opera;
684
- Platform.browser.version = brandVersion;
734
+ try {
735
+ var brands = result.fullVersionList || result.brands || [];
736
+ var platformVersion = result.platformVersion;
737
+ var platform = result.platform;
738
+ var browserName = Platform.browser.name;
739
+ var prevBrandName = null;
740
+ for (var i = 0; i < brands.length; i++) {
741
+ var brand = normalizeBrand(brands[i]);
742
+ var brandVersion = brand.version;
743
+ var brandName = brand.brand;
744
+ if (/not.a.brand/i.test(brandName))
745
+ continue;
746
+ if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
747
+ brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
748
+ prevBrandName = browserName;
749
+ if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
750
+ browserName = brandName;
751
+ if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
752
+ Platform.browser.name = Browsers.Chrome;
753
+ else if (browserName === 'Edge' || browserName === 'Edge WebView2')
754
+ Platform.browser.name = Browsers.Edge;
755
+ else if (browserName === 'Opera Mobi')
756
+ Platform.browser.name = Browsers.Opera;
757
+ Platform.browser.version = brandVersion;
758
+ }
759
+ prevBrandName = brandName;
685
760
  }
686
- prevBrandName = brandName;
761
+ if (brandName === 'Chromium')
762
+ Platform.engine.version = brandVersion;
687
763
  }
688
- if (brandName === 'Chromium')
689
- Platform.engine.version = brandVersion;
764
+ if (typeof platformVersion === 'string') {
765
+ if (Platform.os.name === OS.Windows)
766
+ Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
767
+ else
768
+ Platform.os.version = platformVersion;
769
+ }
770
+ if (typeof platform === 'string') {
771
+ if (/android/i.test(platform))
772
+ Platform.os.name = OS.Android;
773
+ else if (/ios|iphone|ipad/i.test(platform))
774
+ Platform.os.name = OS.iOS;
775
+ else if (/windows|win32/i.test(platform))
776
+ Platform.os.name = OS.Windows;
777
+ else if (/macos|macintel/i.test(platform))
778
+ Platform.os.name = OS.MacOS;
779
+ }
780
+ if (result.mobile === true)
781
+ Platform.device = Devices.Mobile;
690
782
  }
691
- if (typeof platformVersion === 'string') {
692
- if (Platform.os.name === OS.Windows)
693
- Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
694
- else
695
- Platform.os.version = platformVersion;
783
+ catch (_) {
696
784
  }
697
- if (typeof platform === 'string') {
698
- if (/android/i.test(platform))
699
- Platform.os.name = OS.Android;
700
- else if (/ios|iphone|ipad/i.test(platform))
701
- Platform.os.name = OS.iOS;
702
- else if (/windows|win32/i.test(platform))
703
- Platform.os.name = OS.Windows;
704
- else if (/macos|macintel/i.test(platform))
705
- Platform.os.name = OS.MacOS;
785
+ finally {
786
+ decrementPendingTasks();
706
787
  }
707
- if (result.mobile === true)
708
- Platform.device = Devices.Mobile;
709
- });
788
+ })
789
+ .catch(decrementPendingTasks);
710
790
  }
791
+ checkReady();
711
792
  }
712
793
  init();
713
794
 
@@ -103,15 +103,24 @@
103
103
  })(CrossPlatformFramework || (CrossPlatformFramework = {}));
104
104
  var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
105
105
 
106
+ var readyState = 'loading';
107
+ var readyCallback = [];
108
+ var pendingTasks = 0;
106
109
  var Platform = {
107
110
  os: { name: OS.Unknown, version: '' },
108
111
  engine: { name: Engines.Unknown, version: '' },
109
112
  browser: { name: Browsers.Unknown, version: '' },
110
113
  crossPlatformFramework: CrossPlatformFramework.Unknown,
111
114
  userAgent: USER_AGENT,
115
+ get readyState() {
116
+ return readyState;
117
+ },
112
118
  get network() {
113
119
  return getNetwork();
114
120
  },
121
+ get dimension() {
122
+ return getDimension();
123
+ },
115
124
  get device() {
116
125
  if (this.os.name === OS.iOS || this.os.name === OS.Android)
117
126
  return Devices.Mobile;
@@ -141,6 +150,18 @@
141
150
  return false;
142
151
  return globalThis.matchMedia('(display-mode: standalone)').matches;
143
152
  },
153
+ onready: function (callback) {
154
+ if (this.readyState === 'complete') {
155
+ try {
156
+ callback(this);
157
+ }
158
+ catch (_) {
159
+ }
160
+ }
161
+ else {
162
+ readyCallback.push(callback);
163
+ }
164
+ }
144
165
  };
145
166
  var OS_RESOLVER_MAP = [
146
167
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
@@ -208,6 +229,26 @@
208
229
  'HeadlessChrome': 'Chrome Headless',
209
230
  'OperaMobile': 'Opera Mobi',
210
231
  };
232
+ function incrementPendingTasks() {
233
+ pendingTasks++;
234
+ }
235
+ function decrementPendingTasks() {
236
+ pendingTasks--;
237
+ checkReady();
238
+ }
239
+ function checkReady() {
240
+ if (pendingTasks === 0 && readyState === 'loading') {
241
+ readyState = 'complete';
242
+ for (var i = 0; i < readyCallback.length; i++) {
243
+ try {
244
+ readyCallback[i](Platform);
245
+ }
246
+ catch (_) {
247
+ }
248
+ }
249
+ readyCallback.length = 0;
250
+ }
251
+ }
211
252
  function resolveWindowsVersion(string) {
212
253
  if (string === undefined)
213
254
  return '';
@@ -408,6 +449,7 @@
408
449
  break;
409
450
  }
410
451
  }
452
+ decrementPendingTasks();
411
453
  }
412
454
  function getRenderer() {
413
455
  if (typeof globalThis.document === 'undefined')
@@ -517,8 +559,40 @@
517
559
  }
518
560
  return network;
519
561
  }
520
- function canUseHighEntropyValues(navigator) {
521
- return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
562
+ function getDimension() {
563
+ var dimension = {
564
+ innerWidth: -1,
565
+ innerHeight: -1,
566
+ outerWidth: -1,
567
+ outerHeight: -1,
568
+ scale: 1,
569
+ };
570
+ if (typeof globalThis.innerWidth !== 'undefined') {
571
+ dimension.innerWidth = globalThis.innerWidth;
572
+ dimension.innerHeight = globalThis.innerHeight;
573
+ dimension.outerWidth = globalThis.outerWidth;
574
+ dimension.outerHeight = globalThis.outerHeight;
575
+ dimension.scale = globalThis.devicePixelRatio || 1;
576
+ return dimension;
577
+ }
578
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
579
+ try {
580
+ var reactNative = require('react-native');
581
+ var dimensions = reactNative.Dimensions;
582
+ var pixelRatio = reactNative.PixelRatio;
583
+ var screenDimensions = dimensions.get('screen');
584
+ var windowDimensions = dimensions.get('window');
585
+ dimension.innerWidth = screenDimensions.width;
586
+ dimension.innerHeight = screenDimensions.height;
587
+ dimension.outerWidth = windowDimensions.width;
588
+ dimension.outerHeight = windowDimensions.height;
589
+ dimension.scale = pixelRatio.get();
590
+ return dimension;
591
+ }
592
+ catch (_) {
593
+ }
594
+ }
595
+ return dimension;
522
596
  }
523
597
  function init() {
524
598
  if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
@@ -659,61 +733,68 @@
659
733
  globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
660
734
  }
661
735
  }
662
- if (canUseHighEntropyValues(globalThis.navigator)) {
663
- globalThis
664
- .navigator
665
- .userAgentData
666
- .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
736
+ if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
737
+ incrementPendingTasks();
738
+ globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
667
739
  .then(function (result) {
668
- var brands = result.fullVersionList || result.brands || [];
669
- var platformVersion = result.platformVersion;
670
- var platform = result.platform;
671
- var browserName = Platform.browser.name;
672
- var prevBrandName = null;
673
- for (var i = 0; i < brands.length; i++) {
674
- var brand = normalizeBrand(brands[i]);
675
- var brandVersion = brand.version;
676
- var brandName = brand.brand;
677
- if (/not.a.brand/i.test(brandName))
678
- continue;
679
- if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
680
- brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
681
- prevBrandName = browserName;
682
- if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
683
- browserName = brandName;
684
- if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
685
- Platform.browser.name = Browsers.Chrome;
686
- else if (browserName === 'Edge' || browserName === 'Edge WebView2')
687
- Platform.browser.name = Browsers.Edge;
688
- else if (browserName === 'Opera Mobi')
689
- Platform.browser.name = Browsers.Opera;
690
- Platform.browser.version = brandVersion;
740
+ try {
741
+ var brands = result.fullVersionList || result.brands || [];
742
+ var platformVersion = result.platformVersion;
743
+ var platform = result.platform;
744
+ var browserName = Platform.browser.name;
745
+ var prevBrandName = null;
746
+ for (var i = 0; i < brands.length; i++) {
747
+ var brand = normalizeBrand(brands[i]);
748
+ var brandVersion = brand.version;
749
+ var brandName = brand.brand;
750
+ if (/not.a.brand/i.test(brandName))
751
+ continue;
752
+ if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
753
+ brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
754
+ prevBrandName = browserName;
755
+ if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
756
+ browserName = brandName;
757
+ if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
758
+ Platform.browser.name = Browsers.Chrome;
759
+ else if (browserName === 'Edge' || browserName === 'Edge WebView2')
760
+ Platform.browser.name = Browsers.Edge;
761
+ else if (browserName === 'Opera Mobi')
762
+ Platform.browser.name = Browsers.Opera;
763
+ Platform.browser.version = brandVersion;
764
+ }
765
+ prevBrandName = brandName;
691
766
  }
692
- prevBrandName = brandName;
767
+ if (brandName === 'Chromium')
768
+ Platform.engine.version = brandVersion;
693
769
  }
694
- if (brandName === 'Chromium')
695
- Platform.engine.version = brandVersion;
770
+ if (typeof platformVersion === 'string') {
771
+ if (Platform.os.name === OS.Windows)
772
+ Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
773
+ else
774
+ Platform.os.version = platformVersion;
775
+ }
776
+ if (typeof platform === 'string') {
777
+ if (/android/i.test(platform))
778
+ Platform.os.name = OS.Android;
779
+ else if (/ios|iphone|ipad/i.test(platform))
780
+ Platform.os.name = OS.iOS;
781
+ else if (/windows|win32/i.test(platform))
782
+ Platform.os.name = OS.Windows;
783
+ else if (/macos|macintel/i.test(platform))
784
+ Platform.os.name = OS.MacOS;
785
+ }
786
+ if (result.mobile === true)
787
+ Platform.device = Devices.Mobile;
696
788
  }
697
- if (typeof platformVersion === 'string') {
698
- if (Platform.os.name === OS.Windows)
699
- Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
700
- else
701
- Platform.os.version = platformVersion;
789
+ catch (_) {
702
790
  }
703
- if (typeof platform === 'string') {
704
- if (/android/i.test(platform))
705
- Platform.os.name = OS.Android;
706
- else if (/ios|iphone|ipad/i.test(platform))
707
- Platform.os.name = OS.iOS;
708
- else if (/windows|win32/i.test(platform))
709
- Platform.os.name = OS.Windows;
710
- else if (/macos|macintel/i.test(platform))
711
- Platform.os.name = OS.MacOS;
791
+ finally {
792
+ decrementPendingTasks();
712
793
  }
713
- if (result.mobile === true)
714
- Platform.device = Devices.Mobile;
715
- });
794
+ })
795
+ .catch(decrementPendingTasks);
716
796
  }
797
+ checkReady();
717
798
  }
718
799
  init();
719
800
 
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).Appearance=n()}(this,(function(){"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,o,r,i,t,a=void 0!==globalThis.matchMedia?globalThis.matchMedia("(prefers-color-scheme: dark)"):{matches:!1,media:"not all",onchange:null,addListener:function(){},removeListener:function(){},addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}},s="not all"!==a.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,c=[];!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(n||(n={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(o||(o={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(r||(r={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(i||(i={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(t||(t={}));var m=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d={os:{name:n.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:t.Unknown,userAgent:m,get network(){return function(){var e={isOnline:null,effectiveType:null,type:null,downlink:null,rtt:null,saveData:null};if(void 0!==globalThis.navigator){void 0!==globalThis.navigator.onLine&&(e.isOnline=globalThis.navigator.onLine);var o=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==o&&(void 0!==o.effectiveType&&(e.effectiveType=o.effectiveType),void 0!==o.type&&(e.type=o.type),void 0!==o.downlink&&(e.downlink=o.downlink),void 0!==o.rtt&&(e.rtt=o.rtt),void 0!==o.saveData&&(e.saveData=o.saveData))}if(d.isNode){try{for(var r=require("os").networkInterfaces(),i=Object.keys(r),t=0;t<i.length;t++){for(var a=r[i[t]],s=0;s<a.length;s++){var l=a[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var c=require("child_process");if(d.os.name===n.Windows){try{(m=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&m.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(m=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(e.type="ethernet")}catch(e){}null===e.type&&(e.type="other")}else if(d.os.name===n.MacOS)try{var m=c.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),u=c.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});u.includes("en0")&&m.includes("Wi-Fi")?e.type="wifi":u.includes("en")||m.includes("Ethernet")?e.type="ethernet":e.type="other"}catch(n){e.type="other"}}catch(e){}}return e}()},get device(){return this.os.name===n.iOS||this.os.name===n.Android?o.Mobile:this.os.name===n.Windows||this.os.name===n.MacOS?o.Desktop:o.Unknown},get renderer(){return function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var n=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===n)return"";if(n instanceof WebGLRenderingContext||"getParameter"in n&&"function"==typeof n.getParameter){var o=n.getExtension("WEBGL_debug_renderer_info");return null===o?n.getParameter(n.RENDERER):n.getParameter(o.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===o.Mobile},get isDesktop(){return this.device===o.Desktop},get isWebview(){return/; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent)},get isNode(){return void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},get isStandalone(){return this.os.name===n.iOS?"standalone"in globalThis.navigator&&!!globalThis.navigator.standalone:"matchMedia"in globalThis&&globalThis.matchMedia("(display-mode: standalone)").matches}},u=[[/windows nt (6\.[23]); arm/i,n.Windows,w],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,w],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,w],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,w],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,w],[/windows ce\/?([\d.]*)/i,n.Windows,w],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,h],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,h],[/cfnetwork\/.+darwin/i,n.iOS,h],[/mac os x ?([\w. ]*)/i,n.MacOS,h],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,h],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],v=[[/windows.+ edge\/([\w.]+)/i,r.EdgeHTML],[/arkweb\/([\w.]+)/i,r.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,r.Blink],[/presto\/([\w.]+)/i,r.Presto],[/webkit\/([\w.]+)/i,r.WebKit],[/trident\/([\w.]+)/i,r.Trident],[/netfront\/([\w.]+)/i,r.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,r.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,r.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,r.Gecko]],f=[[/\b(?:crmo|crios)\/([\w.]+)/i,i.Chrome],[/webview.+edge\/([\w.]+)/i,i.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,i.Edge],[/opera mini\/([-\w.]+)/i,i.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,i.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,i.Opera],[/opios[\/ ]+([\w.]+)/i,i.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,i.Opera],[/\bopr\/([\w.]+)/i,i.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,i.IE],[/(?:ms|\()ie ([\w.]+)/i,i.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,i.IE],[/\bfocus\/([\w.]+)/i,i.Firefox],[/\bopt\/([\w.]+)/i,i.Opera],[/coast\/([\w.]+)/i,i.Opera],[/fxios\/([\w.-]+)/i,i.Firefox],[/samsungbrowser\/([\w.]+)/i,i.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,i.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,i.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,i.Chrome],[/chrome\/([\w.]+) mobile/i,i.Chrome],[/chrome\/v?([\w.]+)/i,i.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/version\/([\w.,]+) .*safari/i,i.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,i.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,i.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,i.Firefox],[/firefox\/([\w.]+)/i,i.Firefox]],g={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function w(e){if(void 0===e)return"";var n={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==n?n:e}function h(e){return void 0===e?"":e.replace(/_/g,".")}function b(e,n){return 10===e.major&&0===e.minor&&e.build>=22e3?"11":10===e.major&&0===e.minor&&e.build<22e3?"10":6===e.major&&3===e.minor?"8.1":6===e.major&&2===e.minor?"8":6===e.major&&1===e.minor?"7":6===e.major&&0===e.minor?"Vista":5===e.major&&1===e.minor||5===e.major&&2===e.minor?"XP":5===e.major&&0===e.minor?"2000":4===e.major&&90===e.minor?"ME":4===e.major&&0===e.minor?"NT 4.0":3===e.major&&51===e.minor?"NT 3.11":n}function p(e,n){return e.major>=24?e.major-9+"."+e.minor+"."+e.build:23===e.major?"14."+e.minor+"."+e.build:22===e.major?"13."+e.minor+"."+e.build:21===e.major?"12."+e.minor+"."+e.build:20===e.major?"11."+e.minor+"."+e.build:19===e.major?"10.15."+e.minor:18===e.major?"10.14."+e.minor:17===e.major?"10.13."+e.minor:16===e.major?"10.12."+e.minor:15===e.major?"10.11."+e.minor:14===e.major?"10.10."+e.minor:13===e.major?"10.9."+e.minor:e.major>=5&&e.major<=12?"10."+(e.major-4)+"."+e.minor:n}function k(e,n){return e.major>=36?"16":35===e.major?"15":34===e.major?"14":33===e.major?"13":32===e.major?"12.1":31===e.major?"12":30===e.major?"11":29===e.major?"10":28===e.major?"9":27===e.major?"8.1":26===e.major?"8.0":25===e.major?"7.1":24===e.major?"7.0":23===e.major?"6.0":22===e.major?"5.1":21===e.major?"5.0":20===e.major||19===e.major?"4.4":18===e.major?"4.3":17===e.major?"4.2":16===e.major?"4.1":15===e.major?"4.0.3":14===e.major?"4.0":13===e.major?"3.2":12===e.major?"3.1":11===e.major?"3.0":10===e.major?"2.3.3":9===e.major?"2.3":8===e.major?"2.2":7===e.major?"2.1":6===e.major?"2.0.1":5===e.major?"2.0":4===e.major?"1.6":3===e.major?"1.5":2===e.major?"1.1":1===e.major?"1.0":n}function T(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function j(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function y(){if(d.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":d.os={name:n.Android,version:globalThis.device.version};break;case"iOS":d.os={name:n.iOS,version:globalThis.device.version}}}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(m))&&(d.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(d.crossPlatformFramework=t.ReactNative);for(var e=0;e<u.length;e++){var r=(w=u[e])[0],a=w[1],s=w[2];if(null!==(h=d.userAgent.match(r))){d.os={name:a,version:T(h[1],s)};break}}var l;for(d.os.name===n.iOS&&0===function(e,n){for(var o=e.split("."),r=n.split("."),i=Math.max(o.length,r.length),t=0;t<i;t++){var a=void 0,s=void 0;if((a=t<o.length?parseInt(o[t],10):0)>(s=t<r.length?parseInt(r[t],10):0))return 1;if(a<s)return-1}return 0}(d.os.version,"18.6")&&null!==(S=/\) Version\/([\d.]+)/.exec(d.userAgent))&&parseInt(S[1].substring(0,2),10)>=26&&(d.os.version=S[1]),e=0;e<v.length;e++){r=(w=v[e])[0];var c=w[1];s=w[2];if(null!==(h=d.userAgent.match(r))){d.engine={name:c,version:T(h[1],s)};break}}for(e=0;e<f.length;e++){r=(w=f[e])[0];var w,h,E=w[1];s=w[2];if(null!==(h=d.userAgent.match(r))){d.browser={name:E,version:T(h[1],s)};break}}if(d.crossPlatformFramework===t.ReactNative)try{a=(x=require("react-native").Platform).OS;var S=j(O=""+x.Version);switch(a){case"android":d.os={name:n.Android,version:k(S,O)};break;case"ios":d.os={name:n.iOS,version:O};break;case"windows":d.os={name:n.Windows,version:b(S,O)};break;case"macos":d.os={name:n.MacOS,version:O}}}catch(e){}if(d.isNode)try{var O,x=(a=require("os")).platform();S=j(O=a.release());switch(x){case"win32":d.os={name:n.Windows,version:b(S,O)};break;case"darwin":d.os={name:n.MacOS,version:p(S,O)};break;case"android":d.os={name:n.Android,version:O};break;case"linux":/android/i.test(O)&&(d.os={name:n.Android,version:O})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?y():globalThis.document.addEventListener("deviceready",y,!1)),l=globalThis.navigator,void 0!==globalThis.navigator&&void 0!==l.userAgentData&&void 0!==l.userAgentData.getHighEntropyValues&&globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){for(var r,t=e.fullVersionList||e.brands||[],a=e.platformVersion,s=e.platform,l=d.browser.name,c=null,m=0;m<t.length;m++){var u=null==(r=t[m])?{brand:"",version:""}:"string"==typeof r?{brand:r,version:""}:{brand:r.brand,version:r.version},v=u.version,f=u.brand;/not.a.brand/i.test(f)||((null===c||/Chrom/.test(c)&&"Chromium"!==f||"Edge"===c&&/WebView2/.test(f))&&(f=g[f]||f,null!==(c=l)&&!/Chrom/.test(c)&&/Chrom/.test(f)||("Chrome"===(l=f)||"Chrome WebView"===l||"Chrome Headless"===l?d.browser.name=i.Chrome:"Edge"===l||"Edge WebView2"===l?d.browser.name=i.Edge:"Opera Mobi"===l&&(d.browser.name=i.Opera),d.browser.version=v),c=f),"Chromium"===f&&(d.engine.version=v))}"string"==typeof a&&(d.os.name===n.Windows?d.os.version=parseInt(a.split(".")[0],10)>=13?"11":"10":d.os.version=a),"string"==typeof s&&(/android/i.test(s)?d.os.name=n.Android:/ios|iphone|ipad/i.test(s)?d.os.name=n.iOS:/windows|win32/i.test(s)?d.os.name=n.Windows:/macos|macintel/i.test(s)&&(d.os.name=n.MacOS)),!0===e.mobile&&(d.device=o.Mobile)}))}();var E=null,S=null;function O(){return new Promise((function(n){var o=new Image;o.onload=function(){if(null===l)return n(e.Light);l.drawImage(o,0,0);var r=l.getImageData(0,0,1,1).data;(r[0]&r[1]&r[2])<255?n(e.Dark):n(e.Light)},o.onerror=function(){n(e.Unknown)},o.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function x(){return s?a.matches?e.Dark:e.Light:e.Unknown}function C(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function M(){return d.crossPlatformFramework===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):d.crossPlatformFramework===t.Electron?new Promise((function(e){e(C())})):d.browser.name===i.SamsungInternet?O():new Promise((function(e){e(x())}))}function L(n){var o;(o=n.matches?e.Dark:e.Light)!==E&&W(E=o)}function W(e){for(var n=0;n<c.length;n++){var o=c[n];o.fn(e),o.once&&A(o)}}function A(e){var n,o=I(e);-1!==o&&c.splice(o,1),0===c.length&&(d.browser.name===i.SamsungInternet?(E=null,null!==S&&(clearInterval(S),S=null)):(n=e.capture,E=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",L,n):"function"==typeof a.removeListener&&a.removeListener(L)))}function I(e){for(var n=0;n<c.length;n++)if(c[n].fn===e.fn&&c[n].capture===e.capture)return n;return-1}return{installed:!1,name:"Appearance",module:{get value(){return M()},set value(e){!function(e){if(d.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(d.crossPlatformFramework===t.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,o){void 0===o&&(o=!1);if(d.crossPlatformFramework===t.ReactNative)return function(n){try{var o=require("react-native").Appearance.addChangeListener((function(o){n(o.colorScheme||e.Unknown)}));return function(){o.remove()}}catch(e){}return function(){}}(n);if(d.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),o=function(){e(C())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",o),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",o)}}catch(e){}return function(){}}(n);var r={fn:n,capture:!1,once:!1};"boolean"==typeof o&&(o={capture:o});void 0!==o.capture&&(r.capture=o.capture);void 0!==o.once&&(r.once=o.once);void 0!==o.signal&&(r.signal=o.signal);var s=I(r);-1===s?(c.push(r),1===c.length&&(d.browser.name===i.SamsungInternet?(O().then((function(e){E=e})),S=globalThis.setInterval((function(){O().then((function(e){e!==E&&(E=e,W(e))}))}),2e3)):(l=r.capture,E=x(),"function"==typeof a.addEventListener?a.addEventListener("change",L,l):"function"==typeof a.addListener&&a.addListener(L))),M().then(W)):c[s].once&&!r.once&&(c[s].once=!1);var l;void 0!==r.signal&&(r.signal.aborted?A(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),A(r)})));return function(){A(r)}}},Constants:{Appearances:e},Errors:{}}}));
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).Appearance=n()}(this,(function(){"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,r,o,i,t,a=void 0!==globalThis.matchMedia?globalThis.matchMedia("(prefers-color-scheme: dark)"):{matches:!1,media:"not all",onchange:null,addListener:function(){},removeListener:function(){},addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}},s="not all"!==a.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,c=[];!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(n||(n={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(r||(r={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(o||(o={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(i||(i={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(t||(t={}));var m=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d="loading",u=[],v=0,h={os:{name:n.Unknown,version:""},engine:{name:o.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:t.Unknown,userAgent:m,get readyState(){return d},get network(){return function(){var e={isOnline:null,effectiveType:null,type:null,downlink:null,rtt:null,saveData:null};if(void 0!==globalThis.navigator){void 0!==globalThis.navigator.onLine&&(e.isOnline=globalThis.navigator.onLine);var r=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==r&&(void 0!==r.effectiveType&&(e.effectiveType=r.effectiveType),void 0!==r.type&&(e.type=r.type),void 0!==r.downlink&&(e.downlink=r.downlink),void 0!==r.rtt&&(e.rtt=r.rtt),void 0!==r.saveData&&(e.saveData=r.saveData))}if(h.isNode){try{for(var o=require("os").networkInterfaces(),i=Object.keys(o),t=0;t<i.length;t++){for(var a=o[i[t]],s=0;s<a.length;s++){var l=a[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var c=require("child_process");if(h.os.name===n.Windows){try{(m=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&m.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(m=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(e.type="ethernet")}catch(e){}null===e.type&&(e.type="other")}else if(h.os.name===n.MacOS)try{var m=c.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),d=c.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});d.includes("en0")&&m.includes("Wi-Fi")?e.type="wifi":d.includes("en")||m.includes("Ethernet")?e.type="ethernet":e.type="other"}catch(n){e.type="other"}}catch(e){}}return e}()},get dimension(){return function(){var e={innerWidth:-1,innerHeight:-1,outerWidth:-1,outerHeight:-1,scale:1};if(void 0!==globalThis.innerWidth)return e.innerWidth=globalThis.innerWidth,e.innerHeight=globalThis.innerHeight,e.outerWidth=globalThis.outerWidth,e.outerHeight=globalThis.outerHeight,e.scale=globalThis.devicePixelRatio||1,e;if(h.crossPlatformFramework===t.ReactNative)try{var n=require("react-native"),r=n.Dimensions,o=n.PixelRatio,i=r.get("screen"),a=r.get("window");return e.innerWidth=i.width,e.innerHeight=i.height,e.outerWidth=a.width,e.outerHeight=a.height,e.scale=o.get(),e}catch(e){}return e}()},get device(){return this.os.name===n.iOS||this.os.name===n.Android?r.Mobile:this.os.name===n.Windows||this.os.name===n.MacOS?r.Desktop:r.Unknown},get renderer(){return function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var n=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===n)return"";if(n instanceof WebGLRenderingContext||"getParameter"in n&&"function"==typeof n.getParameter){var r=n.getExtension("WEBGL_debug_renderer_info");return null===r?n.getParameter(n.RENDERER):n.getParameter(r.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===r.Mobile},get isDesktop(){return this.device===r.Desktop},get isWebview(){return/; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent)},get isNode(){return void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},get isStandalone(){return this.os.name===n.iOS?"standalone"in globalThis.navigator&&!!globalThis.navigator.standalone:"matchMedia"in globalThis&&globalThis.matchMedia("(display-mode: standalone)").matches},onready:function(e){if("complete"===this.readyState)try{e(this)}catch(e){}else u.push(e)}},f=[[/windows nt (6\.[23]); arm/i,n.Windows,T],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,T],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,T],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,T],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,T],[/windows ce\/?([\d.]*)/i,n.Windows,T],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,j],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,j],[/cfnetwork\/.+darwin/i,n.iOS,j],[/mac os x ?([\w. ]*)/i,n.MacOS,j],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,j],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],g=[[/windows.+ edge\/([\w.]+)/i,o.EdgeHTML],[/arkweb\/([\w.]+)/i,o.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,o.Blink],[/presto\/([\w.]+)/i,o.Presto],[/webkit\/([\w.]+)/i,o.WebKit],[/trident\/([\w.]+)/i,o.Trident],[/netfront\/([\w.]+)/i,o.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,o.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,o.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,o.Gecko]],w=[[/\b(?:crmo|crios)\/([\w.]+)/i,i.Chrome],[/webview.+edge\/([\w.]+)/i,i.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,i.Edge],[/opera mini\/([-\w.]+)/i,i.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,i.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,i.Opera],[/opios[\/ ]+([\w.]+)/i,i.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,i.Opera],[/\bopr\/([\w.]+)/i,i.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,i.IE],[/(?:ms|\()ie ([\w.]+)/i,i.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,i.IE],[/\bfocus\/([\w.]+)/i,i.Firefox],[/\bopt\/([\w.]+)/i,i.Opera],[/coast\/([\w.]+)/i,i.Opera],[/fxios\/([\w.-]+)/i,i.Firefox],[/samsungbrowser\/([\w.]+)/i,i.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,i.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,i.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,i.Chrome],[/chrome\/([\w.]+) mobile/i,i.Chrome],[/chrome\/v?([\w.]+)/i,i.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/version\/([\w.,]+) .*safari/i,i.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,i.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,i.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,i.Firefox],[/firefox\/([\w.]+)/i,i.Firefox]],b={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function p(){v--,k()}function k(){if(0===v&&"loading"===d){d="complete";for(var e=0;e<u.length;e++)try{u[e](h)}catch(e){}u.length=0}}function T(e){if(void 0===e)return"";var n={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==n?n:e}function j(e){return void 0===e?"":e.replace(/_/g,".")}function y(e,n){return 10===e.major&&0===e.minor&&e.build>=22e3?"11":10===e.major&&0===e.minor&&e.build<22e3?"10":6===e.major&&3===e.minor?"8.1":6===e.major&&2===e.minor?"8":6===e.major&&1===e.minor?"7":6===e.major&&0===e.minor?"Vista":5===e.major&&1===e.minor||5===e.major&&2===e.minor?"XP":5===e.major&&0===e.minor?"2000":4===e.major&&90===e.minor?"ME":4===e.major&&0===e.minor?"NT 4.0":3===e.major&&51===e.minor?"NT 3.11":n}function E(e,n){return e.major>=24?e.major-9+"."+e.minor+"."+e.build:23===e.major?"14."+e.minor+"."+e.build:22===e.major?"13."+e.minor+"."+e.build:21===e.major?"12."+e.minor+"."+e.build:20===e.major?"11."+e.minor+"."+e.build:19===e.major?"10.15."+e.minor:18===e.major?"10.14."+e.minor:17===e.major?"10.13."+e.minor:16===e.major?"10.12."+e.minor:15===e.major?"10.11."+e.minor:14===e.major?"10.10."+e.minor:13===e.major?"10.9."+e.minor:e.major>=5&&e.major<=12?"10."+(e.major-4)+"."+e.minor:n}function S(e,n){return e.major>=36?"16":35===e.major?"15":34===e.major?"14":33===e.major?"13":32===e.major?"12.1":31===e.major?"12":30===e.major?"11":29===e.major?"10":28===e.major?"9":27===e.major?"8.1":26===e.major?"8.0":25===e.major?"7.1":24===e.major?"7.0":23===e.major?"6.0":22===e.major?"5.1":21===e.major?"5.0":20===e.major||19===e.major?"4.4":18===e.major?"4.3":17===e.major?"4.2":16===e.major?"4.1":15===e.major?"4.0.3":14===e.major?"4.0":13===e.major?"3.2":12===e.major?"3.1":11===e.major?"3.0":10===e.major?"2.3.3":9===e.major?"2.3":8===e.major?"2.2":7===e.major?"2.1":6===e.major?"2.0.1":5===e.major?"2.0":4===e.major?"1.6":3===e.major?"1.5":2===e.major?"1.1":1===e.major?"1.0":n}function W(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function x(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function O(){if(h.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":h.os={name:n.Android,version:globalThis.device.version};break;case"iOS":h.os={name:n.iOS,version:globalThis.device.version}}p()}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(m))&&(h.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(h.crossPlatformFramework=t.ReactNative);for(var e=0;e<f.length;e++){var o=(c=f[e])[0],a=c[1],s=c[2];if(null!==(d=h.userAgent.match(o))){h.os={name:a,version:W(d[1],s)};break}}for(h.os.name===n.iOS&&0===function(e,n){for(var r=e.split("."),o=n.split("."),i=Math.max(r.length,o.length),t=0;t<i;t++){var a=void 0,s=void 0;if((a=t<r.length?parseInt(r[t],10):0)>(s=t<o.length?parseInt(o[t],10):0))return 1;if(a<s)return-1}return 0}(h.os.version,"18.6")&&null!==(T=/\) Version\/([\d.]+)/.exec(h.userAgent))&&parseInt(T[1].substring(0,2),10)>=26&&(h.os.version=T[1]),e=0;e<g.length;e++){o=(c=g[e])[0];var l=c[1];s=c[2];if(null!==(d=h.userAgent.match(o))){h.engine={name:l,version:W(d[1],s)};break}}for(e=0;e<w.length;e++){o=(c=w[e])[0];var c,d,u=c[1];s=c[2];if(null!==(d=h.userAgent.match(o))){h.browser={name:u,version:W(d[1],s)};break}}if(h.crossPlatformFramework===t.ReactNative)try{a=(C=require("react-native").Platform).OS;var T=x(j=""+C.Version);switch(a){case"android":h.os={name:n.Android,version:S(T,j)};break;case"ios":h.os={name:n.iOS,version:j};break;case"windows":h.os={name:n.Windows,version:y(T,j)};break;case"macos":h.os={name:n.MacOS,version:j}}}catch(e){}if(h.isNode)try{var j,C=(a=require("os")).platform();T=x(j=a.release());switch(C){case"win32":h.os={name:n.Windows,version:y(T,j)};break;case"darwin":h.os={name:n.MacOS,version:E(T,j)};break;case"android":h.os={name:n.Android,version:j};break;case"linux":/android/i.test(j)&&(h.os={name:n.Android,version:j})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?O():globalThis.document.addEventListener("deviceready",O,!1)),void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&(v++,globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){try{for(var o=e.fullVersionList||e.brands||[],t=e.platformVersion,a=e.platform,s=h.browser.name,l=null,c=0;c<o.length;c++){var m=null==(v=o[c])?{brand:"",version:""}:"string"==typeof v?{brand:v,version:""}:{brand:v.brand,version:v.version},d=m.version,u=m.brand;/not.a.brand/i.test(u)||((null===l||/Chrom/.test(l)&&"Chromium"!==u||"Edge"===l&&/WebView2/.test(u))&&(u=b[u]||u,null!==(l=s)&&!/Chrom/.test(l)&&/Chrom/.test(u)||("Chrome"===(s=u)||"Chrome WebView"===s||"Chrome Headless"===s?h.browser.name=i.Chrome:"Edge"===s||"Edge WebView2"===s?h.browser.name=i.Edge:"Opera Mobi"===s&&(h.browser.name=i.Opera),h.browser.version=d),l=u),"Chromium"===u&&(h.engine.version=d))}"string"==typeof t&&(h.os.name===n.Windows?h.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":h.os.version=t),"string"==typeof a&&(/android/i.test(a)?h.os.name=n.Android:/ios|iphone|ipad/i.test(a)?h.os.name=n.iOS:/windows|win32/i.test(a)?h.os.name=n.Windows:/macos|macintel/i.test(a)&&(h.os.name=n.MacOS)),!0===e.mobile&&(h.device=r.Mobile)}catch(e){}finally{p()}var v})).catch(p)),k()}();var C=null,M=null;function L(){return new Promise((function(n){var r=new Image;r.onload=function(){if(null===l)return n(e.Light);l.drawImage(r,0,0);var o=l.getImageData(0,0,1,1).data;(o[0]&o[1]&o[2])<255?n(e.Dark):n(e.Light)},r.onerror=function(){n(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function A(){return s?a.matches?e.Dark:e.Light:e.Unknown}function I(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function N(){return h.crossPlatformFramework===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):h.crossPlatformFramework===t.Electron?new Promise((function(e){e(I())})):h.browser.name===i.SamsungInternet?L():new Promise((function(e){e(A())}))}function P(n){var r;(r=n.matches?e.Dark:e.Light)!==C&&F(C=r)}function F(e){for(var n=0;n<c.length;n++){var r=c[n];r.fn(e),r.once&&D(r)}}function D(e){var n,r=R(e);-1!==r&&c.splice(r,1),0===c.length&&(h.browser.name===i.SamsungInternet?(C=null,null!==M&&(clearInterval(M),M=null)):(n=e.capture,C=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",P,n):"function"==typeof a.removeListener&&a.removeListener(P)))}function R(e){for(var n=0;n<c.length;n++)if(c[n].fn===e.fn&&c[n].capture===e.capture)return n;return-1}return{installed:!1,name:"Appearance",module:{get value(){return N()},set value(e){!function(e){if(h.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(h.crossPlatformFramework===t.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,r){void 0===r&&(r=!1);if(h.crossPlatformFramework===t.ReactNative)return function(n){try{var r=require("react-native").Appearance.addChangeListener((function(r){n(r.colorScheme||e.Unknown)}));return function(){r.remove()}}catch(e){}return function(){}}(n);if(h.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),r=function(){e(I())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",r),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",r)}}catch(e){}return function(){}}(n);var o={fn:n,capture:!1,once:!1};"boolean"==typeof r&&(r={capture:r});void 0!==r.capture&&(o.capture=r.capture);void 0!==r.once&&(o.once=r.once);void 0!==r.signal&&(o.signal=r.signal);var s=R(o);-1===s?(c.push(o),1===c.length&&(h.browser.name===i.SamsungInternet?(L().then((function(e){C=e})),M=globalThis.setInterval((function(){L().then((function(e){e!==C&&(C=e,F(e))}))}),2e3)):(l=o.capture,C=A(),"function"==typeof a.addEventListener?a.addEventListener("change",P,l):"function"==typeof a.addListener&&a.addListener(P))),N().then(F)):c[s].once&&!o.once&&(c[s].once=!1);var l;void 0!==o.signal&&(o.signal.aborted?D(o):o.signal.addEventListener("abort",(function e(){void 0!==o.signal&&o.signal.removeEventListener("abort",e),D(o)})));return function(){D(o)}}},Constants:{Appearances:e},Errors:{}}}));
@@ -6,13 +6,16 @@ export declare interface PlatformInstance {
6
6
  device: Devices;
7
7
  crossPlatformFramework: CrossPlatformFramework;
8
8
  network: Network;
9
+ dimension: Dimension;
9
10
  renderer: string;
10
11
  userAgent: string;
12
+ readyState: 'loading' | 'complete';
11
13
  isNode: boolean;
12
14
  isStandalone: boolean;
13
15
  isMobile: boolean;
14
16
  isDesktop: boolean;
15
17
  isWebview: boolean;
18
+ onready(callback: (platform: PlatformInstance) => void): void;
16
19
  }
17
20
  export declare interface NameVersionPair<T> {
18
21
  name: T;
@@ -26,3 +29,10 @@ export declare interface Network {
26
29
  rtt: number | null;
27
30
  saveData: boolean | null;
28
31
  }
32
+ export declare interface Dimension {
33
+ outerWidth: number;
34
+ outerHeight: number;
35
+ innerWidth: number;
36
+ innerHeight: number;
37
+ scale: number;
38
+ }