native-fn 1.0.82 → 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 (141) 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 +102 -255
  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 +102 -255
  12. package/dist/plugin/app/index.umd.js +102 -255
  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 +0 -6
  16. package/dist/plugin/app/src/plugin/dimension/constants/index.d.ts +3 -0
  17. package/dist/plugin/app/src/plugin/dimension/types/dimension.d.ts +9 -6
  18. package/dist/plugin/app/src/plugin/dimension/types/dimensions.d.ts +11 -0
  19. package/dist/plugin/app/src/plugin/dimension/types/index.d.ts +2 -2
  20. package/dist/plugin/app/src/plugin/platform/constants/index.d.ts +1 -0
  21. package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +0 -10
  22. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +3 -19
  23. package/dist/plugin/app/src/types/listener-entry.d.ts +6 -0
  24. package/dist/plugin/app/src/utils/request.d.ts +1 -0
  25. package/dist/plugin/appearance/index.cjs +55 -208
  26. package/dist/plugin/appearance/index.d.ts +1 -7
  27. package/dist/plugin/appearance/index.min.cjs +1 -1
  28. package/dist/plugin/appearance/index.min.mjs +1 -1
  29. package/dist/plugin/appearance/index.mjs +55 -208
  30. package/dist/plugin/appearance/index.umd.js +55 -208
  31. package/dist/plugin/appearance/index.umd.min.js +1 -1
  32. package/dist/plugin/appearance/src/plugin/appearance/constants/index.d.ts +2 -2
  33. package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +0 -6
  34. package/dist/plugin/appearance/src/plugin/dimension/constants/index.d.ts +3 -0
  35. package/dist/plugin/appearance/src/plugin/dimension/types/dimension.d.ts +9 -6
  36. package/dist/plugin/appearance/src/plugin/dimension/types/dimensions.d.ts +11 -0
  37. package/dist/plugin/appearance/src/plugin/dimension/types/index.d.ts +2 -2
  38. package/dist/plugin/appearance/src/plugin/platform/constants/index.d.ts +1 -0
  39. package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +0 -10
  40. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +3 -19
  41. package/dist/plugin/appearance/src/types/listener-entry.d.ts +6 -0
  42. package/dist/plugin/appearance/src/utils/request.d.ts +1 -0
  43. package/dist/plugin/clipboard/index.cjs +61 -214
  44. package/dist/plugin/clipboard/index.min.cjs +1 -1
  45. package/dist/plugin/clipboard/index.min.mjs +1 -1
  46. package/dist/plugin/clipboard/index.mjs +61 -214
  47. package/dist/plugin/clipboard/index.umd.js +61 -214
  48. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  49. package/dist/plugin/clipboard/src/plugin/appearance/constants/index.d.ts +2 -2
  50. package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +0 -6
  51. package/dist/plugin/clipboard/src/plugin/dimension/constants/index.d.ts +3 -0
  52. package/dist/plugin/clipboard/src/plugin/dimension/types/dimension.d.ts +9 -6
  53. package/dist/plugin/clipboard/src/plugin/dimension/types/dimensions.d.ts +11 -0
  54. package/dist/plugin/clipboard/src/plugin/dimension/types/index.d.ts +2 -2
  55. package/dist/plugin/clipboard/src/plugin/platform/constants/index.d.ts +1 -0
  56. package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +0 -10
  57. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +3 -19
  58. package/dist/plugin/clipboard/src/types/listener-entry.d.ts +6 -0
  59. package/dist/plugin/clipboard/src/utils/request.d.ts +1 -0
  60. package/dist/plugin/dimension/index.cjs +935 -1
  61. package/dist/plugin/dimension/index.d.ts +9 -0
  62. package/dist/plugin/dimension/index.min.cjs +1 -1
  63. package/dist/plugin/dimension/index.min.mjs +1 -1
  64. package/dist/plugin/dimension/index.mjs +935 -1
  65. package/dist/plugin/dimension/index.umd.js +935 -1
  66. package/dist/plugin/dimension/index.umd.min.js +1 -1
  67. package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +2 -2
  68. package/dist/plugin/dimension/src/plugin/appearance/types/appearance.d.ts +0 -6
  69. package/dist/plugin/dimension/src/plugin/dimension/constants/index.d.ts +3 -0
  70. package/dist/plugin/dimension/src/plugin/dimension/types/dimension.d.ts +9 -6
  71. package/dist/plugin/dimension/src/plugin/dimension/types/dimensions.d.ts +11 -0
  72. package/dist/plugin/dimension/src/plugin/dimension/types/index.d.ts +2 -2
  73. package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +1 -0
  74. package/dist/plugin/dimension/src/plugin/platform/cores/index.d.ts +0 -10
  75. package/dist/plugin/dimension/src/plugin/platform/types/platform.d.ts +3 -19
  76. package/dist/plugin/dimension/src/types/listener-entry.d.ts +6 -0
  77. package/dist/plugin/dimension/src/utils/request.d.ts +1 -0
  78. package/dist/plugin/fullscreen/index.cjs +54 -207
  79. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  80. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  81. package/dist/plugin/fullscreen/index.mjs +54 -207
  82. package/dist/plugin/fullscreen/index.umd.js +54 -207
  83. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  84. package/dist/plugin/fullscreen/src/plugin/appearance/constants/index.d.ts +2 -2
  85. package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +0 -6
  86. package/dist/plugin/fullscreen/src/plugin/dimension/constants/index.d.ts +3 -0
  87. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimension.d.ts +9 -6
  88. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimensions.d.ts +11 -0
  89. package/dist/plugin/fullscreen/src/plugin/dimension/types/index.d.ts +2 -2
  90. package/dist/plugin/fullscreen/src/plugin/platform/constants/index.d.ts +1 -0
  91. package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +0 -10
  92. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +3 -19
  93. package/dist/plugin/fullscreen/src/types/listener-entry.d.ts +6 -0
  94. package/dist/plugin/fullscreen/src/utils/request.d.ts +1 -0
  95. package/dist/plugin/platform/index.cjs +50 -203
  96. package/dist/plugin/platform/index.d.ts +4 -20
  97. package/dist/plugin/platform/index.min.cjs +1 -1
  98. package/dist/plugin/platform/index.min.mjs +1 -1
  99. package/dist/plugin/platform/index.mjs +50 -203
  100. package/dist/plugin/platform/index.umd.js +50 -203
  101. package/dist/plugin/platform/index.umd.min.js +1 -1
  102. package/dist/plugin/platform/src/plugin/appearance/constants/index.d.ts +2 -2
  103. package/dist/plugin/platform/src/plugin/appearance/types/appearance.d.ts +0 -6
  104. package/dist/plugin/platform/src/plugin/dimension/constants/index.d.ts +3 -0
  105. package/dist/plugin/platform/src/plugin/dimension/types/dimension.d.ts +9 -6
  106. package/dist/plugin/platform/src/plugin/dimension/types/dimensions.d.ts +11 -0
  107. package/dist/plugin/platform/src/plugin/dimension/types/index.d.ts +2 -2
  108. package/dist/plugin/platform/src/plugin/platform/constants/index.d.ts +1 -0
  109. package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +0 -10
  110. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +3 -19
  111. package/dist/plugin/platform/src/types/listener-entry.d.ts +6 -0
  112. package/dist/plugin/platform/src/utils/request.d.ts +1 -0
  113. package/dist/plugin/theme/index.cjs +51 -204
  114. package/dist/plugin/theme/index.min.cjs +1 -1
  115. package/dist/plugin/theme/index.min.mjs +1 -1
  116. package/dist/plugin/theme/index.mjs +51 -204
  117. package/dist/plugin/theme/index.umd.js +51 -204
  118. package/dist/plugin/theme/index.umd.min.js +1 -1
  119. package/dist/plugin/theme/src/plugin/appearance/constants/index.d.ts +2 -2
  120. package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +0 -6
  121. package/dist/plugin/theme/src/plugin/dimension/constants/index.d.ts +3 -0
  122. package/dist/plugin/theme/src/plugin/dimension/types/dimension.d.ts +9 -6
  123. package/dist/plugin/theme/src/plugin/dimension/types/dimensions.d.ts +11 -0
  124. package/dist/plugin/theme/src/plugin/dimension/types/index.d.ts +2 -2
  125. package/dist/plugin/theme/src/plugin/platform/constants/index.d.ts +1 -0
  126. package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +0 -10
  127. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +3 -19
  128. package/dist/plugin/theme/src/types/listener-entry.d.ts +6 -0
  129. package/dist/plugin/theme/src/utils/request.d.ts +1 -0
  130. package/dist/src/plugin/appearance/constants/index.d.ts +2 -2
  131. package/dist/src/plugin/appearance/types/appearance.d.ts +0 -6
  132. package/dist/src/plugin/dimension/constants/index.d.ts +3 -0
  133. package/dist/src/plugin/dimension/types/dimension.d.ts +9 -6
  134. package/dist/src/plugin/dimension/types/dimensions.d.ts +11 -0
  135. package/dist/src/plugin/dimension/types/index.d.ts +2 -2
  136. package/dist/src/plugin/platform/constants/index.d.ts +1 -0
  137. package/dist/src/plugin/platform/cores/index.d.ts +0 -10
  138. package/dist/src/plugin/platform/types/platform.d.ts +3 -19
  139. package/dist/src/types/listener-entry.d.ts +6 -0
  140. package/dist/src/utils/request.d.ts +1 -0
  141. package/package.json +1 -1
