native-fn 1.0.41 → 1.0.43

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 (78) hide show
  1. package/dist/native.cjs +380 -1
  2. package/dist/native.min.cjs +1 -1
  3. package/dist/native.min.mjs +1 -1
  4. package/dist/native.mjs +380 -1
  5. package/dist/native.umd.js +380 -1
  6. package/dist/native.umd.min.js +1 -1
  7. package/dist/plugin/app/index.cjs +262 -98
  8. package/dist/plugin/app/index.d.ts +18 -0
  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 +262 -98
  12. package/dist/plugin/app/index.umd.js +262 -98
  13. package/dist/plugin/app/index.umd.min.js +1 -1
  14. package/dist/plugin/app/src/constants/platform.d.ts +21 -12
  15. package/dist/plugin/app/src/types/platform.d.ts +17 -0
  16. package/dist/plugin/app/src/utils/create-custom-error.d.ts +5 -0
  17. package/dist/plugin/app/src/utils/create-hidden-element.d.ts +1 -1
  18. package/dist/plugin/app/src/utils/dynamic-import.d.ts +1 -0
  19. package/dist/plugin/camera/index.cjs +248 -86
  20. package/dist/plugin/camera/index.min.cjs +1 -1
  21. package/dist/plugin/camera/index.min.mjs +1 -1
  22. package/dist/plugin/camera/index.mjs +248 -86
  23. package/dist/plugin/camera/index.umd.js +248 -86
  24. package/dist/plugin/camera/index.umd.min.js +1 -1
  25. package/dist/plugin/camera/src/constants/platform.d.ts +21 -12
  26. package/dist/plugin/camera/src/types/platform.d.ts +17 -0
  27. package/dist/plugin/camera/src/utils/create-custom-error.d.ts +5 -0
  28. package/dist/plugin/camera/src/utils/create-hidden-element.d.ts +1 -1
  29. package/dist/plugin/camera/src/utils/dynamic-import.d.ts +1 -0
  30. package/dist/plugin/clipboard/index.cjs +7 -4
  31. package/dist/plugin/clipboard/index.min.cjs +1 -1
  32. package/dist/plugin/clipboard/index.min.mjs +1 -1
  33. package/dist/plugin/clipboard/index.mjs +7 -4
  34. package/dist/plugin/clipboard/index.umd.js +7 -4
  35. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  36. package/dist/plugin/clipboard/src/constants/platform.d.ts +21 -12
  37. package/dist/plugin/clipboard/src/types/platform.d.ts +17 -0
  38. package/dist/plugin/clipboard/src/utils/create-custom-error.d.ts +5 -0
  39. package/dist/plugin/clipboard/src/utils/create-hidden-element.d.ts +1 -1
  40. package/dist/plugin/clipboard/src/utils/dynamic-import.d.ts +1 -0
  41. package/dist/plugin/fullscreen/index.cjs +241 -82
  42. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  43. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  44. package/dist/plugin/fullscreen/index.mjs +241 -82
  45. package/dist/plugin/fullscreen/index.umd.js +241 -82
  46. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  47. package/dist/plugin/fullscreen/src/constants/platform.d.ts +21 -12
  48. package/dist/plugin/fullscreen/src/types/platform.d.ts +17 -0
  49. package/dist/plugin/fullscreen/src/utils/create-custom-error.d.ts +5 -0
  50. package/dist/plugin/fullscreen/src/utils/create-hidden-element.d.ts +1 -1
  51. package/dist/plugin/fullscreen/src/utils/dynamic-import.d.ts +1 -0
  52. package/dist/plugin/platform/index.cjs +7 -7
  53. package/dist/plugin/platform/index.d.ts +18 -0
  54. package/dist/plugin/platform/index.min.cjs +1 -1
  55. package/dist/plugin/platform/index.min.mjs +1 -1
  56. package/dist/plugin/platform/index.mjs +7 -7
  57. package/dist/plugin/platform/index.umd.js +7 -7
  58. package/dist/plugin/platform/index.umd.min.js +1 -1
  59. package/dist/plugin/platform/src/constants/platform.d.ts +19 -0
  60. package/dist/plugin/platform/src/utils/create-custom-error.d.ts +5 -0
  61. package/dist/plugin/platform/src/utils/dynamic-import.d.ts +1 -0
  62. package/dist/plugin/theme/index.cjs +252 -91
  63. package/dist/plugin/theme/index.min.cjs +1 -1
  64. package/dist/plugin/theme/index.min.mjs +1 -1
  65. package/dist/plugin/theme/index.mjs +252 -91
  66. package/dist/plugin/theme/index.umd.js +252 -91
  67. package/dist/plugin/theme/index.umd.min.js +1 -1
  68. package/dist/plugin/theme/src/constants/platform.d.ts +21 -12
  69. package/dist/plugin/theme/src/types/platform.d.ts +17 -0
  70. package/dist/plugin/theme/src/utils/create-custom-error.d.ts +5 -0
  71. package/dist/plugin/theme/src/utils/create-hidden-element.d.ts +1 -1
  72. package/dist/plugin/theme/src/utils/dynamic-import.d.ts +1 -0
  73. package/dist/src/constants/platform.d.ts +21 -12
  74. package/dist/src/types/platform.d.ts +17 -0
  75. package/dist/src/utils/create-custom-error.d.ts +5 -0
  76. package/dist/src/utils/create-hidden-element.d.ts +1 -1
  77. package/dist/src/utils/dynamic-import.d.ts +1 -0
  78. package/package.json +1 -8
@@ -19,7 +19,23 @@
19
19
  MessengerType["Mail"] = "mail";
20
20
  })(MessengerType || (MessengerType = {}));
21
21
 
22
- var USER_AGENT = navigator.userAgent;
22
+ function dynamicImport(moduleName) {
23
+ if ('require' in globalThis && typeof globalThis.require === 'function') {
24
+ try {
25
+ return Promise.resolve(globalThis.require(moduleName));
26
+ }
27
+ catch (_) {
28
+ return Promise.resolve(null);
29
+ }
30
+ }
31
+ return import(moduleName)
32
+ .then(function (module) {
33
+ return (module.default || module);
34
+ })
35
+ .catch(function () {
36
+ return Promise.resolve(null);
37
+ });
38
+ }
23
39
 
24
40
  var OS;
25
41
  (function (OS) {
@@ -60,48 +76,22 @@
60
76
  Browsers["IE"] = "IE";
61
77
  Browsers["SamsungInternet"] = "SamsungInternet";
62
78
  })(Browsers || (Browsers = {}));
