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
@@ -74,6 +74,14 @@
74
74
  CrossPlatformFramework["Cordova"] = "Cordova";
75
75
  })(CrossPlatformFramework || (CrossPlatformFramework = {}));
76
76
  var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
77
+ var HIGH_ENTROPY_BRAND_NAME_MAP = {
78
+ 'Google Chrome': 'Chrome',
79
+ 'Microsoft Edge': 'Edge',
80
+ 'Microsoft Edge WebView2': 'Edge WebView2',
81
+ 'Android WebView': 'Chrome WebView',
82
+ 'HeadlessChrome': 'Chrome Headless',
83
+ 'OperaMobile': 'Opera Mobi',
84
+ };
77
85
 
78
86
  var readyState = 'loading';
79
87
  var readyCallback = [];
@@ -87,11 +95,8 @@
87
95
  get readyState() {
88
96
  return readyState;
89
97
  },
90
- get network() {
91
- return getNetwork();
92
- },
93
- get dimension() {
94
- return getDimension();
98
+ get locale() {
99
+ return getLocale();
95
100
  },
96
101
  get device() {
97
102
  if (this.os.name === OS.iOS || this.os.name === OS.Android)
@@ -103,17 +108,11 @@
103
108
  get renderer() {
104
109
  return getRenderer();
105
110
  },
106
- get isMobile() {
107
- return this.device === Devices.Mobile;
108
- },
109
- get isDesktop() {
110
- return this.device === Devices.Desktop;
111
- },
112
111
  get isWebview() {
113
112
  return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
114
113
  },
115
114
  get isNode() {
116
- return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
115
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.node !== 'undefined';
117
116
  },
118
117
  get isStandalone() {
119
118
  if (this.os.name === OS.iOS)
@@ -135,6 +134,33 @@
135
134
  }
136
135
  }
137
136
  };
137
+ function resolveWindowsVersion(string) {
138
+ if (typeof string === 'undefined')
139
+ return '';
140
+ var mapped = {
141
+ '4.90': 'ME',
142
+ 'NT3.51': 'NT 3.11',
143
+ 'NT4.0': 'NT 4.0',
144
+ 'NT 5.0': '2000',
145
+ 'NT 5.1': 'XP',
146
+ 'NT 5.2': 'XP',
147
+ 'NT 6.0': 'Vista',
148
+ 'NT 6.1': '7',
149
+ 'NT 6.2': '8',
150
+ 'NT 6.3': '8.1',
151
+ 'NT 6.4': '10',
152
+ 'NT 10.0': '10',
153
+ 'ARM': 'RT'
154
+ }[string];
155
+ if (typeof mapped !== 'undefined')
156
+ return mapped;
157
+ return string;
158
+ }
159
+ function resolveUnderscoreVersion(string) {
160
+ if (typeof string === 'undefined')
161
+ return '';
162
+ return string.replace(/_/g, '.');
163
+ }
138
164
  var OS_RESOLVER_MAP = [
139
165
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
140
166
  [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
@@ -193,14 +219,6 @@
193
219
  [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
194
220
  [/firefox\/([\w.]+)/i, Browsers.Firefox],
195
221
  ];
196
- var HIGH_ENTROPY_BRAND_NAME_MAP = {
197
- 'Google Chrome': 'Chrome',
198
- 'Microsoft Edge': 'Edge',
199
- 'Microsoft Edge WebView2': 'Edge WebView2',
200
- 'Android WebView': 'Chrome WebView',
201
- 'HeadlessChrome': 'Chrome Headless',
202
- 'OperaMobile': 'Opera Mobi',
203
- };
204
222
  function incrementPendingTasks() {
205
223
  pendingTasks++;
206
224
  }
@@ -221,33 +239,6 @@
221
239
  readyCallback.length = 0;
222
240
  }
223
241
  }
224
- function resolveWindowsVersion(string) {
225
- if (string === undefined)
226
- return '';
227
- var mapped = {
228
- '4.90': 'ME',
229
- 'NT3.51': 'NT 3.11',
230
- 'NT4.0': 'NT 4.0',
231
- 'NT 5.0': '2000',
232
- 'NT 5.1': 'XP',
233
- 'NT 5.2': 'XP',
234
- 'NT 6.0': 'Vista',
235
- 'NT 6.1': '7',
236
- 'NT 6.2': '8',
237
- 'NT 6.3': '8.1',
238
- 'NT 6.4': '10',
239
- 'NT 10.0': '10',
240
- 'ARM': 'RT'
241
- }[string];
242
- if (mapped !== undefined)
243
- return mapped;
244
- return string;
245
- }
246
- function resolveUnderscoreVersion(string) {
247
- if (string === undefined)
248
- return '';
249
- return string.replace(/_/g, '.');
250
- }
251
242
  function resolveSemanticWindowsVersion(version, defaultValue) {
252
243
  if (version.major === 10 && version.minor === 0 && version.build >= 22000)
253
244
  return '11';
@@ -384,12 +375,12 @@
384
375
  return resolver(string);
385
376
  if (typeof resolver === 'string')
386
377
  return resolver;
387
- if (string === undefined)
378
+ if (typeof string === 'undefined')
388
379
  return '';
389
380
  return string;
390
381
  }