@@ -1,6 +1,940 @@
1
1
  'use strict';
2
2
 
3
- var Dimension = {};
3
+ var OS;
4
+ (function (OS) {
5
+ OS["Unknown"] = "Unknown";
6
+ OS["Android"] = "Android";
7
+ OS["iOS"] = "iOS";
8
+ OS["Windows"] = "Windows";
9
+ OS["MacOS"] = "MacOS";
10
+ })(OS || (OS = {}));
11
+ var Devices;
12
+ (function (Devices) {
13
+ Devices["Unknown"] = "Unknown";
14
+ Devices["Mobile"] = "Mobile";
15
+ Devices["Desktop"] = "Desktop";
16
+ })(Devices || (Devices = {}));
17
+ var Engines;
18
+ (function (Engines) {
19
+ Engines["Unknown"] = "Unknown";
20
+ Engines["EdgeHTML"] = "EdgeHTML";
21
+ Engines["ArkWeb"] = "ArkWeb";
22
+ Engines["Blink"] = "Blink";
23
+ Engines["Presto"] = "Presto";
24
+ Engines["WebKit"] = "WebKit";
25
+ Engines["Trident"] = "Trident";
26
+ Engines["NetFront"] = "NetFront";
27
+ Engines["KHTML"] = "KHTML";
28
+ Engines["Tasman"] = "Tasman";
29
+ Engines["Gecko"] = "Gecko";
30
+ })(Engines || (Engines = {}));
31
+ var Browsers;
32
+ (function (Browsers) {
33
+ Browsers["Unknown"] = "Unknown";
34
+ Browsers["Chrome"] = "Chrome";
35
+ Browsers["Safari"] = "Safari";
36
+ Browsers["Edge"] = "Edge";
37
+ Browsers["Firefox"] = "Firefox";
38
+ Browsers["Opera"] = "Opera";
39
+ Browsers["IE"] = "IE";
40
+ Browsers["SamsungInternet"] = "SamsungInternet";
41
+ })(Browsers || (Browsers = {}));
42
+ var CrossPlatformFramework;
43
+ (function (CrossPlatformFramework) {
44
+ CrossPlatformFramework["Unknown"] = "Unknown";
45
+ CrossPlatformFramework["ReactNative"] = "ReactNative";
46
+ CrossPlatformFramework["Electron"] = "Electron";
47
+ CrossPlatformFramework["Cordova"] = "Cordova";
48
+ })(CrossPlatformFramework || (CrossPlatformFramework = {}));
49
+ var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
50
+ var HIGH_ENTROPY_BRAND_NAME_MAP = {
51
+ 'Google Chrome': 'Chrome',
52
+ 'Microsoft Edge': 'Edge',
53
+ 'Microsoft Edge WebView2': 'Edge WebView2',
54
+ 'Android WebView': 'Chrome WebView',
55
+ 'HeadlessChrome': 'Chrome Headless',
56
+ 'OperaMobile': 'Opera Mobi',
57
+ };
58
+
59
+ var ENTRIES = [];
60
+
61
+ function compareVersion(lhs, rhs) {
62
+ var pa = lhs.split('.');
63
+ var pb = rhs.split('.');
64
+ var length = Math.max(pa.length, pb.length);
65
+ for (var i = 0; i < length; i++) {
66
+ var a = void 0;
67
+ var b = void 0;
68
+ if (i < pa.length)
69
+ a = parseInt(pa[i], 10);
70
+ else
71
+ a = 0;
72
+ if (i < pb.length)
73
+ b = parseInt(pb[i], 10);
74
+ else
75
+ b = 0;
76
+ if (a > b)
77
+ return 1;
78
+ if (a < b)
79
+ return -1;
80
+ }
81
+ return 0;
82
+ }
83
+
84
+ var readyState = 'loading';
85
+ var readyCallback = [];
86
+ var pendingTasks = 0;
87
+ var Platform = {
88
+ os: { name: OS.Unknown, version: '' },
89
+ engine: { name: Engines.Unknown, version: '' },
90
+ browser: { name: Browsers.Unknown, version: '' },
91
+ crossPlatformFramework: CrossPlatformFramework.Unknown,
92
+ userAgent: USER_AGENT,
93
+ get readyState() {
94
+ return readyState;
95
+ },
96
+ get locale() {
97
+ return getLocale();
98
+ },
99
+ get device() {
100
+ if (this.os.name === OS.iOS || this.os.name === OS.Android)
101
+ return Devices.Mobile;
102
+ if (this.os.name === OS.Windows || this.os.name === OS.MacOS)
103
+ return Devices.Desktop;
104
+ return Devices.Unknown;
105
+ },
106
+ get renderer() {
107
+ return getRenderer();
108
+ },
109
+ get isWebview() {
110
+ return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
111
+ },
112
+ get isNode() {
113
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.node !== 'undefined';
114
+ },
115
+ get isStandalone() {
116
+ if (this.os.name === OS.iOS)
117
+ return 'standalone' in globalThis.navigator && !!globalThis.navigator.standalone;
118
+ if (!('matchMedia' in globalThis))
119
+ return false;
120
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
121
+ },
122
+ onready: function (callback) {
123
+ if (this.readyState === 'complete') {
124
+ try {
125
+ callback(this);
126
+ }
127
+ catch (_) {
128
+ }
129
+ }
130
+ else {
131
+ readyCallback.push(callback);
132
+ }
133
+ }
134
+ };
135
+ function resolveWindowsVersion(string) {
136
+ if (typeof string === 'undefined')
137
+ return '';
138
+ var mapped = {
139
+ '4.90': 'ME',
140
+ 'NT3.51': 'NT 3.11',
141
+ 'NT4.0': 'NT 4.0',
142
+ 'NT 5.0': '2000',
143
+ 'NT 5.1': 'XP',
144
+ 'NT 5.2': 'XP',
145
+ 'NT 6.0': 'Vista',
146
+ 'NT 6.1': '7',
147
+ 'NT 6.2': '8',
148
+ 'NT 6.3': '8.1',
149
+ 'NT 6.4': '10',
150
+ 'NT 10.0': '10',
151
+ 'ARM': 'RT'
152
+ }[string];
153
+ if (typeof mapped !== 'undefined')
154
+ return mapped;
155
+ return string;
156
+ }
157
+ function resolveUnderscoreVersion(string) {
158
+ if (typeof string === 'undefined')
159
+ return '';
160
+ return string.replace(/_/g, '.');
161
+ }
162
+ var OS_RESOLVER_MAP = [
163
+ [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
164
+ [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
165
+ [/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i, OS.Windows, resolveWindowsVersion],
166
+ [/windows nt ?([\d.)]*)(?!.+xbox)/i, OS.Windows, resolveWindowsVersion],
167
+ [/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i, OS.Windows, resolveWindowsVersion],
168
+ [/windows ce\/?([\d.]*)/i, OS.Windows, resolveWindowsVersion],
169
+ [/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i, OS.iOS, resolveUnderscoreVersion],
170
+ [/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i, OS.iOS, resolveUnderscoreVersion],
171
+ [/cfnetwork\/.+darwin/i, OS.iOS, resolveUnderscoreVersion],
172
+ [/mac os x ?([\w. ]*)/i, OS.MacOS, resolveUnderscoreVersion],
173
+ [/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i, OS.MacOS, resolveUnderscoreVersion],
174
+ [/droid ([\w.]+)\b.+(android[- ]x86)/i, OS.Android],
175
+ [/android\w*[-\/.; ]?([\d.]*)/i, OS.Android],
176
+ ];
177
+ var ENGINE_RESOLVER_MAP = [
178
+ [/windows.+ edge\/([\w.]+)/i, Engines.EdgeHTML],
179
+ [/arkweb\/([\w.]+)/i, Engines.ArkWeb],
180
+ [/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i, Engines.Blink],
181
+ [/presto\/([\w.]+)/i, Engines.Presto],
182
+ [/webkit\/([\w.]+)/i, Engines.WebKit],
183
+ [/trident\/([\w.]+)/i, Engines.Trident],
184
+ [/netfront\/([\w.]+)/i, Engines.NetFront],
185
+ [/khtml[\/ ]\(?([\w.]+)/i, Engines.KHTML],
186
+ [/tasman[\/ ]\(?([\w.]+)/i, Engines.Tasman],
187
+ [/rv:([\w.]{1,9})\b.+gecko/i, Engines.Gecko]
188
+ ];
189
+ var BROWSER_RESOLVER_MAP = [
190
+ [/\b(?:crmo|crios)\/([\w.]+)/i, Browsers.Chrome],
191
+ [/webview.+edge\/([\w.]+)/i, Browsers.Edge],
192
+ [/edg(?:e|ios|a)?\/([\w.]+)/i, Browsers.Edge],
193
+ [/opera mini\/([-\w.]+)/i, Browsers.Opera],
194
+ [/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i, Browsers.Opera],
195
+ [/opera(?:.+version\/|[\/ ]+)([\w.]+)/i, Browsers.Opera],
196
+ [/opios[\/ ]+([\w.]+)/i, Browsers.Opera],
197
+ [/\bop(?:rg)?x\/([\w.]+)/i, Browsers.Opera],
198
+ [/\bopr\/([\w.]+)/i, Browsers.Opera],
199
+ [/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i, Browsers.IE],
200
+ [/(?:ms|\()ie ([\w.]+)/i, Browsers.IE],
201
+ [/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i, Browsers.IE],
202
+ [/\bfocus\/([\w.]+)/i, Browsers.Firefox],
203
+ [/\bopt\/([\w.]+)/i, Browsers.Opera],
204
+ [/coast\/([\w.]+)/i, Browsers.Opera],
205
+ [/fxios\/([\w.-]+)/i, Browsers.Firefox],
206
+ [/samsungbrowser\/([\w.]+)/i, Browsers.SamsungInternet],
207
+ [/headlesschrome(?:\/([\w.]+)| )/i, Browsers.Chrome],
208
+ [/wv\).+chrome\/([\w.]+).+edgw\//i, Browsers.Edge],
209
+ [/ wv\).+(chrome)\/([\w.]+)/i, Browsers.Chrome],
210
+ [/chrome\/([\w.]+) mobile/i, Browsers.Chrome],
211
+ [/chrome\/v?([\w.]+)/i, Browsers.Chrome],
212
+ [/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
213
+ [/iphone .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
214
+ [/version\/([\w.,]+) .*safari/i, Browsers.Safari],
215
+ [/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i, Browsers.Safari, '1'],
216
+ [/(?:mobile|tablet);.*firefox\/([\w.-]+)/i, Browsers.Firefox],
217
+ [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
218
+ [/firefox\/([\w.]+)/i, Browsers.Firefox],
219
+ ];
220
+ function incrementPendingTasks() {
221
+ pendingTasks++;
222
+ }
223
+ function decrementPendingTasks() {
224
+ pendingTasks--;
225
+ checkReady();
226
+ }
227
+ function checkReady() {
228
+ if (pendingTasks === 0 && readyState === 'loading') {
229
+ readyState = 'complete';
230
+ for (var i = 0; i < readyCallback.length; i++) {
231
+ try {
232
+ readyCallback[i](Platform);
233
+ }
234
+ catch (_) {
235
+ }
236
+ }
237
+ readyCallback.length = 0;
238
+ }
239
+ }
240
+ function resolveSemanticWindowsVersion(version, defaultValue) {
241
+ if (version.major === 10 && version.minor === 0 && version.build >= 22000)
242
+ return '11';
243
+ if (version.major === 10 && version.minor === 0 && version.build < 22000)
244
+ return '10';
245
+ if (version.major === 6 && version.minor === 3)
246
+ return '8.1';
247
+ if (version.major === 6 && version.minor === 2)
248
+ return '8';
249
+ if (version.major === 6 && version.minor === 1)
250
+ return '7';
251
+ if (version.major === 6 && version.minor === 0)
252
+ return 'Vista';
253
+ if (version.major === 5 && version.minor === 1)
254
+ return 'XP';
255
+ if (version.major === 5 && version.minor === 2)
256
+ return 'XP';
257
+ if (version.major === 5 && version.minor === 0)
258
+ return '2000';
259
+ if (version.major === 4 && version.minor === 90)
260
+ return 'ME';
261
+ if (version.major === 4 && version.minor === 0)
262
+ return 'NT 4.0';
263
+ if (version.major === 3 && version.minor === 51)
264
+ return 'NT 3.11';
265
+ return defaultValue;
266
+ }
267
+ function resolveSemanticDarwinVersion(version, defaultValue) {
268
+ if (version.major >= 24)
269
+ return '' + (version.major - 9) + '.' + version.minor + '.' + version.build;
270
+ if (version.major === 23)
271
+ return '14.' + version.minor + '.' + version.build;
272
+ if (version.major === 22)
273
+ return '13.' + version.minor + '.' + version.build;
274
+ if (version.major === 21)
275
+ return '12.' + version.minor + '.' + version.build;
276
+ if (version.major === 20)
277
+ return '11.' + version.minor + '.' + version.build;
278
+ if (version.major === 19)
279
+ return '10.15.' + version.minor;
280
+ if (version.major === 18)
281
+ return '10.14.' + version.minor;
282
+ if (version.major === 17)
283
+ return '10.13.' + version.minor;
284
+ if (version.major === 16)
285
+ return '10.12.' + version.minor;
286
+ if (version.major === 15)
287
+ return '10.11.' + version.minor;
288
+ if (version.major === 14)
289
+ return '10.10.' + version.minor;
290
+ if (version.major === 13)
291
+ return '10.9.' + version.minor;
292
+ if (version.major >= 5 && version.major <= 12)
293
+ return '10.' + (version.major - 4) + '.' + version.minor;
294
+ return defaultValue;
295
+ }
296
+ function resolveSemanticAndroidVersion(version, defaultValue) {
297
+ if (version.major >= 36)
298
+ return '16';
299
+ if (version.major === 35)
300
+ return '15';
301
+ if (version.major === 34)
302
+ return '14';
303
+ if (version.major === 33)
304
+ return '13';
305
+ if (version.major === 32)
306
+ return '12.1';
307
+ if (version.major === 31)
308
+ return '12';
309
+ if (version.major === 30)
310
+ return '11';
311
+ if (version.major === 29)
312
+ return '10';
313
+ if (version.major === 28)
314
+ return '9';
315
+ if (version.major === 27)
316
+ return '8.1';
317
+ if (version.major === 26)
318
+ return '8.0';
319
+ if (version.major === 25)
320
+ return '7.1';
321
+ if (version.major === 24)
322
+ return '7.0';
323
+ if (version.major === 23)
324
+ return '6.0';
325
+ if (version.major === 22)
326
+ return '5.1';
327
+ if (version.major === 21)
328
+ return '5.0';
329
+ if (version.major === 20)
330
+ return '4.4';
331
+ if (version.major === 19)
332
+ return '4.4';
333
+ if (version.major === 18)
334
+ return '4.3';
335
+ if (version.major === 17)
336
+ return '4.2';
337
+ if (version.major === 16)
338
+ return '4.1';
339
+ if (version.major === 15)
340
+ return '4.0.3';
341
+ if (version.major === 14)
342
+ return '4.0';
343
+ if (version.major === 13)
344
+ return '3.2';
345
+ if (version.major === 12)
346
+ return '3.1';
347
+ if (version.major === 11)
348
+ return '3.0';
349
+ if (version.major === 10)
350
+ return '2.3.3';
351
+ if (version.major === 9)
352
+ return '2.3';
353
+ if (version.major === 8)
354
+ return '2.2';
355
+ if (version.major === 7)
356
+ return '2.1';
357
+ if (version.major === 6)
358
+ return '2.0.1';
359
+ if (version.major === 5)
360
+ return '2.0';
361
+ if (version.major === 4)
362
+ return '1.6';
363
+ if (version.major === 3)
364
+ return '1.5';
365
+ if (version.major === 2)
366
+ return '1.1';
367
+ if (version.major === 1)
368
+ return '1.0';
369
+ return defaultValue;
370
+ }
371
+ function resolveVersion(string, resolver) {
372
+ if (typeof resolver === 'function')
373
+ return resolver(string);
374
+ if (typeof resolver === 'string')
375
+ return resolver;
376
+ if (typeof string === 'undefined')
377
+ return '';
378
+ return string;
379
+ }
380
+ function normalizeBrand(entry) {
381
+ if (entry === null || typeof entry === 'undefined')
382
+ return { brand: '', version: '' };
383
+ if (typeof entry === 'string')
384
+ return { brand: entry, version: '' };
385
+ return { brand: entry.brand, version: entry.version };
386
+ }
387
+ function getSemanticVersion(string) {
388
+ var parts = string.split('.');
389
+ return {
390
+ major: parseInt(parts[0] || '0'),
391
+ minor: parseInt(parts[1] || '0'),
392
+ build: parseInt(parts[2] || '0')
393
+ };
394
+ }
395
+ function parseOSFromCordova() {
396
+ Platform.crossPlatformFramework = CrossPlatformFramework.Cordova;
397
+ if (typeof globalThis.device !== 'undefined') {
398
+ switch (globalThis.device.platform) {
399
+ case 'Android':
400
+ Platform.os = {
401
+ name: OS.Android,
402
+ version: globalThis.device.version,
403
+ };
404
+ break;
405
+ case 'iOS':
406
+ Platform.os = {
407
+ name: OS.iOS,
408
+ version: globalThis.device.version,
409
+ };
410
+ break;
411
+ }
412
+ }
413
+ decrementPendingTasks();
414
+ }
415
+ function getRenderer() {
416
+ if (typeof globalThis.document === 'undefined')
417
+ return '';
418
+ var canvas = globalThis.document.createElement('canvas');
419
+ if (typeof canvas.getContext !== 'function')
420
+ return '';
421
+ var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
422
+ if (context === null)
423
+ return '';
424
+ if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
425
+ var extension = context.getExtension('WEBGL_debug_renderer_info');
426
+ if (extension === null)
427
+ return context.getParameter(context.RENDERER);
428
+ else
429
+ return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
430
+ }
431
+ else {
432
+ return '';
433
+ }
434
+ }
435
+ function normalizeLocale(locale) {
436
+ if (locale === null || typeof locale === 'undefined')
437
+ return locale;
438
+ if (locale.length === 0)
439
+ return null;
440
+ locale = locale.replace(/_/g, '-');
441
+ if (locale === 'C' || locale.toLowerCase() === 'posix')
442
+ return 'en-US';
443
+ if (locale.indexOf('.') !== -1)
444
+ return normalizeLocale(locale.split('.')[0]);
445
+ if (locale.indexOf('@') !== -1)
446
+ return normalizeLocale(locale.split('@')[0]);
447
+ var parts = locale.split('-');
448
+ if (parts.length === 0)
449
+ return null;
450
+ parts[0] = parts[0].toLowerCase();
451
+ if (parts.length > 1 && parts[1].length === 2)
452
+ parts[1] = parts[1].toUpperCase();
453
+ if (parts.length > 2 && parts[1].length === 4)
454
+ parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
455
+ return parts.join('-');
456
+ }
457
+ function getLocale() {
458
+ var locale = {
459
+ language: null,
460
+ languages: [],
461
+ timezone: null,
462
+ timezoneOffset: 0,
463
+ };
464
+ function addLanguages(language) {
465
+ for (var i = 0; i < language.length; i++)
466
+ addLanguage(language[i]);
467
+ }
468
+ function addLanguage(language) {
469
+ language = normalizeLocale(language);
470
+ if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
471
+ if (locale.language === null)
472
+ locale.language = language;
473
+ locale.languages.push(language);
474
+ }
475
+ }
476
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
477
+ try {
478
+ var reactNative = require('react-native');
479
+ var nativeModules = reactNative.NativeModules;
480
+ if (typeof nativeModules.SettingsManager !== 'undefined') {
481
+ var settingManager = nativeModules.SettingsManager;
482
+ if (typeof settingManager !== 'undefined') {
483
+ var constant = typeof settingManager.getConstants === 'function'
484
+ ? settingManager.getConstants()
485
+ : settingManager;
486
+ if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
487
+ var settings = constant.settings;
488
+ if (typeof settings.AppleLocale === 'string')
489
+ addLanguage(settings.AppleLocale);
490
+ if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
491
+ addLanguages(settings.AppleLanguages);
492
+ }
493
+ }
494
+ }
495
+ if (typeof nativeModules.I18nManager !== 'undefined') {
496
+ var i18nManager = nativeModules.I18nManager;
497
+ if (typeof i18nManager !== 'undefined') {
498
+ var constant = typeof i18nManager.getConstants === 'function'
499
+ ? i18nManager.getConstants()
500
+ : i18nManager;
501
+ if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
502
+ addLanguage(constant.localeIdentifier);
503
+ }
504
+ }
505
+ }
506
+ catch (_) {
507
+ }
508
+ }
509
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
510
+ try {
511
+ var electron = require('electron');
512
+ var app = electron.app;
513
+ if (typeof app.getLocale !== 'undefined')
514
+ addLanguage(app.getLocale());
515
+ if (typeof app.getSystemLocale !== 'undefined')
516
+ addLanguage(app.getSystemLocale());
517
+ if (typeof app.getPreferredSystemLanguages !== 'undefined')
518
+ addLanguages(app.getPreferredSystemLanguages());
519
+ }
520
+ catch (_) {
521
+ }
522
+ }
523
+ if (typeof Intl !== 'undefined') {
524
+ try {
525
+ addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
526
+ }
527
+ catch (_) {
528
+ }
529
+ try {
530
+ locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
531
+ }
532
+ catch (_) {
533
+ }
534
+ }
535
+ if (typeof globalThis.navigator !== 'undefined') {
536
+ if (typeof globalThis.navigator.languages !== 'undefined')
537
+ addLanguages(globalThis.navigator.languages);
538
+ if (typeof globalThis.navigator.language !== 'undefined')
539
+ addLanguage(globalThis.navigator.language);
540
+ if (typeof globalThis.navigator.userLanguage !== 'undefined')
541
+ addLanguage(globalThis.navigator.userLanguage);
542
+ if (typeof globalThis.navigator.browserLanguage !== 'undefined')
543
+ addLanguage(globalThis.navigator.browserLanguage);
544
+ if (typeof globalThis.navigator.systemLanguage !== 'undefined')
545
+ addLanguage(globalThis.navigator.systemLanguage);
546
+ }
547
+ try {
548
+ locale.timezoneOffset = new Date().getTimezoneOffset();
549
+ }
550
+ catch (_) {
551
+ }
552
+ return locale;
553
+ }
554
+ function init() {
555
+ if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.electron !== 'undefined') || (/ electron\//i.test(USER_AGENT)))
556
+ Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
557
+ if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
558
+ Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
559
+ for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
560
+ var map = OS_RESOLVER_MAP[i];
561
+ var regexp = map[0];
562
+ var os = map[1];
563
+ var resolver = map[2];
564
+ var matched = Platform.userAgent.match(regexp);
565
+ if (matched !== null) {
566
+ Platform.os = {
567
+ name: os,
568
+ version: resolveVersion(matched[1], resolver),
569
+ };
570
+ break;
571
+ }
572
+ }
573
+ if (Platform.os.name === OS.iOS && compareVersion(Platform.os.version, '18.6') === 0) {
574
+ var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
575
+ if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
576
+ Platform.os.version = version[1];
577
+ }
578
+ for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
579
+ var map = ENGINE_RESOLVER_MAP[i];
580
+ var regexp = map[0];
581
+ var engine = map[1];
582
+ var resolver = map[2];
583
+ var matched = Platform.userAgent.match(regexp);
584
+ if (matched !== null) {
585
+ Platform.engine = {
586
+ name: engine,
587
+ version: resolveVersion(matched[1], resolver),
588
+ };
589
+ break;
590
+ }
591
+ }
592
+ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
593
+ var map = BROWSER_RESOLVER_MAP[i];
594
+ var regexp = map[0];
595
+ var browser = map[1];
596
+ var resolver = map[2];
597
+ var matched = Platform.userAgent.match(regexp);
598
+ if (matched !== null) {
599
+ Platform.browser = {
600
+ name: browser,
601
+ version: resolveVersion(matched[1], resolver),
602
+ };
603
+ break;
604
+ }
605
+ }
606
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
607
+ try {
608
+ var reactNative = require('react-native');
609
+ var platform = reactNative.Platform;
610
+ var os = platform.OS;
611
+ var release = '' + platform.Version;
612
+ var version = getSemanticVersion(release);
613
+ switch (os) {
614
+ case 'android':
615
+ Platform.os = {
616
+ name: OS.Android,
617
+ version: resolveSemanticAndroidVersion(version, release),
618
+ };
619
+ break;
620
+ case 'ios':
621
+ Platform.os = {
622
+ name: OS.iOS,
623
+ version: release,
624
+ };
625
+ break;
626
+ case 'windows':
627
+ Platform.os = {
628
+ name: OS.Windows,
629
+ version: resolveSemanticWindowsVersion(version, release),
630
+ };
631
+ break;
632
+ case 'macos':
633
+ Platform.os = {
634
+ name: OS.MacOS,
635
+ version: release,
636
+ };
637
+ break;
638
+ }
639
+ }
640
+ catch (_) {
641
+ }
642
+ finally {
643
+ }
644
+ }
645
+ if (Platform.isNode) {
646
+ try {
647
+ var os = require('os');
648
+ var platform = os.platform();
649
+ var release = os.release();
650
+ var version = getSemanticVersion(release);
651
+ switch (platform) {
652
+ case 'win32':
653
+ Platform.os = {
654
+ name: OS.Windows,
655
+ version: resolveSemanticWindowsVersion(version, release),
656
+ };
657
+ break;
658
+ case 'darwin':
659
+ Platform.os = {
660
+ name: OS.MacOS,
661
+ version: resolveSemanticDarwinVersion(version, release),
662
+ };
663
+ break;
664
+ case 'android':
665
+ Platform.os = {
666
+ name: OS.Android,
667
+ version: release,
668
+ };
669
+ break;
670
+ case 'linux':
671
+ if (/android/i.test(release)) {
672
+ Platform.os = {
673
+ name: OS.Android,
674
+ version: release,
675
+ };
676
+ }
677
+ break;
678
+ }
679
+ }
680
+ catch (_) {
681
+ }
682
+ finally {
683
+ }
684
+ }
685
+ if (typeof globalThis.document !== 'undefined') {
686
+ if (typeof globalThis.device !== 'undefined') {
687
+ parseOSFromCordova();
688
+ }
689
+ else {
690
+ globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
691
+ }
692
+ }
693
+ if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
694
+ incrementPendingTasks();
695
+ globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
696
+ .then(function (result) {
697
+ try {
698
+ var brands = result.fullVersionList || result.brands || [];
699
+ var platformVersion = result.platformVersion;
700
+ var platform = result.platform;
701
+ var browserName = Platform.browser.name;
702
+ var prevBrandName = null;
703
+ for (var i = 0; i < brands.length; i++) {
704
+ var brand = normalizeBrand(brands[i]);
705
+ var brandVersion = brand.version;
706
+ var brandName = brand.brand;
707
+ if (/not.a.brand/i.test(brandName))
708
+ continue;
709
+ if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
710
+ brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
711
+ prevBrandName = browserName;
712
+ if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
713
+ browserName = brandName;
714
+ if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
715
+ Platform.browser.name = Browsers.Chrome;
716
+ else if (browserName === 'Edge' || browserName === 'Edge WebView2')
717
+ Platform.browser.name = Browsers.Edge;
718
+ else if (browserName === 'Opera Mobi')
719
+ Platform.browser.name = Browsers.Opera;
720
+ Platform.browser.version = brandVersion;
721
+ }
722
+ prevBrandName = brandName;
723
+ }
724
+ if (brandName === 'Chromium')
725
+ Platform.engine.version = brandVersion;
726
+ }
727
+ if (typeof platformVersion === 'string') {
728
+ if (Platform.os.name === OS.Windows)
729
+ Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
730
+ else
731
+ Platform.os.version = platformVersion;
732
+ }
733
+ if (typeof platform === 'string') {
734
+ if (/android/i.test(platform))
735
+ Platform.os.name = OS.Android;
736
+ else if (/ios|iphone|ipad/i.test(platform))
737
+ Platform.os.name = OS.iOS;
738
+ else if (/windows|win32/i.test(platform))
739
+ Platform.os.name = OS.Windows;
740
+ else if (/macos|macintel/i.test(platform))
741
+ Platform.os.name = OS.MacOS;
742
+ }
743
+ if (result.mobile === true)
744
+ Platform.device = Devices.Mobile;
745
+ }
746
+ catch (_) {
747
+ }
748
+ finally {
749
+ decrementPendingTasks();
750
+ }
751
+ });
752
+ }
753
+ checkReady();
754
+ }
755
+ init();
756
+
757
+ var currentDimension = null;
758
+ var Dimension = {
759
+ get value() {
760
+ return getDimension();
761
+ },
762
+ onchange: onchange,
763
+ };
764
+ function getDimension() {
765
+ var dimension = {
766
+ innerWidth: -1,
767
+ innerHeight: -1,
768
+ outerWidth: -1,
769
+ outerHeight: -1,
770
+ scale: 1,
771
+ };
772
+ if (typeof globalThis.innerWidth !== 'undefined') {
773
+ dimension.innerWidth = globalThis.innerWidth;
774
+ dimension.innerHeight = globalThis.innerHeight;
775
+ dimension.outerWidth = globalThis.outerWidth;
776
+ dimension.outerHeight = globalThis.outerHeight;
777
+ dimension.scale = globalThis.devicePixelRatio || 1;
778
+ return dimension;
779
+ }
780
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
781
+ try {
782
+ var reactNative = require('react-native');
783
+ var dimensions = reactNative.Dimensions;
784
+ var pixelRatio = reactNative.PixelRatio;
785
+ var screenDimensions = dimensions.get('screen');
786
+ var windowDimensions = dimensions.get('window');
787
+ dimension.innerWidth = screenDimensions.width;
788
+ dimension.innerHeight = screenDimensions.height;
789
+ dimension.outerWidth = windowDimensions.width;
790
+ dimension.outerHeight = windowDimensions.height;
791
+ dimension.scale = pixelRatio.get();
792
+ return dimension;
793
+ }
794
+ catch (_) {
795
+ }
796
+ }
797
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
798
+ try {
799
+ var electron = require('electron');
800
+ var screen_1 = electron.screen;
801
+ var browserWindow = electron.BrowserWindow;
802
+ var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
803
+ if (typeof focusedWindow !== 'undefined') {
804
+ var contentSize = focusedWindow.getContentSize();
805
+ var size = focusedWindow.getSize();
806
+ dimension.innerWidth = contentSize[0];
807
+ dimension.innerHeight = contentSize[1];
808
+ dimension.outerWidth = size[0];
809
+ dimension.outerHeight = size[1];
810
+ dimension.scale = screen_1.getDisplayMatching(focusedWindow.getBounds()).scaleFactor;
811
+ }
812
+ return dimension;
813
+ }
814
+ catch (_) {
815
+ }
816
+ }
817
+ return dimension;
818
+ }
819
+ function addListener(capture) {
820
+ currentDimension = getDimension();
821
+ if (typeof globalThis.addEventListener === 'function')
822
+ globalThis.addEventListener('resize', onResize, capture);
823
+ }
824
+ function removeListener(capture) {
825
+ currentDimension = null;
826
+ if (typeof globalThis.removeEventListener === 'function')
827
+ globalThis.removeEventListener('resize', onResize, capture);
828
+ }
829
+ function onResize() {
830
+ var dimension = getDimension();
831
+ if (!currentDimension ||
832
+ dimension.innerWidth !== currentDimension.innerWidth ||
833
+ dimension.innerHeight !== currentDimension.innerHeight ||
834
+ dimension.outerWidth !== currentDimension.outerWidth ||
835
+ dimension.outerHeight !== currentDimension.outerHeight ||
836
+ dimension.scale !== currentDimension.scale) {
837
+ currentDimension = dimension;
838
+ notify(dimension);
839
+ }
840
+ }
841
+ function notify(dimension) {
842
+ for (var i = 0; i < ENTRIES.length; i++) {
843
+ var entry = ENTRIES[i];
844
+ entry.fn(dimension);
845
+ if (entry.once)
846
+ removeEntry(entry);
847
+ }
848
+ }
849
+ function removeEntry(entry) {
850
+ var index = indexOfEntry(entry);
851
+ if (index !== -1)
852
+ ENTRIES.splice(index, 1);
853
+ if (ENTRIES.length === 0)
854
+ removeListener(entry.capture);
855
+ }
856
+ function indexOfEntry(entry) {
857
+ for (var i = 0; i < ENTRIES.length; i++)
858
+ if (ENTRIES[i].fn === entry.fn && ENTRIES[i].capture === entry.capture)
859
+ return i;
860
+ return -1;
861
+ }
862
+ function onchangeReactNative(listener) {
863
+ try {
864
+ var reactNative = require('react-native');
865
+ var subscription_1 = reactNative.Dimensions.addEventListener('change', function (dimensions) {
866
+ listener(getDimension());
867
+ });
868
+ return function () {
869
+ subscription_1.remove();
870
+ };
871
+ }
872
+ catch (_) {
873
+ }
874
+ return function () {
875
+ };
876
+ }
877
+ function onchangeElectron(listener) {
878
+ try {
879
+ var electron = require('electron');
880
+ var browserWindow = electron.BrowserWindow;
881
+ var focusedWindow_1 = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
882
+ if (typeof focusedWindow_1 !== 'undefined') {
883
+ var handleResize_1 = function () {
884
+ listener(getDimension());
885
+ };
886
+ focusedWindow_1.on('resize', handleResize_1);
887
+ return function () {
888
+ focusedWindow_1.removeListener('resize', handleResize_1);
889
+ };
890
+ }
891
+ }
892
+ catch (_) {
893
+ }
894
+ return function () {
895
+ };
896
+ }
897
+ function onchange(listener, options) {
898
+ if (options === void 0) { options = false; }
899
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative)
900
+ return onchangeReactNative(listener);
901
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron)
902
+ return onchangeElectron(listener);
903
+ var entry = { fn: listener, capture: false, once: false };
904
+ if (typeof options === 'boolean')
905
+ options = { capture: options };
906
+ if (typeof options.capture !== 'undefined')
907
+ entry.capture = options.capture;
908
+ if (typeof options.once !== 'undefined')
909
+ entry.once = options.once;
910
+ if (typeof options.signal !== 'undefined')
911
+ entry.signal = options.signal;
912
+ var index = indexOfEntry(entry);
913
+ if (index === -1) {
914
+ ENTRIES.push(entry);
915
+ if (ENTRIES.length === 1)
916
+ addListener(entry.capture);
917
+ notify(getDimension());
918
+ }
919
+ else if (ENTRIES[index].once && !entry.once) {
920
+ ENTRIES[index].once = false;
921
+ }
922
+ if (typeof entry.signal !== 'undefined') {
923
+ if (entry.signal.aborted) {
924
+ removeEntry(entry);
925
+ }
926
+ else {
927
+ entry.signal.addEventListener('abort', function onAbort() {
928
+ if (typeof entry.signal !== 'undefined')
929
+ entry.signal.removeEventListener('abort', onAbort);
930
+ removeEntry(entry);
931
+ });
932
+ }
933
+ }
934
+ return function () {
935
+ removeEntry(entry);
936
+ };
937
+ }
4
938
 
5
939
  var NativeDimensionPlugin = {
6
940
  installed: false,