63
- var DEVICE_NAME = Devices.Unknown;
64
- var OS_NAME = OS.Unknown;
65
- var OS_VERSION = '';
66
- Engines.Unknown;
67
- var BROWSER_NAME = Browsers.Unknown;
68
- var BROWSER_VERSION = '';
69
- function resolveWindowsVersion(string) {
70
- if (string === undefined)
71
- return '';
72
- var mapped = {
73
- '4.90': 'ME',
74
- 'NT3.51': 'NT 3.11',
75
- 'NT4.0': 'NT 4.0',
76
- 'NT 5.0': '2000',
77
- 'NT 5.1': 'XP',
78
- 'NT 5.2': 'XP',
79
- 'NT 6.0': 'Vista',
80
- 'NT 6.1': '7',
81
- 'NT 6.2': '8',
82
- 'NT 6.3': '8.1',
83
- 'NT 6.4': '10',
84
- 'NT 10.0': '10',
85
- 'ARM': 'RT'
86
- }[string];
87
- if (mapped !== undefined)
88
- return mapped;
89
- return string;
90
- }
91
- function resolveUnderscoreVersion(string) {
92
- if (string === undefined)
93
- return '';
94
- return string.replace(/_/g, '.');
95
- }
96
- function resolveVersion(string, resolver) {
97
- if (typeof resolver === 'function')
98
- return resolver(string);
99
- if (typeof resolver === 'string')
100
- return resolver;
101
- if (string === undefined)
102
- return '';
103
- return string;
104
- }
79
+ var Platform = {
80
+ device: Devices.Unknown,
81
+ os: OS.Unknown,
82
+ osVersion: '',
83
+ engine: Engines.Unknown,
84
+ engineVersion: '',
85
+ browser: Browsers.Unknown,
86
+ browserVersion: '',
87
+ renderer: getRenderer(),
88
+ userAgent: navigator.userAgent,
89
+ isWebview: false,
90
+ isMobile: false,
91
+ isDesktop: false,
92
+ isStandalone: false,
93
+ isNodeJS: getIsNode(),
94
+ };
105
95
  var OS_RESOLVER_MAP = [
106
96
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
107
97
  [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
@@ -160,30 +150,115 @@
160
150
  [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
161
151
  [/firefox\/([\w.]+)/i, Browsers.Firefox],
162
152
  ];
153
+ function resolveWindowsVersion(string) {
154
+ if (string === undefined)
155
+ return '';
156
+ var mapped = {
157
+ '4.90': 'ME',
158
+ 'NT3.51': 'NT 3.11',
159
+ 'NT4.0': 'NT 4.0',
160
+ 'NT 5.0': '2000',
161
+ 'NT 5.1': 'XP',
162
+ 'NT 5.2': 'XP',
163
+ 'NT 6.0': 'Vista',
164
+ 'NT 6.1': '7',
165
+ 'NT 6.2': '8',
166
+ 'NT 6.3': '8.1',
167
+ 'NT 6.4': '10',
168
+ 'NT 10.0': '10',
169
+ 'ARM': 'RT'
170
+ }[string];
171
+ if (mapped !== undefined)
172
+ return mapped;
173
+ return string;
174
+ }
175
+ function resolveUnderscoreVersion(string) {
176
+ if (string === undefined)
177
+ return '';
178
+ return string.replace(/_/g, '.');
179
+ }
180
+ function resolveVersion(string, resolver) {
181
+ if (typeof resolver === 'function')
182
+ return resolver(string);
183
+ if (typeof resolver === 'string')
184
+ return resolver;
185
+ if (string === undefined)
186
+ return '';
187
+ return string;
188
+ }
189
+ function normalizeBrand(entry) {
190
+ if (entry === null || entry === undefined)
191
+ return { brand: '', version: '' };
192
+ if (typeof entry === 'string')
193
+ return { brand: entry, version: '' };
194
+ return { brand: entry.brand, version: entry.version };
195
+ }
196
+ function getRenderer() {
197
+ if (typeof globalThis.document === 'undefined')
198
+ return '';
199
+ var canvas = globalThis.document.createElement('canvas');
200
+ if (typeof canvas.getContext !== 'function')
201
+ return '';
202
+ var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
203
+ if (context === null)
204
+ return '';
205
+ if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
206
+ var extension = context.getExtension('WEBGL_debug_renderer_info');
207
+ if (extension === null)
208
+ return context.getParameter(context.RENDERER);
209
+ else
210
+ return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
211
+ }
212
+ else {
213
+ return '';
214
+ }
215
+ }
216
+ function getIsStandalone(os) {
217
+ if (!('matchMedia' in globalThis))
218
+ return false;
219
+ if (os === OS.iOS)
220
+ return 'standalone' in navigator && !!navigator.standalone;
221
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
222
+ }
223
+ function getIsWebview() {
224
+ return /; ?wv|applewebkit(?!.*safari)/i.test(Platform.userAgent);
225
+ }
226
+ function getIsNode() {
227
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
228
+ }
229
+ function getNodeOSVersion(string) {
230
+ var parts = string.split('.');
231
+ return {
232
+ major: parseInt(parts[0] || '0'),
233
+ minor: parseInt(parts[1] || '0'),
234
+ build: parseInt(parts[2] || '0')
235
+ };
236
+ }
163
237
  for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
164
238
  var map = OS_RESOLVER_MAP[i];
165
239
  var regexp = map[0];
166
240
  var os = map[1];
167
241
  var resolver = map[2];
168
- var matched = USER_AGENT.match(regexp);
242
+ var matched = Platform.userAgent.match(regexp);
169
243
  if (matched !== null) {
170
- OS_NAME = os;
171
- OS_VERSION = resolveVersion(matched[1], resolver);
244
+ Platform.os = os;
245
+ Platform.osVersion = resolveVersion(matched[1], resolver);
172
246
  if (os === OS.iOS || os === OS.Android)
173
- DEVICE_NAME = Devices.Mobile;
247
+ Platform.device = Devices.Mobile;
174
248
  else if (os === OS.Windows || os === OS.MacOS)
175
- DEVICE_NAME = Devices.Desktop;
249
+ Platform.device = Devices.Desktop;
176
250
  break;
177
251
  }
178
252
  }
179
253
  for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
180
254
  var map = ENGINE_RESOLVER_MAP[i];
181
255
  var regexp = map[0];
182
- map[1];
256
+ var engine = map[1];
183
257
  var resolver = map[2];
184
- var matched = USER_AGENT.match(regexp);
258
+ var matched = Platform.userAgent.match(regexp);
185
259
  if (matched !== null) {
186
- resolveVersion(matched[1], resolver);
260
+ Platform.engine = engine;
261
+ Platform.engineVersion = resolveVersion(matched[1], resolver);
187
262
  break;
188
263
  }
189
264
  }
@@ -192,42 +267,123 @@
192
267
  var regexp = map[0];
193
268
  var browser = map[1];
194
269
  var resolver = map[2];
195
- var matched = USER_AGENT.match(regexp);
270
+ var matched = Platform.userAgent.match(regexp);
196
271
  if (matched !== null) {
197
- BROWSER_NAME = browser;
198
- BROWSER_VERSION = resolveVersion(matched[1], resolver);
272
+ Platform.browser = browser;
273
+ Platform.browserVersion = resolveVersion(matched[1], resolver);
199
274
  break;
200
275
  }
201
276
  }
202
- ((function () {
203
- if (typeof globalThis.document === 'undefined')
204
- return '';
205
- var canvas = globalThis.document.createElement('canvas');
206
- if (typeof canvas.getContext !== 'function')
207
- return '';
208
- var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
209
- if (context === null)
210
- return '';
211
- if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
212
- var extension = context.getExtension('WEBGL_debug_renderer_info');
213
- if (extension === null)
214
- return context.getParameter(context.RENDERER);
215
- else
216
- return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
217
- }
218
- else {
219
- return '';
220
- }
221
- }))();
222
- DEVICE_NAME === Devices.Mobile;
223
- DEVICE_NAME === Devices.Desktop;
224
- ((function () {
225
- if (!('matchMedia' in globalThis))
226
- return false;
227
- if (OS_NAME === OS.iOS)
228
- return 'standalone' in navigator && !!navigator.standalone;
229
- return globalThis.matchMedia('(display-mode: standalone)').matches;
230
- }))();
277
+ if (Platform.isNodeJS) {
278
+ dynamicImport('os')
279
+ .then(function (os) {
280
+ if (os === null)
281
+ return;
282
+ var platform = os.platform();
283
+ var release = os.release();
284
+ var version = getNodeOSVersion(release);
285
+ switch (platform) {
286
+ case 'win32':
287
+ Platform.os = OS.Windows;
288
+ if (version.major === 10 && version.minor === 0 && version.build >= 22000)
289
+ Platform.osVersion = '11';
290
+ else if (version.major === 10 && version.minor === 0 && version.build < 22000)
291
+ Platform.osVersion = '10';
292
+ else if (version.major === 6 && version.minor === 3)
293
+ Platform.osVersion = '8.1';
294
+ else if (version.major === 6 && version.minor === 2)
295
+ Platform.osVersion = '8';
296
+ else if (version.major === 6 && version.minor === 1)
297
+ Platform.osVersion = '7';
298
+ else if (version.major === 6 && version.minor === 0)
299
+ Platform.osVersion = 'Vista';
300
+ else if (version.major === 5 && version.minor === 1)
301
+ Platform.osVersion = 'XP';
302
+ else if (version.major === 5 && version.minor === 2)
303
+ Platform.osVersion = 'XP';
304
+ else if (version.major === 5 && version.minor === 0)
305
+ Platform.osVersion = '2000';
306
+ else if (version.major === 4 && version.minor === 90)
307
+ Platform.osVersion = 'ME';
308
+ else if (version.major === 4 && version.minor === 0)
309
+ Platform.osVersion = 'NT 4.0';
310
+ else if (version.major === 3 && version.minor === 51)
311
+ Platform.osVersion = 'NT 3.11';
312
+ else
313
+ Platform.osVersion = release;
314
+ break;
315
+ case 'darwin':
316
+ Platform.os = OS.MacOS;
317
+ if (version.major >= 24)
318
+ Platform.osVersion = '' + (version.major - 9);
319
+ else if (version.major === 23)
320
+ Platform.osVersion = '14';
321
+ else if (version.major === 22)
322
+ Platform.osVersion = '13';
323
+ else if (version.major === 21)
324
+ Platform.osVersion = '12';
325
+ else if (version.major === 20)
326
+ Platform.osVersion = '11';
327
+ else if (version.major === 19)
328
+ Platform.osVersion = '10.15';
329
+ else if (version.major === 18)
330
+ Platform.osVersion = '10.14';
331
+ else if (version.major === 17)
332
+ Platform.osVersion = '10.13';
333
+ else if (version.major === 16)
334
+ Platform.osVersion = '10.12';
335
+ else if (version.major === 15)
336
+ Platform.osVersion = '10.11';
337
+ else if (version.major === 14)
338
+ Platform.osVersion = '10.10';
339
+ else if (version.major === 13)
340
+ Platform.osVersion = '10.9';
341
+ else if (version.major >= 5 && version.major <= 12)
342
+ Platform.osVersion = '10.' + (version.major - 4);
343
+ else
344
+ Platform.osVersion = release;
345
+ break;
346
+ case 'android':
347
+ Platform.os = OS.Android;
348
+ Platform.osVersion = release;
349
+ break;
350
+ case 'linux':
351
+ if (/android/i.test(release)) {
352
+ Platform.os = OS.Android;
353
+ Platform.osVersion = release;
354
+ }
355
+ break;
356
+ }
357
+ });
358
+ }
359
+ if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
360
+ navigator
361
+ .userAgentData
362
+ .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
363
+ .then(function (result) {
364
+ var brands = result.fullVersionList || result.brands || [];
365
+ var platformVersion = result.platformVersion;
366
+ for (var i = 0; i < brands.length; i++) {
367
+ var brand = normalizeBrand(brands[i]);
368
+ var brandName = brand.brand;
369
+ var brandVersion = brand.version;
370
+ if (/not.a.brand/i.test(brandName))
371
+ continue;
372
+ if (brandName === "Chromium")
373
+ Platform.engineVersion = brandVersion;
374
+ }
375
+ if (typeof platformVersion === 'string') {
376
+ if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
377
+ Platform.osVersion = '11';
378
+ else
379
+ Platform.osVersion = platformVersion;
380
+ }
381
+ });
382
+ }
383
+ Platform.isMobile = Platform.device === Devices.Mobile;
384
+ Platform.isDesktop = Platform.device === Devices.Desktop;
385
+ Platform.isWebview = getIsWebview();
386
+ Platform.isStandalone = getIsStandalone(Platform.os);
231
387
 