391
382
  function normalizeBrand(entry) {
392
- if (entry === null || entry === undefined)
383
+ if (entry === null || typeof entry === 'undefined')
393
384
  return { brand: '', version: '' };
394
385
  if (typeof entry === 'string')
395
386
  return { brand: entry, version: '' };
@@ -443,152 +434,127 @@
443
434
  return '';
444
435
  }
445
436
  }
446
- function getNetwork() {
447
- var network = {
448
- isOnline: null,
449
- effectiveType: null,
450
- type: null,
451
- downlink: null,
452
- rtt: null,
453
- saveData: null,
437
+ function normalizeLocale(locale) {
438
+ if (locale === null || typeof locale === 'undefined')
439
+ return locale;
440
+ if (locale.length === 0)
441
+ return null;
442
+ locale = locale.replace(/_/g, '-');
443
+ if (locale === 'C' || locale.toLowerCase() === 'posix')
444
+ return 'en-US';
445
+ if (locale.indexOf('.') !== -1)
446
+ return normalizeLocale(locale.split('.')[0]);
447
+ if (locale.indexOf('@') !== -1)
448
+ return normalizeLocale(locale.split('@')[0]);
449
+ var parts = locale.split('-');
450
+ if (parts.length === 0)
451
+ return null;
452
+ parts[0] = parts[0].toLowerCase();
453
+ if (parts.length > 1 && parts[1].length === 2)
454
+ parts[1] = parts[1].toUpperCase();
455
+ if (parts.length > 2 && parts[1].length === 4)
456
+ parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
457
+ return parts.join('-');
458
+ }
459
+ function getLocale() {
460
+ var locale = {
461
+ language: null,
462
+ languages: [],
463
+ timezone: null,
464
+ timezoneOffset: 0,
454
465
  };
455
- if (typeof globalThis.navigator !== 'undefined') {
456
- if (typeof globalThis.navigator.onLine !== 'undefined')
457
- network.isOnline = globalThis.navigator.onLine;
458
- var connection = globalThis.navigator.connection || globalThis.navigator.mozConnection || globalThis.navigator.webkitConnection;
459
- if (typeof connection !== 'undefined') {
460
- if (typeof connection.effectiveType !== 'undefined')
461
- network.effectiveType = connection.effectiveType;
462
- if (typeof connection.type !== 'undefined')
463
- network.type = connection.type;
464
- if (typeof connection.downlink !== 'undefined')
465
- network.downlink = connection.downlink;
466
- if (typeof connection.rtt !== 'undefined')
467
- network.rtt = connection.rtt;
468
- if (typeof connection.saveData !== 'undefined')
469
- network.saveData = connection.saveData;
470
- return network;
471
- }
466
+ function addLanguages(language) {
467
+ for (var i = 0; i < language.length; i++)
468
+ addLanguage(language[i]);
472
469
  }
473
- if (Platform.isNode) {
474
- try {
475
- var os = require('os');
476
- var networkInterfaces = os.networkInterfaces();
477
- var networkInterfaceNames = Object.keys(networkInterfaces);
478
- for (var i = 0; i < networkInterfaceNames.length; i++) {
479
- var name_1 = networkInterfaceNames[i];
480
- var networkInterface = networkInterfaces[name_1];
481
- for (var j = 0; j < networkInterface.length; j++) {
482
- var address = networkInterface[j];
483
- if (!address.internal && address.family === 'IPv4')
484
- network.isOnline = true;
485
- }
486
- if (network.isOnline)
487
- break;
488
- }
489
- }
490
- catch (_) {
470
+ function addLanguage(language) {
471
+ language = normalizeLocale(language);
472
+ if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
473
+ if (locale.language === null)
474
+ locale.language = language;
475
+ locale.languages.push(language);
491
476
  }
477
+ }
478
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
492
479
  try {
493
- var childProcess = require('child_process');
494
- if (Platform.os.name === OS.Windows) {
495
- try {
496
- var output = childProcess.execSync('netsh wlan show interfaces', { encoding: 'utf8', timeout: 5000 });
497
- if (output.includes('State') && output.includes('connected'))
498
- network.type = 'wifi';
499
- }
500
- catch (_) {
501
- }
502
- if (network.type === null) {
503
- try {
504
- var output = childProcess.execSync('ipconfig', { encoding: 'utf8', timeout: 5000 });
505
- if (output.includes('Ethernet adapter'))
506
- network.type = 'ethernet';
507
- }
508
- catch (_) {
480
+ var reactNative = require('react-native');
481
+ var nativeModules = reactNative.NativeModules;
482
+ if (typeof nativeModules.SettingsManager !== 'undefined') {
483
+ var settingManager = nativeModules.SettingsManager;
484
+ if (typeof settingManager !== 'undefined') {
485
+ var constant = typeof settingManager.getConstants === 'function'
486
+ ? settingManager.getConstants()
487
+ : settingManager;
488
+ if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
489
+ var settings = constant.settings;
490
+ if (typeof settings.AppleLocale === 'string')
491
+ addLanguage(settings.AppleLocale);
492
+ if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
493
+ addLanguages(settings.AppleLanguages);
509
494
  }
510
495
  }
511
- if (network.type === null)
512
- network.type = 'other';
513
496
  }
514
- else if (Platform.os.name === OS.MacOS) {
515
- try {
516
- var output = childProcess.execSync('networksetup -listallhardwareports', { encoding: 'utf8', timeout: 5000 });
517
- var activeInterface = childProcess.execSync('route -n get default | grep interface', { encoding: 'utf8', timeout: 5000 });
518
- if (activeInterface.includes('en0') && output.includes('Wi-Fi'))
519
- network.type = 'wifi';
520
- else if (activeInterface.includes('en') || output.includes('Ethernet'))
521
- network.type = 'ethernet';
522
- else
523
- network.type = 'other';
524
- }
525
- catch (_) {
526
- network.type = 'other';
497
+ if (typeof nativeModules.I18nManager !== 'undefined') {
498
+ var i18nManager = nativeModules.I18nManager;
499
+ if (typeof i18nManager !== 'undefined') {
500
+ var constant = typeof i18nManager.getConstants === 'function'
501
+ ? i18nManager.getConstants()
502
+ : i18nManager;
503
+ if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
504
+ addLanguage(constant.localeIdentifier);
527
505
  }
528
506
  }
529
507
  }
530
508
  catch (_) {
531
509
  }
532
510
  }
533
- return network;
534
- }
535
- function getDimension() {
536
- var dimension = {
537
- innerWidth: -1,
538
- innerHeight: -1,
539
- outerWidth: -1,
540
- outerHeight: -1,
541
- scale: 1,
542
- };
543
- if (typeof globalThis.innerWidth !== 'undefined') {
544
- dimension.innerWidth = globalThis.innerWidth;
545
- dimension.innerHeight = globalThis.innerHeight;
546
- dimension.outerWidth = globalThis.outerWidth;
547
- dimension.outerHeight = globalThis.outerHeight;
548
- dimension.scale = globalThis.devicePixelRatio || 1;
549
- return dimension;
550
- }
551
- if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
511
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
552
512
  try {
553
- var reactNative = require('react-native');
554
- var dimensions = reactNative.Dimensions;
555
- var pixelRatio = reactNative.PixelRatio;
556
- var screenDimensions = dimensions.get('screen');
557
- var windowDimensions = dimensions.get('window');
558
- dimension.innerWidth = screenDimensions.width;
559
- dimension.innerHeight = screenDimensions.height;
560
- dimension.outerWidth = windowDimensions.width;
561
- dimension.outerHeight = windowDimensions.height;
562
- dimension.scale = pixelRatio.get();
563
- return dimension;
513
+ var electron = require('electron');
514
+ var app = electron.app;
515
+ if (typeof app.getLocale !== 'undefined')
516
+ addLanguage(app.getLocale());
517
+ if (typeof app.getSystemLocale !== 'undefined')
518
+ addLanguage(app.getSystemLocale());
519
+ if (typeof app.getPreferredSystemLanguages !== 'undefined')
520
+ addLanguages(app.getPreferredSystemLanguages());
564
521
  }
565
522
  catch (_) {
566
523
  }
567
524
  }
568
- if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
525
+ if (typeof Intl !== 'undefined') {
569
526
  try {
570
- var electron = require('electron');
571
- var screen_1 = electron.screen;
572
- var browserWindow = electron.BrowserWindow;
573
- var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
574
- if (focusedWindow !== undefined) {
575
- var contentSize = focusedWindow.getContentSize();
576
- var size = focusedWindow.getSize();
577
- dimension.innerWidth = contentSize[0];
578
- dimension.innerHeight = contentSize[1];
579
- dimension.outerWidth = size[0];
580
- dimension.outerHeight = size[1];
581
- dimension.scale = screen_1.getDisplayMatching(focusedWindow.getBounds()).scaleFactor;
582
- }
583
- return dimension;
527
+ addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
584
528
  }
585
529
  catch (_) {
586
530
  }
531
+ try {
532
+ locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
533
+ }
534
+ catch (_) {
535
+ }
536
+ }
537
+ if (typeof globalThis.navigator !== 'undefined') {
538
+ if (typeof globalThis.navigator.languages !== 'undefined')
539
+ addLanguages(globalThis.navigator.languages);
540
+ if (typeof globalThis.navigator.language !== 'undefined')
541
+ addLanguage(globalThis.navigator.language);
542
+ if (typeof globalThis.navigator.userLanguage !== 'undefined')
543
+ addLanguage(globalThis.navigator.userLanguage);
544
+ if (typeof globalThis.navigator.browserLanguage !== 'undefined')
545
+ addLanguage(globalThis.navigator.browserLanguage);
546
+ if (typeof globalThis.navigator.systemLanguage !== 'undefined')
547
+ addLanguage(globalThis.navigator.systemLanguage);
587
548
  }
588
- return dimension;
549
+ try {
550
+ locale.timezoneOffset = new Date().getTimezoneOffset();
551
+ }
552
+ catch (_) {
553
+ }
554
+ return locale;
589
555
  }
590
556
  function init() {
591
- if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
557
+ if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.electron !== 'undefined') || (/ electron\//i.test(USER_AGENT)))
592
558
  Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
593
559
  if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
594
560
  Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
@@ -784,8 +750,7 @@
784
750
  finally {
785
751
  decrementPendingTasks();
786
752
  }
787
- })
788
- .catch(decrementPendingTasks);
753
+ });
789
754
  }
790
755
  checkReady();
791
756
  }
@@ -876,13 +841,11 @@
876
841
  function getDefaultTarget() {
877
842
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
878
843
  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)
844
+ var browserWindow = electron.BrowserWindow;
845
+ var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
846
+ if (typeof focusedWindow === 'undefined')
884
847
  throw new Error();
885
- return allWindows[0];
848
+ return focusedWindow;
886
849
  }
