native-fn 1.0.81 → 1.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +124 -6
  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 +124 -6
  11. package/dist/plugin/app/index.umd.js +124 -6
  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 +147 -51
  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 +147 -51
  26. package/dist/plugin/appearance/index.umd.js +147 -51
  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 +124 -6
  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 +124 -6
  40. package/dist/plugin/clipboard/index.umd.js +124 -6
  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 +140 -19
  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 +140 -19
  107. package/dist/plugin/fullscreen/index.umd.js +140 -19
  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 +124 -6
  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 +124 -6
  122. package/dist/plugin/platform/index.umd.js +124 -6
  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 +124 -6
  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 +124 -6
  136. package/dist/plugin/theme/index.umd.js +124 -6
  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
@@ -90,6 +90,9 @@
90
90
  get network() {
91
91
  return getNetwork();
92
92
  },
93
+ get locale() {
94
+ return getLocale();
95
+ },
93
96
  get dimension() {
94
97
  return getDimension();
95
98
  },
@@ -103,12 +106,6 @@
103
106
  get renderer() {
104
107
  return getRenderer();
105
108
  },
106
- get isMobile() {
107
- return this.device === Devices.Mobile;
108
- },
109
- get isDesktop() {
110
- return this.device === Devices.Desktop;
111
- },
112
109
  get isWebview() {
113
110
  return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
114
111
  },
@@ -532,6 +529,127 @@
532
529
  }
533
530
  return network;
534
531
  }
