native-fn 1.0.63 → 1.0.65

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 (242) hide show
  1. package/README.md +2 -2
  2. package/dist/native.cjs +16 -14
  3. package/dist/native.min.cjs +1 -1
  4. package/dist/native.min.mjs +1 -1
  5. package/dist/native.mjs +16 -14
  6. package/dist/native.umd.js +16 -14
  7. package/dist/native.umd.min.js +1 -1
  8. package/dist/plugin/app/index.cjs +27 -20
  9. package/dist/plugin/app/index.d.ts +5 -0
  10. package/dist/plugin/app/index.min.cjs +1 -1
  11. package/dist/plugin/app/index.min.mjs +1 -1
  12. package/dist/plugin/app/index.mjs +27 -20
  13. package/dist/plugin/app/index.umd.js +27 -20
  14. package/dist/plugin/app/index.umd.min.js +1 -1
  15. package/dist/plugin/app/src/plugin/app/constants/index.d.ts +12 -0
  16. package/dist/plugin/app/src/plugin/app/cores/index.d.ts +3 -0
  17. package/dist/plugin/app/src/plugin/app/index.d.ts +1 -1
  18. package/dist/plugin/app/src/plugin/app/types/app.d.ts +6 -1
  19. package/dist/plugin/app/src/plugin/app/types/index.d.ts +2 -2
  20. package/dist/plugin/app/src/plugin/appearance/constants/index.d.ts +11 -0
  21. package/dist/plugin/app/src/plugin/appearance/cores/index.d.ts +3 -0
  22. package/dist/plugin/app/src/plugin/appearance/index.d.ts +8 -0
  23. package/dist/plugin/app/src/plugin/appearance/types/appearance.d.ts +6 -0
  24. package/dist/plugin/app/src/plugin/appearance/types/index.d.ts +13 -0
  25. package/dist/plugin/app/src/plugin/camera/constants/inedx.d.ts +4 -0
  26. package/dist/plugin/app/src/plugin/camera/cores/index.d.ts +3 -0
  27. package/dist/plugin/app/src/plugin/camera/index.d.ts +1 -1
  28. package/dist/plugin/app/src/plugin/camera/types/camera.d.ts +1 -1
  29. package/dist/plugin/app/src/plugin/camera/types/index.d.ts +1 -1
  30. package/dist/plugin/app/src/plugin/camera/utils/try-open-camera.d.ts +1 -1
  31. package/dist/plugin/app/src/plugin/clipboard/cores/index.d.ts +3 -0
  32. package/dist/plugin/app/src/plugin/fullscreen/cores/index.d.ts +35 -0
  33. package/dist/plugin/app/src/plugin/fullscreen/types/fullscreen.d.ts +9 -3
  34. package/dist/plugin/app/src/plugin/theme/constants/index.d.ts +14 -0
  35. package/dist/plugin/app/src/plugin/theme/cores/index.d.ts +3 -0
  36. package/dist/plugin/app/src/plugin/theme/index.d.ts +1 -1
  37. package/dist/plugin/app/src/plugin/theme/types/index.d.ts +1 -1
  38. package/dist/plugin/app/src/plugin/theme/types/theme.d.ts +1 -1
  39. package/dist/plugin/appearance/index.cjs +766 -0
  40. package/dist/plugin/appearance/index.d.ts +100 -0
  41. package/dist/plugin/appearance/index.min.cjs +1 -0
  42. package/dist/plugin/appearance/index.min.mjs +1 -0
  43. package/dist/plugin/appearance/index.mjs +764 -0
  44. package/dist/plugin/appearance/index.umd.js +772 -0
  45. package/dist/plugin/appearance/index.umd.min.js +1 -0
  46. package/dist/plugin/appearance/src/constants/platform.d.ts +67 -0
  47. package/dist/plugin/appearance/src/errors/plugin-not-extended-error.d.ts +2 -0
  48. package/dist/plugin/appearance/src/plugin/app/constants/index.d.ts +12 -0
  49. package/dist/plugin/appearance/src/plugin/app/cores/index.d.ts +3 -0
  50. package/dist/plugin/appearance/src/plugin/app/errors/url-open-error.d.ts +2 -0
  51. package/dist/plugin/appearance/src/plugin/app/index.d.ts +12 -0
  52. package/dist/plugin/appearance/src/plugin/app/types/app.d.ts +54 -0
  53. package/dist/plugin/appearance/src/plugin/app/types/index.d.ts +16 -0
  54. package/dist/plugin/appearance/src/plugin/app/utils/try-open-url.d.ts +16 -0
  55. package/dist/plugin/appearance/src/plugin/appearance/constants/index.d.ts +11 -0
  56. package/dist/plugin/appearance/src/plugin/appearance/cores/index.d.ts +3 -0
  57. package/dist/plugin/appearance/src/plugin/appearance/index.d.ts +8 -0
  58. package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +6 -0
  59. package/dist/plugin/appearance/src/plugin/appearance/types/index.d.ts +13 -0
  60. package/dist/plugin/appearance/src/plugin/camera/constants/inedx.d.ts +4 -0
  61. package/dist/plugin/appearance/src/plugin/camera/cores/index.d.ts +3 -0
  62. package/dist/plugin/appearance/src/plugin/camera/index.d.ts +8 -0
  63. package/dist/plugin/appearance/src/plugin/camera/types/camera.d.ts +4 -0
  64. package/dist/plugin/appearance/src/plugin/camera/types/index.d.ts +13 -0
  65. package/dist/plugin/appearance/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  66. package/dist/plugin/appearance/src/plugin/clipboard/cores/index.d.ts +3 -0
  67. package/dist/plugin/appearance/src/plugin/clipboard/index.d.ts +5 -0
  68. package/dist/plugin/appearance/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  69. package/dist/plugin/appearance/src/plugin/clipboard/types/index.d.ts +11 -0
  70. package/dist/plugin/appearance/src/plugin/fullscreen/cores/index.d.ts +35 -0
  71. package/dist/plugin/appearance/src/plugin/fullscreen/index.d.ts +5 -0
  72. package/dist/plugin/appearance/src/plugin/fullscreen/types/fullscreen.d.ts +17 -0
  73. package/dist/plugin/appearance/src/plugin/fullscreen/types/index.d.ts +11 -0
  74. package/dist/plugin/appearance/src/plugin/theme/constants/index.d.ts +14 -0
  75. package/dist/plugin/appearance/src/plugin/theme/cores/index.d.ts +3 -0
  76. package/dist/plugin/appearance/src/plugin/theme/errors/easing-error.d.ts +6 -0
  77. package/dist/plugin/appearance/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  78. package/dist/plugin/appearance/src/plugin/theme/index.d.ts +17 -0
  79. package/dist/plugin/appearance/src/plugin/theme/types/color.d.ts +17 -0
  80. package/dist/plugin/appearance/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  81. package/dist/plugin/appearance/src/plugin/theme/types/index.d.ts +23 -0
  82. package/dist/plugin/appearance/src/plugin/theme/types/theme.d.ts +24 -0
  83. package/dist/plugin/appearance/src/plugin/theme/utils/parse-color.d.ts +2 -0
  84. package/dist/plugin/appearance/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  85. package/dist/plugin/appearance/src/types/event-listener-util.d.ts +11 -0
  86. package/dist/plugin/appearance/src/types/index.d.ts +1 -0
  87. package/dist/plugin/appearance/src/types/native.d.ts +27 -0
  88. package/dist/plugin/appearance/src/types/platform.d.ts +16 -0
  89. package/dist/plugin/appearance/src/utils/assign.d.ts +1 -0
  90. package/dist/plugin/appearance/src/utils/compare-version.d.ts +1 -0
  91. package/dist/plugin/appearance/src/utils/create-custom-error.d.ts +6 -0
  92. package/dist/plugin/appearance/src/utils/create-hidden-element.d.ts +1 -0
  93. package/dist/plugin/appearance/src/utils/dispatch-click-event.d.ts +1 -0
  94. package/dist/plugin/appearance/src/utils/event-listener-utils.d.ts +3 -0
  95. package/dist/plugin/appearance/src/utils/get-topmost-window.d.ts +1 -0
  96. package/dist/plugin/appearance/src/utils/is-secure-context.d.ts +1 -0
  97. package/dist/plugin/camera/index.cjs +17 -15
  98. package/dist/plugin/camera/index.min.cjs +1 -1
  99. package/dist/plugin/camera/index.min.mjs +1 -1
  100. package/dist/plugin/camera/index.mjs +17 -15
  101. package/dist/plugin/camera/index.umd.js +17 -15
  102. package/dist/plugin/camera/index.umd.min.js +1 -1
  103. package/dist/plugin/camera/src/plugin/app/constants/index.d.ts +12 -0
  104. package/dist/plugin/camera/src/plugin/app/cores/index.d.ts +3 -0
  105. package/dist/plugin/camera/src/plugin/app/index.d.ts +1 -1
  106. package/dist/plugin/camera/src/plugin/app/types/app.d.ts +6 -1
  107. package/dist/plugin/camera/src/plugin/app/types/index.d.ts +2 -2
  108. package/dist/plugin/camera/src/plugin/appearance/constants/index.d.ts +11 -0
  109. package/dist/plugin/camera/src/plugin/appearance/cores/index.d.ts +3 -0
  110. package/dist/plugin/camera/src/plugin/appearance/index.d.ts +8 -0
  111. package/dist/plugin/camera/src/plugin/appearance/types/appearance.d.ts +6 -0
  112. package/dist/plugin/camera/src/plugin/appearance/types/index.d.ts +13 -0
  113. package/dist/plugin/camera/src/plugin/camera/constants/inedx.d.ts +4 -0
  114. package/dist/plugin/camera/src/plugin/camera/cores/index.d.ts +3 -0
  115. package/dist/plugin/camera/src/plugin/camera/index.d.ts +1 -1
  116. package/dist/plugin/camera/src/plugin/camera/types/camera.d.ts +1 -1
  117. package/dist/plugin/camera/src/plugin/camera/types/index.d.ts +1 -1
  118. package/dist/plugin/camera/src/plugin/camera/utils/try-open-camera.d.ts +1 -1
  119. package/dist/plugin/camera/src/plugin/clipboard/cores/index.d.ts +3 -0
  120. package/dist/plugin/camera/src/plugin/fullscreen/cores/index.d.ts +35 -0
  121. package/dist/plugin/camera/src/plugin/fullscreen/types/fullscreen.d.ts +9 -3
  122. package/dist/plugin/camera/src/plugin/theme/constants/index.d.ts +14 -0
  123. package/dist/plugin/camera/src/plugin/theme/cores/index.d.ts +3 -0
  124. package/dist/plugin/camera/src/plugin/theme/index.d.ts +1 -1
  125. package/dist/plugin/camera/src/plugin/theme/types/index.d.ts +1 -1
  126. package/dist/plugin/camera/src/plugin/theme/types/theme.d.ts +1 -1
  127. package/dist/plugin/clipboard/index.cjs +17 -15
  128. package/dist/plugin/clipboard/index.min.cjs +1 -1
  129. package/dist/plugin/clipboard/index.min.mjs +1 -1
  130. package/dist/plugin/clipboard/index.mjs +17 -15
  131. package/dist/plugin/clipboard/index.umd.js +17 -15
  132. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  133. package/dist/plugin/clipboard/src/plugin/app/constants/index.d.ts +12 -0
  134. package/dist/plugin/clipboard/src/plugin/app/cores/index.d.ts +3 -0
  135. package/dist/plugin/clipboard/src/plugin/app/index.d.ts +1 -1
  136. package/dist/plugin/clipboard/src/plugin/app/types/app.d.ts +6 -1
  137. package/dist/plugin/clipboard/src/plugin/app/types/index.d.ts +2 -2
  138. package/dist/plugin/clipboard/src/plugin/appearance/constants/index.d.ts +11 -0
  139. package/dist/plugin/clipboard/src/plugin/appearance/cores/index.d.ts +3 -0
  140. package/dist/plugin/clipboard/src/plugin/appearance/index.d.ts +8 -0
  141. package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +6 -0
  142. package/dist/plugin/clipboard/src/plugin/appearance/types/index.d.ts +13 -0
  143. package/dist/plugin/clipboard/src/plugin/camera/constants/inedx.d.ts +4 -0
  144. package/dist/plugin/clipboard/src/plugin/camera/cores/index.d.ts +3 -0
  145. package/dist/plugin/clipboard/src/plugin/camera/index.d.ts +1 -1
  146. package/dist/plugin/clipboard/src/plugin/camera/types/camera.d.ts +1 -1
  147. package/dist/plugin/clipboard/src/plugin/camera/types/index.d.ts +1 -1
  148. package/dist/plugin/clipboard/src/plugin/camera/utils/try-open-camera.d.ts +1 -1
  149. package/dist/plugin/clipboard/src/plugin/clipboard/cores/index.d.ts +3 -0
  150. package/dist/plugin/clipboard/src/plugin/fullscreen/cores/index.d.ts +35 -0
  151. package/dist/plugin/clipboard/src/plugin/fullscreen/types/fullscreen.d.ts +9 -3
  152. package/dist/plugin/clipboard/src/plugin/theme/constants/index.d.ts +14 -0
  153. package/dist/plugin/clipboard/src/plugin/theme/cores/index.d.ts +3 -0
  154. package/dist/plugin/clipboard/src/plugin/theme/index.d.ts +1 -1
  155. package/dist/plugin/clipboard/src/plugin/theme/types/index.d.ts +1 -1
  156. package/dist/plugin/clipboard/src/plugin/theme/types/theme.d.ts +1 -1
  157. package/dist/plugin/fullscreen/index.cjs +336 -339
  158. package/dist/plugin/fullscreen/index.d.ts +10 -11
  159. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  160. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  161. package/dist/plugin/fullscreen/index.mjs +336 -339
  162. package/dist/plugin/fullscreen/index.umd.js +336 -339
  163. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  164. package/dist/plugin/fullscreen/src/plugin/app/constants/index.d.ts +12 -0
  165. package/dist/plugin/fullscreen/src/plugin/app/cores/index.d.ts +3 -0
  166. package/dist/plugin/fullscreen/src/plugin/app/index.d.ts +1 -1
  167. package/dist/plugin/fullscreen/src/plugin/app/types/app.d.ts +6 -1
  168. package/dist/plugin/fullscreen/src/plugin/app/types/index.d.ts +2 -2
  169. package/dist/plugin/fullscreen/src/plugin/appearance/constants/index.d.ts +11 -0
  170. package/dist/plugin/fullscreen/src/plugin/appearance/cores/index.d.ts +3 -0
  171. package/dist/plugin/fullscreen/src/plugin/appearance/index.d.ts +8 -0
  172. package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +6 -0
  173. package/dist/plugin/fullscreen/src/plugin/appearance/types/index.d.ts +13 -0
  174. package/dist/plugin/fullscreen/src/plugin/camera/constants/inedx.d.ts +4 -0
  175. package/dist/plugin/fullscreen/src/plugin/camera/cores/index.d.ts +3 -0
  176. package/dist/plugin/fullscreen/src/plugin/camera/index.d.ts +1 -1
  177. package/dist/plugin/fullscreen/src/plugin/camera/types/camera.d.ts +1 -1
  178. package/dist/plugin/fullscreen/src/plugin/camera/types/index.d.ts +1 -1
  179. package/dist/plugin/fullscreen/src/plugin/camera/utils/try-open-camera.d.ts +1 -1
  180. package/dist/plugin/fullscreen/src/plugin/clipboard/cores/index.d.ts +3 -0
  181. package/dist/plugin/fullscreen/src/plugin/fullscreen/cores/index.d.ts +35 -0
  182. package/dist/plugin/fullscreen/src/plugin/fullscreen/types/fullscreen.d.ts +9 -3
  183. package/dist/plugin/fullscreen/src/plugin/theme/constants/index.d.ts +14 -0
  184. package/dist/plugin/fullscreen/src/plugin/theme/cores/index.d.ts +3 -0
  185. package/dist/plugin/fullscreen/src/plugin/theme/index.d.ts +1 -1
  186. package/dist/plugin/fullscreen/src/plugin/theme/types/index.d.ts +1 -1
  187. package/dist/plugin/fullscreen/src/plugin/theme/types/theme.d.ts +1 -1
  188. package/dist/plugin/theme/index.cjs +17 -15
  189. package/dist/plugin/theme/index.min.cjs +1 -1
  190. package/dist/plugin/theme/index.min.mjs +1 -1
  191. package/dist/plugin/theme/index.mjs +17 -15
  192. package/dist/plugin/theme/index.umd.js +17 -15
  193. package/dist/plugin/theme/index.umd.min.js +1 -1
  194. package/dist/plugin/theme/src/plugin/app/constants/index.d.ts +12 -0
  195. package/dist/plugin/theme/src/plugin/app/cores/index.d.ts +3 -0
  196. package/dist/plugin/theme/src/plugin/app/index.d.ts +1 -1
  197. package/dist/plugin/theme/src/plugin/app/types/app.d.ts +6 -1
  198. package/dist/plugin/theme/src/plugin/app/types/index.d.ts +2 -2
  199. package/dist/plugin/theme/src/plugin/appearance/constants/index.d.ts +11 -0
  200. package/dist/plugin/theme/src/plugin/appearance/cores/index.d.ts +3 -0
  201. package/dist/plugin/theme/src/plugin/appearance/index.d.ts +8 -0
  202. package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +6 -0
  203. package/dist/plugin/theme/src/plugin/appearance/types/index.d.ts +13 -0
  204. package/dist/plugin/theme/src/plugin/camera/constants/inedx.d.ts +4 -0
  205. package/dist/plugin/theme/src/plugin/camera/cores/index.d.ts +3 -0
  206. package/dist/plugin/theme/src/plugin/camera/index.d.ts +1 -1
  207. package/dist/plugin/theme/src/plugin/camera/types/camera.d.ts +1 -1
  208. package/dist/plugin/theme/src/plugin/camera/types/index.d.ts +1 -1
  209. package/dist/plugin/theme/src/plugin/camera/utils/try-open-camera.d.ts +1 -1
  210. package/dist/plugin/theme/src/plugin/clipboard/cores/index.d.ts +3 -0
  211. package/dist/plugin/theme/src/plugin/fullscreen/cores/index.d.ts +35 -0
  212. package/dist/plugin/theme/src/plugin/fullscreen/types/fullscreen.d.ts +9 -3
  213. package/dist/plugin/theme/src/plugin/theme/constants/index.d.ts +14 -0
  214. package/dist/plugin/theme/src/plugin/theme/cores/index.d.ts +3 -0
  215. package/dist/plugin/theme/src/plugin/theme/index.d.ts +1 -1
  216. package/dist/plugin/theme/src/plugin/theme/types/index.d.ts +1 -1
  217. package/dist/plugin/theme/src/plugin/theme/types/theme.d.ts +1 -1
  218. package/dist/src/plugin/app/constants/index.d.ts +12 -0
  219. package/dist/src/plugin/app/cores/index.d.ts +3 -0
  220. package/dist/src/plugin/app/index.d.ts +1 -1
  221. package/dist/src/plugin/app/types/app.d.ts +6 -1
  222. package/dist/src/plugin/app/types/index.d.ts +2 -2
  223. package/dist/src/plugin/appearance/constants/index.d.ts +11 -0
  224. package/dist/src/plugin/appearance/cores/index.d.ts +3 -0
  225. package/dist/src/plugin/appearance/index.d.ts +8 -0
  226. package/dist/src/plugin/appearance/types/appearance.d.ts +6 -0
  227. package/dist/src/plugin/appearance/types/index.d.ts +13 -0
  228. package/dist/src/plugin/camera/constants/inedx.d.ts +4 -0
  229. package/dist/src/plugin/camera/cores/index.d.ts +3 -0
  230. package/dist/src/plugin/camera/index.d.ts +1 -1
  231. package/dist/src/plugin/camera/types/camera.d.ts +1 -1
  232. package/dist/src/plugin/camera/types/index.d.ts +1 -1
  233. package/dist/src/plugin/camera/utils/try-open-camera.d.ts +1 -1
  234. package/dist/src/plugin/clipboard/cores/index.d.ts +3 -0
  235. package/dist/src/plugin/fullscreen/cores/index.d.ts +35 -0
  236. package/dist/src/plugin/fullscreen/types/fullscreen.d.ts +9 -3
  237. package/dist/src/plugin/theme/constants/index.d.ts +14 -0
  238. package/dist/src/plugin/theme/cores/index.d.ts +3 -0
  239. package/dist/src/plugin/theme/index.d.ts +1 -1
  240. package/dist/src/plugin/theme/types/index.d.ts +1 -1
  241. package/dist/src/plugin/theme/types/theme.d.ts +1 -1
  242. package/package.json +1 -1