887
850
  if (Platform.os.name === OS.iOS) {
888
851
  var video = globalThis.document.querySelector('video');
@@ -894,8 +857,10 @@
894
857
  }
895
858
  function restoreElectronBrowserWindowOptions() {
896
859
  if (lastElectronBrowserWindowOptions !== null) {
897
- lastElectronBrowserWindow.fullScreenable = lastElectronBrowserWindowOptions.fullScreenable;
898
- lastElectronBrowserWindow.autoHideMenuBar = lastElectronBrowserWindowOptions.autoHideMenuBar;
860
+ if (lastElectronBrowserWindow !== null) {
861
+ lastElectronBrowserWindow.fullScreenable = lastElectronBrowserWindowOptions.fullScreenable;
862
+ lastElectronBrowserWindow.autoHideMenuBar = lastElectronBrowserWindowOptions.autoHideMenuBar;
863
+ }
899
864
  lastElectronBrowserWindowOptions = null;
900
865
  }
901
866
  lastElectronBrowserWindow = null;
@@ -924,7 +889,8 @@
924
889
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
925
890
  try {
926
891
  var electron = require('electron');
927
- var allWindows = electron.BrowserWindow.getAllWindows();
892
+ var browserWindow = electron.BrowserWindow;
893
+ var allWindows = browserWindow.getAllWindows();
928
894
  var _loop_1 = function (i) {
929
895
  var currentWindow = allWindows[i];
930
896
  currentWindow.on('enter-full-screen', function () {
@@ -939,8 +905,8 @@
939
905
  for (var i = 0; i < allWindows.length; i++) {
940
906
  _loop_1(i);
941
907
  }
942
- if (typeof electron.BrowserWindow.on === 'function') {
943
- electron.BrowserWindow.on('browser-window-created', function (_, currentWindow) {
908
+ if (typeof browserWindow.on === 'function') {
909
+ browserWindow.on('browser-window-created', function (_, currentWindow) {
944
910
  currentWindow.on('enter-full-screen', function () {
945
911
  lastElectronBrowserWindow = currentWindow;
946
912
  emitChange();
@@ -994,7 +960,8 @@
994
960
  if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
995
961
  try {
996
962
  var electron = require('electron');
997
- return typeof electron.BrowserWindow.prototype.setFullScreen === 'function';
963
+ var browserWindow = electron.BrowserWindow;
964
+ return typeof browserWindow.prototype.setFullScreen === 'function';
998
965
  }
999
966
  catch (_) {
1000
967
  return false;
@@ -1022,7 +989,8 @@
1022
989
  return lastElectronBrowserWindow;
1023
990
  try {
1024
991
  var electron = require('electron');
1025
- var allWindows = electron.BrowserWindow.getAllWindows();
992
+ var browserWindow = electron.BrowserWindow;
993
+ var allWindows = browserWindow.getAllWindows();
1026
994
  for (var i = 0; i < allWindows.length; i++) {
1027
995
  var currentWindow = allWindows[i];
1028
996
  if (currentWindow.isFullScreen() || (Platform.os.name === OS.MacOS && typeof currentWindow.isSimpleFullScreen === 'function' && currentWindow.isSimpleFullScreen()))
@@ -1040,7 +1008,7 @@
1040
1008
  return null;
1041
1009
  }
1042
1010
  var currentElement = globalThis.document[api.element];
1043
- if (currentElement !== null && currentElement !== undefined)
1011
+ if (currentElement !== null && typeof currentElement !== 'undefined')
1044
1012
  return currentElement;
1045
1013
  return null;
1046
1014
  }
@@ -1077,7 +1045,7 @@
1077
1045
  if (typeof method === 'function') {
1078
1046
  try {
1079
1047
  var result = method.call(target, options);
1080
- if (result !== undefined && typeof result.then === 'function') {
1048
+ if (typeof result !== 'undefined' && typeof result.then === 'function') {
1081
1049
  result
1082
1050
  .then(function () {
1083
1051
  resolve();
@@ -1145,7 +1113,7 @@
1145
1113
  var method = globalThis.document[api.exit];
1146
1114
  if (typeof method === 'function') {
1147
1115
  var result = method.call(globalThis.document);
1148
- if (result !== undefined && typeof result.then === 'function') {
1116
+ if (typeof result !== 'undefined' && typeof result.then === 'function') {
1149
1117
  result
1150
1118
  .then(function () {
1151
1119
  resolve();
@@ -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={"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 f=[[/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]],g=[[/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<f.length;r++){var l=(F=f[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<g.length;r++){l=(F=g[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},f=d.version,g=d.brand;/not.a.brand/i.test(g)||((null===u||/Chrom/.test(u)&&"Chromium"!==g||"Edge"===u&&/WebView2/.test(g))&&(g=a[g]||g,null!==(u=s)&&!/Chrom/.test(u)&&/Chrom/.test(g)||("Chrome"===(s=g)||"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=f),u=g),"Chromium"===g&&(c.engine.version=f))}"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()}))}return 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")}}(),{installed:!1,name:"Fullscreen",module:j,Constants:{},Errors:{}}}));
@@ -1,4 +1,4 @@
1
- import { ListenerEntry } from "../types";
1
+ import { ListenerEntry } from "../../../types/listener-entry";
2
2
  export declare enum Appearances {
3
3
  Unknown = "unknown",
4
4
  Light = "light",
@@ -8,4 +8,4 @@ export declare const MEDIA_QUERY_LIST: MediaQueryList;
8
8
  export declare const SUPPORT_PREFERS_COLOR_SCHEME: boolean;
9
9
  export declare const CONTEXT: CanvasRenderingContext2D | null;
10
10
  export declare const SVG_PIXEL_DATA_URL: string;
11
- export declare const ENTRIES: ListenerEntry[];
11
+ export declare const ENTRIES: ListenerEntry<Appearances>[];
@@ -1,12 +1,6 @@
1
1
  import { Appearances } from "../constants";
2
- export declare interface ListenerEntry {
3
- fn: (appearance: Appearances) => any;
4
- capture: boolean;
5
- once: boolean;
6
- signal?: AbortSignal;
7
- }
8
2
  export declare interface AppearanceInstance {
9
- get value(): Promise<Appearances>;
3
+ get value(): Appearances;
10
4
  set value(appearances: Exclude<Appearances, Appearances.Unknown>);
11
5
  onchange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
12
6
  }