native-fn 1.0.81 → 1.0.83

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 (201) hide show
  1. package/dist/index.d.ts +8 -1
  2. package/dist/native.cjs +4 -10
  3. package/dist/native.min.cjs +1 -1
  4. package/dist/native.min.mjs +1 -1
  5. package/dist/native.mjs +4 -10
  6. package/dist/native.umd.js +4 -10
  7. package/dist/native.umd.min.js +1 -1
  8. package/dist/plugin/app/index.cjs +189 -224
  9. package/dist/plugin/app/index.min.cjs +1 -1
  10. package/dist/plugin/app/index.min.mjs +1 -1
  11. package/dist/plugin/app/index.mjs +189 -224
  12. package/dist/plugin/app/index.umd.js +189 -224
  13. package/dist/plugin/app/index.umd.min.js +1 -1
  14. package/dist/plugin/app/src/plugin/appearance/constants/index.d.ts +2 -2
  15. package/dist/plugin/app/src/plugin/appearance/types/appearance.d.ts +1 -7
  16. package/dist/plugin/app/src/plugin/clipboard/types/appearance.d.ts +13 -0
  17. package/dist/plugin/app/src/plugin/dimension/constants/index.d.ts +3 -0
  18. package/dist/plugin/app/src/plugin/dimension/cores/index.d.ts +3 -0
  19. package/dist/plugin/app/src/plugin/dimension/index.d.ts +4 -0
  20. package/dist/plugin/app/src/plugin/dimension/types/dimension.d.ts +11 -0
  21. package/dist/plugin/app/src/plugin/dimension/types/dimensions.d.ts +11 -0
  22. package/dist/plugin/app/src/plugin/dimension/types/index.d.ts +13 -0
  23. package/dist/plugin/app/src/plugin/platform/constants/index.d.ts +1 -0
  24. package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +5 -10
  25. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +7 -18
  26. package/dist/plugin/app/src/types/listener-entry.d.ts +6 -0
  27. package/dist/plugin/app/src/utils/request.d.ts +1 -0
  28. package/dist/plugin/appearance/index.cjs +165 -222
  29. package/dist/plugin/appearance/index.d.ts +2 -8
  30. package/dist/plugin/appearance/index.min.cjs +1 -1
  31. package/dist/plugin/appearance/index.min.mjs +1 -1
  32. package/dist/plugin/appearance/index.mjs +165 -222
  33. package/dist/plugin/appearance/index.umd.js +165 -222
  34. package/dist/plugin/appearance/index.umd.min.js +1 -1
  35. package/dist/plugin/appearance/src/plugin/appearance/constants/index.d.ts +2 -2
  36. package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +1 -7
  37. package/dist/plugin/appearance/src/plugin/clipboard/types/appearance.d.ts +13 -0
  38. package/dist/plugin/appearance/src/plugin/dimension/constants/index.d.ts +3 -0
  39. package/dist/plugin/appearance/src/plugin/dimension/cores/index.d.ts +3 -0
  40. package/dist/plugin/appearance/src/plugin/dimension/index.d.ts +4 -0
  41. package/dist/plugin/appearance/src/plugin/dimension/types/dimension.d.ts +11 -0
  42. package/dist/plugin/appearance/src/plugin/dimension/types/dimensions.d.ts +11 -0
  43. package/dist/plugin/appearance/src/plugin/dimension/types/index.d.ts +13 -0
  44. package/dist/plugin/appearance/src/plugin/platform/constants/index.d.ts +1 -0
  45. package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +5 -10
  46. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +7 -18
  47. package/dist/plugin/appearance/src/types/listener-entry.d.ts +6 -0
  48. package/dist/plugin/appearance/src/utils/request.d.ts +1 -0
  49. package/dist/plugin/clipboard/index.cjs +148 -183
  50. package/dist/plugin/clipboard/index.min.cjs +1 -1
  51. package/dist/plugin/clipboard/index.min.mjs +1 -1
  52. package/dist/plugin/clipboard/index.mjs +148 -183
  53. package/dist/plugin/clipboard/index.umd.js +148 -183
  54. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  55. package/dist/plugin/clipboard/src/plugin/appearance/constants/index.d.ts +2 -2
  56. package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +1 -7
  57. package/dist/plugin/clipboard/src/plugin/clipboard/types/appearance.d.ts +13 -0
  58. package/dist/plugin/clipboard/src/plugin/dimension/constants/index.d.ts +3 -0
  59. package/dist/plugin/clipboard/src/plugin/dimension/cores/index.d.ts +3 -0
  60. package/dist/plugin/clipboard/src/plugin/dimension/index.d.ts +4 -0
  61. package/dist/plugin/clipboard/src/plugin/dimension/types/dimension.d.ts +11 -0
  62. package/dist/plugin/clipboard/src/plugin/dimension/types/dimensions.d.ts +11 -0
  63. package/dist/plugin/clipboard/src/plugin/dimension/types/index.d.ts +13 -0
  64. package/dist/plugin/clipboard/src/plugin/platform/constants/index.d.ts +1 -0
  65. package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +5 -10
  66. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +7 -18
  67. package/dist/plugin/clipboard/src/types/listener-entry.d.ts +6 -0
  68. package/dist/plugin/clipboard/src/utils/request.d.ts +1 -0
  69. package/dist/plugin/dimension/index.cjs +947 -0
  70. package/dist/plugin/dimension/index.d.ts +36 -0
  71. package/dist/plugin/dimension/index.min.cjs +1 -0
  72. package/dist/plugin/dimension/index.min.mjs +1 -0
  73. package/dist/plugin/dimension/index.mjs +945 -0
  74. package/dist/plugin/dimension/index.umd.js +953 -0
  75. package/dist/plugin/dimension/index.umd.min.js +1 -0
  76. package/dist/plugin/dimension/src/errors/plugin-not-extended-error.d.ts +2 -0
  77. package/dist/plugin/dimension/src/plugin/app/constants/index.d.ts +12 -0
  78. package/dist/plugin/dimension/src/plugin/app/cores/index.d.ts +13 -0
  79. package/dist/plugin/dimension/src/plugin/app/errors/url-open-error.d.ts +2 -0
  80. package/dist/plugin/dimension/src/plugin/app/index.d.ts +12 -0
  81. package/dist/plugin/dimension/src/plugin/app/types/app.d.ts +54 -0
  82. package/dist/plugin/dimension/src/plugin/app/types/index.d.ts +16 -0
  83. package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +11 -0
  84. package/dist/plugin/dimension/src/plugin/appearance/cores/index.d.ts +3 -0
  85. package/dist/plugin/dimension/src/plugin/appearance/index.d.ts +8 -0
  86. package/dist/plugin/dimension/src/plugin/appearance/types/appearance.d.ts +6 -0
  87. package/dist/plugin/dimension/src/plugin/appearance/types/index.d.ts +13 -0
  88. package/dist/plugin/dimension/src/plugin/clipboard/cores/index.d.ts +3 -0
  89. package/dist/plugin/dimension/src/plugin/clipboard/index.d.ts +5 -0
  90. package/dist/plugin/dimension/src/plugin/clipboard/types/appearance.d.ts +13 -0
  91. package/dist/plugin/dimension/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  92. package/dist/plugin/dimension/src/plugin/clipboard/types/index.d.ts +11 -0
  93. package/dist/plugin/dimension/src/plugin/dimension/constants/index.d.ts +3 -0
  94. package/dist/plugin/dimension/src/plugin/dimension/cores/index.d.ts +3 -0
  95. package/dist/plugin/dimension/src/plugin/dimension/index.d.ts +4 -0
  96. package/dist/plugin/dimension/src/plugin/dimension/types/dimension.d.ts +11 -0
  97. package/dist/plugin/dimension/src/plugin/dimension/types/dimensions.d.ts +11 -0
  98. package/dist/plugin/dimension/src/plugin/dimension/types/index.d.ts +13 -0
  99. package/dist/plugin/dimension/src/plugin/fullscreen/cores/index.d.ts +35 -0
  100. package/dist/plugin/dimension/src/plugin/fullscreen/index.d.ts +5 -0
  101. package/dist/plugin/dimension/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  102. package/dist/plugin/dimension/src/plugin/fullscreen/types/index.d.ts +11 -0
  103. package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +43 -0
  104. package/dist/plugin/dimension/src/plugin/platform/cores/index.d.ts +35 -0
  105. package/dist/plugin/dimension/src/plugin/platform/index.d.ts +12 -0
  106. package/dist/plugin/dimension/src/plugin/platform/types/index.d.ts +11 -0
  107. package/dist/plugin/dimension/src/plugin/platform/types/platform.d.ts +27 -0
  108. package/dist/plugin/dimension/src/plugin/theme/constants/index.d.ts +2 -0
  109. package/dist/plugin/dimension/src/plugin/theme/cores/index.d.ts +3 -0
  110. package/dist/plugin/dimension/src/plugin/theme/index.d.ts +5 -0
  111. package/dist/plugin/dimension/src/plugin/theme/types/index.d.ts +11 -0
  112. package/dist/plugin/dimension/src/plugin/theme/types/theme.d.ts +4 -0
  113. package/dist/plugin/dimension/src/types/event-listener-util.d.ts +11 -0
  114. package/dist/plugin/dimension/src/types/index.d.ts +1 -0
  115. package/dist/plugin/dimension/src/types/listener-entry.d.ts +6 -0
  116. package/dist/plugin/dimension/src/types/native.d.ts +27 -0
  117. package/dist/plugin/dimension/src/utils/assign.d.ts +1 -0
  118. package/dist/plugin/dimension/src/utils/compare-version.d.ts +1 -0
  119. package/dist/plugin/dimension/src/utils/create-custom-error.d.ts +6 -0
  120. package/dist/plugin/dimension/src/utils/create-hidden-element.d.ts +1 -0
  121. package/dist/plugin/dimension/src/utils/dispatch-click-event.d.ts +1 -0
  122. package/dist/plugin/dimension/src/utils/event-listener-utils.d.ts +3 -0
  123. package/dist/plugin/dimension/src/utils/get-topmost-window.d.ts +1 -0
  124. package/dist/plugin/dimension/src/utils/is-secure-context.d.ts +1 -0
  125. package/dist/plugin/dimension/src/utils/request.d.ts +1 -0
  126. package/dist/plugin/fullscreen/index.cjs +156 -188
  127. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  128. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  129. package/dist/plugin/fullscreen/index.mjs +156 -188
  130. package/dist/plugin/fullscreen/index.umd.js +156 -188
  131. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  132. package/dist/plugin/fullscreen/src/plugin/appearance/constants/index.d.ts +2 -2
  133. package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +1 -7
  134. package/dist/plugin/fullscreen/src/plugin/clipboard/types/appearance.d.ts +13 -0
  135. package/dist/plugin/fullscreen/src/plugin/dimension/constants/index.d.ts +3 -0
  136. package/dist/plugin/fullscreen/src/plugin/dimension/cores/index.d.ts +3 -0
  137. package/dist/plugin/fullscreen/src/plugin/dimension/index.d.ts +4 -0
  138. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimension.d.ts +11 -0
  139. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimensions.d.ts +11 -0
  140. package/dist/plugin/fullscreen/src/plugin/dimension/types/index.d.ts +13 -0
  141. package/dist/plugin/fullscreen/src/plugin/platform/constants/index.d.ts +1 -0
  142. package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +5 -10
  143. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +7 -18
  144. package/dist/plugin/fullscreen/src/types/listener-entry.d.ts +6 -0
  145. package/dist/plugin/fullscreen/src/utils/request.d.ts +1 -0
  146. package/dist/plugin/platform/index.cjs +137 -172
  147. package/dist/plugin/platform/index.d.ts +8 -19
  148. package/dist/plugin/platform/index.min.cjs +1 -1
  149. package/dist/plugin/platform/index.min.mjs +1 -1
  150. package/dist/plugin/platform/index.mjs +137 -172
  151. package/dist/plugin/platform/index.umd.js +137 -172
  152. package/dist/plugin/platform/index.umd.min.js +1 -1
  153. package/dist/plugin/platform/src/plugin/appearance/constants/index.d.ts +2 -2
  154. package/dist/plugin/platform/src/plugin/appearance/types/appearance.d.ts +1 -7
  155. package/dist/plugin/platform/src/plugin/clipboard/types/appearance.d.ts +13 -0
  156. package/dist/plugin/platform/src/plugin/dimension/constants/index.d.ts +3 -0
  157. package/dist/plugin/platform/src/plugin/dimension/cores/index.d.ts +3 -0
  158. package/dist/plugin/platform/src/plugin/dimension/index.d.ts +4 -0
  159. package/dist/plugin/platform/src/plugin/dimension/types/dimension.d.ts +11 -0
  160. package/dist/plugin/platform/src/plugin/dimension/types/dimensions.d.ts +11 -0
  161. package/dist/plugin/platform/src/plugin/dimension/types/index.d.ts +13 -0
  162. package/dist/plugin/platform/src/plugin/platform/constants/index.d.ts +1 -0
  163. package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +5 -10
  164. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +7 -18
  165. package/dist/plugin/platform/src/types/listener-entry.d.ts +6 -0
  166. package/dist/plugin/platform/src/utils/request.d.ts +1 -0
  167. package/dist/plugin/theme/index.cjs +138 -173
  168. package/dist/plugin/theme/index.min.cjs +1 -1
  169. package/dist/plugin/theme/index.min.mjs +1 -1
  170. package/dist/plugin/theme/index.mjs +138 -173
  171. package/dist/plugin/theme/index.umd.js +138 -173
  172. package/dist/plugin/theme/index.umd.min.js +1 -1
  173. package/dist/plugin/theme/src/plugin/appearance/constants/index.d.ts +2 -2
  174. package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +1 -7
  175. package/dist/plugin/theme/src/plugin/clipboard/types/appearance.d.ts +13 -0
  176. package/dist/plugin/theme/src/plugin/dimension/constants/index.d.ts +3 -0
  177. package/dist/plugin/theme/src/plugin/dimension/cores/index.d.ts +3 -0
  178. package/dist/plugin/theme/src/plugin/dimension/index.d.ts +4 -0
  179. package/dist/plugin/theme/src/plugin/dimension/types/dimension.d.ts +11 -0
  180. package/dist/plugin/theme/src/plugin/dimension/types/dimensions.d.ts +11 -0
  181. package/dist/plugin/theme/src/plugin/dimension/types/index.d.ts +13 -0
  182. package/dist/plugin/theme/src/plugin/platform/constants/index.d.ts +1 -0
  183. package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +5 -10
  184. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +7 -18
  185. package/dist/plugin/theme/src/types/listener-entry.d.ts +6 -0
  186. package/dist/plugin/theme/src/utils/request.d.ts +1 -0
  187. package/dist/src/plugin/appearance/constants/index.d.ts +2 -2
  188. package/dist/src/plugin/appearance/types/appearance.d.ts +1 -7
  189. package/dist/src/plugin/clipboard/types/appearance.d.ts +13 -0
  190. package/dist/src/plugin/dimension/constants/index.d.ts +3 -0
  191. package/dist/src/plugin/dimension/cores/index.d.ts +3 -0
  192. package/dist/src/plugin/dimension/index.d.ts +4 -0
  193. package/dist/src/plugin/dimension/types/dimension.d.ts +11 -0
  194. package/dist/src/plugin/dimension/types/dimensions.d.ts +11 -0
  195. package/dist/src/plugin/dimension/types/index.d.ts +13 -0
  196. package/dist/src/plugin/platform/constants/index.d.ts +1 -0
  197. package/dist/src/plugin/platform/cores/index.d.ts +5 -10
  198. package/dist/src/plugin/platform/types/platform.d.ts +7 -18
  199. package/dist/src/types/listener-entry.d.ts +6 -0
  200. package/dist/src/utils/request.d.ts +1 -0
  201. package/package.json +15 -15