232
388
  function capitalize(match) {
233
389
  var groups = [];
@@ -402,6 +558,8 @@
402
558
 
403
559
  function createHiddenElement(tagName, focusable) {
404
560
  if (focusable === void 0) { focusable = true; }
561
+ if (typeof globalThis.document === 'undefined')
562
+ return undefined;
405
563
  var element = globalThis.document.createElement(tagName);
406
564
  if ('width' in element)
407
565
  element.width = '0';
@@ -485,6 +643,8 @@
485
643
  return;
486
644
  }
487
645
  a = createHiddenElement('a');
646
+ if (a === undefined)
647
+ return;
488
648
  a.href = url;
489
649
  document.body.appendChild(a);
490
650
  dispatchClickEvent(a, top);
@@ -506,6 +666,8 @@
506
666
  var iframe = undefined;
507
667
  try {
508
668
  iframe = createHiddenElement('iframe');
669
+ if (iframe === undefined)
670
+ return;
509
671
  iframe.src = url;
510
672
  top.document.body.appendChild(iframe);
511
673
  globalThis.setTimeout(function () {
@@ -575,6 +737,8 @@
575
737
  var input = undefined;
576
738
  try {
577
739
  input = createHiddenElement('input');
740
+ if (input === undefined)
741
+ return false;
578
742
  input.type = 'text';
579
743
  input.readOnly = true;
580
744
  document.body.appendChild(input);
@@ -610,8 +774,8 @@
610
774
  var document = top.document;
611
775
  var eventType = { focus: undefined, blur: undefined, visibilitychange: undefined };
612
776
  var eventTarget = { focus: undefined, blur: undefined, visibilitychange: undefined };
613
- if (OS_NAME === OS.iOS) {
614
- if (compareVersion(OS_VERSION, '8.0') >= 0) {
777
+ if (Platform.os === OS.iOS) {
778
+ if (compareVersion(Platform.osVersion, '8.0') >= 0) {
615
779
  eventTarget = { visibilitychange: document };
616
780
  eventType = { visibilitychange: 'visibilitychange' };
617
781
  }
@@ -864,7 +1028,7 @@
864
1028
  case OS.MacOS:
865
1029
  return 'macappstore://itunes.apple.com/app/id' + packageName + '?mt=12';
866
1030
  default:
867
- throw new URLOpenError('Unsupported OS: \"' + USER_AGENT + '\"');
1031
+ throw new URLOpenError('Unsupported OS: \"' + Platform.userAgent + '\"');
868
1032
  }
869
1033
  }
870
1034
  function createWebStoreURL(packageName, os) {
@@ -880,7 +1044,7 @@
880
1044
  case OS.MacOS:
881
1045
  return 'https://apps.apple.com/app/id' + packageName + '?mt=12';
882
1046
  default:
883
- throw new URLOpenError('Unsupported OS: \"' + USER_AGENT + '\"');
1047
+ throw new URLOpenError('Unsupported OS: \"' + Platform.userAgent + '\"');
884
1048
  }
885
1049
  }
886
1050
  function getDefaultTimeoutByOS(os) {
@@ -894,26 +1058,26 @@
894
1058
  }
895
1059
  }
896
1060
  function canOpenIntentURL() {
897
- if (OS_NAME !== OS.Android)
1061
+ if (Platform.os !== OS.Android)
898
1062
  return false;
899
- if (BROWSER_NAME === Browsers.SamsungInternet && compareVersion(BROWSER_VERSION, '17.0.1.69') >= 0 && compareVersion(BROWSER_VERSION, '17.0.7.34') < 0)
1063
+ if (Platform.browser === Browsers.SamsungInternet && compareVersion(Platform.browserVersion, '17.0.1.69') >= 0 && compareVersion(Platform.browserVersion, '17.0.7.34') < 0)
900
1064
  return false;
901
- if (BROWSER_NAME === Browsers.Firefox && compareVersion(BROWSER_VERSION, '41.0') < 0)
1065
+ if (Platform.browser === Browsers.Firefox && compareVersion(Platform.browserVersion, '41.0') < 0)
902
1066
  return false;
903
- if (BROWSER_NAME === Browsers.Firefox && compareVersion(BROWSER_VERSION, '58.0') >= 0 && compareVersion(BROWSER_VERSION, '68.11.0') < 0)
1067
+ if (Platform.browser === Browsers.Firefox && compareVersion(Platform.browserVersion, '58.0') >= 0 && compareVersion(Platform.browserVersion, '68.11.0') < 0)
904
1068
  return false;
905
- if (BROWSER_NAME === Browsers.Firefox && compareVersion(BROWSER_VERSION, '79.0') >= 0 && compareVersion(BROWSER_VERSION, '81.2.0') < 0)
1069
+ if (Platform.browser === Browsers.Firefox && compareVersion(Platform.browserVersion, '79.0') >= 0 && compareVersion(Platform.browserVersion, '81.2.0') < 0)
906
1070
  return false;
907
- if (BROWSER_NAME === Browsers.Firefox && compareVersion(BROWSER_VERSION, '96.0') >= 0 && compareVersion(BROWSER_VERSION, '107.0') < 0)
1071
+ if (Platform.browser === Browsers.Firefox && compareVersion(Platform.browserVersion, '96.0') >= 0 && compareVersion(Platform.browserVersion, '107.0') < 0)
908
1072
  return false;
909
- if (BROWSER_NAME === Browsers.Opera && compareVersion(BROWSER_VERSION, '14.0') < 0)
1073
+ if (Platform.browser === Browsers.Opera && compareVersion(Platform.browserVersion, '14.0') < 0)
910
1074
  return false;
911
- if (/(?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/[\w.]+;/i.test(USER_AGENT) || /instagram[\/ ][-\w.]+/i.test(USER_AGENT) || /micromessenger\/([\w.]+)/i.test(USER_AGENT) || /musical_ly(?:.+app_?version\/|_)[\w.]+/i.test(USER_AGENT) || /ultralite app_version\/[\w.]+/i.test(USER_AGENT))
1075
+ if (/(?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/[\w.]+;/i.test(Platform.userAgent) || /instagram[\/ ][-\w.]+/i.test(Platform.userAgent) || /micromessenger\/([\w.]+)/i.test(Platform.userAgent) || /musical_ly(?:.+app_?version\/|_)[\w.]+/i.test(Platform.userAgent) || /ultralite app_version\/[\w.]+/i.test(Platform.userAgent))
912
1076
  return false;
913
1077
  return true;
914
1078
  }
915
1079
  function canOpenUniversalURL() {
916
- return OS_NAME === OS.iOS && compareVersion(OS_VERSION, '9.0') >= 0;
1080
+ return Platform.os === OS.iOS && compareVersion(Platform.osVersion, '9.0') >= 0;
917
1081
  }
918
1082
  function getURLOpenError(tried) {
919
1083
  var triedUrlString = '';
@@ -924,7 +1088,7 @@
924
1088
  return new URLOpenError('Failed to open any of the provided URLs: ' + triedUrlString);
925
1089
  }
926
1090
  function open(options) {
927
- var os = OS_NAME;
1091
+ var os = Platform.os;
928
1092
  var urls = [];
929
1093
  var tried = [];
930
1094
  var timeout;
@@ -1164,7 +1328,7 @@
1164
1328
  + '?cc=' + options.cc
1165
1329
  + '&bcc=' + options.bcc
1166
1330
  + '&subject=' + options.subject
1167
- + '&body=' + options.body, 0, getDefaultTimeoutByOS(OS_NAME));
1331
+ + '&body=' + options.body, 0, getDefaultTimeoutByOS(Platform.os));
1168
1332
  }
1169
1333
  function openMessengerTelephone(options) {
1170
1334
  return openMessenger(options, 'tel');
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).App=t()}(this,(function(){"use strict";var e,t;!function(e){e[e.Scheme=0]="Scheme",e[e.Universal=1]="Universal",e[e.Intent=2]="Intent",e[e.Fallback=3]="Fallback",e[e.Store=4]="Store"}(e||(e={})),function(e){e.Telephone="telephone",e.Message="message",e.Mail="mail"}(t||(t={}));var n,i,r,o,a=navigator.userAgent;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(n||(n={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(i||(i={})),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={}));i.Unknown;var c=n.Unknown,l="";r.Unknown;var s=o.Unknown,d="";function u(e){if(void 0===e)return"";var t={"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!==t?t:e}function f(e){return void 0===e?"":e.replace(/_/g,".")}function p(e,t){return"function"==typeof t?t(e):"string"==typeof t?t:void 0===e?"":e}for(var v=[[/windows nt (6\.[23]); arm/i,n.Windows,u],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,u],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,u],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,u],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,u],[/windows ce\/?([\d.]*)/i,n.Windows,u],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,f],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,f],[/cfnetwork\/.+darwin/i,n.iOS,f],[/mac os x ?([\w. ]*)/i,n.MacOS,f],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,f],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],b=[[/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]],h=[[/\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]],m=0;m<v.length;m++){var w=(k=v[m])[0],y=k[1],g=k[2];if(null!==(S=a.match(w))){c=y,l=p(S[1],g),y===n.iOS||y===n.Android?i.Mobile:y!==n.Windows&&y!==n.MacOS||i.Desktop;break}}for(m=0;m<b.length;m++){w=(k=b[m])[0];k[1];g=k[2];if(null!==(S=a.match(w))){p(S[1],g);break}}for(m=0;m<h.length;m++){w=(k=h[m])[0];var k,S,T=k[1];g=k[2];if(null!==(S=a.match(w))){s=T,d=p(S[1],g);break}}function O(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i="",r=0;r<t.length-2;r++){var o=t[r];void 0!==o&&(i=i+o.charAt(0).toUpperCase()+o.slice(1))}return i}function E(){this.returnValue=!1}function x(){this.cancelBubble=!0}!function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var t=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===t)return"";if(t instanceof WebGLRenderingContext||"getParameter"in t&&"function"==typeof t.getParameter){var n=t.getExtension("WEBGL_debug_renderer_info");return null===n?t.getParameter(t.RENDERER):t.getParameter(n.UNMASKED_RENDERER_WEBGL)}}(),i.Mobile,i.Desktop,"matchMedia"in globalThis&&(c===n.iOS?"standalone"in navigator&&navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches);var M=/(animation)(start|iteration|end|cancel)|(transition)(start|run|end|cancel)|(fullscreen)(change|error)|(lost|got)(pointer)(capture)|(pointer)(lock)(change|error)|(pointer)(cancel|down|enter|leave|move|out|over|up)/i,W=["","webkit","moz","ms","MS","o","O"],_={wheel:["wheel","mousewheel","DOMMouseScroll"],focus:["focus","focusin"],blur:["blur","focusout"],beforeinput:["beforeinput","textInput"]},A={useStd:void 0!==globalThis.document&&"function"==typeof globalThis.document.addEventListener,add:function(e,t){void 0===t&&(t={callback:null,options:!1});var n=t.callback;if(void 0!==e&&null!==n){var i=A.withVender(e,t.type),r=t.options;if("function"==typeof e.addEventListener)try{return e.addEventListener(i,n,r)}catch(e){}if("function"==typeof e.addListener)if("boolean"==typeof e.matches)try{return e.addListener(n)}catch(e){}else try{return e.addListener(i,n)}catch(e){}return"function"==typeof e.attachEvent?n.__ieWrapper?e.attachEvent("on"+i,n.__ieWrapper):e.attachEvent("on"+i,n.__ieWrapper=function(t){void 0===t&&(t=globalThis.event),void 0!==t&&(t.currentTarget=e,"function"!=typeof t.preventDefault&&(t.preventDefault=E),"function"!=typeof t.stopPropagation&&(t.stopPropagation=x),"function"==typeof n?n.call(e,t):n&&"function"==typeof n.handleEvent&&n.handleEvent.call(e,t))}):void 0}},remove:function(e,t){void 0===t&&(t={callback:null,options:!1});var n=t.callback;if(void 0!==e&&null!==n){var i=A.withVender(e,t.type),r=t.options;if("function"==typeof e.removeEventListener)try{return e.removeEventListener(i,n,r)}catch(e){}if("function"==typeof e.removeListener)if("boolean"==typeof e.matches)try{return e.removeListener(n)}catch(e){}else try{return e.removeListener(i,n)}catch(e){}if("function"!=typeof e.detachEvent);else{var o=n.__ieWrapper;void 0!==o&&(e.detachEvent("on"+i,o),delete n.__ieWrapper)}}},withVender:function(e,t){if(void 0===t)return"";if("webkitEnterFullscreen"in e&&["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"].indexOf(t)>-1)return t;var n;n=t in _?_[t]:M.test(t)?[t,t.replace(M,O)]:[t];for(var i=0;i<W.length;i++)for(var r=0;r<n.length;r++){var o=W[i]+n[r];if(void 0!==e["on"+o])return o}return""}};function I(){try{if(globalThis.top&&globalThis.top!==window)return globalThis.top.location.href,globalThis.top}catch(e){}return window}function L(e,t){void 0===t&&(t=!0);var n=globalThis.document.createElement(e);return"width"in n&&(n.width="0"),"height"in n&&(n.height="0"),"border"in n&&(n.border="0"),"frameBorder"in n&&(n.frameBorder="0"),"scrolling"in n&&(n.scrolling="no"),"cellPadding"in n&&(n.cellPadding="0"),"cellSpacing"in n&&(n.cellSpacing="0"),"frame"in n&&(n.frame="void"),"rules"in n&&(n.rules="none"),"noWrap"in n&&(n.noWrap=!0),n.tabIndex=-1,n.setAttribute("role","presentation"),t?(n.style.width="1px",n.style.height="1px"):(n.setAttribute("aria-hidden","true"),n.style.width="0",n.style.height="0",n.style.zIndex="-9999",n.style.display="none",n.style.visibility="hidden",n.style.pointerEvents="none"),n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.padding="0",n.style.margin="0",n.style.border="none",n.style.outline="none",n.style.clip="rect(1px, 1px, 1px, 1px)",n.style.clipPath="inset(50%)",n.style.overflow="hidden",n.style.whiteSpace="nowrap",n}function F(e,t){for(var n=e.split("."),i=t.split("."),r=Math.max(n.length,i.length),o=0;o<r;o++){var a=void 0,c=void 0;if((a=o<n.length?parseInt(n[o],10):0)>(c=o<i.length?parseInt(i[o],10):0))return 1;if(a<c)return-1}return 0}function P(e,t){var n=I(),i=n.document,r=void 0;try{if(0===t)return void(n.location.href=e);(r=L("a")).href=e,i.body.appendChild(r),function(e,t){var n;void 0===t&&(t=window);try{n=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:t})}catch(e){(n=globalThis.document.createEvent("MouseEvents")).initMouseEvent("click",!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,null)}e.dispatchEvent(n)}(r,n)}catch(e){}finally{if(void 0!==r)try{i.body.removeChild(r)}catch(e){}}}function N(e){return"function"==typeof e.hasFocus&&e.hasFocus()}function U(e){try{e.focus({preventScroll:!0})}catch(t){try{e.focus()}catch(e){}}}function C(e,t,i){var r=I(),o=r.document,a={focus:void 0,blur:void 0,visibilitychange:void 0},s={focus:void 0,blur:void 0,visibilitychange:void 0};return c===n.iOS?F(l,"8.0")>=0?(s={visibilitychange:o},a={visibilitychange:"visibilitychange"}):(s={focus:r,blur:r},a={focus:"pageshow",blur:"pagehide"}):A.useStd?(s={focus:r,blur:r,visibilitychange:o},a={focus:"focus",blur:"blur",visibilitychange:"visibilitychange"}):(s={focus:o,blur:o,visibilitychange:o},a={focus:"focus",blur:"blur",visibilitychange:"visibilitychange"}),new Promise((function(n,r){var c,l=!1;function d(e){if(!l){l=!0;try{!function(){void 0!==c&&(clearTimeout(c),c=void 0);try{A.remove(s.blur,{type:a.blur,callback:u}),A.remove(s.focus,{type:a.focus,callback:f}),A.remove(s.visibilitychange,{type:a.visibilitychange,callback:p})}catch(e){}}(),e?n():r()}catch(e){n()}}}function u(){void 0!==c&&(clearTimeout(c),c=void 0),A.remove(s.blur,{type:a.blur,callback:u}),A.add(s.focus,{type:a.focus,callback:f})}function f(){d(!0)}function p(){(function(){var e=I().document;return"hidden"===e.visibilityState||"hidden"===e.webkitVisibilityState||"hidden"===e.mozVisibilityState||"hidden"===e.msVisibilityState||(void 0!==e.hidden?e.hidden:void 0!==e.webkitHidden?e.webkitHidden:void 0!==e.mozHidden?e.mozHidden:void 0!==e.msHidden?e.msHidden:"function"!=typeof e.hasFocus||!e.hasFocus())})()&&d(!0)}c=globalThis.setTimeout((function(){d(!1)}),i),A.add(s.blur,{type:a.blur,callback:u}),A.add(s.visibilitychange,{type:a.visibilitychange,callback:p}),N(o)||function(){var e=I(),t=e.document;if(U(e),N(t))return!0;if(t.body.tabIndex<0&&(t.body.tabIndex=-1),U(t.body),N(t))return!0;var n=void 0;try{(n=L("input")).type="text",n.readOnly=!0,t.body.appendChild(n),U(n);try{n.select()}catch(e){}if(N(t))return!0}catch(e){}finally{if(void 0!==n){try{n.blur()}catch(e){}try{t.body.removeChild(n)}catch(e){}}}N(t)}();try{P(e,t),function(e){var t=I(),n=void 0;try{(n=L("iframe")).src=e,t.document.body.appendChild(n),globalThis.setTimeout((function(){if(void 0!==n)try{t.document.body.removeChild(n)}catch(e){}}),500)}catch(e){}}(e)}catch(e){d(!1)}}))}var j,H=function(e,t){function n(i){if(!(this instanceof n))return new n(i);var r=new t(i||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(r,n.prototype):r.__proto__=n.prototype,r.name=e,void 0!==i&&(r.message=i),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(r,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(r,n);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(r,n);else try{var o=new t;o.stack&&(r.stack=o.stack)}catch(e){}return r}void 0===t&&(t=Error),n.prototype=Object.create(t.prototype,{constructor:{value:n,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(n.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{n.prototype.name=e}catch(e){}}try{Object.defineProperty(n,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return n}("URLOpenError"),R={open:function(t){var i,r=c,u=[],f=[];if(r===n.Android){if(void 0===(S=t[n.Android]))return Promise.reject(K(f));i=S.timeout;var p=J(S.scheme),v=J(S.intent),b=S.packageName,h=J(S.fallback),m=S.allowWebStore;if(void 0!==v&&(void 0===p||void 0===b||void 0===h)){var w=function(e){for(var t={},n=e.split("#Intent;"),i=n[0].substring(9),r=n[1],o=r.substring(0,r.length-4).split(";"),a={},c=0;c<o.length;c++){var l=o[c],s=l.indexOf("=");-1!==s&&(a[l.substring(0,s)]=l.substring(s+1))}void 0!==a.scheme&&(t.scheme=a.scheme+"://"+i);void 0!==a.package&&(t.packageName=a.package);void 0!==a["S.browser_fallback_url"]&&(t.fallback=a["S.browser_fallback_url"]);return t}(v);void 0!==w.scheme&&void 0===p&&(p=w.scheme),void 0!==w.packageName&&void 0===b&&(b=w.packageName),void 0!==w.fallback&&void 0===h&&(h=w.fallback)}void 0!==p&&void 0===v&&(v=function(e,t,i){var r=e.split("://"),o=r[0],a=r[1],c="intent://";void 0!==a&&(c+=a);c=c+"#Intent;scheme="+o+";action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;",void 0!==t&&(c=c+"package="+t+";");void 0!==i&&"string"==typeof i?c=c+"S.browser_fallback_url="+i+";":void 0!==t&&(c=c+"S.browser_fallback_url="+B(t,n.Android)+";");return c+"end"}(p,b,h)),z(u,v,e.Intent,!(c!==n.Android||s===o.SamsungInternet&&F(d,"17.0.1.69")>=0&&F(d,"17.0.7.34")<0||s===o.Firefox&&F(d,"41.0")<0||s===o.Firefox&&F(d,"58.0")>=0&&F(d,"68.11.0")<0||s===o.Firefox&&F(d,"79.0")>=0&&F(d,"81.2.0")<0||s===o.Firefox&&F(d,"96.0")>=0&&F(d,"107.0")<0||s===o.Opera&&F(d,"14.0")<0||/(?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/[\w.]+;/i.test(a)||/instagram[\/ ][-\w.]+/i.test(a)||/micromessenger\/([\w.]+)/i.test(a)||/musical_ly(?:.+app_?version\/|_)[\w.]+/i.test(a)||/ultralite app_version\/[\w.]+/i.test(a))),z(u,p,e.Scheme),z(u,h,e.Fallback),z(u,B(b,n.Android),e.Store),z(u,V(b,n.Android),e.Store,m)}else if(r===n.iOS){if(void 0===(S=t[n.iOS]))return Promise.reject(K(f));i=S.timeout;p=J(S.scheme),b=S.bundleId;var y=S.trackId,g=J(S.universal);h=J(S.fallback),m=S.allowWebStore;void 0!==b&&void 0===y&&(y=D(b)),z(u,g,e.Universal,c===n.iOS&&F(l,"9.0")>=0),z(u,p,e.Scheme),z(u,h,e.Fallback),z(u,B(y,n.iOS),e.Store),z(u,V(y,n.iOS),e.Store,m)}else if(r===n.Windows){if(void 0===(S=t[n.Windows]))return Promise.reject(K(f));i=S.timeout;p=J(S.scheme);var k=S.productId;h=J(S.fallback),m=S.allowWebStore;z(u,p,e.Scheme),z(u,h,e.Fallback),z(u,B(k,n.Windows),e.Store),z(u,V(k,n.Windows),e.Store,m)}else if(r===n.MacOS){var S;if(void 0===(S=t[n.MacOS]))return Promise.reject(K(f));i=S.timeout;p=J(S.scheme),b=S.bundleId,y=S.trackId,h=J(S.fallback),m=S.allowWebStore;void 0!==b&&void 0===y&&(y=D(b)),z(u,p,e.Scheme),z(u,h,e.Fallback),z(u,B(y,n.MacOS),e.Store),z(u,V(y,n.MacOS),e.Store,m)}void 0===i&&(i=G(r));return new Promise((function(e,t){return function n(r){if(void 0===r&&(r=0),r>=u.length)return t(K(f));var o=u[r],a=o[0],c=o[1];if("string"==typeof c)return f[r]=c,C(c,r,i).then((function(){e(a)})).catch((function(){n(r+1)}));f[r]="[function fallback]",c(),e(a)}()}))},messenger:(j={},j[t.Telephone]=function(e){return Z(e,"tel")},j[t.Message]=function(e){return Z(e,"sms")},j[t.Mail]=function(e){return Z(e,"mailto")},j)};function D(e){try{var t=new XMLHttpRequest;if(t.open("GET","https://itunes.apple.com/lookup?bundleId="+e,!1),t.send(),200===t.status)try{var n=JSON.parse(t.response);if(void 0===n.results)return;var i=n.results;if(!Array.isArray(i)||0===i.length)return;var r=i[0];if(void 0===r)return;return r.trackId}catch(e){return}return}catch(e){return}}function B(e,t){if(void 0!==e)switch(t){case n.Android:return"market://details?id="+e;case n.iOS:return"itms-apps://itunes.apple.com/app/id"+e+"?mt=8";case n.Windows:return"ms-windows-store://pdp/?ProductId="+e;case n.MacOS:return"macappstore://itunes.apple.com/app/id"+e+"?mt=12";default:throw new H('Unsupported OS: "'+a+'"')}}function V(e,t){if(void 0!==e)switch(t){case n.Android:return"https://play.google.com/store/apps/details?id="+e;case n.iOS:return"https://itunes.apple.com/app/id"+e+"?mt=8";case n.Windows:return"https://apps.microsoft.com/detail/"+e;case n.MacOS:return"https://apps.apple.com/app/id"+e+"?mt=12";default:throw new H('Unsupported OS: "'+a+'"')}}function G(e){switch(e){case n.iOS:return 2e3;case n.Android:return 1e3;default:return 750}}function K(e){for(var t="",n=0;n<e.length;n++)t+="\n"+(n+1)+": "+e[n];return t.length>0&&(t="\n"+t+"\n"),new H("Failed to open any of the provided URLs: "+t)}function z(e,t,n,i){void 0===i&&(i=!0),void 0!==t&&i&&e.push([n,t])}function X(e,t,n){void 0===n&&(n=",");for(var i=e.length,r="",o=0;o<i;o++)r+=t(e[o]),o!==i-1&&(r+=n);return r}function q(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16)}))}function J(e){return e instanceof URL?e.toString():e}function Q(e){if("string"==typeof e)return q(e);if("number"==typeof e||"boolean"==typeof e)return q(String(e));if(null==e)return"";if(function(e){if(null==e||"string"==typeof e)return!1;var t=e.length;return"number"==typeof t&&t>=0&&!(t%1)}(e))return X(e,(function(e){return Q(e)}));if(e instanceof HTMLInputElement){var t=e.type;if("checkbox"===t)return q(e.checked.toString());if("radio"===t)return e.checked?q(e.value):"";if("file"===t){var n=e.files;return null===n?"":X(n,(function(e){return q(e.name)}))}return q(e.value)}return e instanceof HTMLSelectElement?e.multiple?X(e.selectedOptions,(function(e){return q(e.value)})):q(e.value):e instanceof HTMLTextAreaElement?q(e.value):e instanceof HTMLElement?q(e.innerText):e instanceof Node?Q(e.textContent):q(e.toString())}function Y(e){if(e instanceof HTMLFormElement)return Y(new FormData(e));if(e instanceof FormData){var t={};return e.forEach((function(e,n){var i;if(i=e instanceof File?e.name:e,Object.prototype.hasOwnProperty.call(t,n)){var r=t[n];Array.isArray(r)?r.push(i):t[n]=[r,i]}else t[n]=i})),Y(t)}for(var n={},i=Object.keys(e),r=0;r<i.length;r++){var o=i[r];n[o]=Q(e[o])}return void 0===n.to&&(n.to=""),void 0===n.cc&&(n.cc=""),void 0===n.bcc&&(n.bcc=""),void 0===n.subject&&(n.subject=""),void 0===n.body&&(n.body=""),n}function Z(e,t){return C(t+":"+(e=Y(e)).to+"?cc="+e.cc+"&bcc="+e.bcc+"&subject="+e.subject+"&body="+e.body,0,G(c))}return{installed:!1,name:"App",module:R,Constants:{AppOpenState:e,Messengers:t},Errors:{URLOpenError:H}}}));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).App=r()}(this,(function(){"use strict";var e,r,t,n,i,o;!function(e){e[e.Scheme=0]="Scheme",e[e.Universal=1]="Universal",e[e.Intent=2]="Intent",e[e.Fallback=3]="Fallback",e[e.Store=4]="Store"}(e||(e={})),function(e){e.Telephone="telephone",e.Message="message",e.Mail="mail"}(r||(r={})),function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(t||(t={})),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"}(i||(i={})),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={}));var a={device:n.Unknown,os:t.Unknown,osVersion:"",engine:i.Unknown,engineVersion:"",browser:o.Unknown,browserVersion:"",renderer:function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var r=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===r)return"";if(r instanceof WebGLRenderingContext||"getParameter"in r&&"function"==typeof r.getParameter){var t=r.getExtension("WEBGL_debug_renderer_info");return null===t?r.getParameter(r.RENDERER):r.getParameter(t.UNMASKED_RENDERER_WEBGL)}return""}(),userAgent:navigator.userAgent,isWebview:!1,isMobile:!1,isDesktop:!1,isStandalone:!1,isNodeJS:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},s=[[/windows nt (6\.[23]); arm/i,t.Windows,u],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,t.Windows,u],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,t.Windows,u],[/windows nt ?([\d.)]*)(?!.+xbox)/i,t.Windows,u],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,t.Windows,u],[/windows ce\/?([\d.]*)/i,t.Windows,u],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,t.iOS,d],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,t.iOS,d],[/cfnetwork\/.+darwin/i,t.iOS,d],[/mac os x ?([\w. ]*)/i,t.MacOS,d],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,t.MacOS,d],[/droid ([\w.]+)\b.+(android[- ]x86)/i,t.Android],[/android\w*[-\/.; ]?([\d.]*)/i,t.Android]],c=[[/windows.+ edge\/([\w.]+)/i,i.EdgeHTML],[/arkweb\/([\w.]+)/i,i.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,i.Blink],[/presto\/([\w.]+)/i,i.Presto],[/webkit\/([\w.]+)/i,i.WebKit],[/trident\/([\w.]+)/i,i.Trident],[/netfront\/([\w.]+)/i,i.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,i.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,i.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,i.Gecko]],l=[[/\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 u(e){if(void 0===e)return"";var r={"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!==r?r:e}function d(e){return void 0===e?"":e.replace(/_/g,".")}function f(e,r){return"function"==typeof r?r(e):"string"==typeof r?r:void 0===e?"":e}for(var p=0;p<s.length;p++){var b=(w=s[p])[0],v=w[1],m=w[2];if(null!==(g=a.userAgent.match(b))){a.os=v,a.osVersion=f(g[1],m),v===t.iOS||v===t.Android?a.device=n.Mobile:v!==t.Windows&&v!==t.MacOS||(a.device=n.Desktop);break}}for(p=0;p<c.length;p++){b=(w=c[p])[0];var h=w[1];m=w[2];if(null!==(g=a.userAgent.match(b))){a.engine=h,a.engineVersion=f(g[1],m);break}}for(p=0;p<l.length;p++){b=(w=l[p])[0];var w,g,y=w[1];m=w[2];if(null!==(g=a.userAgent.match(b))){a.browser=y,a.browserVersion=f(g[1],m);break}}function k(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];for(var n="",i=0;i<r.length-2;i++){var o=r[i];void 0!==o&&(n=n+o.charAt(0).toUpperCase()+o.slice(1))}return n}function S(){this.returnValue=!1}function T(){this.cancelBubble=!0}a.isNodeJS&&function(e){if("require"in globalThis&&"function"==typeof globalThis.require)try{return Promise.resolve(globalThis.require(e))}catch(e){return Promise.resolve(null)}return import(e).then((function(e){return e.default||e})).catch((function(){return Promise.resolve(null)}))}("os").then((function(e){if(null!==e){var r,n=e.platform(),i=e.release(),o=(r=i.split("."),{major:parseInt(r[0]||"0"),minor:parseInt(r[1]||"0"),build:parseInt(r[2]||"0")});switch(n){case"win32":a.os=t.Windows,a.osVersion=10===o.major&&0===o.minor&&o.build>=22e3?"11":10===o.major&&0===o.minor&&o.build<22e3?"10":6===o.major&&3===o.minor?"8.1":6===o.major&&2===o.minor?"8":6===o.major&&1===o.minor?"7":6===o.major&&0===o.minor?"Vista":5===o.major&&1===o.minor||5===o.major&&2===o.minor?"XP":5===o.major&&0===o.minor?"2000":4===o.major&&90===o.minor?"ME":4===o.major&&0===o.minor?"NT 4.0":3===o.major&&51===o.minor?"NT 3.11":i;break;case"darwin":a.os=t.MacOS,a.osVersion=o.major>=24?""+(o.major-9):23===o.major?"14":22===o.major?"13":21===o.major?"12":20===o.major?"11":19===o.major?"10.15":18===o.major?"10.14":17===o.major?"10.13":16===o.major?"10.12":15===o.major?"10.11":14===o.major?"10.10":13===o.major?"10.9":o.major>=5&&o.major<=12?"10."+(o.major-4):i;break;case"android":a.os=t.Android,a.osVersion=i;break;case"linux":/android/i.test(i)&&(a.os=t.Android,a.osVersion=i)}}})),void 0!==navigator.userAgentData&&void 0!==navigator.userAgentData.getHighEntropyValues&&navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){for(var r,n=e.fullVersionList||e.brands||[],i=e.platformVersion,o=0;o<n.length;o++){var s=null==(r=n[o])?{brand:"",version:""}:"string"==typeof r?{brand:r,version:""}:{brand:r.brand,version:r.version},c=s.brand,l=s.version;/not.a.brand/i.test(c)||"Chromium"===c&&(a.engineVersion=l)}"string"==typeof i&&(a.os===t.Windows&&parseInt(i.replace(/[^\d.]/g,"").split(".")[0],10)>=13?a.osVersion="11":a.osVersion=i)})),a.isMobile=a.device===n.Mobile,a.isDesktop=a.device===n.Desktop,a.isWebview=/; ?wv|applewebkit(?!.*safari)/i.test(a.userAgent),a.isStandalone=function(e){return"matchMedia"in globalThis&&(e===t.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches)}(a.os);var E=/(animation)(start|iteration|end|cancel)|(transition)(start|run|end|cancel)|(fullscreen)(change|error)|(lost|got)(pointer)(capture)|(pointer)(lock)(change|error)|(pointer)(cancel|down|enter|leave|move|out|over|up)/i,O=["","webkit","moz","ms","MS","o","O"],x={wheel:["wheel","mousewheel","DOMMouseScroll"],focus:["focus","focusin"],blur:["blur","focusout"],beforeinput:["beforeinput","textInput"]},A={useStd:void 0!==globalThis.document&&"function"==typeof globalThis.document.addEventListener,add:function(e,r){void 0===r&&(r={callback:null,options:!1});var t=r.callback;if(void 0!==e&&null!==t){var n=A.withVender(e,r.type),i=r.options;if("function"==typeof e.addEventListener)try{return e.addEventListener(n,t,i)}catch(e){}if("function"==typeof e.addListener)if("boolean"==typeof e.matches)try{return e.addListener(t)}catch(e){}else try{return e.addListener(n,t)}catch(e){}return"function"==typeof e.attachEvent?t.__ieWrapper?e.attachEvent("on"+n,t.__ieWrapper):e.attachEvent("on"+n,t.__ieWrapper=function(r){void 0===r&&(r=globalThis.event),void 0!==r&&(r.currentTarget=e,"function"!=typeof r.preventDefault&&(r.preventDefault=S),"function"!=typeof r.stopPropagation&&(r.stopPropagation=T),"function"==typeof t?t.call(e,r):t&&"function"==typeof t.handleEvent&&t.handleEvent.call(e,r))}):void 0}},remove:function(e,r){void 0===r&&(r={callback:null,options:!1});var t=r.callback;if(void 0!==e&&null!==t){var n=A.withVender(e,r.type),i=r.options;if("function"==typeof e.removeEventListener)try{return e.removeEventListener(n,t,i)}catch(e){}if("function"==typeof e.removeListener)if("boolean"==typeof e.matches)try{return e.removeListener(t)}catch(e){}else try{return e.removeListener(n,t)}catch(e){}if("function"!=typeof e.detachEvent);else{var o=t.__ieWrapper;void 0!==o&&(e.detachEvent("on"+n,o),delete t.__ieWrapper)}}},withVender:function(e,r){if(void 0===r)return"";if("webkitEnterFullscreen"in e&&["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"].indexOf(r)>-1)return r;var t;t=r in x?x[r]:E.test(r)?[r,r.replace(E,k)]:[r];for(var n=0;n<O.length;n++)for(var i=0;i<t.length;i++){var o=O[n]+t[i];if(void 0!==e["on"+o])return o}return""}};function M(){try{if(globalThis.top&&globalThis.top!==window)return globalThis.top.location.href,globalThis.top}catch(e){}return window}function j(e,r){if(void 0===r&&(r=!0),void 0!==globalThis.document){var t=globalThis.document.createElement(e);return"width"in t&&(t.width="0"),"height"in t&&(t.height="0"),"border"in t&&(t.border="0"),"frameBorder"in t&&(t.frameBorder="0"),"scrolling"in t&&(t.scrolling="no"),"cellPadding"in t&&(t.cellPadding="0"),"cellSpacing"in t&&(t.cellSpacing="0"),"frame"in t&&(t.frame="void"),"rules"in t&&(t.rules="none"),"noWrap"in t&&(t.noWrap=!0),t.tabIndex=-1,t.setAttribute("role","presentation"),r?(t.style.width="1px",t.style.height="1px"):(t.setAttribute("aria-hidden","true"),t.style.width="0",t.style.height="0",t.style.zIndex="-9999",t.style.display="none",t.style.visibility="hidden",t.style.pointerEvents="none"),t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.padding="0",t.style.margin="0",t.style.border="none",t.style.outline="none",t.style.clip="rect(1px, 1px, 1px, 1px)",t.style.clipPath="inset(50%)",t.style.overflow="hidden",t.style.whiteSpace="nowrap",t}}function V(e,r){for(var t=e.split("."),n=r.split("."),i=Math.max(t.length,n.length),o=0;o<i;o++){var a=void 0,s=void 0;if((a=o<t.length?parseInt(t[o],10):0)>(s=o<n.length?parseInt(n[o],10):0))return 1;if(a<s)return-1}return 0}function W(e,r){var t=M(),n=t.document,i=void 0;try{if(0===r)return void(t.location.href=e);if(void 0===(i=j("a")))return;i.href=e,n.body.appendChild(i),function(e,r){var t;void 0===r&&(r=window);try{t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:r})}catch(e){(t=globalThis.document.createEvent("MouseEvents")).initMouseEvent("click",!0,!0,r,0,0,0,0,0,!1,!1,!1,!1,0,null)}e.dispatchEvent(t)}(i,t)}catch(e){}finally{if(void 0!==i)try{n.body.removeChild(i)}catch(e){}}}function I(e){return"function"==typeof e.hasFocus&&e.hasFocus()}function _(e){try{e.focus({preventScroll:!0})}catch(r){try{e.focus()}catch(e){}}}function L(e,r,n){var i=M(),o=i.document,s={focus:void 0,blur:void 0,visibilitychange:void 0},c={focus:void 0,blur:void 0,visibilitychange:void 0};return a.os===t.iOS?V(a.osVersion,"8.0")>=0?(c={visibilitychange:o},s={visibilitychange:"visibilitychange"}):(c={focus:i,blur:i},s={focus:"pageshow",blur:"pagehide"}):A.useStd?(c={focus:i,blur:i,visibilitychange:o},s={focus:"focus",blur:"blur",visibilitychange:"visibilitychange"}):(c={focus:o,blur:o,visibilitychange:o},s={focus:"focus",blur:"blur",visibilitychange:"visibilitychange"}),new Promise((function(t,i){var a,l=!1;function u(e){if(!l){l=!0;try{!function(){void 0!==a&&(clearTimeout(a),a=void 0);try{A.remove(c.blur,{type:s.blur,callback:d}),A.remove(c.focus,{type:s.focus,callback:f}),A.remove(c.visibilitychange,{type:s.visibilitychange,callback:p})}catch(e){}}(),e?t():i()}catch(e){t()}}}function d(){void 0!==a&&(clearTimeout(a),a=void 0),A.remove(c.blur,{type:s.blur,callback:d}),A.add(c.focus,{type:s.focus,callback:f})}function f(){u(!0)}function p(){(function(){var e=M().document;return"hidden"===e.visibilityState||"hidden"===e.webkitVisibilityState||"hidden"===e.mozVisibilityState||"hidden"===e.msVisibilityState||(void 0!==e.hidden?e.hidden:void 0!==e.webkitHidden?e.webkitHidden:void 0!==e.mozHidden?e.mozHidden:void 0!==e.msHidden?e.msHidden:"function"!=typeof e.hasFocus||!e.hasFocus())})()&&u(!0)}a=globalThis.setTimeout((function(){u(!1)}),n),A.add(c.blur,{type:s.blur,callback:d}),A.add(c.visibilitychange,{type:s.visibilitychange,callback:p}),I(o)||function(){var e=M(),r=e.document;if(_(e),I(r))return!0;if(r.body.tabIndex<0&&(r.body.tabIndex=-1),_(r.body),I(r))return!0;var t=void 0;try{if(void 0===(t=j("input")))return!1;t.type="text",t.readOnly=!0,r.body.appendChild(t),_(t);try{t.select()}catch(e){}if(I(r))return!0}catch(e){}finally{if(void 0!==t){try{t.blur()}catch(e){}try{r.body.removeChild(t)}catch(e){}}}I(r)}();try{W(e,r),function(e){var r=M(),t=void 0;try{if(void 0===(t=j("iframe")))return;t.src=e,r.document.body.appendChild(t),globalThis.setTimeout((function(){if(void 0!==t)try{r.document.body.removeChild(t)}catch(e){}}),500)}catch(e){}}(e)}catch(e){u(!1)}}))}var F,P=function(e,r){function t(n){if(!(this instanceof t))return new t(n);var i=new r(n||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(i,t.prototype):i.__proto__=t.prototype,i.name=e,void 0!==n&&(i.message=n),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(i,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(i,t);else if(r.captureStackTrace&&"function"==typeof r.captureStackTrace)r.captureStackTrace(i,t);else try{var o=new r;o.stack&&(i.stack=o.stack)}catch(e){}return i}void 0===r&&(r=Error),t.prototype=Object.create(r.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(t.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(r){try{t.prototype.name=e}catch(e){}}try{Object.defineProperty(t,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return t}("URLOpenError"),N={open:function(r){var n,i=a.os,s=[],c=[];if(i===t.Android){if(void 0===(w=r[t.Android]))return Promise.reject(R(c));n=w.timeout;var l=z(w.scheme),u=z(w.intent),d=w.packageName,f=z(w.fallback),p=w.allowWebStore;if(void 0!==u&&(void 0===l||void 0===d||void 0===f)){var b=function(e){for(var r={},t=e.split("#Intent;"),n=t[0].substring(9),i=t[1],o=i.substring(0,i.length-4).split(";"),a={},s=0;s<o.length;s++){var c=o[s],l=c.indexOf("=");-1!==l&&(a[c.substring(0,l)]=c.substring(l+1))}void 0!==a.scheme&&(r.scheme=a.scheme+"://"+n);void 0!==a.package&&(r.packageName=a.package);void 0!==a["S.browser_fallback_url"]&&(r.fallback=a["S.browser_fallback_url"]);return r}(u);void 0!==b.scheme&&void 0===l&&(l=b.scheme),void 0!==b.packageName&&void 0===d&&(d=b.packageName),void 0!==b.fallback&&void 0===f&&(f=b.fallback)}void 0!==l&&void 0===u&&(u=function(e,r,n){var i=e.split("://"),o=i[0],a=i[1],s="intent://";void 0!==a&&(s+=a);s=s+"#Intent;scheme="+o+";action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;",void 0!==r&&(s=s+"package="+r+";");void 0!==n&&"string"==typeof n?s=s+"S.browser_fallback_url="+n+";":void 0!==r&&(s=s+"S.browser_fallback_url="+U(r,t.Android)+";");return s+"end"}(l,d,f)),B(s,u,e.Intent,!(a.os!==t.Android||a.browser===o.SamsungInternet&&V(a.browserVersion,"17.0.1.69")>=0&&V(a.browserVersion,"17.0.7.34")<0||a.browser===o.Firefox&&V(a.browserVersion,"41.0")<0||a.browser===o.Firefox&&V(a.browserVersion,"58.0")>=0&&V(a.browserVersion,"68.11.0")<0||a.browser===o.Firefox&&V(a.browserVersion,"79.0")>=0&&V(a.browserVersion,"81.2.0")<0||a.browser===o.Firefox&&V(a.browserVersion,"96.0")>=0&&V(a.browserVersion,"107.0")<0||a.browser===o.Opera&&V(a.browserVersion,"14.0")<0||/(?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/[\w.]+;/i.test(a.userAgent)||/instagram[\/ ][-\w.]+/i.test(a.userAgent)||/micromessenger\/([\w.]+)/i.test(a.userAgent)||/musical_ly(?:.+app_?version\/|_)[\w.]+/i.test(a.userAgent)||/ultralite app_version\/[\w.]+/i.test(a.userAgent))),B(s,l,e.Scheme),B(s,f,e.Fallback),B(s,U(d,t.Android),e.Store),B(s,H(d,t.Android),e.Store,p)}else if(i===t.iOS){if(void 0===(w=r[t.iOS]))return Promise.reject(R(c));n=w.timeout;l=z(w.scheme),d=w.bundleId;var v=w.trackId,m=z(w.universal);f=z(w.fallback),p=w.allowWebStore;void 0!==d&&void 0===v&&(v=C(d)),B(s,m,e.Universal,a.os===t.iOS&&V(a.osVersion,"9.0")>=0),B(s,l,e.Scheme),B(s,f,e.Fallback),B(s,U(v,t.iOS),e.Store),B(s,H(v,t.iOS),e.Store,p)}else if(i===t.Windows){if(void 0===(w=r[t.Windows]))return Promise.reject(R(c));n=w.timeout;l=z(w.scheme);var h=w.productId;f=z(w.fallback),p=w.allowWebStore;B(s,l,e.Scheme),B(s,f,e.Fallback),B(s,U(h,t.Windows),e.Store),B(s,H(h,t.Windows),e.Store,p)}else if(i===t.MacOS){var w;if(void 0===(w=r[t.MacOS]))return Promise.reject(R(c));n=w.timeout;l=z(w.scheme),d=w.bundleId,v=w.trackId,f=z(w.fallback),p=w.allowWebStore;void 0!==d&&void 0===v&&(v=C(d)),B(s,l,e.Scheme),B(s,f,e.Fallback),B(s,U(v,t.MacOS),e.Store),B(s,H(v,t.MacOS),e.Store,p)}void 0===n&&(n=D(i));return new Promise((function(e,r){return function t(i){if(void 0===i&&(i=0),i>=s.length)return r(R(c));var o=s[i],a=o[0],l=o[1];if("string"==typeof l)return c[i]=l,L(l,i,n).then((function(){e(a)})).catch((function(){t(i+1)}));c[i]="[function fallback]",l(),e(a)}()}))},messenger:(F={},F[r.Telephone]=function(e){return J(e,"tel")},F[r.Message]=function(e){return J(e,"sms")},F[r.Mail]=function(e){return J(e,"mailto")},F)};function C(e){try{var r=new XMLHttpRequest;if(r.open("GET","https://itunes.apple.com/lookup?bundleId="+e,!1),r.send(),200===r.status)try{var t=JSON.parse(r.response);if(void 0===t.results)return;var n=t.results;if(!Array.isArray(n)||0===n.length)return;var i=n[0];if(void 0===i)return;return i.trackId}catch(e){return}return}catch(e){return}}function U(e,r){if(void 0!==e)switch(r){case t.Android:return"market://details?id="+e;case t.iOS:return"itms-apps://itunes.apple.com/app/id"+e+"?mt=8";case t.Windows:return"ms-windows-store://pdp/?ProductId="+e;case t.MacOS:return"macappstore://itunes.apple.com/app/id"+e+"?mt=12";default:throw new P('Unsupported OS: "'+a.userAgent+'"')}}function H(e,r){if(void 0!==e)switch(r){case t.Android:return"https://play.google.com/store/apps/details?id="+e;case t.iOS:return"https://itunes.apple.com/app/id"+e+"?mt=8";case t.Windows:return"https://apps.microsoft.com/detail/"+e;case t.MacOS:return"https://apps.apple.com/app/id"+e+"?mt=12";default:throw new P('Unsupported OS: "'+a.userAgent+'"')}}function D(e){switch(e){case t.iOS:return 2e3;case t.Android:return 1e3;default:return 750}}function R(e){for(var r="",t=0;t<e.length;t++)r+="\n"+(t+1)+": "+e[t];return r.length>0&&(r="\n"+r+"\n"),new P("Failed to open any of the provided URLs: "+r)}function B(e,r,t,n){void 0===n&&(n=!0),void 0!==r&&n&&e.push([t,r])}function G(e,r,t){void 0===t&&(t=",");for(var n=e.length,i="",o=0;o<n;o++)i+=r(e[o]),o!==n-1&&(i+=t);return i}function K(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16)}))}function z(e){return e instanceof URL?e.toString():e}function q(e){if("string"==typeof e)return K(e);if("number"==typeof e||"boolean"==typeof e)return K(String(e));if(null==e)return"";if(function(e){if(null==e||"string"==typeof e)return!1;var r=e.length;return"number"==typeof r&&r>=0&&!(r%1)}(e))return G(e,(function(e){return q(e)}));if(e instanceof HTMLInputElement){var r=e.type;if("checkbox"===r)return K(e.checked.toString());if("radio"===r)return e.checked?K(e.value):"";if("file"===r){var t=e.files;return null===t?"":G(t,(function(e){return K(e.name)}))}return K(e.value)}return e instanceof HTMLSelectElement?e.multiple?G(e.selectedOptions,(function(e){return K(e.value)})):K(e.value):e instanceof HTMLTextAreaElement?K(e.value):e instanceof HTMLElement?K(e.innerText):e instanceof Node?q(e.textContent):K(e.toString())}function X(e){if(e instanceof HTMLFormElement)return X(new FormData(e));if(e instanceof FormData){var r={};return e.forEach((function(e,t){var n;if(n=e instanceof File?e.name:e,Object.prototype.hasOwnProperty.call(r,t)){var i=r[t];Array.isArray(i)?i.push(n):r[t]=[i,n]}else r[t]=n})),X(r)}for(var t={},n=Object.keys(e),i=0;i<n.length;i++){var o=n[i];t[o]=q(e[o])}return void 0===t.to&&(t.to=""),void 0===t.cc&&(t.cc=""),void 0===t.bcc&&(t.bcc=""),void 0===t.subject&&(t.subject=""),void 0===t.body&&(t.body=""),t}function J(e,r){return L(r+":"+(e=X(e)).to+"?cc="+e.cc+"&bcc="+e.bcc+"&subject="+e.subject+"&body="+e.body,0,D(a.os))}return{installed:!1,name:"App",module:N,Constants:{AppOpenState:e,Messengers:r},Errors:{URLOpenError:P}}}));
@@ -1,3 +1,22 @@
1
+ import { PlatformInstance } from "../types/platform";
2
+ declare global {
3
+ interface Navigator {
4
+ userAgentData?: UserAgentData;
5
+ }
6
+ }
7
+ interface ModernUserAgentDataBrand {
8
+ brand: string;
9
+ version: string;
10
+ }
11
+ type UserAgentDataBrand = ModernUserAgentDataBrand | string | null | undefined;
12
+ interface UserAgentDataValues {
13
+ brands?: UserAgentDataBrand[];
14
+ fullVersionList?: UserAgentDataBrand[];
15
+ platformVersion?: string | null | undefined;
16
+ }
17
+ interface UserAgentData {
18
+ getHighEntropyValues?(hints: string[]): Promise<UserAgentDataValues>;
19
+ }
1
20
  export declare enum OS {
2
21
  Unknown = "Unknown",
3
22
  Android = "Android",
@@ -33,15 +52,5 @@ export declare enum Browsers {
33
52
  IE = "IE",
34
53
  SamsungInternet = "SamsungInternet"
35
54
  }
36
- export declare let DEVICE_NAME: Devices;
37
- export declare let OS_NAME: OS;
38
- export declare let OS_VERSION: string;
39
- export declare let ENGINE_NAME: Engines;
40
- export declare let ENGINE_VERSION: string;
41
- export declare let BROWSER_NAME: Browsers;
42
- export declare let BROWSER_VERSION: string;
43
- export declare const RENDERER: string;
44
- export declare const IS_WEBVIEW: boolean;
45
- export declare const IS_MOBILE: boolean;
46
- export declare const IS_DESKTOP: boolean;
47
- export declare const IS_STANDALONE: boolean;
55
+ declare const Platform: PlatformInstance;
56
+ export default Platform;