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