532
+ function normalizeLocale(locale) {
533
+ if (locale === null || locale === undefined)
534
+ return locale;
535
+ if (locale.length === 0)
536
+ return null;
537
+ locale = locale.replace(/_/g, '-');
538
+ if (locale === 'C' || locale === 'posix' || locale === 'POSIX')
539
+ return 'en-US';
540
+ if (locale.indexOf('.') !== -1)
541
+ return normalizeLocale(locale.split('.')[0]);
542
+ if (locale.indexOf('@') !== -1)
543
+ return normalizeLocale(locale.split('@')[0]);
544
+ var parts = locale.split('-');
545
+ if (parts.length === 0)
546
+ return null;
547
+ parts[0] = parts[0].toLowerCase();
548
+ if (parts.length > 1 && parts[1].length === 2)
549
+ parts[1] = parts[1].toUpperCase();
550
+ if (parts.length > 2 && parts[1].length === 4)
551
+ parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
552
+ return parts.join('-');
553
+ }
554
+ function getLocale() {
555
+ var locale = {
556
+ language: '',
557
+ languages: [],
558
+ timezone: '',
559
+ timezoneOffset: 0,
560
+ };
561
+ function addLanguages(language) {
562
+ for (var i = 0; i < language.length; i++)
563
+ addLanguage(language[i]);
564
+ }
565
+ function addLanguage(language) {
566
+ language = normalizeLocale(language);
567
+ if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
568
+ if (locale.language.length === 0)
569
+ locale.language = language;
570
+ locale.languages.push(language);
571
+ }
572
+ }
573
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
574
+ try {
575
+ var reactNative = require('react-native');
576
+ var nativeModules = reactNative.NativeModules;
577
+ if (typeof nativeModules.SettingsManager !== 'undefined') {
578
+ var settingManager = nativeModules.SettingsManager;
579
+ if (typeof settingManager !== 'undefined') {
580
+ var constant = typeof settingManager.getConstants === 'function'
581
+ ? settingManager.getConstants()
582
+ : settingManager;
583
+ if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
584
+ var settings = constant.settings;
585
+ if (typeof settings.AppleLocale === 'string')
586
+ addLanguage(settings.AppleLocale);
587
+ if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
588
+ addLanguages(settings.AppleLanguages);
589
+ }
590
+ }
591
+ }
592
+ if (typeof nativeModules.I18nManager !== 'undefined') {
593
+ var i18nManager = nativeModules.I18nManager;
594
+ if (typeof i18nManager !== 'undefined') {
595
+ var constant = typeof i18nManager.getConstants === 'function'
596
+ ? i18nManager.getConstants()
597
+ : i18nManager;
598
+ if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
599
+ addLanguage(constant.localeIdentifier);
600
+ }
601
+ }
602
+ }
603
+ catch (_) {
604
+ }
605
+ }
606
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
607
+ try {
608
+ var electron = require('electron');
609
+ var app = electron.app;
610
+ if (typeof app.getLocale !== 'undefined')
611
+ addLanguage(app.getLocale());
612
+ if (typeof app.getSystemLocale !== 'undefined')
613
+ addLanguage(app.getSystemLocale());
614
+ if (typeof app.getPreferredSystemLanguages !== 'undefined')
615
+ addLanguages(app.getPreferredSystemLanguages());
616
+ }
617
+ catch (_) {
618
+ }
619
+ }
620
+ if (typeof Intl !== 'undefined') {
621
+ try {
622
+ addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
623
+ }
624
+ catch (_) {
625
+ }
626
+ }
627
+ if (typeof globalThis.navigator !== 'undefined') {
628
+ if (typeof globalThis.navigator.languages !== 'undefined')
629
+ addLanguages(globalThis.navigator.languages);
630
+ if (typeof globalThis.navigator.language !== 'undefined')
631
+ addLanguage(globalThis.navigator.language);
632
+ if (typeof globalThis.navigator.userLanguage !== 'undefined')
633
+ addLanguage(globalThis.navigator.userLanguage);
634
+ if (typeof globalThis.navigator.browserLanguage !== 'undefined')
635
+ addLanguage(globalThis.navigator.browserLanguage);
636
+ if (typeof globalThis.navigator.systemLanguage !== 'undefined')
637
+ addLanguage(globalThis.navigator.systemLanguage);
638
+ }
639
+ try {
640
+ if (typeof Intl !== 'undefined') {
641
+ locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
642
+ }
643
+ }
644
+ catch (_) {
645
+ }
646
+ try {
647
+ locale.timezoneOffset = new Date().getTimezoneOffset();
648
+ }
649
+ catch (_) {
650
+ }
651
+ return locale;
652
+ }
535
653
  function getDimension() {
536
654
  var dimension = {
537
655
  innerWidth: -1,
@@ -876,13 +994,11 @@
876
994
  function getDefaultTarget() {
877
995
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
878
996
  var electron = require('electron');
879
- var focusedWindow = electron.BrowserWindow.getFocusedWindow();
880
- if (focusedWindow !== null)
881
- return focusedWindow;
882
- var allWindows = electron.BrowserWindow.getAllWindows();
883
- if (allWindows.length === 0)
997
+ var browserWindow = electron.BrowserWindow;
998
+ var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
999
+ if (focusedWindow === undefined)
884
1000
  throw new Error();
885
- return allWindows[0];
1001
+ return focusedWindow;
886
1002
  }
887
1003
  if (Platform.os.name === OS.iOS) {
888
1004
  var video = globalThis.document.querySelector('video');
@@ -894,8 +1010,10 @@
894
1010
  }
895
1011
  function restoreElectronBrowserWindowOptions() {
896
1012
  if (lastElectronBrowserWindowOptions !== null) {
897
- lastElectronBrowserWindow.fullScreenable = lastElectronBrowserWindowOptions.fullScreenable;
898
- lastElectronBrowserWindow.autoHideMenuBar = lastElectronBrowserWindowOptions.autoHideMenuBar;
1013
+ if (lastElectronBrowserWindow !== null) {
1014
+ lastElectronBrowserWindow.fullScreenable = lastElectronBrowserWindowOptions.fullScreenable;
1015
+ lastElectronBrowserWindow.autoHideMenuBar = lastElectronBrowserWindowOptions.autoHideMenuBar;
1016
+ }
899
1017
  lastElectronBrowserWindowOptions = null;
900
1018
  }
901
1019
  lastElectronBrowserWindow = null;
@@ -924,7 +1042,8 @@
924
1042
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
925
1043
  try {
926
1044
  var electron = require('electron');
927
- var allWindows = electron.BrowserWindow.getAllWindows();
1045
+ var browserWindow = electron.BrowserWindow;
1046
+ var allWindows = browserWindow.getAllWindows();
928
1047
  var _loop_1 = function (i) {
929
1048
  var currentWindow = allWindows[i];
930
1049
  currentWindow.on('enter-full-screen', function () {
@@ -939,8 +1058,8 @@
939
1058
  for (var i = 0; i < allWindows.length; i++) {
940
1059
  _loop_1(i);
941
1060
  }
942
- if (typeof electron.BrowserWindow.on === 'function') {
943
- electron.BrowserWindow.on('browser-window-created', function (_, currentWindow) {
1061
+ if (typeof browserWindow.on === 'function') {
1062
+ browserWindow.on('browser-window-created', function (_, currentWindow) {
944
1063
  currentWindow.on('enter-full-screen', function () {
945
1064
  lastElectronBrowserWindow = currentWindow;
946
1065
  emitChange();
@@ -994,7 +1113,8 @@
994
1113
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
995
1114
  try {
996
1115
  var electron = require('electron');
997
- return typeof electron.BrowserWindow.prototype.setFullScreen === 'function';
1116
+ var browserWindow = electron.BrowserWindow;
1117
+ return typeof browserWindow.prototype.setFullScreen === 'function';
998
1118
  }
999
1119
  catch (_) {
1000
1120
  return false;
@@ -1022,7 +1142,8 @@
1022
1142
  return lastElectronBrowserWindow;
1023
1143
  try {
1024
1144
  var electron = require('electron');
1025
- var allWindows = electron.BrowserWindow.getAllWindows();
1145
+ var browserWindow = electron.BrowserWindow;
1146
+ var allWindows = browserWindow.getAllWindows();
1026
1147
  for (var i = 0; i < allWindows.length; i++) {
1027
1148
  var currentWindow = allWindows[i];
1028
1149
  if (currentWindow.isFullScreen() || (Platform.os.name === OS.MacOS && typeof currentWindow.isSimpleFullScreen === 'function' && currentWindow.isSimpleFullScreen()))
@@ -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).Fullscreen=n()}(this,(function(){"use strict";var e,n,r,o,i;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(e||(e={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(n||(n={})),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"}(o||(o={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(i||(i={}));var t=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",a="loading",l=[],s=0,u={os:{name:e.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:o.Unknown,version:""},crossPlatformFramework:i.Unknown,userAgent:t,get readyState(){return a},get network(){return function(){var n={isOnline:null,effectiveType:null,type:null,downlink:null,rtt:null,saveData:null};if(void 0!==globalThis.navigator){void 0!==globalThis.navigator.onLine&&(n.isOnline=globalThis.navigator.onLine);var r=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;if(void 0!==r)return void 0!==r.effectiveType&&(n.effectiveType=r.effectiveType),void 0!==r.type&&(n.type=r.type),void 0!==r.downlink&&(n.downlink=r.downlink),void 0!==r.rtt&&(n.rtt=r.rtt),void 0!==r.saveData&&(n.saveData=r.saveData),n}if(u.isNode){try{for(var o=require("os").networkInterfaces(),i=Object.keys(o),t=0;t<i.length;t++){for(var a=o[i[t]],l=0;l<a.length;l++){var s=a[l];s.internal||"IPv4"!==s.family||(n.isOnline=!0)}if(n.isOnline)break}}catch(e){}try{var c=require("child_process");if(u.os.name===e.Windows){try{(d=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&d.includes("connected")&&(n.type="wifi")}catch(e){}if(null===n.type)try{(d=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(n.type="ethernet")}catch(e){}null===n.type&&(n.type="other")}else if(u.os.name===e.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")?n.type="wifi":m.includes("en")||d.includes("Ethernet")?n.type="ethernet":n.type="other"}catch(e){n.type="other"}}catch(e){}}return n}()},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(u.crossPlatformFramework===i.ReactNative)try{var n=require("react-native"),r=n.Dimensions,o=n.PixelRatio,t=r.get("screen"),a=r.get("window");return e.innerWidth=t.width,e.innerHeight=t.height,e.outerWidth=a.width,e.outerHeight=a.height,e.scale=o.get(),e}catch(e){}if(u.crossPlatformFramework===i.Electron)try{var l=require("electron"),s=l.screen,c=l.BrowserWindow,d=c.getFocusedWindow()||c.getAllWindows()[0];if(void 0!==d){var m=d.getContentSize(),f=d.getSize();e.innerWidth=m[0],e.innerHeight=m[1],e.outerWidth=f[0],e.outerHeight=f[1],e.scale=s.getDisplayMatching(d.getBounds()).scaleFactor}return e}catch(e){}return e}()},get device(){return this.os.name===e.iOS||this.os.name===e.Android?n.Mobile:this.os.name===e.Windows||this.os.name===e.MacOS?n.Desktop:n.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===n.Mobile},get isDesktop(){return this.device===n.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===e.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 l.push(e)}},c=[[/windows nt (6\.[23]); arm/i,e.Windows,b],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,b],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,b],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,b],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,b],[/windows ce\/?([\d.]*)/i,e.Windows,b],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,e.iOS,v],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,e.iOS,v],[/cfnetwork\/.+darwin/i,e.iOS,v],[/mac os x ?([\w. ]*)/i,e.MacOS,v],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,e.MacOS,v],[/droid ([\w.]+)\b.+(android[- ]x86)/i,e.Android],[/android\w*[-\/.; ]?([\d.]*)/i,e.Android]],d=[[/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]],m=[[/\b(?:crmo|crios)\/([\w.]+)/i,o.Chrome],[/webview.+edge\/([\w.]+)/i,o.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,o.Edge],[/opera mini\/([-\w.]+)/i,o.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,o.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,o.Opera],[/opios[\/ ]+([\w.]+)/i,o.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,o.Opera],[/\bopr\/([\w.]+)/i,o.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,o.IE],[/(?:ms|\()ie ([\w.]+)/i,o.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,o.IE],[/\bfocus\/([\w.]+)/i,o.Firefox],[/\bopt\/([\w.]+)/i,o.Opera],[/coast\/([\w.]+)/i,o.Opera],[/fxios\/([\w.-]+)/i,o.Firefox],[/samsungbrowser\/([\w.]+)/i,o.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,o.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,o.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,o.Chrome],[/chrome\/([\w.]+) mobile/i,o.Chrome],[/chrome\/v?([\w.]+)/i,o.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/version\/([\w.,]+) .*safari/i,o.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,o.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,o.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,o.Firefox],[/firefox\/([\w.]+)/i,o.Firefox]],f={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function g(){s--,h()}function h(){if(0===s&&"loading"===a){a="complete";for(var e=0;e<l.length;e++)try{l[e](u)}catch(e){}l.length=0}}function b(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 v(e){return void 0===e?"":e.replace(/_/g,".")}function w(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 E(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function S(){if(u.crossPlatformFramework=i.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":u.os={name:e.Android,version:globalThis.device.version};break;case"iOS":u.os={name:e.iOS,version:globalThis.device.version}}g()}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(t))&&(u.crossPlatformFramework=i.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(u.crossPlatformFramework=i.ReactNative);for(var r=0;r<c.length;r++){var a=(y=c[r])[0],l=y[1],b=y[2];if(null!==(F=u.userAgent.match(a))){u.os={name:l,version:T(F[1],b)};break}}for(u.os.name===e.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,l=void 0;if((a=t<r.length?parseInt(r[t],10):0)>(l=t<o.length?parseInt(o[t],10):0))return 1;if(a<l)return-1}return 0}(u.os.version,"18.6")&&null!==(W=/\) Version\/([\d.]+)/.exec(u.userAgent))&&parseInt(W[1].substring(0,2),10)>=26&&(u.os.version=W[1]),r=0;r<d.length;r++){a=(y=d[r])[0];var v=y[1];b=y[2];if(null!==(F=u.userAgent.match(a))){u.engine={name:v,version:T(F[1],b)};break}}for(r=0;r<m.length;r++){a=(y=m[r])[0];var y,F,j=y[1];b=y[2];if(null!==(F=u.userAgent.match(a))){u.browser={name:j,version:T(F[1],b)};break}}if(u.crossPlatformFramework===i.ReactNative)try{l=(O=require("react-native").Platform).OS;var W=E(x=""+O.Version);switch(l){case"android":u.os={name:e.Android,version:k(W,x)};break;case"ios":u.os={name:e.iOS,version:x};break;case"windows":u.os={name:e.Windows,version:w(W,x)};break;case"macos":u.os={name:e.MacOS,version:x}}}catch(e){}if(u.isNode)try{var x,O=(l=require("os")).platform();W=E(x=l.release());switch(O){case"win32":u.os={name:e.Windows,version:w(W,x)};break;case"darwin":u.os={name:e.MacOS,version:p(W,x)};break;case"android":u.os={name:e.Android,version:x};break;case"linux":/android/i.test(x)&&(u.os={name:e.Android,version:x})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?S():globalThis.document.addEventListener("deviceready",S,!1)),void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&(s++,globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(r){try{for(var i=r.fullVersionList||r.brands||[],t=r.platformVersion,a=r.platform,l=u.browser.name,s=null,c=0;c<i.length;c++){var d=null==(b=i[c])?{brand:"",version:""}:"string"==typeof b?{brand:b,version:""}:{brand:b.brand,version:b.version},m=d.version,h=d.brand;/not.a.brand/i.test(h)||((null===s||/Chrom/.test(s)&&"Chromium"!==h||"Edge"===s&&/WebView2/.test(h))&&(h=f[h]||h,null!==(s=l)&&!/Chrom/.test(s)&&/Chrom/.test(h)||("Chrome"===(l=h)||"Chrome WebView"===l||"Chrome Headless"===l?u.browser.name=o.Chrome:"Edge"===l||"Edge WebView2"===l?u.browser.name=o.Edge:"Opera Mobi"===l&&(u.browser.name=o.Opera),u.browser.version=m),s=h),"Chromium"===h&&(u.engine.version=m))}"string"==typeof t&&(u.os.name===e.Windows?u.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":u.os.version=t),"string"==typeof a&&(/android/i.test(a)?u.os.name=e.Android:/ios|iphone|ipad/i.test(a)?u.os.name=e.iOS:/windows|win32/i.test(a)?u.os.name=e.Windows:/macos|macintel/i.test(a)&&(u.os.name=e.MacOS)),!0===r.mobile&&(u.device=n.Mobile)}catch(e){}finally{g()}var b})).catch(g)),h()}();var y={get enabled(){return function(){if(u.crossPlatformFramework===i.Electron)try{return"function"==typeof require("electron").BrowserWindow.prototype.setFullScreen}catch(e){return!1}if(null===O){if(u.os.name!==e.iOS)return!1;for(var n=globalThis.document.querySelectorAll("video"),r=0;r<n.length;r++){var o=n[r];if(o.webkitSupportsFullscreen||"webkitEnterFullscreen"in o)return!0}return!1}var t=globalThis.document[O.enabled];return"boolean"==typeof t?t:void 0!==globalThis.document[O.element]}()},get element(){return P()},get isFullscreen(){return q()},request:N,exit:H,toggle:function(e,n){return q()?H():N(e,n)},onchange:function(e){var n=[];return function(r){function o(n){e(n)}if(void 0===globalThis.document)return;globalThis.document.addEventListener(r,o,!1),n.push((function(){globalThis.document.removeEventListener(r,o,!1)}))}("fullscreenchange"),function(){for(var e=0;e<n.length;e++)n[e]()}},onerror:function(e){var n=[];return function(r){function o(n){e(n)}if(void 0===globalThis.document)return;globalThis.document.addEventListener(r,o,!1),n.push((function(){globalThis.document.removeEventListener(r,o,!1)}))}("fullscreenerror"),function(){for(var e=0;e<n.length;e++)n[e]()}}},F=null,j=null,W=null,x=!1,O=function(){if(u.crossPlatformFramework===i.Electron)return null;var e=globalThis.document.documentElement;if("fullscreenEnabled"in globalThis.document||"exitFullscreen"in globalThis.document)return M.standard;for(var n=["webkit","moz","ms"],r=0;r<n.length;r++){var o=n[r],t=M[o];if(t.enabled in globalThis.document||t.element in globalThis.document||t.exit in globalThis.document)return"webkit"===o&&"webkitRequestFullScreen"in e&&(t.request="webkitRequestFullScreen"),t}if("webkitCurrentFullScreenElement"in globalThis.document){var a={enabled:"webkitFullscreenEnabled",element:"webkitCurrentFullScreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:M.webkit.events};return"webkitRequestFullScreen"in e&&(a.request="webkitRequestFullScreen"),a}return null}(),M={standard:{enabled:"fullscreenEnabled",element:"fullscreenElement",request:"requestFullscreen",exit:"exitFullscreen",events:{change:"fullscreenchange",error:"fullscreenerror"}},webkit:{enabled:"webkitFullscreenEnabled",element:"webkitFullscreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:{change:"webkitfullscreenchange",error:"webkitfullscreenerror"}},moz:{enabled:"mozFullScreenEnabled",element:"mozFullScreenElement",request:"mozRequestFullScreen",exit:"mozCancelFullScreen",events:{change:"mozfullscreenchange",error:"mozfullscreenerror"}},ms:{enabled:"msFullscreenEnabled",element:"msFullscreenElement",request:"msRequestFullscreen",exit:"msExitFullscreen",events:{change:"MSFullscreenChange",error:"MSFullscreenError"}}};function C(){null!==W&&(j.fullScreenable=W.fullScreenable,j.autoHideMenuBar=W.autoHideMenuBar,W=null),j=null}function A(){void 0!==globalThis.document&&globalThis.document.querySelectorAll("video").forEach((function(e){function n(){globalThis.document.dispatchEvent(new Event("fullscreenchange"))}e.__fsBridged__||!("webkitEnterFullscreen"in e)&&!("onwebkitbeginfullscreen"in e)||(e.addEventListener("webkitbeginfullscreen",n,!1),e.addEventListener("webkitendfullscreen",n,!1),e.__fsBridged__=!0)}))}function P(){if(u.crossPlatformFramework===i.Electron){if(null!==j)return j;try{for(var n=require("electron").BrowserWindow.getAllWindows(),r=0;r<n.length;r++){var o=n[r];if(o.isFullScreen()||u.os.name===e.MacOS&&"function"==typeof o.isSimpleFullScreen&&o.isSimpleFullScreen())return o}return null}catch(e){return null}}if(null===O)return F&&F.webkitDisplayingFullscreen?F:null;var t=globalThis.document[O.element];return null!=t?t:null}function q(){return null!==P()}function N(n,r){if(void 0===n&&(n=function(){if(u.crossPlatformFramework===i.Electron){var n=require("electron"),r=n.BrowserWindow.getFocusedWindow();if(null!==r)return r;var o=n.BrowserWindow.getAllWindows();if(0===o.length)throw new Error;return o[0]}if(u.os.name===e.iOS){var t=globalThis.document.querySelector("video");if(null===t)throw new Error;return t}return globalThis.document.documentElement}()),u.crossPlatformFramework===i.Electron){var o=n;return new Promise((function(e,n){try{return null===j&&(W={fullScreenable:o.fullScreenable,autoHideMenuBar:o.autoHideMenuBar},o.fullScreenable=!0,o.autoHideMenuBar=!0),o.setFullScreen(!0),j=o,void e()}catch(e){n()}}))}return new Promise((function(o,i){if(null!==O){var t=n[O.request];if("function"==typeof t)try{var a=t.call(n,r);return void 0!==a&&"function"==typeof a.then?void a.then((function(){o()})).catch((function(){u.os.name===e.iOS?l():i()})):void o()}catch(n){if(u.os.name!==e.iOS)return void i()}}function l(){if(u.os.name===e.iOS&&"VIDEO"===n.tagName.toUpperCase()){var r=n;if(r.webkitSupportsFullscreen&&"function"==typeof r.webkitEnterFullscreen)return F=r,A(),r.webkitEnterFullscreen(),void o()}i()}l()}))}function H(){return u.crossPlatformFramework===i.Electron?new Promise((function(e,n){try{if(null!==j)j.setFullScreen(!1),C();else{var r=P();null!==r&&r.setFullScreen(!1)}e()}catch(e){n()}})):new Promise((function(n,r){if(null!==O){var o=globalThis.document[O.exit];if("function"==typeof o){var i=o.call(globalThis.document);return void 0!==i&&"function"==typeof i.then?void i.then((function(){n()})).catch((function(){r()})):void n()}}if(u.os.name===e.iOS&&null!==F){if("function"==typeof F.webkitExitFullscreen&&!0===F.webkitDisplayingFullscreen)return F.webkitExitFullscreen(),F=null,void n();for(var t=globalThis.document.querySelectorAll("video"),a=0;a<t.length;a++){var l=t[a];if("function"==typeof l.webkitExitFullscreen&&!0===l.webkitDisplayingFullscreen)return l.webkitExitFullscreen(),void n()}}P()?r():n()}))}return function(){if(!x){x=!0;var n=!1;if(u.crossPlatformFramework===i.Electron)try{for(var r=require("electron"),o=r.BrowserWindow.getAllWindows(),t=function(e){var n=o[e];n.on("enter-full-screen",(function(){j=n,d()})),n.on("leave-full-screen",(function(){C(),d()}))},a=0;a<o.length;a++)t(a);"function"==typeof r.BrowserWindow.on&&r.BrowserWindow.on("browser-window-created",(function(e,n){n.on("enter-full-screen",(function(){j=n,d()})),n.on("leave-full-screen",(function(){C(),d()}))}))}catch(e){}var l=["webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],s=["webkitfullscreenerror","mozfullscreenerror","MSFullscreenError"];for(a=0;a<l.length;a++)void 0!==globalThis.document&&globalThis.document.addEventListener(l[a],d,!1);for(a=0;a<s.length;a++)void 0!==globalThis.document&&globalThis.document.addEventListener(s[a],m,!1);if(u.os.name===e.iOS)if(A(),void 0!==globalThis.MutationObserver)new MutationObserver((function(){A()})).observe(globalThis.document.documentElement,{childList:!0,subtree:!0})}function c(e){n||(n=!0,void 0!==globalThis.document&&globalThis.document.dispatchEvent(new Event(e,{bubbles:!0,cancelable:!1})),Promise.resolve().then((function(){n=!1})))}function d(){c("fullscreenchange")}function m(){c("fullscreenerror")}}(),{installed:!1,name:"Fullscreen",module:y,Constants:{},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).Fullscreen=n()}(this,(function(){"use strict";var e,n,r,o,i;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(e||(e={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(n||(n={})),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"}(o||(o={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(i||(i={}));var t=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",a="loading",l=[],s=0,u={os:{name:e.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:o.Unknown,version:""},crossPlatformFramework:i.Unknown,userAgent:t,get readyState(){return a},get network(){return function(){var n={isOnline:null,effectiveType:null,type:null,downlink:null,rtt:null,saveData:null};if(void 0!==globalThis.navigator){void 0!==globalThis.navigator.onLine&&(n.isOnline=globalThis.navigator.onLine);var r=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;if(void 0!==r)return void 0!==r.effectiveType&&(n.effectiveType=r.effectiveType),void 0!==r.type&&(n.type=r.type),void 0!==r.downlink&&(n.downlink=r.downlink),void 0!==r.rtt&&(n.rtt=r.rtt),void 0!==r.saveData&&(n.saveData=r.saveData),n}if(u.isNode){try{for(var o=require("os").networkInterfaces(),i=Object.keys(o),t=0;t<i.length;t++){for(var a=o[i[t]],l=0;l<a.length;l++){var s=a[l];s.internal||"IPv4"!==s.family||(n.isOnline=!0)}if(n.isOnline)break}}catch(e){}try{var c=require("child_process");if(u.os.name===e.Windows){try{(d=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&d.includes("connected")&&(n.type="wifi")}catch(e){}if(null===n.type)try{(d=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(n.type="ethernet")}catch(e){}null===n.type&&(n.type="other")}else if(u.os.name===e.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")?n.type="wifi":m.includes("en")||d.includes("Ethernet")?n.type="ethernet":n.type="other"}catch(e){n.type="other"}}catch(e){}}return n}()},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=S(n))&&-1===e.languages.indexOf(n)&&(0===e.language.length&&(e.language=n),e.languages.push(n))}if(u.crossPlatformFramework===i.ReactNative)try{var o=require("react-native").NativeModules;if(void 0!==o.SettingsManager){var t=o.SettingsManager;if(void 0!==t)if(void 0!==(l="function"==typeof t.getConstants?t.getConstants():t)&&void 0!==l.settings){var a=l.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 l,s=o.I18nManager;if(void 0!==s)void 0!==(l="function"==typeof s.getConstants?s.getConstants():s)&&void 0!==l.localeIdentifier&&r(l.localeIdentifier)}}catch(e){}if(u.crossPlatformFramework===i.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(u.crossPlatformFramework===i.ReactNative)try{var n=require("react-native"),r=n.Dimensions,o=n.PixelRatio,t=r.get("screen"),a=r.get("window");return e.innerWidth=t.width,e.innerHeight=t.height,e.outerWidth=a.width,e.outerHeight=a.height,e.scale=o.get(),e}catch(e){}if(u.crossPlatformFramework===i.Electron)try{var l=require("electron"),s=l.screen,c=l.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=s.getDisplayMatching(d.getBounds()).scaleFactor}return e}catch(e){}return e}()},get device(){return this.os.name===e.iOS||this.os.name===e.Android?n.Mobile:this.os.name===e.Windows||this.os.name===e.MacOS?n.Desktop:n.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===e.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 l.push(e)}},c=[[/windows nt (6\.[23]); arm/i,e.Windows,h],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,h],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,h],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,h],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,h],[/windows ce\/?([\d.]*)/i,e.Windows,h],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,e.iOS,b],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,e.iOS,b],[/cfnetwork\/.+darwin/i,e.iOS,b],[/mac os x ?([\w. ]*)/i,e.MacOS,b],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,e.MacOS,b],[/droid ([\w.]+)\b.+(android[- ]x86)/i,e.Android],[/android\w*[-\/.; ]?([\d.]*)/i,e.Android]],d=[[/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]],m=[[/\b(?:crmo|crios)\/([\w.]+)/i,o.Chrome],[/webview.+edge\/([\w.]+)/i,o.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,o.Edge],[/opera mini\/([-\w.]+)/i,o.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,o.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,o.Opera],[/opios[\/ ]+([\w.]+)/i,o.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,o.Opera],[/\bopr\/([\w.]+)/i,o.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,o.IE],[/(?:ms|\()ie ([\w.]+)/i,o.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,o.IE],[/\bfocus\/([\w.]+)/i,o.Firefox],[/\bopt\/([\w.]+)/i,o.Opera],[/coast\/([\w.]+)/i,o.Opera],[/fxios\/([\w.-]+)/i,o.Firefox],[/samsungbrowser\/([\w.]+)/i,o.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,o.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,o.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,o.Chrome],[/chrome\/([\w.]+) mobile/i,o.Chrome],[/chrome\/v?([\w.]+)/i,o.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/version\/([\w.,]+) .*safari/i,o.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,o.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,o.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,o.Firefox],[/firefox\/([\w.]+)/i,o.Firefox]],g={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function f(){s--,v()}function v(){if(0===s&&"loading"===a){a="complete";for(var e=0;e<l.length;e++)try{l[e](u)}catch(e){}l.length=0}}function h(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 b(e){return void 0===e?"":e.replace(/_/g,".")}function w(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 T(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 k(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function y(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function E(){if(u.crossPlatformFramework=i.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":u.os={name:e.Android,version:globalThis.device.version};break;case"iOS":u.os={name:e.iOS,version:globalThis.device.version}}f()}function S(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 S(e.split(".")[0]);if(-1!==e.indexOf("@"))return S(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(t))&&(u.crossPlatformFramework=i.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(u.crossPlatformFramework=i.ReactNative);for(var r=0;r<c.length;r++){var a=(S=c[r])[0],l=S[1],h=S[2];if(null!==(F=u.userAgent.match(a))){u.os={name:l,version:k(F[1],h)};break}}for(u.os.name===e.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,l=void 0;if((a=t<r.length?parseInt(r[t],10):0)>(l=t<o.length?parseInt(o[t],10):0))return 1;if(a<l)return-1}return 0}(u.os.version,"18.6")&&null!==(O=/\) Version\/([\d.]+)/.exec(u.userAgent))&&parseInt(O[1].substring(0,2),10)>=26&&(u.os.version=O[1]),r=0;r<d.length;r++){a=(S=d[r])[0];var b=S[1];h=S[2];if(null!==(F=u.userAgent.match(a))){u.engine={name:b,version:k(F[1],h)};break}}for(r=0;r<m.length;r++){a=(S=m[r])[0];var S,F,j=S[1];h=S[2];if(null!==(F=u.userAgent.match(a))){u.browser={name:j,version:k(F[1],h)};break}}if(u.crossPlatformFramework===i.ReactNative)try{l=(W=require("react-native").Platform).OS;var O=y(x=""+W.Version);switch(l){case"android":u.os={name:e.Android,version:T(O,x)};break;case"ios":u.os={name:e.iOS,version:x};break;case"windows":u.os={name:e.Windows,version:w(O,x)};break;case"macos":u.os={name:e.MacOS,version:x}}}catch(e){}if(u.isNode)try{var x,W=(l=require("os")).platform();O=y(x=l.release());switch(W){case"win32":u.os={name:e.Windows,version:w(O,x)};break;case"darwin":u.os={name:e.MacOS,version:p(O,x)};break;case"android":u.os={name:e.Android,version:x};break;case"linux":/android/i.test(x)&&(u.os={name:e.Android,version:x})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?E():globalThis.document.addEventListener("deviceready",E,!1)),void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&(s++,globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(r){try{for(var i=r.fullVersionList||r.brands||[],t=r.platformVersion,a=r.platform,l=u.browser.name,s=null,c=0;c<i.length;c++){var d=null==(h=i[c])?{brand:"",version:""}:"string"==typeof h?{brand:h,version:""}:{brand:h.brand,version:h.version},m=d.version,v=d.brand;/not.a.brand/i.test(v)||((null===s||/Chrom/.test(s)&&"Chromium"!==v||"Edge"===s&&/WebView2/.test(v))&&(v=g[v]||v,null!==(s=l)&&!/Chrom/.test(s)&&/Chrom/.test(v)||("Chrome"===(l=v)||"Chrome WebView"===l||"Chrome Headless"===l?u.browser.name=o.Chrome:"Edge"===l||"Edge WebView2"===l?u.browser.name=o.Edge:"Opera Mobi"===l&&(u.browser.name=o.Opera),u.browser.version=m),s=v),"Chromium"===v&&(u.engine.version=m))}"string"==typeof t&&(u.os.name===e.Windows?u.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":u.os.version=t),"string"==typeof a&&(/android/i.test(a)?u.os.name=e.Android:/ios|iphone|ipad/i.test(a)?u.os.name=e.iOS:/windows|win32/i.test(a)?u.os.name=e.Windows:/macos|macintel/i.test(a)&&(u.os.name=e.MacOS)),!0===r.mobile&&(u.device=n.Mobile)}catch(e){}finally{f()}var h})).catch(f)),v()}();var F={get enabled(){return function(){if(u.crossPlatformFramework===i.Electron)try{return"function"==typeof require("electron").BrowserWindow.prototype.setFullScreen}catch(e){return!1}if(null===M){if(u.os.name!==e.iOS)return!1;for(var n=globalThis.document.querySelectorAll("video"),r=0;r<n.length;r++){var o=n[r];if(o.webkitSupportsFullscreen||"webkitEnterFullscreen"in o)return!0}return!1}var t=globalThis.document[M.enabled];return"boolean"==typeof t?t:void 0!==globalThis.document[M.element]}()},get element(){return P()},get isFullscreen(){return q()},request:N,exit:I,toggle:function(e,n){return q()?I():N(e,n)},onchange:function(e){var n=[];return function(r){function o(n){e(n)}if(void 0===globalThis.document)return;globalThis.document.addEventListener(r,o,!1),n.push((function(){globalThis.document.removeEventListener(r,o,!1)}))}("fullscreenchange"),function(){for(var e=0;e<n.length;e++)n[e]()}},onerror:function(e){var n=[];return function(r){function o(n){e(n)}if(void 0===globalThis.document)return;globalThis.document.addEventListener(r,o,!1),n.push((function(){globalThis.document.removeEventListener(r,o,!1)}))}("fullscreenerror"),function(){for(var e=0;e<n.length;e++)n[e]()}}},j=null,O=null,x=null,W=!1,M=function(){if(u.crossPlatformFramework===i.Electron)return null;var e=globalThis.document.documentElement;if("fullscreenEnabled"in globalThis.document||"exitFullscreen"in globalThis.document)return C.standard;for(var n=["webkit","moz","ms"],r=0;r<n.length;r++){var o=n[r],t=C[o];if(t.enabled in globalThis.document||t.element in globalThis.document||t.exit in globalThis.document)return"webkit"===o&&"webkitRequestFullScreen"in e&&(t.request="webkitRequestFullScreen"),t}if("webkitCurrentFullScreenElement"in globalThis.document){var a={enabled:"webkitFullscreenEnabled",element:"webkitCurrentFullScreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:C.webkit.events};return"webkitRequestFullScreen"in e&&(a.request="webkitRequestFullScreen"),a}return null}(),C={standard:{enabled:"fullscreenEnabled",element:"fullscreenElement",request:"requestFullscreen",exit:"exitFullscreen",events:{change:"fullscreenchange",error:"fullscreenerror"}},webkit:{enabled:"webkitFullscreenEnabled",element:"webkitFullscreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:{change:"webkitfullscreenchange",error:"webkitfullscreenerror"}},moz:{enabled:"mozFullScreenEnabled",element:"mozFullScreenElement",request:"mozRequestFullScreen",exit:"mozCancelFullScreen",events:{change:"mozfullscreenchange",error:"mozfullscreenerror"}},ms:{enabled:"msFullscreenEnabled",element:"msFullscreenElement",request:"msRequestFullscreen",exit:"msExitFullscreen",events:{change:"MSFullscreenChange",error:"MSFullscreenError"}}};function A(){null!==x&&(null!==O&&(O.fullScreenable=x.fullScreenable,O.autoHideMenuBar=x.autoHideMenuBar),x=null),O=null}function L(){void 0!==globalThis.document&&globalThis.document.querySelectorAll("video").forEach((function(e){function n(){globalThis.document.dispatchEvent(new Event("fullscreenchange"))}e.__fsBridged__||!("webkitEnterFullscreen"in e)&&!("onwebkitbeginfullscreen"in e)||(e.addEventListener("webkitbeginfullscreen",n,!1),e.addEventListener("webkitendfullscreen",n,!1),e.__fsBridged__=!0)}))}function P(){if(u.crossPlatformFramework===i.Electron){if(null!==O)return O;try{for(var n=require("electron").BrowserWindow.getAllWindows(),r=0;r<n.length;r++){var o=n[r];if(o.isFullScreen()||u.os.name===e.MacOS&&"function"==typeof o.isSimpleFullScreen&&o.isSimpleFullScreen())return o}return null}catch(e){return null}}if(null===M)return j&&j.webkitDisplayingFullscreen?j:null;var t=globalThis.document[M.element];return null!=t?t:null}function q(){return null!==P()}function N(n,r){if(void 0===n&&(n=function(){if(u.crossPlatformFramework===i.Electron){var n=require("electron").BrowserWindow,r=n.getFocusedWindow()||n.getAllWindows()[0];if(void 0===r)throw new Error;return r}if(u.os.name===e.iOS){var o=globalThis.document.querySelector("video");if(null===o)throw new Error;return o}return globalThis.document.documentElement}()),u.crossPlatformFramework===i.Electron){var o=n;return new Promise((function(e,n){try{return null===O&&(x={fullScreenable:o.fullScreenable,autoHideMenuBar:o.autoHideMenuBar},o.fullScreenable=!0,o.autoHideMenuBar=!0),o.setFullScreen(!0),O=o,void e()}catch(e){n()}}))}return new Promise((function(o,i){if(null!==M){var t=n[M.request];if("function"==typeof t)try{var a=t.call(n,r);return void 0!==a&&"function"==typeof a.then?void a.then((function(){o()})).catch((function(){u.os.name===e.iOS?l():i()})):void o()}catch(n){if(u.os.name!==e.iOS)return void i()}}function l(){if(u.os.name===e.iOS&&"VIDEO"===n.tagName.toUpperCase()){var r=n;if(r.webkitSupportsFullscreen&&"function"==typeof r.webkitEnterFullscreen)return j=r,L(),r.webkitEnterFullscreen(),void o()}i()}l()}))}function I(){return u.crossPlatformFramework===i.Electron?new Promise((function(e,n){try{if(null!==O)O.setFullScreen(!1),A();else{var r=P();null!==r&&r.setFullScreen(!1)}e()}catch(e){n()}})):new Promise((function(n,r){if(null!==M){var o=globalThis.document[M.exit];if("function"==typeof o){var i=o.call(globalThis.document);return void 0!==i&&"function"==typeof i.then?void i.then((function(){n()})).catch((function(){r()})):void n()}}if(u.os.name===e.iOS&&null!==j){if("function"==typeof j.webkitExitFullscreen&&!0===j.webkitDisplayingFullscreen)return j.webkitExitFullscreen(),j=null,void n();for(var t=globalThis.document.querySelectorAll("video"),a=0;a<t.length;a++){var l=t[a];if("function"==typeof l.webkitExitFullscreen&&!0===l.webkitDisplayingFullscreen)return l.webkitExitFullscreen(),void n()}}P()?r():n()}))}return function(){if(!W){W=!0;var n=!1;if(u.crossPlatformFramework===i.Electron)try{for(var r=require("electron").BrowserWindow,o=r.getAllWindows(),t=function(e){var n=o[e];n.on("enter-full-screen",(function(){O=n,d()})),n.on("leave-full-screen",(function(){A(),d()}))},a=0;a<o.length;a++)t(a);"function"==typeof r.on&&r.on("browser-window-created",(function(e,n){n.on("enter-full-screen",(function(){O=n,d()})),n.on("leave-full-screen",(function(){A(),d()}))}))}catch(e){}var l=["webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],s=["webkitfullscreenerror","mozfullscreenerror","MSFullscreenError"];for(a=0;a<l.length;a++)void 0!==globalThis.document&&globalThis.document.addEventListener(l[a],d,!1);for(a=0;a<s.length;a++)void 0!==globalThis.document&&globalThis.document.addEventListener(s[a],m,!1);if(u.os.name===e.iOS)if(L(),void 0!==globalThis.MutationObserver)new MutationObserver((function(){L()})).observe(globalThis.document.documentElement,{childList:!0,subtree:!0})}function c(e){n||(n=!0,void 0!==globalThis.document&&globalThis.document.dispatchEvent(new Event(e,{bubbles:!0,cancelable:!1})),Promise.resolve().then((function(){n=!1})))}function d(){c("fullscreenchange")}function m(){c("fullscreenerror")}}(),{installed:!1,name:"Fullscreen",module:F,Constants:{},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
  }
@@ -0,0 +1,13 @@
1
+ import { Appearances } from "../constants";
2
+ import { NativeModule } from "../../../types";
3
+ export declare interface ListenerEntry {
4
+ fn: (appearance: Appearances) => any;
5
+ capture: boolean;
6
+ once: boolean;
7
+ signal?: AbortSignal;
8
+ }
9
+ export declare interface AppearanceInstance extends NativeModule {
10
+ get value(): Appearances;
11
+ set value(appearances: Exclude<Appearances, Appearances.Unknown>);
12
+ onchange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
13
+ }
@@ -0,0 +1,3 @@
1
+ import { DimensionInstance } from "../types";
2
+ declare const Dimension: DimensionInstance;
3
+ export default Dimension;
@@ -0,0 +1,4 @@
1
+ import { NativePlugin } from "../../types";
2
+ import { DimensionInstance } from "./types";
3
+ declare const NativeDimensionPlugin: NativePlugin<'Dimension', DimensionInstance, {}, {}>;
4
+ export default NativeDimensionPlugin;
@@ -0,0 +1,8 @@
1
+ export declare interface ListenerEntry {
2
+ fn: () => any;
3
+ capture: boolean;
4
+ once: boolean;
5
+ signal?: AbortSignal;
6
+ }
7
+ export declare interface DimensionInstance {
8
+ }
@@ -0,0 +1,13 @@
1
+ import { DimensionInstance } from "./dimension";
2
+ import Dimension from "../cores";
3
+ export * from "./dimension";
4
+ declare module 'native-fn' {
5
+ interface NativePlugins {
6
+ Dimension: DimensionInstance;
7
+ }
8
+ interface NativeConstants {
9
+ Dimension: typeof Dimension;
10
+ }
11
+ interface NativeErrors {
12
+ }
13
+ }
@@ -5,6 +5,11 @@ declare global {
5
5
  interface Navigator {
6
6
  userAgent?: string;
7
7
  userAgentData?: UserAgentData;
8
+ language?: string;
9
+ languages?: readonly string[];
10
+ browserLanguage?: string;
11
+ systemLanguage?: string;
12
+ userLanguage?: string;
8
13
  connection?: NavigatorConnection;
9
14
  mozConnection?: NavigatorConnection;
10
15
  webkitConnection?: NavigatorConnection;
@@ -6,14 +6,13 @@ export declare interface PlatformInstance {
6
6
  device: Devices;
7
7
  crossPlatformFramework: CrossPlatformFramework;
8
8
  network: Network;
9
+ locale: Locale;
9
10
  dimension: Dimension;
10
11
  renderer: string;
11
12
  userAgent: string;
12
13
  readyState: 'loading' | 'complete';
13
14
  isNode: boolean;
14
15
  isStandalone: boolean;
15
- isMobile: boolean;
16
- isDesktop: boolean;
17
16
  isWebview: boolean;
18
17
  onready(callback: (platform: PlatformInstance) => void): void;
19
18
  }
@@ -36,3 +35,9 @@ export declare interface Dimension {
36
35
  innerHeight: number;
37
36
  scale: number;
38
37
  }
38
+ export declare interface Locale {
39
+ language: string;
40
+ languages: string[];
41
+ timezone: string;
42
+ timezoneOffset: number;
43
+ }
@@ -86,6 +86,9 @@ var Platform = {
86
86
  get network() {
87
87
  return getNetwork();
88
88
  },
89
+ get locale() {
90
+ return getLocale();
91
+ },
89
92
  get dimension() {
90
93
  return getDimension();
91
94
  },
@@ -99,12 +102,6 @@ var Platform = {
99
102
  get renderer() {
100
103
  return getRenderer();
101
104
  },
102
- get isMobile() {
103
- return this.device === Devices.Mobile;
104
- },
105
- get isDesktop() {
106
- return this.device === Devices.Desktop;
107
- },
108
105
  get isWebview() {
109
106
  return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
110
107
  },
@@ -528,6 +525,127 @@ function getNetwork() {
528
525
  }
529
526
  return network;
530
527
  }
528
+ function normalizeLocale(locale) {
529
+ if (locale === null || locale === undefined)
530
+ return locale;
531
+ if (locale.length === 0)
532
+ return null;
533
+ locale = locale.replace(/_/g, '-');
534
+ if (locale === 'C' || locale === 'posix' || locale === 'POSIX')
535
+ return 'en-US';
536
+ if (locale.indexOf('.') !== -1)
537
+ return normalizeLocale(locale.split('.')[0]);
538
+ if (locale.indexOf('@') !== -1)
539
+ return normalizeLocale(locale.split('@')[0]);
540
+ var parts = locale.split('-');
541
+ if (parts.length === 0)
542
+ return null;
543
+ parts[0] = parts[0].toLowerCase();
544
+ if (parts.length > 1 && parts[1].length === 2)
545
+ parts[1] = parts[1].toUpperCase();
546
+ if (parts.length > 2 && parts[1].length === 4)
547
+ parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
548
+ return parts.join('-');
549
+ }
550
+ function getLocale() {
551
+ var locale = {
552
+ language: '',
553
+ languages: [],
554
+ timezone: '',
555
+ timezoneOffset: 0,
556
+ };
557
+ function addLanguages(language) {
558
+ for (var i = 0; i < language.length; i++)
559
+ addLanguage(language[i]);
560
+ }
561
+ function addLanguage(language) {
562
+ language = normalizeLocale(language);
563
+ if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
564
+ if (locale.language.length === 0)
565
+ locale.language = language;
566
+ locale.languages.push(language);
567
+ }
568
+ }
569
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
570
+ try {
571
+ var reactNative = require('react-native');
572
+ var nativeModules = reactNative.NativeModules;
573
+ if (typeof nativeModules.SettingsManager !== 'undefined') {
574
+ var settingManager = nativeModules.SettingsManager;
575
+ if (typeof settingManager !== 'undefined') {
576
+ var constant = typeof settingManager.getConstants === 'function'
577
+ ? settingManager.getConstants()
578
+ : settingManager;
579
+ if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
580
+ var settings = constant.settings;
581
+ if (typeof settings.AppleLocale === 'string')
582
+ addLanguage(settings.AppleLocale);
583
+ if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
584
+ addLanguages(settings.AppleLanguages);
585
+ }
586
+ }
587
+ }
588
+ if (typeof nativeModules.I18nManager !== 'undefined') {
589
+ var i18nManager = nativeModules.I18nManager;
590
+ if (typeof i18nManager !== 'undefined') {
591
+ var constant = typeof i18nManager.getConstants === 'function'
592
+ ? i18nManager.getConstants()
593
+ : i18nManager;
594
+ if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
595
+ addLanguage(constant.localeIdentifier);
596
+ }
597
+ }
598
+ }
599
+ catch (_) {
600
+ }
601
+ }
602
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
603
+ try {
604
+ var electron = require('electron');
605
+ var app = electron.app;
606
+ if (typeof app.getLocale !== 'undefined')
607
+ addLanguage(app.getLocale());
608
+ if (typeof app.getSystemLocale !== 'undefined')
609
+ addLanguage(app.getSystemLocale());
610
+ if (typeof app.getPreferredSystemLanguages !== 'undefined')
611
+ addLanguages(app.getPreferredSystemLanguages());
612
+ }
613
+ catch (_) {
614
+ }
615
+ }
616
+ if (typeof Intl !== 'undefined') {
617
+ try {
618
+ addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
619
+ }
620
+ catch (_) {
621
+ }
622
+ }
623
+ if (typeof globalThis.navigator !== 'undefined') {
624
+ if (typeof globalThis.navigator.languages !== 'undefined')
625
+ addLanguages(globalThis.navigator.languages);
626
+ if (typeof globalThis.navigator.language !== 'undefined')
627
+ addLanguage(globalThis.navigator.language);
628
+ if (typeof globalThis.navigator.userLanguage !== 'undefined')
629
+ addLanguage(globalThis.navigator.userLanguage);
630
+ if (typeof globalThis.navigator.browserLanguage !== 'undefined')
631
+ addLanguage(globalThis.navigator.browserLanguage);
632
+ if (typeof globalThis.navigator.systemLanguage !== 'undefined')
633
+ addLanguage(globalThis.navigator.systemLanguage);
634
+ }
635
+ try {
636
+ if (typeof Intl !== 'undefined') {
637
+ locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
638
+ }
639
+ }
640
+ catch (_) {
641
+ }
642
+ try {
643
+ locale.timezoneOffset = new Date().getTimezoneOffset();
644
+ }
645
+ catch (_) {
646
+ }
647
+ return locale;
648
+ }
531
649
  function getDimension() {
532
650
  var dimension = {
533
651
  innerWidth: -1,
@@ -55,14 +55,13 @@ declare interface PlatformInstance {
55
55
  device: Devices;
56
56
  crossPlatformFramework: CrossPlatformFramework;
57
57
  network: Network;
58
+ locale: Locale;
58
59
  dimension: Dimension;
59
60
  renderer: string;
60
61
  userAgent: string;
61
62
  readyState: 'loading' | 'complete';
62
63
  isNode: boolean;
63
64
  isStandalone: boolean;
64
- isMobile: boolean;
65
- isDesktop: boolean;
66
65
  isWebview: boolean;
67
66
  onready(callback: (platform: PlatformInstance) => void): void;
68
67
  }
@@ -85,6 +84,12 @@ declare interface Dimension {
85
84
  innerHeight: number;
86
85
  scale: number;
87
86
  }
87
+ declare interface Locale {
88
+ language: string;
89
+ languages: string[];
90
+ timezone: string;
91
+ timezoneOffset: number;
92
+ }
88
93
 
89
94
  declare module 'native-fn' {
90
95
  interface NativePlugins {
@@ -105,4 +110,4 @@ declare const NativePlatformPlugin: NativePlugin<'Platform', PlatformInstance, {
105
110
  }, {}>;
106
111
 
107
112
  export { NativePlatformPlugin as default };
108
- export type { Dimension, NameVersionPair, Network, PlatformInstance };
113
+ export type { Dimension, Locale, NameVersionPair, Network, PlatformInstance };