@@ -0,0 +1 @@
1
+ export default function getTopmostWindow(): WindowProxy;
@@ -0,0 +1 @@
1
+ export default function isSecureContext(): boolean;
@@ -0,0 +1 @@
1
+ export default function request<T = unknown>(url: string, options?: Record<string, any>): Promise<T>;
@@ -70,6 +70,14 @@ var CrossPlatformFramework;
70
70
  CrossPlatformFramework["Cordova"] = "Cordova";
71
71
  })(CrossPlatformFramework || (CrossPlatformFramework = {}));
72
72
  var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
73
+ var HIGH_ENTROPY_BRAND_NAME_MAP = {
74
+ 'Google Chrome': 'Chrome',
75
+ 'Microsoft Edge': 'Edge',
76
+ 'Microsoft Edge WebView2': 'Edge WebView2',
77
+ 'Android WebView': 'Chrome WebView',
78
+ 'HeadlessChrome': 'Chrome Headless',
79
+ 'OperaMobile': 'Opera Mobi',
80
+ };
73
81
 
74
82
  var readyState = 'loading';
75
83
  var readyCallback = [];
@@ -83,11 +91,8 @@ var Platform = {
83
91
  get readyState() {
84
92
  return readyState;
85
93
  },
86
- get network() {
87
- return getNetwork();
88
- },
89
- get dimension() {
90
- return getDimension();
94
+ get locale() {
95
+ return getLocale();
91
96
  },
92
97
  get device() {
93
98
  if (this.os.name === OS.iOS || this.os.name === OS.Android)
@@ -99,17 +104,11 @@ var Platform = {
99
104
  get renderer() {
100
105
  return getRenderer();
101
106
  },
102
- get isMobile() {
103
- return this.device === Devices.Mobile;
104
- },
105
- get isDesktop() {
106
- return this.device === Devices.Desktop;
107
- },
108
107
  get isWebview() {
109
108
  return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
110
109
  },
111
110
  get isNode() {
112
- return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
111
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.node !== 'undefined';
113
112
  },
114
113
  get isStandalone() {
115
114
  if (this.os.name === OS.iOS)
@@ -131,6 +130,33 @@ var Platform = {
131
130
  }
132
131
  }
133
132
  };
133
+ function resolveWindowsVersion(string) {
134
+ if (typeof string === 'undefined')
135
+ return '';
136
+ var mapped = {
137
+ '4.90': 'ME',
138
+ 'NT3.51': 'NT 3.11',
139
+ 'NT4.0': 'NT 4.0',
140
+ 'NT 5.0': '2000',
141
+ 'NT 5.1': 'XP',
142
+ 'NT 5.2': 'XP',
143
+ 'NT 6.0': 'Vista',
144
+ 'NT 6.1': '7',
145
+ 'NT 6.2': '8',
146
+ 'NT 6.3': '8.1',
147
+ 'NT 6.4': '10',
148
+ 'NT 10.0': '10',
149
+ 'ARM': 'RT'
150
+ }[string];
151
+ if (typeof mapped !== 'undefined')
152
+ return mapped;
153
+ return string;
154
+ }
155
+ function resolveUnderscoreVersion(string) {
156
+ if (typeof string === 'undefined')
157
+ return '';
158
+ return string.replace(/_/g, '.');
159
+ }
134
160
  var OS_RESOLVER_MAP = [
135
161
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
136
162
  [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
@@ -189,14 +215,6 @@ var BROWSER_RESOLVER_MAP = [
189
215
  [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
190
216
  [/firefox\/([\w.]+)/i, Browsers.Firefox],
191
217
  ];
192
- var HIGH_ENTROPY_BRAND_NAME_MAP = {
193
- 'Google Chrome': 'Chrome',
194
- 'Microsoft Edge': 'Edge',
195
- 'Microsoft Edge WebView2': 'Edge WebView2',
196
- 'Android WebView': 'Chrome WebView',
197
- 'HeadlessChrome': 'Chrome Headless',
198
- 'OperaMobile': 'Opera Mobi',
199
- };
200
218
  function incrementPendingTasks() {
201
219
  pendingTasks++;
202
220
  }
@@ -217,33 +235,6 @@ function checkReady() {
217
235
  readyCallback.length = 0;
218
236
  }
219
237
  }
220
- function resolveWindowsVersion(string) {
221
- if (string === undefined)
222
- return '';
223
- var mapped = {
224
- '4.90': 'ME',
225
- 'NT3.51': 'NT 3.11',
226
- 'NT4.0': 'NT 4.0',
227
- 'NT 5.0': '2000',
228
- 'NT 5.1': 'XP',
229
- 'NT 5.2': 'XP',
230
- 'NT 6.0': 'Vista',
231
- 'NT 6.1': '7',
232
- 'NT 6.2': '8',
233
- 'NT 6.3': '8.1',
234
- 'NT 6.4': '10',
235
- 'NT 10.0': '10',
236
- 'ARM': 'RT'
237
- }[string];
238
- if (mapped !== undefined)
239
- return mapped;
240
- return string;
241
- }
242
- function resolveUnderscoreVersion(string) {
243
- if (string === undefined)
244
- return '';
245
- return string.replace(/_/g, '.');
246
- }
247
238
  function resolveSemanticWindowsVersion(version, defaultValue) {
248
239
  if (version.major === 10 && version.minor === 0 && version.build >= 22000)
249
240
  return '11';
@@ -380,12 +371,12 @@ function resolveVersion(string, resolver) {
380
371
  return resolver(string);
381
372
  if (typeof resolver === 'string')
382
373
  return resolver;
383
- if (string === undefined)
374
+ if (typeof string === 'undefined')
384
375
  return '';
385
376
  return string;
386
377
  }
387
378
  function normalizeBrand(entry) {
388
- if (entry === null || entry === undefined)
379
+ if (entry === null || typeof entry === 'undefined')
389
380
  return { brand: '', version: '' };
390
381
  if (typeof entry === 'string')
391
382
  return { brand: entry, version: '' };
@@ -439,152 +430,127 @@ function getRenderer() {
439
430
  return '';
440
431
  }
441
432
  }
442
- function getNetwork() {
443
- var network = {
444
- isOnline: null,
445
- effectiveType: null,
446
- type: null,
447
- downlink: null,
448
- rtt: null,
449
- saveData: null,
433
+ function normalizeLocale(locale) {
434
+ if (locale === null || typeof locale === 'undefined')
435
+ return locale;
436
+ if (locale.length === 0)
437
+ return null;
438
+ locale = locale.replace(/_/g, '-');
439
+ if (locale === 'C' || locale.toLowerCase() === 'posix')
440
+ return 'en-US';
441
+ if (locale.indexOf('.') !== -1)
442
+ return normalizeLocale(locale.split('.')[0]);
443
+ if (locale.indexOf('@') !== -1)
444
+ return normalizeLocale(locale.split('@')[0]);
445
+ var parts = locale.split('-');
446
+ if (parts.length === 0)
447
+ return null;
448
+ parts[0] = parts[0].toLowerCase();
449
+ if (parts.length > 1 && parts[1].length === 2)
450
+ parts[1] = parts[1].toUpperCase();
451
+ if (parts.length > 2 && parts[1].length === 4)
452
+ parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
453
+ return parts.join('-');
454
+ }
455
+ function getLocale() {
456
+ var locale = {
457
+ language: null,
458
+ languages: [],
459
+ timezone: null,
460
+ timezoneOffset: 0,
450
461
  };
451
- if (typeof globalThis.navigator !== 'undefined') {
452
- if (typeof globalThis.navigator.onLine !== 'undefined')
453
- network.isOnline = globalThis.navigator.onLine;
454
- var connection = globalThis.navigator.connection || globalThis.navigator.mozConnection || globalThis.navigator.webkitConnection;
455
- if (typeof connection !== 'undefined') {
456
- if (typeof connection.effectiveType !== 'undefined')
457
- network.effectiveType = connection.effectiveType;
458
- if (typeof connection.type !== 'undefined')
459
- network.type = connection.type;
460
- if (typeof connection.downlink !== 'undefined')
461
- network.downlink = connection.downlink;
462
- if (typeof connection.rtt !== 'undefined')
463
- network.rtt = connection.rtt;
464
- if (typeof connection.saveData !== 'undefined')
465
- network.saveData = connection.saveData;
466
- return network;
467
- }
462
+ function addLanguages(language) {
463
+ for (var i = 0; i < language.length; i++)
464
+ addLanguage(language[i]);
468
465
  }
469
- if (Platform.isNode) {
470
- try {
471
- var os = require('os');
472
- var networkInterfaces = os.networkInterfaces();
473
- var networkInterfaceNames = Object.keys(networkInterfaces);
474
- for (var i = 0; i < networkInterfaceNames.length; i++) {
475
- var name_1 = networkInterfaceNames[i];
476
- var networkInterface = networkInterfaces[name_1];
477
- for (var j = 0; j < networkInterface.length; j++) {
478
- var address = networkInterface[j];
479
- if (!address.internal && address.family === 'IPv4')
480
- network.isOnline = true;
481
- }
482
- if (network.isOnline)
483
- break;
484
- }
485
- }
486
- catch (_) {
466
+ function addLanguage(language) {
467
+ language = normalizeLocale(language);
468
+ if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
469
+ if (locale.language === null)
470
+ locale.language = language;
471
+ locale.languages.push(language);
487
472
  }
473
+ }
474
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
488
475
  try {
489
- var childProcess = require('child_process');
490
- if (Platform.os.name === OS.Windows) {
491
- try {
492
- var output = childProcess.execSync('netsh wlan show interfaces', { encoding: 'utf8', timeout: 5000 });
493
- if (output.includes('State') && output.includes('connected'))
494
- network.type = 'wifi';
495
- }
496
- catch (_) {
497
- }
498
- if (network.type === null) {
499
- try {
500
- var output = childProcess.execSync('ipconfig', { encoding: 'utf8', timeout: 5000 });
501
- if (output.includes('Ethernet adapter'))
502
- network.type = 'ethernet';
503
- }
504
- catch (_) {
476
+ var reactNative = require('react-native');
477
+ var nativeModules = reactNative.NativeModules;
478
+ if (typeof nativeModules.SettingsManager !== 'undefined') {
479
+ var settingManager = nativeModules.SettingsManager;
480
+ if (typeof settingManager !== 'undefined') {
481
+ var constant = typeof settingManager.getConstants === 'function'
482
+ ? settingManager.getConstants()
483
+ : settingManager;
484
+ if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
485
+ var settings = constant.settings;
486
+ if (typeof settings.AppleLocale === 'string')
487
+ addLanguage(settings.AppleLocale);
488
+ if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
489
+ addLanguages(settings.AppleLanguages);
505
490
  }
506
491
  }
507
- if (network.type === null)
508
- network.type = 'other';
509
492
  }
510
- else if (Platform.os.name === OS.MacOS) {
511
- try {
512
- var output = childProcess.execSync('networksetup -listallhardwareports', { encoding: 'utf8', timeout: 5000 });
513
- var activeInterface = childProcess.execSync('route -n get default | grep interface', { encoding: 'utf8', timeout: 5000 });
514
- if (activeInterface.includes('en0') && output.includes('Wi-Fi'))
515
- network.type = 'wifi';
516
- else if (activeInterface.includes('en') || output.includes('Ethernet'))
517
- network.type = 'ethernet';
518
- else
519
- network.type = 'other';
520
- }
521
- catch (_) {
522
- network.type = 'other';
493
+ if (typeof nativeModules.I18nManager !== 'undefined') {
494
+ var i18nManager = nativeModules.I18nManager;
495
+ if (typeof i18nManager !== 'undefined') {
496
+ var constant = typeof i18nManager.getConstants === 'function'
497
+ ? i18nManager.getConstants()
498
+ : i18nManager;
499
+ if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
500
+ addLanguage(constant.localeIdentifier);
523
501
  }
524
502
  }
525
503
  }
526
504
  catch (_) {
527
505
  }
528
506
  }
529
- return network;
530
- }
531
- function getDimension() {
532
- var dimension = {
533
- innerWidth: -1,
534
- innerHeight: -1,
535
- outerWidth: -1,
536
- outerHeight: -1,
537
- scale: 1,
538
- };
539
- if (typeof globalThis.innerWidth !== 'undefined') {
540
- dimension.innerWidth = globalThis.innerWidth;
541
- dimension.innerHeight = globalThis.innerHeight;
542
- dimension.outerWidth = globalThis.outerWidth;
543
- dimension.outerHeight = globalThis.outerHeight;
544
- dimension.scale = globalThis.devicePixelRatio || 1;
545
- return dimension;
546
- }
547
- if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
507
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
548
508
  try {
549
- var reactNative = require('react-native');
550
- var dimensions = reactNative.Dimensions;
551
- var pixelRatio = reactNative.PixelRatio;
552
- var screenDimensions = dimensions.get('screen');
553
- var windowDimensions = dimensions.get('window');
554
- dimension.innerWidth = screenDimensions.width;
555
- dimension.innerHeight = screenDimensions.height;
556
- dimension.outerWidth = windowDimensions.width;
557
- dimension.outerHeight = windowDimensions.height;
558
- dimension.scale = pixelRatio.get();
559
- return dimension;
509
+ var electron = require('electron');
510
+ var app = electron.app;
511
+ if (typeof app.getLocale !== 'undefined')
512
+ addLanguage(app.getLocale());
513
+ if (typeof app.getSystemLocale !== 'undefined')
514
+ addLanguage(app.getSystemLocale());
515
+ if (typeof app.getPreferredSystemLanguages !== 'undefined')
516
+ addLanguages(app.getPreferredSystemLanguages());
560
517
  }
561
518
  catch (_) {
562
519
  }
563
520
  }
564
- if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
521
+ if (typeof Intl !== 'undefined') {
565
522
  try {
566
- var electron = require('electron');
567
- var screen_1 = electron.screen;
568
- var browserWindow = electron.BrowserWindow;
569
- var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
570
- if (focusedWindow !== undefined) {
571
- var contentSize = focusedWindow.getContentSize();
572
- var size = focusedWindow.getSize();
573
- dimension.innerWidth = contentSize[0];
574
- dimension.innerHeight = contentSize[1];
575
- dimension.outerWidth = size[0];
576
- dimension.outerHeight = size[1];
577
- dimension.scale = screen_1.getDisplayMatching(focusedWindow.getBounds()).scaleFactor;
578
- }
579
- return dimension;
523
+ addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
580
524
  }
581
525
  catch (_) {
582
526
  }
527
+ try {
528
+ locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
529
+ }
530
+ catch (_) {
531
+ }
532
+ }
533
+ if (typeof globalThis.navigator !== 'undefined') {
534
+ if (typeof globalThis.navigator.languages !== 'undefined')
535
+ addLanguages(globalThis.navigator.languages);
536
+ if (typeof globalThis.navigator.language !== 'undefined')
537
+ addLanguage(globalThis.navigator.language);
538
+ if (typeof globalThis.navigator.userLanguage !== 'undefined')
539
+ addLanguage(globalThis.navigator.userLanguage);
540
+ if (typeof globalThis.navigator.browserLanguage !== 'undefined')
541
+ addLanguage(globalThis.navigator.browserLanguage);
542
+ if (typeof globalThis.navigator.systemLanguage !== 'undefined')
543
+ addLanguage(globalThis.navigator.systemLanguage);
583
544
  }
584
- return dimension;
545
+ try {
546
+ locale.timezoneOffset = new Date().getTimezoneOffset();
547
+ }
548
+ catch (_) {
549
+ }
550
+ return locale;
585
551
  }
586
552
  function init() {
587
- if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
553
+ if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.electron !== 'undefined') || (/ electron\//i.test(USER_AGENT)))
588
554
  Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
589
555
  if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
590
556
  Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
@@ -780,8 +746,7 @@ function init() {
780
746
  finally {
781
747
  decrementPendingTasks();
782
748
  }
783
- })
784
- .catch(decrementPendingTasks);
749
+ });
785
750
  }
786
751
  checkReady();
787
752
  }
@@ -872,13 +837,11 @@ function detectApi() {
872
837
  function getDefaultTarget() {
873
838
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
874
839
  var electron = require('electron');
875
- var focusedWindow = electron.BrowserWindow.getFocusedWindow();
876
- if (focusedWindow !== null)
877
- return focusedWindow;
878
- var allWindows = electron.BrowserWindow.getAllWindows();
879
- if (allWindows.length === 0)
840
+ var browserWindow = electron.BrowserWindow;
841
+ var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
842
+ if (typeof focusedWindow === 'undefined')
880
843
  throw new Error();
881
- return allWindows[0];
844
+ return focusedWindow;
882
845
  }
883
846
  if (Platform.os.name === OS.iOS) {
884
847
  var video = globalThis.document.querySelector('video');
@@ -890,8 +853,10 @@ function getDefaultTarget() {
890
853
  }
891
854
  function restoreElectronBrowserWindowOptions() {
892
855
  if (lastElectronBrowserWindowOptions !== null) {
893
- lastElectronBrowserWindow.fullScreenable = lastElectronBrowserWindowOptions.fullScreenable;
894
- lastElectronBrowserWindow.autoHideMenuBar = lastElectronBrowserWindowOptions.autoHideMenuBar;
856
+ if (lastElectronBrowserWindow !== null) {
857
+ lastElectronBrowserWindow.fullScreenable = lastElectronBrowserWindowOptions.fullScreenable;
858
+ lastElectronBrowserWindow.autoHideMenuBar = lastElectronBrowserWindowOptions.autoHideMenuBar;
859
+ }
895
860
  lastElectronBrowserWindowOptions = null;
896
861
  }
897
862
  lastElectronBrowserWindow = null;
@@ -920,7 +885,8 @@ function bridgeEvents() {
920
885
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
921
886
  try {
922
887
  var electron = require('electron');
923
- var allWindows = electron.BrowserWindow.getAllWindows();
888
+ var browserWindow = electron.BrowserWindow;
889
+ var allWindows = browserWindow.getAllWindows();
924
890
  var _loop_1 = function (i) {
925
891
  var currentWindow = allWindows[i];
926
892
  currentWindow.on('enter-full-screen', function () {
@@ -935,8 +901,8 @@ function bridgeEvents() {
935
901
  for (var i = 0; i < allWindows.length; i++) {
936
902
  _loop_1(i);
937
903
  }
938
- if (typeof electron.BrowserWindow.on === 'function') {
939
- electron.BrowserWindow.on('browser-window-created', function (_, currentWindow) {
904
+ if (typeof browserWindow.on === 'function') {
905
+ browserWindow.on('browser-window-created', function (_, currentWindow) {
940
906
  currentWindow.on('enter-full-screen', function () {
941
907
  lastElectronBrowserWindow = currentWindow;
942
908
  emitChange();
@@ -990,7 +956,8 @@ function getEnabled() {
990
956
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
991
957
  try {
992
958
  var electron = require('electron');
993
- return typeof electron.BrowserWindow.prototype.setFullScreen === 'function';
959
+ var browserWindow = electron.BrowserWindow;
960
+ return typeof browserWindow.prototype.setFullScreen === 'function';
994
961
  }
995
962
  catch (_) {
996
963
  return false;
@@ -1018,7 +985,8 @@ function getElement() {
1018
985
  return lastElectronBrowserWindow;
1019
986
  try {
1020
987
  var electron = require('electron');
1021
- var allWindows = electron.BrowserWindow.getAllWindows();
988
+ var browserWindow = electron.BrowserWindow;
989
+ var allWindows = browserWindow.getAllWindows();
1022
990
  for (var i = 0; i < allWindows.length; i++) {
1023
991
  var currentWindow = allWindows[i];
1024
992
  if (currentWindow.isFullScreen() || (Platform.os.name === OS.MacOS && typeof currentWindow.isSimpleFullScreen === 'function' && currentWindow.isSimpleFullScreen()))
@@ -1036,7 +1004,7 @@ function getElement() {
1036
1004
  return null;
1037
1005
  }
1038
1006
  var currentElement = globalThis.document[api.element];
1039
- if (currentElement !== null && currentElement !== undefined)
1007
+ if (currentElement !== null && typeof currentElement !== 'undefined')
1040
1008
  return currentElement;
1041
1009
  return null;
1042
1010
  }
@@ -1073,7 +1041,7 @@ function request(target, options) {
1073
1041
  if (typeof method === 'function') {
1074
1042
  try {
1075
1043
  var result = method.call(target, options);
1076
- if (result !== undefined && typeof result.then === 'function') {
1044
+ if (typeof result !== 'undefined' && typeof result.then === 'function') {
1077
1045
  result
1078
1046
  .then(function () {
1079
1047
  resolve();
@@ -1141,7 +1109,7 @@ function exit() {
1141
1109
  var method = globalThis.document[api.exit];
1142
1110
  if (typeof method === 'function') {
1143
1111
  var result = method.call(globalThis.document);
1144
- if (result !== undefined && typeof result.then === 'function') {
1112
+ if (typeof result !== 'undefined' && typeof result.then === 'function') {
1145
1113
  result
1146
1114
  .then(function () {
1147
1115
  resolve();
@@ -1 +1 @@
1
- "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,c={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(c.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 u=require("child_process");if(c.os.name===e.Windows){try{(d=u.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=u.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(n.type="ethernet")}catch(e){}null===n.type&&(n.type="other")}else if(c.os.name===e.MacOS)try{var d=u.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),m=u.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(c.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(c.crossPlatformFramework===i.Electron)try{var l=require("electron"),s=l.screen,u=l.BrowserWindow,d=u.getFocusedWindow()||u.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)}},u=[[/windows nt (6\.[23]); arm/i,e.Windows,v],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,v],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,v],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,v],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,v],[/windows ce\/?([\d.]*)/i,e.Windows,v],[/[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]],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](c)}catch(e){}l.length=0}}function v(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 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(c.crossPlatformFramework=i.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":c.os={name:e.Android,version:globalThis.device.version};break;case"iOS":c.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))&&(c.crossPlatformFramework=i.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(c.crossPlatformFramework=i.ReactNative);for(var r=0;r<u.length;r++){var a=(F=u[r])[0],l=F[1],v=F[2];if(null!==(y=c.userAgent.match(a))){c.os={name:l,version:T(y[1],v)};break}}for(c.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}(c.os.version,"18.6")&&null!==(W=/\) Version\/([\d.]+)/.exec(c.userAgent))&&parseInt(W[1].substring(0,2),10)>=26&&(c.os.version=W[1]),r=0;r<d.length;r++){a=(F=d[r])[0];var b=F[1];v=F[2];if(null!==(y=c.userAgent.match(a))){c.engine={name:b,version:T(y[1],v)};break}}for(r=0;r<m.length;r++){a=(F=m[r])[0];var F,y,j=F[1];v=F[2];if(null!==(y=c.userAgent.match(a))){c.browser={name:j,version:T(y[1],v)};break}}if(c.crossPlatformFramework===i.ReactNative)try{l=(O=require("react-native").Platform).OS;var W=E(x=""+O.Version);switch(l){case"android":c.os={name:e.Android,version:k(W,x)};break;case"ios":c.os={name:e.iOS,version:x};break;case"windows":c.os={name:e.Windows,version:w(W,x)};break;case"macos":c.os={name:e.MacOS,version:x}}}catch(e){}if(c.isNode)try{var x,O=(l=require("os")).platform();W=E(x=l.release());switch(O){case"win32":c.os={name:e.Windows,version:w(W,x)};break;case"darwin":c.os={name:e.MacOS,version:p(W,x)};break;case"android":c.os={name:e.Android,version:x};break;case"linux":/android/i.test(x)&&(c.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=c.browser.name,s=null,u=0;u<i.length;u++){var d=null==(v=i[u])?{brand:"",version:""}:"string"==typeof v?{brand:v,version:""}:{brand:v.brand,version:v.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?c.browser.name=o.Chrome:"Edge"===l||"Edge WebView2"===l?c.browser.name=o.Edge:"Opera Mobi"===l&&(c.browser.name=o.Opera),c.browser.version=m),s=h),"Chromium"===h&&(c.engine.version=m))}"string"==typeof t&&(c.os.name===e.Windows?c.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":c.os.version=t),"string"==typeof a&&(/android/i.test(a)?c.os.name=e.Android:/ios|iphone|ipad/i.test(a)?c.os.name=e.iOS:/windows|win32/i.test(a)?c.os.name=e.Windows:/macos|macintel/i.test(a)&&(c.os.name=e.MacOS)),!0===r.mobile&&(c.device=n.Mobile)}catch(e){}finally{g()}var v})).catch(g)),h()}();var F={get enabled(){return function(){if(c.crossPlatformFramework===i.Electron)try{return"function"==typeof require("electron").BrowserWindow.prototype.setFullScreen}catch(e){return!1}if(null===O){if(c.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]()}}},y=null,j=null,W=null,x=!1,O=function(){if(c.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(c.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()||c.os.name===e.MacOS&&"function"==typeof o.isSimpleFullScreen&&o.isSimpleFullScreen())return o}return null}catch(e){return null}}if(null===O)return y&&y.webkitDisplayingFullscreen?y: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(c.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(c.os.name===e.iOS){var t=globalThis.document.querySelector("video");if(null===t)throw new Error;return t}return globalThis.document.documentElement}()),c.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(){c.os.name===e.iOS?l():i()})):void o()}catch(n){if(c.os.name!==e.iOS)return void i()}}function l(){if(c.os.name===e.iOS&&"VIDEO"===n.tagName.toUpperCase()){var r=n;if(r.webkitSupportsFullscreen&&"function"==typeof r.webkitEnterFullscreen)return y=r,A(),r.webkitEnterFullscreen(),void o()}i()}l()}))}function H(){return c.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(c.os.name===e.iOS&&null!==y){if("function"==typeof y.webkitExitFullscreen&&!0===y.webkitDisplayingFullscreen)return y.webkitExitFullscreen(),y=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()}))}!function(){if(!x){x=!0;var n=!1;if(c.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(c.os.name===e.iOS)if(A(),void 0!==globalThis.MutationObserver)new MutationObserver((function(){A()})).observe(globalThis.document.documentElement,{childList:!0,subtree:!0})}function u(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(){u("fullscreenchange")}function m(){u("fullscreenerror")}}();var R={installed:!1,name:"Fullscreen",module:F,Constants:{},Errors:{}};module.exports=R;
1
+ "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={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"},l="loading",s=[],u=0,c={os:{name:e.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:o.Unknown,version:""},crossPlatformFramework:i.Unknown,userAgent:t,get readyState(){return l},get locale(){return function(){var e={language:null,languages:[],timezone:null,timezoneOffset:0};function n(e){for(var n=0;n<e.length;n++)r(e[n])}function r(n){"string"==typeof(n=F(n))&&-1===e.languages.indexOf(n)&&(null===e.language&&(e.language=n),e.languages.push(n))}if(c.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(c.crossPlatformFramework===i.Electron)try{var u=require("electron").app;void 0!==u.getLocale&&r(u.getLocale()),void 0!==u.getSystemLocale&&r(u.getSystemLocale()),void 0!==u.getPreferredSystemLanguages&&n(u.getPreferredSystemLanguages())}catch(e){}if("undefined"!=typeof Intl){try{r(Intl.DateTimeFormat().resolvedOptions().locale)}catch(e){}try{e.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone}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{e.timezoneOffset=(new Date).getTimezoneOffset()}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 s.push(e)}};function m(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 d(e){return void 0===e?"":e.replace(/_/g,".")}var g=[[/windows nt (6\.[23]); arm/i,e.Windows,m],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,m],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,m],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,m],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,m],[/windows ce\/?([\d.]*)/i,e.Windows,m],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,e.iOS,d],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,e.iOS,d],[/cfnetwork\/.+darwin/i,e.iOS,d],[/mac os x ?([\w. ]*)/i,e.MacOS,d],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,e.MacOS,d],[/droid ([\w.]+)\b.+(android[- ]x86)/i,e.Android],[/android\w*[-\/.; ]?([\d.]*)/i,e.Android]],f=[[/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]],v=[[/\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]];function b(){u--,w()}function w(){if(0===u&&"loading"===l){l="complete";for(var e=0;e<s.length;e++)try{s[e](c)}catch(e){}s.length=0}}function h(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 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(c.crossPlatformFramework=i.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":c.os={name:e.Android,version:globalThis.device.version};break;case"iOS":c.os={name:e.iOS,version:globalThis.device.version}}b()}function F(e){if(null==e)return e;if(0===e.length)return null;if("C"===(e=e.replace(/_/g,"-"))||"posix"===e.toLowerCase())return"en-US";if(-1!==e.indexOf("."))return F(e.split(".")[0]);if(-1!==e.indexOf("@"))return F(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))&&(c.crossPlatformFramework=i.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(c.crossPlatformFramework=i.ReactNative);for(var r=0;r<g.length;r++){var l=(F=g[r])[0],s=F[1],m=F[2];if(null!==(j=c.userAgent.match(l))){c.os={name:s,version:k(j[1],m)};break}}for(c.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}(c.os.version,"18.6")&&null!==(O=/\) Version\/([\d.]+)/.exec(c.userAgent))&&parseInt(O[1].substring(0,2),10)>=26&&(c.os.version=O[1]),r=0;r<f.length;r++){l=(F=f[r])[0];var d=F[1];m=F[2];if(null!==(j=c.userAgent.match(l))){c.engine={name:d,version:k(j[1],m)};break}}for(r=0;r<v.length;r++){l=(F=v[r])[0];var F,j,y=F[1];m=F[2];if(null!==(j=c.userAgent.match(l))){c.browser={name:y,version:k(j[1],m)};break}}if(c.crossPlatformFramework===i.ReactNative)try{s=(M=require("react-native").Platform).OS;var O=E(x=""+M.Version);switch(s){case"android":c.os={name:e.Android,version:T(O,x)};break;case"ios":c.os={name:e.iOS,version:x};break;case"windows":c.os={name:e.Windows,version:h(O,x)};break;case"macos":c.os={name:e.MacOS,version:x}}}catch(e){}if(c.isNode)try{var x,M=(s=require("os")).platform();O=E(x=s.release());switch(M){case"win32":c.os={name:e.Windows,version:h(O,x)};break;case"darwin":c.os={name:e.MacOS,version:p(O,x)};break;case"android":c.os={name:e.Android,version:x};break;case"linux":/android/i.test(x)&&(c.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&&(u++,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,l=r.platform,s=c.browser.name,u=null,m=0;m<i.length;m++){var d=null==(v=i[m])?{brand:"",version:""}:"string"==typeof v?{brand:v,version:""}:{brand:v.brand,version:v.version},g=d.version,f=d.brand;/not.a.brand/i.test(f)||((null===u||/Chrom/.test(u)&&"Chromium"!==f||"Edge"===u&&/WebView2/.test(f))&&(f=a[f]||f,null!==(u=s)&&!/Chrom/.test(u)&&/Chrom/.test(f)||("Chrome"===(s=f)||"Chrome WebView"===s||"Chrome Headless"===s?c.browser.name=o.Chrome:"Edge"===s||"Edge WebView2"===s?c.browser.name=o.Edge:"Opera Mobi"===s&&(c.browser.name=o.Opera),c.browser.version=g),u=f),"Chromium"===f&&(c.engine.version=g))}"string"==typeof t&&(c.os.name===e.Windows?c.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":c.os.version=t),"string"==typeof l&&(/android/i.test(l)?c.os.name=e.Android:/ios|iphone|ipad/i.test(l)?c.os.name=e.iOS:/windows|win32/i.test(l)?c.os.name=e.Windows:/macos|macintel/i.test(l)&&(c.os.name=e.MacOS)),!0===r.mobile&&(c.device=n.Mobile)}catch(e){}finally{b()}var v}))),w()}();var j={get enabled(){return function(){if(c.crossPlatformFramework===i.Electron)try{return"function"==typeof require("electron").BrowserWindow.prototype.setFullScreen}catch(e){return!1}if(null===C){if(c.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[C.enabled];return"boolean"==typeof t?t:void 0!==globalThis.document[C.element]}()},get element(){return P()},get isFullscreen(){return N()},request:q,exit:I,toggle:function(e,n){return N()?I():q(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]()}}},y=null,O=null,x=null,M=!1,C=function(){if(c.crossPlatformFramework===i.Electron)return null;var e=globalThis.document.documentElement;if("fullscreenEnabled"in globalThis.document||"exitFullscreen"in globalThis.document)return A.standard;for(var n=["webkit","moz","ms"],r=0;r<n.length;r++){var o=n[r],t=A[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:A.webkit.events};return"webkitRequestFullScreen"in e&&(a.request="webkitRequestFullScreen"),a}return null}(),A={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 L(){null!==x&&(null!==O&&(O.fullScreenable=x.fullScreenable,O.autoHideMenuBar=x.autoHideMenuBar),x=null),O=null}function W(){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(c.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()||c.os.name===e.MacOS&&"function"==typeof o.isSimpleFullScreen&&o.isSimpleFullScreen())return o}return null}catch(e){return null}}if(null===C)return y&&y.webkitDisplayingFullscreen?y:null;var t=globalThis.document[C.element];return null!=t?t:null}function N(){return null!==P()}function q(n,r){if(void 0===n&&(n=function(){if(c.crossPlatformFramework===i.Electron){var n=require("electron").BrowserWindow,r=n.getFocusedWindow()||n.getAllWindows()[0];if(void 0===r)throw new Error;return r}if(c.os.name===e.iOS){var o=globalThis.document.querySelector("video");if(null===o)throw new Error;return o}return globalThis.document.documentElement}()),c.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!==C){var t=n[C.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(){c.os.name===e.iOS?l():i()})):void o()}catch(n){if(c.os.name!==e.iOS)return void i()}}function l(){if(c.os.name===e.iOS&&"VIDEO"===n.tagName.toUpperCase()){var r=n;if(r.webkitSupportsFullscreen&&"function"==typeof r.webkitEnterFullscreen)return y=r,W(),r.webkitEnterFullscreen(),void o()}i()}l()}))}function I(){return c.crossPlatformFramework===i.Electron?new Promise((function(e,n){try{if(null!==O)O.setFullScreen(!1),L();else{var r=P();null!==r&&r.setFullScreen(!1)}e()}catch(e){n()}})):new Promise((function(n,r){if(null!==C){var o=globalThis.document[C.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(c.os.name===e.iOS&&null!==y){if("function"==typeof y.webkitExitFullscreen&&!0===y.webkitDisplayingFullscreen)return y.webkitExitFullscreen(),y=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()}))}!function(){if(!M){M=!0;var n=!1;if(c.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,m()})),n.on("leave-full-screen",(function(){L(),m()}))},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,m()})),n.on("leave-full-screen",(function(){L(),m()}))}))}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],m,!1);for(a=0;a<s.length;a++)void 0!==globalThis.document&&globalThis.document.addEventListener(s[a],d,!1);if(c.os.name===e.iOS)if(W(),void 0!==globalThis.MutationObserver)new MutationObserver((function(){W()})).observe(globalThis.document.documentElement,{childList:!0,subtree:!0})}function u(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 m(){u("fullscreenchange")}function d(){u("fullscreenerror")}}();var R={installed:!1,name:"Fullscreen",module:j,Constants:{},Errors:{}};module.exports=R;