@@ -0,0 +1,764 @@
1
+ var Appearances;
2
+ (function (Appearances) {
3
+ Appearances["Unknown"] = "unknown";
4
+ Appearances["Light"] = "light";
5
+ Appearances["Dark"] = "dark";
6
+ })(Appearances || (Appearances = {}));
7
+ var FALLBACK_MEDIA_QUERY_LIST = {
8
+ matches: false,
9
+ media: 'not all',
10
+ onchange: null,
11
+ addListener: function () {
12
+ },
13
+ removeListener: function () {
14
+ },
15
+ addEventListener: function () {
16
+ },
17
+ removeEventListener: function () {
18
+ },
19
+ dispatchEvent: function () {
20
+ return false;
21
+ },
22
+ };
23
+ var MEDIA_QUERY_LIST = typeof globalThis.matchMedia !== 'undefined' ? globalThis.matchMedia('(prefers-color-scheme: dark)') : FALLBACK_MEDIA_QUERY_LIST;
24
+ var SUPPORT_PREFERS_COLOR_SCHEME = MEDIA_QUERY_LIST.media !== 'not all';
25
+ var CONTEXT = 'document' in globalThis ? globalThis.document.createElement('canvas').getContext('2d', { willReadFrequently: true }) : null;
26
+ var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+';
27
+ var ENTRIES = [];
28
+
29
+ function compareVersion(lhs, rhs) {
30
+ var pa = lhs.split('.');
31
+ var pb = rhs.split('.');
32
+ var length = Math.max(pa.length, pb.length);
33
+ for (var i = 0; i < length; i++) {
34
+ var a = void 0;
35
+ var b = void 0;
36
+ if (i < pa.length)
37
+ a = parseInt(pa[i], 10);
38
+ else
39
+ a = 0;
40
+ if (i < pb.length)
41
+ b = parseInt(pb[i], 10);
42
+ else
43
+ b = 0;
44
+ if (a > b)
45
+ return 1;
46
+ if (a < b)
47
+ return -1;
48
+ }
49
+ return 0;
50
+ }
51
+
52
+ var OS;
53
+ (function (OS) {
54
+ OS["Unknown"] = "Unknown";
55
+ OS["Android"] = "Android";
56
+ OS["iOS"] = "iOS";
57
+ OS["Windows"] = "Windows";
58
+ OS["MacOS"] = "MacOS";
59
+ })(OS || (OS = {}));
60
+ var Devices;
61
+ (function (Devices) {
62
+ Devices["Unknown"] = "Unknown";
63
+ Devices["Mobile"] = "Mobile";
64
+ Devices["Desktop"] = "Desktop";
65
+ })(Devices || (Devices = {}));
66
+ var Engines;
67
+ (function (Engines) {
68
+ Engines["Unknown"] = "Unknown";
69
+ Engines["EdgeHTML"] = "EdgeHTML";
70
+ Engines["ArkWeb"] = "ArkWeb";
71
+ Engines["Blink"] = "Blink";
72
+ Engines["Presto"] = "Presto";
73
+ Engines["WebKit"] = "WebKit";
74
+ Engines["Trident"] = "Trident";
75
+ Engines["NetFront"] = "NetFront";
76
+ Engines["KHTML"] = "KHTML";
77
+ Engines["Tasman"] = "Tasman";
78
+ Engines["Gecko"] = "Gecko";
79
+ })(Engines || (Engines = {}));
80
+ var Browsers;
81
+ (function (Browsers) {
82
+ Browsers["Unknown"] = "Unknown";
83
+ Browsers["Chrome"] = "Chrome";
84
+ Browsers["Safari"] = "Safari";
85
+ Browsers["Edge"] = "Edge";
86
+ Browsers["Firefox"] = "Firefox";
87
+ Browsers["Opera"] = "Opera";
88
+ Browsers["IE"] = "IE";
89
+ Browsers["SamsungInternet"] = "SamsungInternet";
90
+ })(Browsers || (Browsers = {}));
91
+ var userAgent = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
92
+ var IS_NODE_JS = typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
93
+ var IS_ELECTRON = (typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(userAgent));
94
+ var IS_REACT_NATIVE = typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative';
95
+ var Platform = {
96
+ device: Devices.Unknown,
97
+ os: OS.Unknown,
98
+ osVersion: '',
99
+ engine: Engines.Unknown,
100
+ engineVersion: '',
101
+ browser: Browsers.Unknown,
102
+ browserVersion: '',
103
+ renderer: getRenderer(),
104
+ userAgent: userAgent,
105
+ isMobile: false,
106
+ isDesktop: false,
107
+ isStandalone: false,
108
+ isWebview: /; ?wv|applewebkit(?!.*safari)/i.test(userAgent),
109
+ };
110
+ var OS_RESOLVER_MAP = [
111
+ [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
112
+ [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
113
+ [/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i, OS.Windows, resolveWindowsVersion],
114
+ [/windows nt ?([\d.)]*)(?!.+xbox)/i, OS.Windows, resolveWindowsVersion],
115
+ [/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i, OS.Windows, resolveWindowsVersion],
116
+ [/windows ce\/?([\d.]*)/i, OS.Windows, resolveWindowsVersion],
117
+ [/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i, OS.iOS, resolveUnderscoreVersion],
118
+ [/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i, OS.iOS, resolveUnderscoreVersion],
119
+ [/cfnetwork\/.+darwin/i, OS.iOS, resolveUnderscoreVersion],
120
+ [/mac os x ?([\w. ]*)/i, OS.MacOS, resolveUnderscoreVersion],
121
+ [/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i, OS.MacOS, resolveUnderscoreVersion],
122
+ [/droid ([\w.]+)\b.+(android[- ]x86)/i, OS.Android],
123
+ [/android\w*[-\/.; ]?([\d.]*)/i, OS.Android],
124
+ ];
125
+ var ENGINE_RESOLVER_MAP = [
126
+ [/windows.+ edge\/([\w.]+)/i, Engines.EdgeHTML],
127
+ [/arkweb\/([\w.]+)/i, Engines.ArkWeb],
128
+ [/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i, Engines.Blink],
129
+ [/presto\/([\w.]+)/i, Engines.Presto],
130
+ [/webkit\/([\w.]+)/i, Engines.WebKit],
131
+ [/trident\/([\w.]+)/i, Engines.Trident],
132
+ [/netfront\/([\w.]+)/i, Engines.NetFront],
133
+ [/khtml[\/ ]\(?([\w.]+)/i, Engines.KHTML],
134
+ [/tasman[\/ ]\(?([\w.]+)/i, Engines.Tasman],
135
+ [/rv:([\w.]{1,9})\b.+gecko/i, Engines.Gecko]
136
+ ];
137
+ var BROWSER_RESOLVER_MAP = [
138
+ [/\b(?:crmo|crios)\/([\w.]+)/i, Browsers.Chrome],
139
+ [/webview.+edge\/([\w.]+)/i, Browsers.Edge],
140
+ [/edg(?:e|ios|a)?\/([\w.]+)/i, Browsers.Edge],
141
+ [/opera mini\/([-\w.]+)/i, Browsers.Opera],
142
+ [/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i, Browsers.Opera],
143
+ [/opera(?:.+version\/|[\/ ]+)([\w.]+)/i, Browsers.Opera],
144
+ [/opios[\/ ]+([\w.]+)/i, Browsers.Opera],
145
+ [/\bop(?:rg)?x\/([\w.]+)/i, Browsers.Opera],
146
+ [/\bopr\/([\w.]+)/i, Browsers.Opera],
147
+ [/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i, Browsers.IE],
148
+ [/(?:ms|\()ie ([\w.]+)/i, Browsers.IE],
149
+ [/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i, Browsers.IE],
150
+ [/\bfocus\/([\w.]+)/i, Browsers.Firefox],
151
+ [/\bopt\/([\w.]+)/i, Browsers.Opera],
152
+ [/coast\/([\w.]+)/i, Browsers.Opera],
153
+ [/fxios\/([\w.-]+)/i, Browsers.Firefox],
154
+ [/samsungbrowser\/([\w.]+)/i, Browsers.SamsungInternet],
155
+ [/headlesschrome(?:\/([\w.]+)| )/i, Browsers.Chrome],
156
+ [/wv\).+chrome\/([\w.]+).+edgw\//i, Browsers.Edge],
157
+ [/ wv\).+(chrome)\/([\w.]+)/i, Browsers.Chrome],
158
+ [/chrome\/([\w.]+) mobile/i, Browsers.Chrome],
159
+ [/chrome\/v?([\w.]+)/i, Browsers.Chrome],
160
+ [/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
161
+ [/iphone .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
162
+ [/version\/([\w.,]+) .*safari/i, Browsers.Safari],
163
+ [/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i, Browsers.Safari, '1'],
164
+ [/(?:mobile|tablet);.*firefox\/([\w.-]+)/i, Browsers.Firefox],
165
+ [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
166
+ [/firefox\/([\w.]+)/i, Browsers.Firefox],
167
+ ];
168
+ function resolveWindowsVersion(string) {
169
+ if (string === undefined)
170
+ return '';
171
+ var mapped = {
172
+ '4.90': 'ME',
173
+ 'NT3.51': 'NT 3.11',
174
+ 'NT4.0': 'NT 4.0',
175
+ 'NT 5.0': '2000',
176
+ 'NT 5.1': 'XP',
177
+ 'NT 5.2': 'XP',
178
+ 'NT 6.0': 'Vista',
179
+ 'NT 6.1': '7',
180
+ 'NT 6.2': '8',
181
+ 'NT 6.3': '8.1',
182
+ 'NT 6.4': '10',
183
+ 'NT 10.0': '10',
184
+ 'ARM': 'RT'
185
+ }[string];
186
+ if (mapped !== undefined)
187
+ return mapped;
188
+ return string;
189
+ }
190
+ function resolveUnderscoreVersion(string) {
191
+ if (string === undefined)
192
+ return '';
193
+ return string.replace(/_/g, '.');
194
+ }
195
+ function resolveSemanticWindowsVersion(version, defaultValue) {
196
+ if (version.major === 10 && version.minor === 0 && version.build >= 22000)
197
+ return '11';
198
+ if (version.major === 10 && version.minor === 0 && version.build < 22000)
199
+ return '10';
200
+ if (version.major === 6 && version.minor === 3)
201
+ return '8.1';
202
+ if (version.major === 6 && version.minor === 2)
203
+ return '8';
204
+ if (version.major === 6 && version.minor === 1)
205
+ return '7';
206
+ if (version.major === 6 && version.minor === 0)
207
+ return 'Vista';
208
+ if (version.major === 5 && version.minor === 1)
209
+ return 'XP';
210
+ if (version.major === 5 && version.minor === 2)
211
+ return 'XP';
212
+ if (version.major === 5 && version.minor === 0)
213
+ return '2000';
214
+ if (version.major === 4 && version.minor === 90)
215
+ return 'ME';
216
+ if (version.major === 4 && version.minor === 0)
217
+ return 'NT 4.0';
218
+ if (version.major === 3 && version.minor === 51)
219
+ return 'NT 3.11';
220
+ return defaultValue;
221
+ }
222
+ function resolveSemanticDarwinVersion(version, defaultValue) {
223
+ if (version.major >= 24)
224
+ return '' + (version.major - 9) + '.' + version.minor + '.' + version.build;
225
+ if (version.major === 23)
226
+ return '14.' + version.minor + '.' + version.build;
227
+ if (version.major === 22)
228
+ return '13.' + version.minor + '.' + version.build;
229
+ if (version.major === 21)
230
+ return '12.' + version.minor + '.' + version.build;
231
+ if (version.major === 20)
232
+ return '11.' + version.minor + '.' + version.build;
233
+ if (version.major === 19)
234
+ return '10.15.' + version.minor;
235
+ if (version.major === 18)
236
+ return '10.14.' + version.minor;
237
+ if (version.major === 17)
238
+ return '10.13.' + version.minor;
239
+ if (version.major === 16)
240
+ return '10.12.' + version.minor;
241
+ if (version.major === 15)
242
+ return '10.11.' + version.minor;
243
+ if (version.major === 14)
244
+ return '10.10.' + version.minor;
245
+ if (version.major === 13)
246
+ return '10.9.' + version.minor;
247
+ if (version.major >= 5 && version.major <= 12)
248
+ return '10.' + (version.major - 4) + '.' + version.minor;
249
+ return defaultValue;
250
+ }
251
+ function resolveSemanticAndroidVersion(version, defaultValue) {
252
+ if (version.major >= 36)
253
+ return '16';
254
+ if (version.major === 35)
255
+ return '15';
256
+ if (version.major === 34)
257
+ return '14';
258
+ if (version.major === 33)
259
+ return '13';
260
+ if (version.major === 32)
261
+ return '12.1';
262
+ if (version.major === 31)
263
+ return '12';
264
+ if (version.major === 30)
265
+ return '11';
266
+ if (version.major === 29)
267
+ return '10';
268
+ if (version.major === 28)
269
+ return '9';
270
+ if (version.major === 27)
271
+ return '8.1';
272
+ if (version.major === 26)
273
+ return '8.0';
274
+ if (version.major === 25)
275
+ return '7.1';
276
+ if (version.major === 24)
277
+ return '7.0';
278
+ if (version.major === 23)
279
+ return '6.0';
280
+ if (version.major === 22)
281
+ return '5.1';
282
+ if (version.major === 21)
283
+ return '5.0';
284
+ if (version.major === 20)
285
+ return '4.4';
286
+ if (version.major === 19)
287
+ return '4.4';
288
+ if (version.major === 18)
289
+ return '4.3';
290
+ if (version.major === 17)
291
+ return '4.2';
292
+ if (version.major === 16)
293
+ return '4.1';
294
+ if (version.major === 15)
295
+ return '4.0.3';
296
+ if (version.major === 14)
297
+ return '4.0';
298
+ if (version.major === 13)
299
+ return '3.2';
300
+ if (version.major === 12)
301
+ return '3.1';
302
+ if (version.major === 11)
303
+ return '3.0';
304
+ if (version.major === 10)
305
+ return '2.3.3';
306
+ if (version.major === 9)
307
+ return '2.3';
308
+ if (version.major === 8)
309
+ return '2.2';
310
+ if (version.major === 7)
311
+ return '2.1';
312
+ if (version.major === 6)
313
+ return '2.0.1';
314
+ if (version.major === 5)
315
+ return '2.0';
316
+ if (version.major === 4)
317
+ return '1.6';
318
+ if (version.major === 3)
319
+ return '1.5';
320
+ if (version.major === 2)
321
+ return '1.1';
322
+ if (version.major === 1)
323
+ return '1.0';
324
+ return defaultValue;
325
+ }
326
+ function resolveVersion(string, resolver) {
327
+ if (typeof resolver === 'function')
328
+ return resolver(string);
329
+ if (typeof resolver === 'string')
330
+ return resolver;
331
+ if (string === undefined)
332
+ return '';
333
+ return string;
334
+ }
335
+ function normalizeBrand(entry) {
336
+ if (entry === null || entry === undefined)
337
+ return { brand: '', version: '' };
338
+ if (typeof entry === 'string')
339
+ return { brand: entry, version: '' };
340
+ return { brand: entry.brand, version: entry.version };
341
+ }
342
+ function getRenderer() {
343
+ if (typeof globalThis.document === 'undefined')
344
+ return '';
345
+ var canvas = globalThis.document.createElement('canvas');
346
+ if (typeof canvas.getContext !== 'function')
347
+ return '';
348
+ var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
349
+ if (context === null)
350
+ return '';
351
+ if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
352
+ var extension = context.getExtension('WEBGL_debug_renderer_info');
353
+ if (extension === null)
354
+ return context.getParameter(context.RENDERER);
355
+ else
356
+ return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
357
+ }
358
+ else {
359
+ return '';
360
+ }
361
+ }
362
+ function getIsStandalone(os) {
363
+ if (!('matchMedia' in globalThis))
364
+ return false;
365
+ if (os === OS.iOS)
366
+ return 'standalone' in navigator && !!navigator.standalone;
367
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
368
+ }
369
+ function getSemanticVersion(string) {
370
+ var parts = string.split('.');
371
+ return {
372
+ major: parseInt(parts[0] || '0'),
373
+ minor: parseInt(parts[1] || '0'),
374
+ build: parseInt(parts[2] || '0')
375
+ };
376
+ }
377
+ for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
378
+ var map = OS_RESOLVER_MAP[i];
379
+ var regexp = map[0];
380
+ var os = map[1];
381
+ var resolver = map[2];
382
+ var matched = Platform.userAgent.match(regexp);
383
+ if (matched !== null) {
384
+ Platform.os = os;
385
+ Platform.osVersion = resolveVersion(matched[1], resolver);
386
+ break;
387
+ }
388
+ }
389
+ if (Platform.os === OS.iOS && compareVersion(Platform.osVersion, '18.6') === 0) {
390
+ var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
391
+ if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
392
+ Platform.osVersion = version[1];
393
+ }
394
+ for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
395
+ var map = ENGINE_RESOLVER_MAP[i];
396
+ var regexp = map[0];
397
+ var engine = map[1];
398
+ var resolver = map[2];
399
+ var matched = Platform.userAgent.match(regexp);
400
+ if (matched !== null) {
401
+ Platform.engine = engine;
402
+ Platform.engineVersion = resolveVersion(matched[1], resolver);
403
+ break;
404
+ }
405
+ }
406
+ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
407
+ var map = BROWSER_RESOLVER_MAP[i];
408
+ var regexp = map[0];
409
+ var browser = map[1];
410
+ var resolver = map[2];
411
+ var matched = Platform.userAgent.match(regexp);
412
+ if (matched !== null) {
413
+ Platform.browser = browser;
414
+ Platform.browserVersion = resolveVersion(matched[1], resolver);
415
+ break;
416
+ }
417
+ }
418
+ if (IS_REACT_NATIVE) {
419
+ try {
420
+ var reactNative = require('react-native');
421
+ var platform = reactNative.Platform;
422
+ var os = platform.OS;
423
+ var release = '' + platform.Version;
424
+ var version = getSemanticVersion(release);
425
+ switch (os) {
426
+ case 'android':
427
+ Platform.os = OS.Android;
428
+ Platform.osVersion = resolveSemanticAndroidVersion(version, release);
429
+ break;
430
+ case 'ios':
431
+ Platform.os = OS.iOS;
432
+ Platform.osVersion = release;
433
+ break;
434
+ case 'windows':
435
+ Platform.os = OS.Windows;
436
+ Platform.osVersion = resolveSemanticWindowsVersion(version, release);
437
+ break;
438
+ case 'macos':
439
+ Platform.os = OS.MacOS;
440
+ Platform.osVersion = release;
441
+ break;
442
+ }
443
+ }
444
+ catch (_) {
445
+ }
446
+ }
447
+ if (IS_NODE_JS) {
448
+ try {
449
+ var os = require('os');
450
+ var platform = os.platform();
451
+ var release = os.release();
452
+ var version = getSemanticVersion(release);
453
+ switch (platform) {
454
+ case 'win32':
455
+ Platform.os = OS.Windows;
456
+ Platform.osVersion = resolveSemanticWindowsVersion(version, release);
457
+ break;
458
+ case 'darwin':
459
+ Platform.os = OS.MacOS;
460
+ Platform.osVersion = resolveSemanticDarwinVersion(version, release);
461
+ break;
462
+ case 'android':
463
+ Platform.os = OS.Android;
464
+ Platform.osVersion = release;
465
+ break;
466
+ case 'linux':
467
+ if (/android/i.test(release)) {
468
+ Platform.os = OS.Android;
469
+ Platform.osVersion = release;
470
+ }
471
+ break;
472
+ }
473
+ }
474
+ catch (_) {
475
+ }
476
+ }
477
+ if (typeof globalThis.document !== 'undefined') {
478
+ globalThis.document.addEventListener("deviceready", function () {
479
+ if (Platform.os === OS.Unknown && typeof globalThis.device !== 'undefined') {
480
+ switch (globalThis.device.platform) {
481
+ case 'Android':
482
+ Platform.os = OS.Android;
483
+ break;
484
+ case 'iOS':
485
+ Platform.os = OS.iOS;
486
+ break;
487
+ }
488
+ Platform.osVersion = globalThis.device.version;
489
+ }
490
+ }, false);
491
+ }
492
+ if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
493
+ navigator
494
+ .userAgentData
495
+ .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
496
+ .then(function (result) {
497
+ var brands = result.fullVersionList || result.brands || [];
498
+ var platformVersion = result.platformVersion;
499
+ for (var i = 0; i < brands.length; i++) {
500
+ var brand = normalizeBrand(brands[i]);
501
+ var brandName = brand.brand;
502
+ var brandVersion = brand.version;
503
+ if (/not.a.brand/i.test(brandName))
504
+ continue;
505
+ if (brandName === "Chromium")
506
+ Platform.engineVersion = brandVersion;
507
+ }
508
+ if (typeof platformVersion === 'string') {
509
+ if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
510
+ Platform.osVersion = '11';
511
+ else
512
+ Platform.osVersion = platformVersion;
513
+ }
514
+ });
515
+ }
516
+ Platform.device = Platform.os === OS.iOS || Platform.os === OS.Android ? Devices.Mobile : Platform.os === OS.Windows || Platform.os === OS.MacOS ? Devices.Desktop : Devices.Unknown;
517
+ Platform.isMobile = Platform.device === Devices.Mobile;
518
+ Platform.isDesktop = Platform.device === Devices.Desktop;
519
+ Platform.isStandalone = getIsStandalone(Platform.os);
520
+
521
+ var currentAppearance = null;
522
+ var appearanceIntervalId = null;
523
+ var Appearance = {
524
+ get value() {
525
+ return getAppearance();
526
+ },
527
+ set value(appearance) {
528
+ setAppearance(appearance);
529
+ },
530
+ onchange: onchange,
531
+ };
532
+ function getAppearanceFromEngine() {
533
+ return new Promise(function (resolve) {
534
+ var img = new Image();
535
+ img.onload = function () {
536
+ if (CONTEXT === null)
537
+ return resolve(Appearances.Light);
538
+ CONTEXT.drawImage(img, 0, 0);
539
+ var data = CONTEXT.getImageData(0, 0, 1, 1).data;
540
+ if ((data[0] & data[1] & data[2]) < 255)
541
+ resolve(Appearances.Dark);
542
+ else
543
+ resolve(Appearances.Light);
544
+ };
545
+ img.onerror = function () {
546
+ resolve(Appearances.Unknown);
547
+ };
548
+ img.src = SVG_PIXEL_DATA_URL;
549
+ });
550
+ }
551
+ function getAppearanceFromMediaQuery() {
552
+ if (!SUPPORT_PREFERS_COLOR_SCHEME)
553
+ return Appearances.Unknown;
554
+ if (MEDIA_QUERY_LIST.matches)
555
+ return Appearances.Dark;
556
+ return Appearances.Light;
557
+ }
558
+ function getAppearanceFromReactNative() {
559
+ try {
560
+ var reactNative = require('react-native');
561
+ return reactNative.Appearance.getColorScheme() || Appearances.Unknown;
562
+ }
563
+ catch (_) {
564
+ return Appearances.Unknown;
565
+ }
566
+ }
567
+ function getAppearanceFromElectron() {
568
+ try {
569
+ var electron = require('electron');
570
+ return electron.nativeTheme.shouldUseDarkColors ? Appearances.Dark : Appearances.Light;
571
+ }
572
+ catch (_) {
573
+ return Appearances.Unknown;
574
+ }
575
+ }
576
+ function getAppearance() {
577
+ if (IS_REACT_NATIVE)
578
+ return new Promise(function (resolve) {
579
+ resolve(getAppearanceFromReactNative());
580
+ });
581
+ if (IS_ELECTRON)
582
+ return new Promise(function (resolve) {
583
+ resolve(getAppearanceFromElectron());
584
+ });
585
+ if (Platform.browser === Browsers.SamsungInternet)
586
+ return getAppearanceFromEngine();
587
+ return new Promise(function (resolve) {
588
+ resolve(getAppearanceFromMediaQuery());
589
+ });
590
+ }
591
+ function setAppearance(appearance) {
592
+ if (IS_REACT_NATIVE) {
593
+ try {
594
+ var reactNative = require('react-native');
595
+ reactNative.Appearance.setColorScheme(appearance);
596
+ return;
597
+ }
598
+ catch (_) {
599
+ }
600
+ }
601
+ if (IS_ELECTRON) {
602
+ try {
603
+ var electron = require('electron');
604
+ electron.nativeTheme.themeSource = appearance || 'system';
605
+ return;
606
+ }
607
+ catch (_) {
608
+ }
609
+ }
610
+ }
611
+ function startPolling() {
612
+ getAppearanceFromEngine()
613
+ .then(function (appearance) {
614
+ currentAppearance = appearance;
615
+ });
616
+ appearanceIntervalId = globalThis.setInterval(function () {
617
+ getAppearanceFromEngine()
618
+ .then(function (appearance) {
619
+ if (appearance !== currentAppearance) {
620
+ currentAppearance = appearance;
621
+ notify(appearance);
622
+ }
623
+ });
624
+ }, 2000);
625
+ }
626
+ function stopPolling() {
627
+ currentAppearance = null;
628
+ if (appearanceIntervalId !== null) {
629
+ clearInterval(appearanceIntervalId);
630
+ appearanceIntervalId = null;
631
+ }
632
+ }
633
+ function addListener(capture) {
634
+ currentAppearance = getAppearanceFromMediaQuery();
635
+ if (typeof MEDIA_QUERY_LIST.addEventListener === 'function')
636
+ MEDIA_QUERY_LIST.addEventListener('change', onMediaChange, capture);
637
+ else if (typeof MEDIA_QUERY_LIST.addListener === 'function')
638
+ MEDIA_QUERY_LIST.addListener(onMediaChange);
639
+ }
640
+ function removeListener(capture) {
641
+ currentAppearance = null;
642
+ if (typeof MEDIA_QUERY_LIST.removeEventListener === 'function')
643
+ MEDIA_QUERY_LIST.removeEventListener('change', onMediaChange, capture);
644
+ else if (typeof MEDIA_QUERY_LIST.removeListener === 'function')
645
+ MEDIA_QUERY_LIST.removeListener(onMediaChange);
646
+ }
647
+ function onMediaChange(ev) {
648
+ var appearance;
649
+ if (ev.matches)
650
+ appearance = Appearances.Dark;
651
+ else
652
+ appearance = Appearances.Light;
653
+ if (appearance !== currentAppearance)
654
+ notify(currentAppearance = appearance);
655
+ }
656
+ function notify(appearance) {
657
+ for (var i = 0; i < ENTRIES.length; i++) {
658
+ var entry = ENTRIES[i];
659
+ entry.fn(appearance);
660
+ if (entry.once)
661
+ removeEntry(entry);
662
+ }
663
+ }
664
+ function removeEntry(entry) {
665
+ var index = indexOfEntry(entry);
666
+ if (index !== -1)
667
+ ENTRIES.splice(index, 1);
668
+ if (ENTRIES.length === 0) {
669
+ if (Platform.browser === Browsers.SamsungInternet)
670
+ stopPolling();
671
+ else
672
+ removeListener(entry.capture);
673
+ }
674
+ }
675
+ function indexOfEntry(entry) {
676
+ for (var i = 0; i < ENTRIES.length; i++)
677
+ if (ENTRIES[i].fn === entry.fn && ENTRIES[i].capture === entry.capture)
678
+ return i;
679
+ return -1;
680
+ }
681
+ function onchange(listener, options) {
682
+ if (options === void 0) { options = false; }
683
+ if (IS_REACT_NATIVE) {
684
+ try {
685
+ var reactNative = require('react-native');
686
+ var subscription_1 = reactNative.Appearance.addChangeListener(function (preferences) {
687
+ listener(preferences.colorScheme || Appearances.Unknown);
688
+ });
689
+ return function () {
690
+ subscription_1.remove();
691
+ };
692
+ }
693
+ catch (_) {
694
+ }
695
+ }
696
+ if (IS_ELECTRON) {
697
+ try {
698
+ var electron_1 = require('electron');
699
+ var handleThemeChange_1 = function () {
700
+ listener(getAppearanceFromElectron());
701
+ };
702
+ if (typeof electron_1.nativeTheme.on !== 'undefined') {
703
+ electron_1.nativeTheme.on('updated', handleThemeChange_1);
704
+ }
705
+ return function () {
706
+ if (typeof electron_1.nativeTheme.removeListener !== 'undefined')
707
+ electron_1.nativeTheme.removeListener('updated', handleThemeChange_1);
708
+ };
709
+ }
710
+ catch (_) {
711
+ }
712
+ }
713
+ var entry = { fn: listener, capture: false, once: false };
714
+ if (typeof options === 'boolean')
715
+ options = { capture: options };
716
+ if (options.capture !== undefined)
717
+ entry.capture = options.capture;
718
+ if (options.once !== undefined)
719
+ entry.once = options.once;
720
+ if (options.signal !== undefined)
721
+ entry.signal = options.signal;
722
+ var index = indexOfEntry(entry);
723
+ if (index === -1) {
724
+ ENTRIES.push(entry);
725
+ if (ENTRIES.length === 1) {
726
+ if (Platform.browser === Browsers.SamsungInternet)
727
+ startPolling();
728
+ else
729
+ addListener(entry.capture);
730
+ }
731
+ this.getAppearance()
732
+ .then(notify);
733
+ }
734
+ else if (ENTRIES[index].once && !entry.once) {
735
+ ENTRIES[index].once = false;
736
+ }
737
+ if (entry.signal !== undefined) {
738
+ if (entry.signal.aborted) {
739
+ removeEntry(entry);
740
+ }
741
+ else {
742
+ entry.signal.addEventListener('abort', function onAbort() {
743
+ if (entry.signal !== undefined)
744
+ entry.signal.removeEventListener('abort', onAbort);
745
+ removeEntry(entry);
746
+ });
747
+ }
748
+ }
749
+ return function () {
750
+ removeEntry(entry);
751
+ };
752
+ }
753
+
754
+ var NativeAppearancePlugin = {
755
+ installed: false,
756
+ name: 'Appearance',
757
+ module: Appearance,
758
+ Constants: {
759
+ Appearances: Appearances,
760
+ },
761
+ Errors: {}
762
+ };
763
+
764
+ export { NativeAppearancePlugin as default };