native-fn 1.0.37 → 1.0.39

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 (489) hide show
  1. package/dist/index.d.ts +23 -20
  2. package/dist/native.cjs +23 -2
  3. package/dist/native.min.cjs +1 -1
  4. package/dist/native.min.mjs +1 -1
  5. package/dist/native.mjs +23 -2
  6. package/dist/native.umd.js +23 -2
  7. package/dist/native.umd.min.js +1 -1
  8. package/dist/plugin/app/index.cjs +352 -192
  9. package/dist/plugin/app/index.d.ts +22 -23
  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 +352 -192
  13. package/dist/plugin/app/index.umd.js +352 -192
  14. package/dist/plugin/app/index.umd.min.js +1 -1
  15. package/dist/plugin/app/src/constants/platform.d.ts +17 -2
  16. package/dist/plugin/app/src/errors/plugin-not-extended-error.d.ts +2 -0
  17. package/dist/plugin/app/src/plugin/app/constants/app.d.ts +1 -2
  18. package/dist/plugin/app/src/plugin/app/cores/app.d.ts +1 -1
  19. package/dist/plugin/app/src/plugin/app/index.d.ts +10 -3
  20. package/dist/plugin/app/src/plugin/app/types/app.d.ts +7 -16
  21. package/dist/plugin/app/src/plugin/app/types/index.d.ts +4 -4
  22. package/dist/plugin/app/src/plugin/camera/constants/camera.d.ts +4 -0
  23. package/dist/plugin/app/src/plugin/camera/cores/camera.d.ts +3 -0
  24. package/dist/plugin/app/src/plugin/camera/index.d.ts +8 -0
  25. package/dist/plugin/app/src/plugin/camera/types/camera.d.ts +4 -0
  26. package/dist/plugin/app/src/plugin/camera/types/index.d.ts +13 -0
  27. package/dist/plugin/app/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  28. package/dist/plugin/app/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
  29. package/dist/plugin/app/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
  30. package/dist/plugin/app/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
  31. package/dist/plugin/app/src/plugin/clipboard/index.d.ts +5 -0
  32. package/dist/plugin/app/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  33. package/dist/plugin/app/src/plugin/clipboard/types/index.d.ts +11 -0
  34. package/dist/plugin/app/src/plugin/clipboard/utils/copy.d.ts +1 -0
  35. package/dist/plugin/app/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
  36. package/dist/plugin/app/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
  37. package/dist/plugin/app/src/plugin/fullscreen/index.d.ts +5 -0
  38. package/dist/plugin/app/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  39. package/dist/plugin/app/src/plugin/fullscreen/types/index.d.ts +11 -0
  40. package/dist/plugin/app/src/plugin/media/constants/media.d.ts +5 -0
  41. package/dist/plugin/app/src/plugin/media/cores/media.d.ts +3 -0
  42. package/dist/plugin/app/src/plugin/media/index.d.ts +5 -0
  43. package/dist/plugin/app/src/plugin/media/types/index.d.ts +13 -0
  44. package/dist/plugin/app/src/plugin/media/types/media.d.ts +4 -0
  45. package/dist/plugin/app/src/plugin/media/utils/try-open-camera.d.ts +2 -0
  46. package/dist/plugin/app/src/plugin/platform/cores/platform.d.ts +1 -1
  47. package/dist/plugin/app/src/plugin/platform/index.d.ts +9 -3
  48. package/dist/plugin/app/src/plugin/platform/types/index.d.ts +2 -2
  49. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +3 -1
  50. package/dist/plugin/app/src/plugin/theme/constants/theme.d.ts +1 -3
  51. package/dist/plugin/app/src/plugin/theme/cores/theme.d.ts +1 -1
  52. package/dist/plugin/app/src/plugin/theme/index.d.ts +15 -3
  53. package/dist/plugin/app/src/plugin/theme/types/index.d.ts +4 -4
  54. package/dist/plugin/app/src/plugin/theme/types/theme.d.ts +7 -7
  55. package/dist/plugin/app/src/plugin/theme/utils/parse-color.d.ts +1 -1
  56. package/dist/plugin/app/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
  57. package/dist/plugin/app/src/types/clipboard-utils.d.ts +4 -0
  58. package/dist/plugin/app/src/types/event-listener-util.d.ts +11 -0
  59. package/dist/plugin/app/src/types/index.d.ts +1 -1
  60. package/dist/plugin/app/src/types/native.d.ts +20 -13
  61. package/dist/plugin/app/src/utils/clipboard-utils.d.ts +4 -0
  62. package/dist/plugin/app/src/utils/compare-version.d.ts +1 -0
  63. package/dist/plugin/app/src/utils/create-hidden-element.d.ts +1 -0
  64. package/dist/plugin/app/src/utils/dispatch-click-event.d.ts +1 -0
  65. package/dist/plugin/app/src/utils/event-listener-utils.d.ts +3 -0
  66. package/dist/plugin/app/src/utils/fullscreen-utils.d.ts +44 -0
  67. package/dist/plugin/app/src/utils/get-tag-name.d.ts +1 -0
  68. package/dist/plugin/app/src/utils/get-topmost-window.d.ts +1 -0
  69. package/dist/plugin/app/src/utils/is-secure-context.d.ts +1 -0
  70. package/dist/plugin/camera/index.cjs +377 -0
  71. package/dist/plugin/camera/index.d.ts +34 -0
  72. package/dist/plugin/camera/index.min.cjs +1 -0
  73. package/dist/plugin/camera/index.min.mjs +1 -0
  74. package/dist/plugin/camera/index.mjs +375 -0
  75. package/dist/plugin/camera/index.umd.js +383 -0
  76. package/dist/plugin/camera/index.umd.min.js +1 -0
  77. package/dist/plugin/camera/src/constants/platform.d.ts +50 -0
  78. package/dist/plugin/camera/src/constants/user-agent.d.ts +1 -0
  79. package/dist/plugin/camera/src/errors/plugin-not-extended-error.d.ts +2 -0
  80. package/dist/plugin/camera/src/errors/url-open-error.d.ts +2 -0
  81. package/dist/plugin/camera/src/plugin/app/constants/app.d.ts +12 -0
  82. package/dist/plugin/camera/src/plugin/app/cores/app.d.ts +3 -0
  83. package/dist/plugin/camera/src/plugin/app/errors/url-open-error.d.ts +2 -0
  84. package/dist/plugin/camera/src/plugin/app/index.d.ts +12 -0
  85. package/dist/plugin/camera/src/plugin/app/types/app.d.ts +45 -0
  86. package/dist/plugin/camera/src/plugin/app/types/index.d.ts +16 -0
  87. package/dist/plugin/camera/src/plugin/app/utils/try-open-url.d.ts +1 -0
  88. package/dist/plugin/camera/src/plugin/camera/constants/camera.d.ts +4 -0
  89. package/dist/plugin/camera/src/plugin/camera/cores/camera.d.ts +3 -0
  90. package/dist/plugin/camera/src/plugin/camera/index.d.ts +8 -0
  91. package/dist/plugin/camera/src/plugin/camera/types/camera.d.ts +4 -0
  92. package/dist/plugin/camera/src/plugin/camera/types/index.d.ts +13 -0
  93. package/dist/plugin/camera/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  94. package/dist/plugin/camera/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
  95. package/dist/plugin/camera/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
  96. package/dist/plugin/camera/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
  97. package/dist/plugin/camera/src/plugin/clipboard/index.d.ts +5 -0
  98. package/dist/plugin/camera/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  99. package/dist/plugin/camera/src/plugin/clipboard/types/index.d.ts +11 -0
  100. package/dist/plugin/camera/src/plugin/clipboard/utils/copy.d.ts +1 -0
  101. package/dist/plugin/camera/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
  102. package/dist/plugin/camera/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
  103. package/dist/plugin/camera/src/plugin/fullscreen/index.d.ts +5 -0
  104. package/dist/plugin/camera/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  105. package/dist/plugin/camera/src/plugin/fullscreen/types/index.d.ts +11 -0
  106. package/dist/plugin/camera/src/plugin/platform/cores/platform.d.ts +3 -0
  107. package/dist/plugin/camera/src/plugin/platform/index.d.ts +11 -0
  108. package/dist/plugin/camera/src/plugin/platform/types/index.d.ts +7 -0
  109. package/dist/plugin/camera/src/plugin/platform/types/platform.d.ts +15 -0
  110. package/dist/plugin/camera/src/plugin/theme/constants/theme.d.ts +14 -0
  111. package/dist/plugin/camera/src/plugin/theme/cores/theme.d.ts +3 -0
  112. package/dist/plugin/camera/src/plugin/theme/errors/easing-error.d.ts +6 -0
  113. package/dist/plugin/camera/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  114. package/dist/plugin/camera/src/plugin/theme/index.d.ts +17 -0
  115. package/dist/plugin/camera/src/plugin/theme/types/color.d.ts +17 -0
  116. package/dist/plugin/camera/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  117. package/dist/plugin/camera/src/plugin/theme/types/index.d.ts +23 -0
  118. package/dist/plugin/camera/src/plugin/theme/types/theme.d.ts +23 -0
  119. package/dist/plugin/camera/src/plugin/theme/utils/parse-color.d.ts +2 -0
  120. package/dist/plugin/camera/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  121. package/dist/plugin/camera/src/types/clipboard-utils.d.ts +4 -0
  122. package/dist/plugin/camera/src/types/event-listener-util.d.ts +11 -0
  123. package/dist/plugin/camera/src/types/index.d.ts +1 -0
  124. package/dist/plugin/camera/src/types/native.d.ts +27 -0
  125. package/dist/plugin/camera/src/utils/assign.d.ts +1 -0
  126. package/dist/plugin/camera/src/utils/clipboard-utils.d.ts +4 -0
  127. package/dist/plugin/camera/src/utils/compare-version.d.ts +1 -0
  128. package/dist/plugin/camera/src/utils/create-custom-error.d.ts +1 -0
  129. package/dist/plugin/camera/src/utils/create-hidden-element.d.ts +1 -0
  130. package/dist/plugin/camera/src/utils/dispatch-click-event.d.ts +1 -0
  131. package/dist/plugin/camera/src/utils/event-listener-utils.d.ts +3 -0
  132. package/dist/plugin/camera/src/utils/fullscreen-utils.d.ts +44 -0
  133. package/dist/plugin/camera/src/utils/get-tag-name.d.ts +1 -0
  134. package/dist/plugin/camera/src/utils/get-topmost-window.d.ts +1 -0
  135. package/dist/plugin/camera/src/utils/is-secure-context.d.ts +1 -0
  136. package/dist/plugin/clipboard/index.cjs +491 -0
  137. package/dist/plugin/clipboard/index.d.ts +27 -0
  138. package/dist/plugin/clipboard/index.min.cjs +1 -0
  139. package/dist/plugin/clipboard/index.min.mjs +1 -0
  140. package/dist/plugin/clipboard/index.mjs +489 -0
  141. package/dist/plugin/clipboard/index.umd.js +497 -0
  142. package/dist/plugin/clipboard/index.umd.min.js +1 -0
  143. package/dist/plugin/clipboard/src/constants/platform.d.ts +50 -0
  144. package/dist/plugin/clipboard/src/constants/user-agent.d.ts +1 -0
  145. package/dist/plugin/clipboard/src/errors/plugin-not-extended-error.d.ts +2 -0
  146. package/dist/plugin/clipboard/src/errors/url-open-error.d.ts +2 -0
  147. package/dist/plugin/clipboard/src/plugin/app/constants/app.d.ts +12 -0
  148. package/dist/plugin/clipboard/src/plugin/app/cores/app.d.ts +3 -0
  149. package/dist/plugin/clipboard/src/plugin/app/errors/url-open-error.d.ts +2 -0
  150. package/dist/plugin/clipboard/src/plugin/app/index.d.ts +12 -0
  151. package/dist/plugin/clipboard/src/plugin/app/types/app.d.ts +45 -0
  152. package/dist/plugin/clipboard/src/plugin/app/types/index.d.ts +16 -0
  153. package/dist/plugin/clipboard/src/plugin/app/utils/try-open-url.d.ts +1 -0
  154. package/dist/plugin/clipboard/src/plugin/camera/constants/camera.d.ts +4 -0
  155. package/dist/plugin/clipboard/src/plugin/camera/cores/camera.d.ts +3 -0
  156. package/dist/plugin/clipboard/src/plugin/camera/index.d.ts +8 -0
  157. package/dist/plugin/clipboard/src/plugin/camera/types/camera.d.ts +4 -0
  158. package/dist/plugin/clipboard/src/plugin/camera/types/index.d.ts +13 -0
  159. package/dist/plugin/clipboard/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  160. package/dist/plugin/clipboard/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
  161. package/dist/plugin/clipboard/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
  162. package/dist/plugin/clipboard/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
  163. package/dist/plugin/clipboard/src/plugin/clipboard/index.d.ts +5 -0
  164. package/dist/plugin/clipboard/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  165. package/dist/plugin/clipboard/src/plugin/clipboard/types/index.d.ts +11 -0
  166. package/dist/plugin/clipboard/src/plugin/clipboard/utils/copy.d.ts +1 -0
  167. package/dist/plugin/clipboard/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
  168. package/dist/plugin/clipboard/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
  169. package/dist/plugin/clipboard/src/plugin/fullscreen/index.d.ts +5 -0
  170. package/dist/plugin/clipboard/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  171. package/dist/plugin/clipboard/src/plugin/fullscreen/types/index.d.ts +11 -0
  172. package/dist/plugin/clipboard/src/plugin/platform/cores/platform.d.ts +3 -0
  173. package/dist/plugin/clipboard/src/plugin/platform/index.d.ts +11 -0
  174. package/dist/plugin/clipboard/src/plugin/platform/types/index.d.ts +7 -0
  175. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +15 -0
  176. package/dist/plugin/clipboard/src/plugin/theme/constants/theme.d.ts +14 -0
  177. package/dist/plugin/clipboard/src/plugin/theme/cores/theme.d.ts +3 -0
  178. package/dist/plugin/clipboard/src/plugin/theme/errors/easing-error.d.ts +6 -0
  179. package/dist/plugin/clipboard/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  180. package/dist/plugin/clipboard/src/plugin/theme/index.d.ts +17 -0
  181. package/dist/plugin/clipboard/src/plugin/theme/types/color.d.ts +17 -0
  182. package/dist/plugin/clipboard/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  183. package/dist/plugin/clipboard/src/plugin/theme/types/index.d.ts +23 -0
  184. package/dist/plugin/clipboard/src/plugin/theme/types/theme.d.ts +23 -0
  185. package/dist/plugin/clipboard/src/plugin/theme/utils/parse-color.d.ts +2 -0
  186. package/dist/plugin/clipboard/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  187. package/dist/plugin/clipboard/src/types/clipboard-utils.d.ts +4 -0
  188. package/dist/plugin/clipboard/src/types/event-listener-util.d.ts +11 -0
  189. package/dist/plugin/clipboard/src/types/index.d.ts +1 -0
  190. package/dist/plugin/clipboard/src/types/native.d.ts +27 -0
  191. package/dist/plugin/clipboard/src/utils/assign.d.ts +1 -0
  192. package/dist/plugin/clipboard/src/utils/clipboard-utils.d.ts +4 -0
  193. package/dist/plugin/clipboard/src/utils/compare-version.d.ts +1 -0
  194. package/dist/plugin/clipboard/src/utils/create-custom-error.d.ts +1 -0
  195. package/dist/plugin/clipboard/src/utils/create-hidden-element.d.ts +1 -0
  196. package/dist/plugin/clipboard/src/utils/dispatch-click-event.d.ts +1 -0
  197. package/dist/plugin/clipboard/src/utils/event-listener-utils.d.ts +3 -0
  198. package/dist/plugin/clipboard/src/utils/fullscreen-utils.d.ts +44 -0
  199. package/dist/plugin/clipboard/src/utils/get-tag-name.d.ts +1 -0
  200. package/dist/plugin/clipboard/src/utils/get-topmost-window.d.ts +1 -0
  201. package/dist/plugin/clipboard/src/utils/is-secure-context.d.ts +1 -0
  202. package/dist/plugin/fullscreen/index.cjs +521 -0
  203. package/dist/plugin/fullscreen/index.d.ts +33 -0
  204. package/dist/plugin/fullscreen/index.min.cjs +1 -0
  205. package/dist/plugin/fullscreen/index.min.mjs +1 -0
  206. package/dist/plugin/fullscreen/index.mjs +519 -0
  207. package/dist/plugin/fullscreen/index.umd.js +527 -0
  208. package/dist/plugin/fullscreen/index.umd.min.js +1 -0
  209. package/dist/plugin/fullscreen/src/constants/platform.d.ts +50 -0
  210. package/dist/plugin/fullscreen/src/constants/user-agent.d.ts +1 -0
  211. package/dist/plugin/fullscreen/src/errors/plugin-not-extended-error.d.ts +2 -0
  212. package/dist/plugin/fullscreen/src/errors/url-open-error.d.ts +2 -0
  213. package/dist/plugin/fullscreen/src/plugin/app/constants/app.d.ts +12 -0
  214. package/dist/plugin/fullscreen/src/plugin/app/cores/app.d.ts +3 -0
  215. package/dist/plugin/fullscreen/src/plugin/app/errors/url-open-error.d.ts +2 -0
  216. package/dist/plugin/fullscreen/src/plugin/app/index.d.ts +12 -0
  217. package/dist/plugin/fullscreen/src/plugin/app/types/app.d.ts +45 -0
  218. package/dist/plugin/fullscreen/src/plugin/app/types/index.d.ts +16 -0
  219. package/dist/plugin/fullscreen/src/plugin/app/utils/try-open-url.d.ts +1 -0
  220. package/dist/plugin/fullscreen/src/plugin/camera/constants/camera.d.ts +4 -0
  221. package/dist/plugin/fullscreen/src/plugin/camera/cores/camera.d.ts +3 -0
  222. package/dist/plugin/fullscreen/src/plugin/camera/index.d.ts +8 -0
  223. package/dist/plugin/fullscreen/src/plugin/camera/types/camera.d.ts +4 -0
  224. package/dist/plugin/fullscreen/src/plugin/camera/types/index.d.ts +13 -0
  225. package/dist/plugin/fullscreen/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  226. package/dist/plugin/fullscreen/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
  227. package/dist/plugin/fullscreen/src/plugin/clipboard/index.d.ts +5 -0
  228. package/dist/plugin/fullscreen/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  229. package/dist/plugin/fullscreen/src/plugin/clipboard/types/index.d.ts +11 -0
  230. package/dist/plugin/fullscreen/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
  231. package/dist/plugin/fullscreen/src/plugin/fullscreen/index.d.ts +5 -0
  232. package/dist/plugin/fullscreen/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  233. package/dist/plugin/fullscreen/src/plugin/fullscreen/types/index.d.ts +11 -0
  234. package/dist/plugin/fullscreen/src/plugin/platform/cores/platform.d.ts +3 -0
  235. package/dist/plugin/fullscreen/src/plugin/platform/index.d.ts +11 -0
  236. package/dist/plugin/fullscreen/src/plugin/platform/types/index.d.ts +7 -0
  237. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +15 -0
  238. package/dist/plugin/fullscreen/src/plugin/theme/constants/theme.d.ts +14 -0
  239. package/dist/plugin/fullscreen/src/plugin/theme/cores/theme.d.ts +3 -0
  240. package/dist/plugin/fullscreen/src/plugin/theme/errors/easing-error.d.ts +6 -0
  241. package/dist/plugin/fullscreen/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  242. package/dist/plugin/fullscreen/src/plugin/theme/index.d.ts +17 -0
  243. package/dist/plugin/fullscreen/src/plugin/theme/types/color.d.ts +17 -0
  244. package/dist/plugin/fullscreen/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  245. package/dist/plugin/fullscreen/src/plugin/theme/types/index.d.ts +23 -0
  246. package/dist/plugin/fullscreen/src/plugin/theme/types/theme.d.ts +23 -0
  247. package/dist/plugin/fullscreen/src/plugin/theme/utils/parse-color.d.ts +2 -0
  248. package/dist/plugin/fullscreen/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  249. package/dist/plugin/fullscreen/src/types/clipboard-utils.d.ts +4 -0
  250. package/dist/plugin/fullscreen/src/types/event-listener-util.d.ts +11 -0
  251. package/dist/plugin/fullscreen/src/types/index.d.ts +1 -0
  252. package/dist/plugin/fullscreen/src/types/native.d.ts +27 -0
  253. package/dist/plugin/fullscreen/src/utils/assign.d.ts +1 -0
  254. package/dist/plugin/fullscreen/src/utils/clipboard-utils.d.ts +4 -0
  255. package/dist/plugin/fullscreen/src/utils/compare-version.d.ts +1 -0
  256. package/dist/plugin/fullscreen/src/utils/create-custom-error.d.ts +1 -0
  257. package/dist/plugin/fullscreen/src/utils/create-hidden-element.d.ts +1 -0
  258. package/dist/plugin/fullscreen/src/utils/dispatch-click-event.d.ts +1 -0
  259. package/dist/plugin/fullscreen/src/utils/event-listener-utils.d.ts +3 -0
  260. package/dist/plugin/fullscreen/src/utils/fullscreen-utils.d.ts +44 -0
  261. package/dist/plugin/fullscreen/src/utils/get-tag-name.d.ts +1 -0
  262. package/dist/plugin/fullscreen/src/utils/get-topmost-window.d.ts +1 -0
  263. package/dist/plugin/fullscreen/src/utils/is-secure-context.d.ts +1 -0
  264. package/dist/plugin/media/index.cjs +241 -0
  265. package/dist/plugin/media/index.d.ts +33 -0
  266. package/dist/plugin/media/index.min.cjs +1 -0
  267. package/dist/plugin/media/index.min.mjs +1 -0
  268. package/dist/plugin/media/index.mjs +239 -0
  269. package/dist/plugin/media/index.umd.js +247 -0
  270. package/dist/plugin/media/index.umd.min.js +1 -0
  271. package/dist/plugin/media/src/constants/platform.d.ts +35 -0
  272. package/dist/plugin/media/src/constants/user-agent.d.ts +1 -0
  273. package/dist/plugin/media/src/errors/url-open-error.d.ts +2 -0
  274. package/dist/plugin/media/src/plugin/app/constants/app.d.ts +13 -0
  275. package/dist/plugin/media/src/plugin/app/cores/app.d.ts +3 -0
  276. package/dist/plugin/media/src/plugin/app/errors/url-open-error.d.ts +2 -0
  277. package/dist/plugin/media/src/plugin/app/index.d.ts +12 -0
  278. package/dist/plugin/media/src/plugin/app/types/app.d.ts +43 -0
  279. package/dist/plugin/media/src/plugin/app/types/index.d.ts +16 -0
  280. package/dist/plugin/media/src/plugin/app/utils/try-open-url.d.ts +1 -0
  281. package/dist/plugin/media/src/plugin/media/constants/media.d.ts +5 -0
  282. package/dist/plugin/media/src/plugin/media/cores/media.d.ts +3 -0
  283. package/dist/plugin/media/src/plugin/media/index.d.ts +5 -0
  284. package/dist/plugin/media/src/plugin/media/types/index.d.ts +13 -0
  285. package/dist/plugin/media/src/plugin/media/types/media.d.ts +4 -0
  286. package/dist/plugin/media/src/plugin/media/utils/try-open-camera.d.ts +2 -0
  287. package/dist/plugin/media/src/plugin/platform/cores/platform.d.ts +3 -0
  288. package/dist/plugin/media/src/plugin/platform/index.d.ts +5 -0
  289. package/dist/plugin/media/src/plugin/platform/types/index.d.ts +7 -0
  290. package/dist/plugin/media/src/plugin/platform/types/platform.d.ts +13 -0
  291. package/dist/plugin/media/src/plugin/theme/constants/theme.d.ts +16 -0
  292. package/dist/plugin/media/src/plugin/theme/cores/theme.d.ts +3 -0
  293. package/dist/plugin/media/src/plugin/theme/errors/easing-error.d.ts +6 -0
  294. package/dist/plugin/media/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  295. package/dist/plugin/media/src/plugin/theme/index.d.ts +17 -0
  296. package/dist/plugin/media/src/plugin/theme/types/color.d.ts +17 -0
  297. package/dist/plugin/media/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  298. package/dist/plugin/media/src/plugin/theme/types/index.d.ts +23 -0
  299. package/dist/plugin/media/src/plugin/theme/types/theme.d.ts +23 -0
  300. package/dist/plugin/media/src/plugin/theme/utils/parse-color.d.ts +2 -0
  301. package/dist/plugin/media/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  302. package/dist/plugin/media/src/types/event-listener-util.d.ts +11 -0
  303. package/dist/plugin/media/src/types/index.d.ts +2 -0
  304. package/dist/plugin/media/src/types/native.d.ts +27 -0
  305. package/dist/plugin/media/src/utils/assign.d.ts +1 -0
  306. package/dist/plugin/media/src/utils/create-custom-error.d.ts +1 -0
  307. package/dist/plugin/media/src/utils/dispatch-click-event.d.ts +1 -0
  308. package/dist/plugin/media/src/utils/event-listener-utils.d.ts +3 -0
  309. package/dist/plugin/media/src/utils/get-topmost-window.d.ts +1 -0
  310. package/dist/plugin/platform/index.cjs +164 -62
  311. package/dist/plugin/platform/index.d.ts +26 -6
  312. package/dist/plugin/platform/index.min.cjs +1 -1
  313. package/dist/plugin/platform/index.min.mjs +1 -1
  314. package/dist/plugin/platform/index.mjs +164 -62
  315. package/dist/plugin/platform/index.umd.js +164 -62
  316. package/dist/plugin/platform/index.umd.min.js +1 -1
  317. package/dist/plugin/platform/src/constants/platform.d.ts +17 -2
  318. package/dist/plugin/platform/src/errors/plugin-not-extended-error.d.ts +2 -0
  319. package/dist/plugin/platform/src/plugin/app/constants/app.d.ts +1 -2
  320. package/dist/plugin/platform/src/plugin/app/cores/app.d.ts +1 -1
  321. package/dist/plugin/platform/src/plugin/app/index.d.ts +10 -3
  322. package/dist/plugin/platform/src/plugin/app/types/app.d.ts +7 -16
  323. package/dist/plugin/platform/src/plugin/app/types/index.d.ts +4 -4
  324. package/dist/plugin/platform/src/plugin/camera/constants/camera.d.ts +4 -0
  325. package/dist/plugin/platform/src/plugin/camera/cores/camera.d.ts +3 -0
  326. package/dist/plugin/platform/src/plugin/camera/index.d.ts +8 -0
  327. package/dist/plugin/platform/src/plugin/camera/types/camera.d.ts +4 -0
  328. package/dist/plugin/platform/src/plugin/camera/types/index.d.ts +13 -0
  329. package/dist/plugin/platform/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  330. package/dist/plugin/platform/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
  331. package/dist/plugin/platform/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
  332. package/dist/plugin/platform/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
  333. package/dist/plugin/platform/src/plugin/clipboard/index.d.ts +5 -0
  334. package/dist/plugin/platform/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  335. package/dist/plugin/platform/src/plugin/clipboard/types/index.d.ts +11 -0
  336. package/dist/plugin/platform/src/plugin/clipboard/utils/copy.d.ts +1 -0
  337. package/dist/plugin/platform/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
  338. package/dist/plugin/platform/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
  339. package/dist/plugin/platform/src/plugin/fullscreen/index.d.ts +5 -0
  340. package/dist/plugin/platform/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  341. package/dist/plugin/platform/src/plugin/fullscreen/types/index.d.ts +11 -0
  342. package/dist/plugin/platform/src/plugin/media/constants/media.d.ts +5 -0
  343. package/dist/plugin/platform/src/plugin/media/cores/media.d.ts +3 -0
  344. package/dist/plugin/platform/src/plugin/media/index.d.ts +5 -0
  345. package/dist/plugin/platform/src/plugin/media/types/index.d.ts +13 -0
  346. package/dist/plugin/platform/src/plugin/media/types/media.d.ts +4 -0
  347. package/dist/plugin/platform/src/plugin/media/utils/try-open-camera.d.ts +2 -0
  348. package/dist/plugin/platform/src/plugin/platform/cores/platform.d.ts +1 -1
  349. package/dist/plugin/platform/src/plugin/platform/index.d.ts +9 -3
  350. package/dist/plugin/platform/src/plugin/platform/types/index.d.ts +2 -2
  351. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +3 -1
  352. package/dist/plugin/platform/src/plugin/theme/constants/theme.d.ts +1 -3
  353. package/dist/plugin/platform/src/plugin/theme/cores/theme.d.ts +1 -1
  354. package/dist/plugin/platform/src/plugin/theme/index.d.ts +15 -3
  355. package/dist/plugin/platform/src/plugin/theme/types/index.d.ts +4 -4
  356. package/dist/plugin/platform/src/plugin/theme/types/theme.d.ts +7 -7
  357. package/dist/plugin/platform/src/plugin/theme/utils/parse-color.d.ts +1 -1
  358. package/dist/plugin/platform/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
  359. package/dist/plugin/platform/src/types/clipboard-utils.d.ts +4 -0
  360. package/dist/plugin/platform/src/types/event-listener-util.d.ts +11 -0
  361. package/dist/plugin/platform/src/types/index.d.ts +1 -1
  362. package/dist/plugin/platform/src/types/native.d.ts +20 -13
  363. package/dist/plugin/platform/src/utils/clipboard-utils.d.ts +4 -0
  364. package/dist/plugin/platform/src/utils/compare-version.d.ts +1 -0
  365. package/dist/plugin/platform/src/utils/create-hidden-element.d.ts +1 -0
  366. package/dist/plugin/platform/src/utils/dispatch-click-event.d.ts +1 -0
  367. package/dist/plugin/platform/src/utils/event-listener-utils.d.ts +3 -0
  368. package/dist/plugin/platform/src/utils/fullscreen-utils.d.ts +44 -0
  369. package/dist/plugin/platform/src/utils/get-tag-name.d.ts +1 -0
  370. package/dist/plugin/platform/src/utils/get-topmost-window.d.ts +1 -0
  371. package/dist/plugin/platform/src/utils/is-secure-context.d.ts +1 -0
  372. package/dist/plugin/theme/index.cjs +317 -50
  373. package/dist/plugin/theme/index.d.ts +20 -11
  374. package/dist/plugin/theme/index.min.cjs +1 -1
  375. package/dist/plugin/theme/index.min.mjs +1 -1
  376. package/dist/plugin/theme/index.mjs +317 -50
  377. package/dist/plugin/theme/index.umd.js +317 -50
  378. package/dist/plugin/theme/index.umd.min.js +1 -1
  379. package/dist/plugin/theme/src/constants/platform.d.ts +17 -2
  380. package/dist/plugin/theme/src/errors/plugin-not-extended-error.d.ts +2 -0
  381. package/dist/plugin/theme/src/plugin/app/constants/app.d.ts +1 -2
  382. package/dist/plugin/theme/src/plugin/app/cores/app.d.ts +1 -1
  383. package/dist/plugin/theme/src/plugin/app/index.d.ts +10 -3
  384. package/dist/plugin/theme/src/plugin/app/types/app.d.ts +7 -16
  385. package/dist/plugin/theme/src/plugin/app/types/index.d.ts +4 -4
  386. package/dist/plugin/theme/src/plugin/camera/constants/camera.d.ts +4 -0
  387. package/dist/plugin/theme/src/plugin/camera/cores/camera.d.ts +3 -0
  388. package/dist/plugin/theme/src/plugin/camera/index.d.ts +8 -0
  389. package/dist/plugin/theme/src/plugin/camera/types/camera.d.ts +4 -0
  390. package/dist/plugin/theme/src/plugin/camera/types/index.d.ts +13 -0
  391. package/dist/plugin/theme/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  392. package/dist/plugin/theme/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
  393. package/dist/plugin/theme/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
  394. package/dist/plugin/theme/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
  395. package/dist/plugin/theme/src/plugin/clipboard/index.d.ts +5 -0
  396. package/dist/plugin/theme/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  397. package/dist/plugin/theme/src/plugin/clipboard/types/index.d.ts +11 -0
  398. package/dist/plugin/theme/src/plugin/clipboard/utils/copy.d.ts +1 -0
  399. package/dist/plugin/theme/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
  400. package/dist/plugin/theme/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
  401. package/dist/plugin/theme/src/plugin/fullscreen/index.d.ts +5 -0
  402. package/dist/plugin/theme/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  403. package/dist/plugin/theme/src/plugin/fullscreen/types/index.d.ts +11 -0
  404. package/dist/plugin/theme/src/plugin/media/constants/media.d.ts +5 -0
  405. package/dist/plugin/theme/src/plugin/media/cores/media.d.ts +3 -0
  406. package/dist/plugin/theme/src/plugin/media/index.d.ts +5 -0
  407. package/dist/plugin/theme/src/plugin/media/types/index.d.ts +13 -0
  408. package/dist/plugin/theme/src/plugin/media/types/media.d.ts +4 -0
  409. package/dist/plugin/theme/src/plugin/media/utils/try-open-camera.d.ts +2 -0
  410. package/dist/plugin/theme/src/plugin/platform/cores/platform.d.ts +1 -1
  411. package/dist/plugin/theme/src/plugin/platform/index.d.ts +9 -3
  412. package/dist/plugin/theme/src/plugin/platform/types/index.d.ts +2 -2
  413. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +3 -1
  414. package/dist/plugin/theme/src/plugin/theme/constants/theme.d.ts +1 -3
  415. package/dist/plugin/theme/src/plugin/theme/cores/theme.d.ts +1 -1
  416. package/dist/plugin/theme/src/plugin/theme/index.d.ts +15 -3
  417. package/dist/plugin/theme/src/plugin/theme/types/index.d.ts +4 -4
  418. package/dist/plugin/theme/src/plugin/theme/types/theme.d.ts +7 -7
  419. package/dist/plugin/theme/src/plugin/theme/utils/parse-color.d.ts +1 -1
  420. package/dist/plugin/theme/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
  421. package/dist/plugin/theme/src/types/clipboard-utils.d.ts +4 -0
  422. package/dist/plugin/theme/src/types/event-listener-util.d.ts +11 -0
  423. package/dist/plugin/theme/src/types/index.d.ts +1 -1
  424. package/dist/plugin/theme/src/types/native.d.ts +20 -13
  425. package/dist/plugin/theme/src/utils/clipboard-utils.d.ts +4 -0
  426. package/dist/plugin/theme/src/utils/compare-version.d.ts +1 -0
  427. package/dist/plugin/theme/src/utils/create-hidden-element.d.ts +1 -0
  428. package/dist/plugin/theme/src/utils/dispatch-click-event.d.ts +1 -0
  429. package/dist/plugin/theme/src/utils/event-listener-utils.d.ts +3 -0
  430. package/dist/plugin/theme/src/utils/fullscreen-utils.d.ts +44 -0
  431. package/dist/plugin/theme/src/utils/get-tag-name.d.ts +1 -0
  432. package/dist/plugin/theme/src/utils/get-topmost-window.d.ts +1 -0
  433. package/dist/plugin/theme/src/utils/is-secure-context.d.ts +1 -0
  434. package/dist/src/constants/platform.d.ts +17 -2
  435. package/dist/src/errors/plugin-not-extended-error.d.ts +2 -0
  436. package/dist/src/plugin/app/constants/app.d.ts +1 -2
  437. package/dist/src/plugin/app/cores/app.d.ts +1 -1
  438. package/dist/src/plugin/app/index.d.ts +10 -3
  439. package/dist/src/plugin/app/types/app.d.ts +7 -16
  440. package/dist/src/plugin/app/types/index.d.ts +4 -4
  441. package/dist/src/plugin/camera/constants/camera.d.ts +4 -0
  442. package/dist/src/plugin/camera/cores/camera.d.ts +3 -0
  443. package/dist/src/plugin/camera/index.d.ts +8 -0
  444. package/dist/src/plugin/camera/types/camera.d.ts +4 -0
  445. package/dist/src/plugin/camera/types/index.d.ts +13 -0
  446. package/dist/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
  447. package/dist/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
  448. package/dist/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
  449. package/dist/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
  450. package/dist/src/plugin/clipboard/index.d.ts +5 -0
  451. package/dist/src/plugin/clipboard/types/clipboard.d.ts +4 -0
  452. package/dist/src/plugin/clipboard/types/index.d.ts +11 -0
  453. package/dist/src/plugin/clipboard/utils/copy.d.ts +1 -0
  454. package/dist/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
  455. package/dist/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
  456. package/dist/src/plugin/fullscreen/index.d.ts +5 -0
  457. package/dist/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
  458. package/dist/src/plugin/fullscreen/types/index.d.ts +11 -0
  459. package/dist/src/plugin/media/constants/media.d.ts +5 -0
  460. package/dist/src/plugin/media/cores/media.d.ts +3 -0
  461. package/dist/src/plugin/media/index.d.ts +5 -0
  462. package/dist/src/plugin/media/types/index.d.ts +13 -0
  463. package/dist/src/plugin/media/types/media.d.ts +4 -0
  464. package/dist/src/plugin/media/utils/try-open-camera.d.ts +2 -0
  465. package/dist/src/plugin/platform/cores/platform.d.ts +1 -1
  466. package/dist/src/plugin/platform/index.d.ts +9 -3
  467. package/dist/src/plugin/platform/types/index.d.ts +2 -2
  468. package/dist/src/plugin/platform/types/platform.d.ts +3 -1
  469. package/dist/src/plugin/theme/constants/theme.d.ts +1 -3
  470. package/dist/src/plugin/theme/cores/theme.d.ts +1 -1
  471. package/dist/src/plugin/theme/index.d.ts +15 -3
  472. package/dist/src/plugin/theme/types/index.d.ts +4 -4
  473. package/dist/src/plugin/theme/types/theme.d.ts +7 -7
  474. package/dist/src/plugin/theme/utils/parse-color.d.ts +1 -1
  475. package/dist/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
  476. package/dist/src/types/clipboard-utils.d.ts +4 -0
  477. package/dist/src/types/event-listener-util.d.ts +11 -0
  478. package/dist/src/types/index.d.ts +1 -1
  479. package/dist/src/types/native.d.ts +20 -13
  480. package/dist/src/utils/clipboard-utils.d.ts +4 -0
  481. package/dist/src/utils/compare-version.d.ts +1 -0
  482. package/dist/src/utils/create-hidden-element.d.ts +1 -0
  483. package/dist/src/utils/dispatch-click-event.d.ts +1 -0
  484. package/dist/src/utils/event-listener-utils.d.ts +3 -0
  485. package/dist/src/utils/fullscreen-utils.d.ts +44 -0
  486. package/dist/src/utils/get-tag-name.d.ts +1 -0
  487. package/dist/src/utils/get-topmost-window.d.ts +1 -0
  488. package/dist/src/utils/is-secure-context.d.ts +1 -0
  489. package/package.json +22 -1
@@ -2,27 +2,244 @@
2
2
 
3
3
  var USER_AGENT = navigator.userAgent;
4
4
 
5
+ var OS;
6
+ (function (OS) {
7
+ OS["Unknown"] = "Unknown";
8
+ OS["Android"] = "Android";
9
+ OS["iOS"] = "iOS";
10
+ OS["Windows"] = "Windows";
11
+ OS["MacOS"] = "MacOS";
12
+ })(OS || (OS = {}));
13
+ var Devices;
14
+ (function (Devices) {
15
+ Devices["Unknown"] = "Unknown";
16
+ Devices["Mobile"] = "Mobile";
17
+ Devices["Desktop"] = "Desktop";
18
+ })(Devices || (Devices = {}));
19
+ var Engines;
20
+ (function (Engines) {
21
+ Engines["Unknown"] = "Unknown";
22
+ Engines["EdgeHTML"] = "EdgeHTML";
23
+ Engines["ArkWeb"] = "ArkWeb";
24
+ Engines["Blink"] = "Blink";
25
+ Engines["Presto"] = "Presto";
26
+ Engines["WebKit"] = "WebKit";
27
+ Engines["Trident"] = "Trident";
28
+ Engines["NetFront"] = "NetFront";
29
+ Engines["KHTML"] = "KHTML";
30
+ Engines["Tasman"] = "Tasman";
31
+ Engines["Gecko"] = "Gecko";
32
+ })(Engines || (Engines = {}));
33
+ var Browsers;
34
+ (function (Browsers) {
35
+ Browsers["Unknown"] = "Unknown";
36
+ Browsers["Chrome"] = "Chrome";
37
+ Browsers["Safari"] = "Safari";
38
+ Browsers["Edge"] = "Edge";
39
+ Browsers["Firefox"] = "Firefox";
40
+ Browsers["Opera"] = "Opera";
41
+ Browsers["IE"] = "IE";
42
+ Browsers["SamsungInternet"] = "SamsungInternet";
43
+ })(Browsers || (Browsers = {}));
44
+ var DEVICE_NAME = Devices.Unknown;
45
+ var OS_NAME = OS.Unknown;
46
+ Engines.Unknown;
47
+ var BROWSER_NAME = Browsers.Unknown;
48
+ var BROWSER_VERSION = '';
49
+ function resolveWindowsVersion(string) {
50
+ if (string === undefined)
51
+ return '';
52
+ var mapped = {
53
+ '4.90': 'ME',
54
+ 'NT3.51': 'NT 3.11',
55
+ 'NT4.0': 'NT 4.0',
56
+ 'NT 5.0': '2000',
57
+ 'NT 5.1': 'XP',
58
+ 'NT 5.2': 'XP',
59
+ 'NT 6.0': 'Vista',
60
+ 'NT 6.1': '7',
61
+ 'NT 6.2': '8',
62
+ 'NT 6.3': '8.1',
63
+ 'NT 6.4': '10',
64
+ 'NT 10.0': '10',
65
+ 'ARM': 'RT'
66
+ }[string];
67
+ if (mapped !== undefined)
68
+ return mapped;
69
+ return string;
70
+ }
71
+ function resolveUnderscoreVersion(string) {
72
+ if (string === undefined)
73
+ return '';
74
+ return string.replace(/_/g, '.');
75
+ }
76
+ function resolveVersion(string, resolver) {
77
+ if (typeof resolver === 'function')
78
+ return resolver(string);
79
+ if (typeof resolver === 'string')
80
+ return resolver;
81
+ if (string === undefined)
82
+ return '';
83
+ return string;
84
+ }
85
+ var OS_RESOLVER_MAP = [
86
+ [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
87
+ [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
88
+ [/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i, OS.Windows, resolveWindowsVersion],
89
+ [/windows nt ?([\d.)]*)(?!.+xbox)/i, OS.Windows, resolveWindowsVersion],
90
+ [/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i, OS.Windows, resolveWindowsVersion],
91
+ [/windows ce\/?([\d.]*)/i, OS.Windows, resolveWindowsVersion],
92
+ [/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i, OS.iOS, resolveUnderscoreVersion],
93
+ [/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i, OS.iOS, resolveUnderscoreVersion],
94
+ [/cfnetwork\/.+darwin/i, OS.iOS, resolveUnderscoreVersion],
95
+ [/mac os x ?([\w. ]*)/i, OS.MacOS, resolveUnderscoreVersion],
96
+ [/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i, OS.MacOS, resolveUnderscoreVersion],
97
+ [/droid ([\w.]+)\b.+(android[- ]x86)/i, OS.Android],
98
+ [/android\w*[-\/.; ]?([\d.]*)/i, OS.Android],
99
+ ];
100
+ var ENGINE_RESOLVER_MAP = [
101
+ [/windows.+ edge\/([\w.]+)/i, Engines.EdgeHTML],
102
+ [/arkweb\/([\w.]+)/i, Engines.ArkWeb],
103
+ [/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i, Engines.Blink],
104
+ [/presto\/([\w.]+)/i, Engines.Presto],
105
+ [/webkit\/([\w.]+)/i, Engines.WebKit],
106
+ [/trident\/([\w.]+)/i, Engines.Trident],
107
+ [/netfront\/([\w.]+)/i, Engines.NetFront],
108
+ [/khtml[\/ ]\(?([\w.]+)/i, Engines.KHTML],
109
+ [/tasman[\/ ]\(?([\w.]+)/i, Engines.Tasman],
110
+ [/rv:([\w.]{1,9})\b.+gecko/i, Engines.Gecko]
111
+ ];
112
+ var BROWSER_RESOLVER_MAP = [
113
+ [/\b(?:crmo|crios)\/([\w.]+)/i, Browsers.Chrome],
114
+ [/webview.+edge\/([\w.]+)/i, Browsers.Edge],
115
+ [/edg(?:e|ios|a)?\/([\w.]+)/i, Browsers.Edge],
116
+ [/opera mini\/([-\w.]+)/i, Browsers.Opera],
117
+ [/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i, Browsers.Opera],
118
+ [/opera(?:.+version\/|[\/ ]+)([\w.]+)/i, Browsers.Opera],
119
+ [/opios[\/ ]+([\w.]+)/i, Browsers.Opera],
120
+ [/\bop(?:rg)?x\/([\w.]+)/i, Browsers.Opera],
121
+ [/\bopr\/([\w.]+)/i, Browsers.Opera],
122
+ [/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i, Browsers.IE],
123
+ [/(?:ms|\()ie ([\w.]+)/i, Browsers.IE],
124
+ [/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i, Browsers.IE],
125
+ [/\bfocus\/([\w.]+)/i, Browsers.Firefox],
126
+ [/\bopt\/([\w.]+)/i, Browsers.Opera],
127
+ [/coast\/([\w.]+)/i, Browsers.Opera],
128
+ [/fxios\/([\w.-]+)/i, Browsers.Firefox],
129
+ [/samsungbrowser\/([\w.]+)/i, Browsers.SamsungInternet],
130
+ [/headlesschrome(?:\/([\w.]+)| )/i, Browsers.Chrome],
131
+ [/wv\).+chrome\/([\w.]+).+edgw\//i, Browsers.Edge],
132
+ [/ wv\).+(chrome)\/([\w.]+)/i, Browsers.Chrome],
133
+ [/chrome\/([\w.]+) mobile/i, Browsers.Chrome],
134
+ [/chrome\/v?([\w.]+)/i, Browsers.Chrome],
135
+ [/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
136
+ [/iphone .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
137
+ [/version\/([\w.,]+) .*safari/i, Browsers.Safari],
138
+ [/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i, Browsers.Safari, '1'],
139
+ [/(?:mobile|tablet);.*firefox\/([\w.-]+)/i, Browsers.Firefox],
140
+ [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
141
+ [/firefox\/([\w.]+)/i, Browsers.Firefox],
142
+ ];
143
+ for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
144
+ var map = OS_RESOLVER_MAP[i];
145
+ var regexp = map[0];
146
+ var os = map[1];
147
+ var resolver = map[2];
148
+ var matched = USER_AGENT.match(regexp);
149
+ if (matched !== null) {
150
+ OS_NAME = os;
151
+ resolveVersion(matched[1], resolver);
152
+ if (os === OS.iOS || os === OS.Android)
153
+ DEVICE_NAME = Devices.Mobile;
154
+ else if (os === OS.Windows || os === OS.MacOS)
155
+ DEVICE_NAME = Devices.Desktop;
156
+ break;
157
+ }
158
+ }
159
+ for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
160
+ var map = ENGINE_RESOLVER_MAP[i];
161
+ var regexp = map[0];
162
+ map[1];
163
+ var resolver = map[2];
164
+ var matched = USER_AGENT.match(regexp);
165
+ if (matched !== null) {
166
+ resolveVersion(matched[1], resolver);
167
+ break;
168
+ }
169
+ }
170
+ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
171
+ var map = BROWSER_RESOLVER_MAP[i];
172
+ var regexp = map[0];
173
+ var browser = map[1];
174
+ var resolver = map[2];
175
+ var matched = USER_AGENT.match(regexp);
176
+ if (matched !== null) {
177
+ BROWSER_NAME = browser;
178
+ BROWSER_VERSION = resolveVersion(matched[1], resolver);
179
+ break;
180
+ }
181
+ }
182
+ ((function () {
183
+ var canvas = globalThis.document.createElement('canvas');
184
+ if (typeof canvas.getContext !== 'function')
185
+ return '';
186
+ var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
187
+ if (context === null)
188
+ return '';
189
+ if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
190
+ var extension = context.getExtension('WEBGL_debug_renderer_info');
191
+ if (extension === null)
192
+ return context.getParameter(context.RENDERER);
193
+ else
194
+ return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
195
+ }
196
+ else {
197
+ return '';
198
+ }
199
+ }))();
200
+ var IS_MOBILE = DEVICE_NAME === Devices.Mobile;
201
+ DEVICE_NAME === Devices.Desktop;
202
+ var IS_STANDALONE = (function () {
203
+ if (OS_NAME === OS.iOS)
204
+ return 'standalone' in navigator && !!navigator.standalone;
205
+ else
206
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
207
+ })();
208
+
209
+ function compareVersion(lhs, rhs) {
210
+ var pa = lhs.split('.');
211
+ var pb = rhs.split('.');
212
+ var length = Math.max(pa.length, pb.length);
213
+ for (var i = 0; i < length; i++) {
214
+ var a = void 0;
215
+ var b = void 0;
216
+ if (i < pa.length)
217
+ a = parseInt(pa[i], 10);
218
+ else
219
+ a = 0;
220
+ if (i < pb.length)
221
+ b = parseInt(pb[i], 10);
222
+ else
223
+ b = 0;
224
+ if (a > b)
225
+ return 1;
226
+ if (a < b)
227
+ return -1;
228
+ }
229
+ return 0;
230
+ }
231
+
5
232
  var Appearances;
6
233
  (function (Appearances) {
7
234
  Appearances["Unknown"] = "unknown";
8
235
  Appearances["Light"] = "light";
9
236
  Appearances["Dark"] = "dark";
10
237
  })(Appearances || (Appearances = {}));
11
- var CHROME_VERSION = (function getChromeVersion() {
12
- var matched = USER_AGENT.match(/chrome\/([\w.]+) mobile/i);
13
- if (matched === null)
14
- return NaN;
15
- var version = parseInt(matched[1]);
16
- if (isNaN(version))
17
- return NaN;
18
- return version;
19
- })();
20
- var MEDIA_QUERY_LIST = window.matchMedia('(prefers-color-scheme: dark)');
238
+ var MEDIA_QUERY_LIST = globalThis.matchMedia('(prefers-color-scheme: dark)');
21
239
  var SUPPORT_PREFERS_COLOR_SCHEME = MEDIA_QUERY_LIST.media !== 'not all';
22
- var IS_FULL_SUPPORT_THEME_COLOR = isNaN(CHROME_VERSION) || CHROME_VERSION >= 92;
23
- var CONTEXT = document.createElement('canvas').getContext('2d', { willReadFrequently: true });
240
+ var IS_FULL_SUPPORT_THEME_COLOR = BROWSER_NAME !== Browsers.Chrome || (IS_MOBILE && compareVersion(BROWSER_VERSION, '92') >= 0);
241
+ var CONTEXT = globalThis.document.createElement('canvas').getContext('2d', { willReadFrequently: true });
24
242
  var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+';
25
- var IS_SAMSUNG = /Samsung/i.test(USER_AGENT);
26
243
  var IS_IE_MOBILE = /iemobile/i.test(USER_AGENT);
27
244
  var IS_WINDOWS_PHONE = /windows phone/i.test(USER_AGENT);
28
245
  var ENTRIES = [];
@@ -294,8 +511,8 @@ function parseLinear(easingFunction) {
294
511
  points.push({ position: 1, value: 1 });
295
512
  return points;
296
513
  }
297
- function getLinearValue(str) {
298
- var points = parseLinear(str);
514
+ function getLinearValue(string) {
515
+ var points = parseLinear(string);
299
516
  return function (t) {
300
517
  t = clamp(t, 0, 1);
301
518
  if (t <= points[0].position)
@@ -372,6 +589,58 @@ function parseEasingFunction(easingFunction) {
372
589
 
373
590
  var UnsupportedColorError = createCustomError('UnsupportedColorError');
374
591
 
592
+ function createHiddenElement(tagName, focusable) {
593
+ if (focusable === void 0) { focusable = true; }
594
+ var element = globalThis.document.createElement(tagName);
595
+ if ('width' in element)
596
+ element.width = '0';
597
+ if ('height' in element)
598
+ element.height = '0';
599
+ if ('border' in element)
600
+ element.border = '0';
601
+ if ('frameBorder' in element)
602
+ element.frameBorder = '0';
603
+ if ('scrolling' in element)
604
+ element.scrolling = 'no';
605
+ if ('cellPadding' in element)
606
+ element.cellPadding = '0';
607
+ if ('cellSpacing' in element)
608
+ element.cellSpacing = '0';
609
+ if ('frame' in element)
610
+ element.frame = 'void';
611
+ if ('rules' in element)
612
+ element.rules = 'none';
613
+ if ('noWrap' in element)
614
+ element.noWrap = true;
615
+ element.tabIndex = -1;
616
+ element.setAttribute('role', 'presentation');
617
+ if (focusable) {
618
+ element.style.width = '1px';
619
+ element.style.height = '1px';
620
+ }
621
+ else {
622
+ element.setAttribute('aria-hidden', 'true');
623
+ element.style.width = '0';
624
+ element.style.height = '0';
625
+ element.style.zIndex = '-9999';
626
+ element.style.display = 'none';
627
+ element.style.visibility = 'hidden';
628
+ element.style.pointerEvents = 'none';
629
+ }
630
+ element.style.position = 'absolute';
631
+ element.style.top = '0';
632
+ element.style.left = '0';
633
+ element.style.padding = '0';
634
+ element.style.margin = '0';
635
+ element.style.border = 'none';
636
+ element.style.outline = 'none';
637
+ element.style.clip = 'rect(1px, 1px, 1px, 1px)';
638
+ element.style.clipPath = 'inset(50%)';
639
+ element.style.overflow = 'hidden';
640
+ element.style.whiteSpace = 'nowrap';
641
+ return element;
642
+ }
643
+
375
644
  function parseColor(color) {
376
645
  if (typeof CSS !== 'undefined' && CSS.supports && !CSS.supports('color', color))
377
646
  throw new UnsupportedColorError('Unsupported color: \"' + color + '\".');
@@ -391,16 +660,11 @@ function parseColor(color) {
391
660
  catch (_) {
392
661
  }
393
662
  }
394
- var div = document.createElement('div');
395
- div.style.position = 'absolute';
396
- div.style.top = '-9999px';
397
- div.style.left = '-9999px';
398
- div.style.width = '1px';
399
- div.style.height = '1px';
663
+ var div = createHiddenElement('div');
400
664
  div.style.color = color;
401
- document.body.appendChild(div);
665
+ globalThis.document.body.appendChild(div);
402
666
  try {
403
- var computedColor = window.getComputedStyle(div).color;
667
+ var computedColor = globalThis.getComputedStyle(div).color;
404
668
  var legacyMatch = computedColor.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/);
405
669
  var modernMatch = computedColor.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/);
406
670
  var matched = legacyMatch || modernMatch;
@@ -411,11 +675,11 @@ function parseColor(color) {
411
675
  var blue = parseInt(matched[3], 10);
412
676
  var alpha = 1;
413
677
  if (matched[4] !== undefined) {
414
- var alphaStr = matched[4];
415
- if (alphaStr.charAt(alphaStr.length - 1) === '%')
416
- alpha = parseFloat((parseFloat(alphaStr) / 100).toFixed(2));
678
+ var alphaString = matched[4];
679
+ if (alphaString.charAt(alphaString.length - 1) === '%')
680
+ alpha = parseFloat((parseFloat(alphaString) / 100).toFixed(2));
417
681
  else
418
- alpha = parseFloat(parseFloat(alphaStr).toFixed(2));
682
+ alpha = parseFloat(parseFloat(alphaString).toFixed(2));
419
683
  }
420
684
  if (isNaN(red) || isNaN(green) || isNaN(blue) || isNaN(alpha))
421
685
  throw new UnsupportedColorError('Failed to parse color values from: \"' + color + '\".');
@@ -427,7 +691,7 @@ function parseColor(color) {
427
691
  };
428
692
  }
429
693
  finally {
430
- document.body.removeChild(div);
694
+ globalThis.document.body.removeChild(div);
431
695
  }
432
696
  }
433
697
 
@@ -453,7 +717,7 @@ function getThemeColorMeta(appearance) {
453
717
  var meta = themeColorMetaGroup[effective];
454
718
  if (meta !== undefined)
455
719
  return meta;
456
- meta = document.createElement('meta');
720
+ meta = globalThis.document.createElement('meta');
457
721
  if (IS_IE_MOBILE)
458
722
  meta.setAttribute('name', 'msapplication-navbutton-color');
459
723
  else if (IS_WINDOWS_PHONE)
@@ -462,20 +726,20 @@ function getThemeColorMeta(appearance) {
462
726
  meta.setAttribute('name', 'theme-color');
463
727
  if (appearance !== 'default')
464
728
  meta.setAttribute('media', '(prefers-color-scheme: ' + effective + ')');
465
- document.head.prepend(meta);
729
+ globalThis.document.head.prepend(meta);
466
730
  return themeColorMetaGroup[appearance] = meta;
467
731
  }
468
732
  function estimateDefaultThemeColor() {
469
- if (/version\/[\w.,]+ .*safari/i.test(USER_AGENT)) {
470
- if (navigator.standalone) {
733
+ if (BROWSER_NAME === Browsers.Safari) {
734
+ if (IS_STANDALONE) {
471
735
  if (detectFromMediaQuery() === Appearances.Dark)
472
736
  return '#ffffffff';
473
737
  else
474
738
  return '#000000ff';
475
739
  }
476
- return rgbaToHex(parseColor(window.getComputedStyle(document.body).backgroundColor));
740
+ return rgbaToHex(parseColor(globalThis.getComputedStyle(globalThis.document.body).backgroundColor));
477
741
  }
478
- if (/\b(?:crmo|crios)\/[\w.]+/i.test(USER_AGENT) || /chrome\/[\w.]+ mobile/i.test(USER_AGENT)) {
742
+ if (BROWSER_NAME === Browsers.Chrome) {
479
743
  if (detectFromMediaQuery() === Appearances.Dark)
480
744
  return '#28292cff';
481
745
  else
@@ -486,9 +750,12 @@ function estimateDefaultThemeColor() {
486
750
  function toHex(n) {
487
751
  var hex = n.toString(16);
488
752
  switch (hex.length) {
489
- case 0: return '00';
490
- case 1: return '0' + hex;
491
- default: return hex;
753
+ case 0:
754
+ return '00';
755
+ case 1:
756
+ return '0' + hex;
757
+ default:
758
+ return hex;
492
759
  }
493
760
  }
494
761
  function rgbaToHex(rgba) {
@@ -529,7 +796,7 @@ function startPolling() {
529
796
  .then(function (appearance) {
530
797
  currentAppearance = appearance;
531
798
  });
532
- appearanceIntervalId = window.setInterval(function () {
799
+ appearanceIntervalId = globalThis.setInterval(function () {
533
800
  detectFromEngine()
534
801
  .then(function (appearance) {
535
802
  if (appearance !== currentAppearance) {
@@ -582,7 +849,7 @@ function removeEntry(entry) {
582
849
  if (index !== -1)
583
850
  ENTRIES.splice(index, 1);
584
851
  if (ENTRIES.length === 0) {
585
- if (IS_SAMSUNG)
852
+ if (BROWSER_NAME === Browsers.SamsungInternet)
586
853
  stopPolling();
587
854
  else
588
855
  removeListener(entry.capture);
@@ -603,7 +870,7 @@ function syncThemeColorMeta() {
603
870
  selector = 'meta[name=\"msapplication-TileColor\"]';
604
871
  else
605
872
  selector = 'meta[name=\"theme-color\"]';
606
- var nodes = document.querySelectorAll(selector);
873
+ var nodes = globalThis.document.querySelectorAll(selector);
607
874
  if (!IS_FULL_SUPPORT_THEME_COLOR || !SUPPORT_PREFERS_COLOR_SCHEME || IS_IE_MOBILE || IS_WINDOWS_PHONE) {
608
875
  themeColorMetaGroup.default = nodes[0];
609
876
  return;
@@ -623,12 +890,12 @@ function syncThemeColorMeta() {
623
890
  }
624
891
  function getCurrentAppliedThemeColorMeta() {
625
892
  if (IS_IE_MOBILE)
626
- return document.querySelector('meta[name=\"msapplication-navbutton-color\"]');
893
+ return globalThis.document.querySelector('meta[name=\"msapplication-navbutton-color\"]');
627
894
  if (IS_WINDOWS_PHONE)
628
- return document.querySelector('meta[name=\"msapplication-TileColor\"]');
895
+ return globalThis.document.querySelector('meta[name=\"msapplication-TileColor\"]');
629
896
  if (!IS_FULL_SUPPORT_THEME_COLOR || !SUPPORT_PREFERS_COLOR_SCHEME)
630
- return document.querySelector('meta[name=\"theme-color\"]');
631
- var nodes = document.querySelectorAll('meta[name=\"theme-color\"]');
897
+ return globalThis.document.querySelector('meta[name=\"theme-color\"]');
898
+ var nodes = globalThis.document.querySelectorAll('meta[name=\"theme-color\"]');
632
899
  var isDark = detectFromMediaQuery() === Appearances.Dark;
633
900
  var query;
634
901
  if (isDark)
@@ -663,7 +930,7 @@ function init() {
663
930
  MEDIA_QUERY_LIST.addEventListener('change', syncThemeColorMeta);
664
931
  else if (typeof MEDIA_QUERY_LIST.addListener === 'function')
665
932
  MEDIA_QUERY_LIST.addListener(syncThemeColorMeta);
666
- observer.observe(document.head, { childList: true });
933
+ observer.observe(globalThis.document.head, { childList: true });
667
934
  syncThemeColorMeta();
668
935
  }
669
936
  init();
@@ -673,7 +940,7 @@ function setThemeColor(color, options) {
673
940
  var easingFn = parseEasingFunction(options.easingFunction);
674
941
  var appearance = options.appearance;
675
942
  if (themeIntervalId !== null) {
676
- window.cancelAnimationFrame(themeIntervalId);
943
+ globalThis.cancelAnimationFrame(themeIntervalId);
677
944
  themeIntervalId = null;
678
945
  if (currentResolve !== null) {
679
946
  currentResolve(getThemeColor());
@@ -715,7 +982,7 @@ function setThemeColor(color, options) {
715
982
  };
716
983
  getThemeColorMeta(appearance).setAttribute('content', rgbaToHex(current));
717
984
  if (t < 1) {
718
- themeIntervalId = window.requestAnimationFrame(animate);
985
+ themeIntervalId = globalThis.requestAnimationFrame(animate);
719
986
  }
720
987
  else {
721
988
  themeIntervalId = null;
@@ -725,7 +992,7 @@ function setThemeColor(color, options) {
725
992
  }
726
993
  }
727
994
  }
728
- themeIntervalId = window.requestAnimationFrame(animate);
995
+ themeIntervalId = globalThis.requestAnimationFrame(animate);
729
996
  });
730
997
  }
731
998
  function getThemeColor() {
@@ -742,7 +1009,7 @@ function removeThemeColor(appearance) {
742
1009
  themeColorMetaGroup[appearance] = undefined;
743
1010
  }
744
1011
  function detectAppearance() {
745
- if (IS_SAMSUNG)
1012
+ if (BROWSER_NAME === Browsers.SamsungInternet)
746
1013
  return detectFromEngine();
747
1014
  else
748
1015
  return Promise.resolve(detectFromMediaQuery());
@@ -762,7 +1029,7 @@ function onAppearanceChange(listener, options) {
762
1029
  if (index === -1) {
763
1030
  ENTRIES.push(entry);
764
1031
  if (ENTRIES.length === 1) {
765
- if (IS_SAMSUNG)
1032
+ if (BROWSER_NAME === Browsers.SamsungInternet)
766
1033
  startPolling();
767
1034
  else
768
1035
  addListener(entry.capture);
@@ -1,9 +1,9 @@
1
- declare interface NativePlugin<T, C extends Record<string, any> = Record<string, any>, E extends Record<string, ErrorConstructor> = Record<string, ErrorConstructor>> {
1
+ declare interface NativePlugin<Key extends string, Module, Constants extends Record<string, any> = Record<string, any>, Errors extends Record<string, ErrorConstructor> = Record<string, ErrorConstructor>> {
2
2
  installed: boolean;
3
- name: string;
4
- module: T;
5
- Constants: C;
6
- Errors: E;
3
+ name: Key;
4
+ module: Module;
5
+ Constants: Constants;
6
+ Errors: Errors;
7
7
  }
8
8
 
9
9
  type SystemColor = 'ActiveBorder' | 'ActiveCaption' | 'AppWorkspace' | 'Background' | 'ButtonHighlight' | 'ButtonShadow' | 'CaptionText' | 'InactiveBorder' | 'InactiveCaption' | 'InactiveCaptionText' | 'InfoBackground' | 'InfoText' | 'Menu' | 'MenuText' | 'Scrollbar' | 'ThreeDDarkShadow' | 'ThreeDFace' | 'ThreeDHighlight' | 'ThreeDLightShadow' | 'ThreeDShadow' | 'Window' | 'WindowFrame' | 'WindowText';
@@ -62,11 +62,11 @@ declare interface SetThemeColorOptions {
62
62
  defaultColor?: string;
63
63
  }
64
64
  declare interface ThemeInstance {
65
- setThemeColor: (color: Color, options?: SetThemeColorOptions) => Promise<string | undefined>;
66
- getThemeColor: () => Color | undefined;
67
- removeThemeColor: (appearance?: ThemeColorMetaAppearanceKeys) => void;
68
- detectAppearance: () => Promise<Appearances>;
69
- onAppearanceChange: (listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions) => () => void;
65
+ setThemeColor(color: Color, options?: SetThemeColorOptions): Promise<string | undefined>;
66
+ getThemeColor(): Color | undefined;
67
+ removeThemeColor(appearance?: ThemeColorMetaAppearanceKeys): void;
68
+ detectAppearance(): Promise<Appearances>;
69
+ onAppearanceChange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
70
70
  }
71
71
 
72
72
  declare const UnsupportedColorError: ErrorConstructor;
@@ -94,7 +94,16 @@ declare module 'native-fn' {
94
94
  }
95
95
  }
96
96
 
97
- declare const NativeThemePlugin: NativePlugin<ThemeInstance>;
97
+ declare const NativeThemePlugin: NativePlugin<'Theme', ThemeInstance, {
98
+ Appearances: typeof Appearances;
99
+ }, {
100
+ EasingError: typeof EasingError;
101
+ UnsupportedEasingFunctionError: typeof UnsupportedEasingFunctionError;
102
+ StepSyntaxError: typeof StepSyntaxError;
103
+ LinearSyntaxError: typeof LinearSyntaxError;
104
+ CubicBezierSyntaxError: typeof CubicBezierSyntaxError;
105
+ UnsupportedColorError: typeof UnsupportedColorError;
106
+ }>;
98
107
 
99
108
  export { NativeThemePlugin as default };
100
109
  export type { Color, CubicBezierParams, CubicBezierSyntax, DeprecatedSystemColor, EasingFunction, EasingKeyword, EasingSyntax, HEXColor, HSLAColor, HSLColor, LinearPoint, LinearSyntax, ListenerEntry, NamedColor, RGB, RGBA, RGBAColor, RGBColor, SetThemeColorOptions, StepSyntax, SystemColor, ThemeColorMetaAppearanceKeys, ThemeColorMetaGroup, ThemeInstance };
@@ -1 +1 @@
1
- "use strict";var e,t=navigator.userAgent;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var r=function(){var e=t.match(/chrome\/([\w.]+) mobile/i);if(null===e)return NaN;var r=parseInt(e[1]);return isNaN(r)?NaN:r}(),n=window.matchMedia("(prefers-color-scheme: dark)"),a="not all"!==n.media,o=isNaN(r)||r>=92,i=document.createElement("canvas").getContext("2d",{willReadFrequently:!0}),u=/Samsung/i.test(t),l=/iemobile/i.test(t),s=/windows phone/i.test(t),c=[];function f(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function d(e,t){function r(n){if(!(this instanceof r))return new r(n);var a=new t(n||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(a,r.prototype):a.__proto__=r.prototype,a.name=e,void 0!==n&&(a.message=n),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(a,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(a,r);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(a,r);else try{var o=new t;o.stack&&(a.stack=o.stack)}catch(e){}return a}void 0===t&&(t=Error),r.prototype=Object.create(t.prototype,{constructor:{value:r,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(r.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{r.prototype.name=e}catch(e){}}try{Object.defineProperty(r,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return r}"function"==typeof SuppressedError&&SuppressedError;var p=d("EasingError"),v=d("CubicBezierSyntaxError",p),m=d("LinearSyntaxError",p),h=d("StepSyntaxError",p),b=d("UnsupportedEasingFunctionError",p),g={linear:"linear(0, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)","step-start":"steps(1, jump-start)","step-end":"steps(1, jump-end)"};function y(e,t,r){return e<t?t:e>r?r:e}function w(e){var t=function(e){var t=e.match(/cubic-bezier\((.*)\)/);if(null===t)throw new v("Invalid cubic-bezier syntax");var r=t[1].trim().split(","),n=[];if(4!==r.length)throw new v("Cubic-bezier must have exactly 4 numeric values");for(var a=0;a<4;a++){var o=parseFloat(r[a]);if(isNaN(o))throw new v("Cubic-bezier must have exactly 4 numeric values");if(a%2==0&&(o<0||o>1))throw new v("x1 and x2 must be between 0 and 1");n.push(o)}return{x1:n[0],y1:n[1],x2:n[2],y2:n[3]}}(e),r=t.x1,n=t.x2,a=t.y1,o=t.y2;return function(e){if(0===(e=y(e,0,1))||1===e)return e;var t=function(e,t,a){if(void 0===t&&(t=1e-6),void 0===a&&(a=50),e<=0)return 0;if(e>=1)return 1;for(var o=e,i=0;i<a;i++){var u=3*(1-o)*(1-o)*o*r+3*(1-o)*o*o*n+o*o*o,l=3*(1-o)*(1-o)*r+6*(1-o)*o*(n-r)+3*o*o*(1-n);if(Math.abs(l)<t)break;var s=o-(u-e)/l;if(Math.abs(s-o)<t){o=s;break}o=Math.max(0,Math.min(1,s))}return o}(e);return 3*(1-t)*(1-t)*t*a+3*(1-t)*t*t*o+t*t*t}}function S(e){var t=function(e){var t,r,n=e.match(/linear\((.*)\)/);if(null===n)throw new m("Invalid linear syntax");var a=n[1].trim();if(""===a)throw new m("Linear function must have at least one point");for(var o=a.split(","),i=[],u=0;u<o.length;u++){var l=o[u].trim(),s=l.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===s){var c=l.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===c){var d=l.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new m('Invalid linear point format: "'+l+'"');i.push({position:1===o.length?0:u/(o.length-1),value:parseFloat(d[1])})}else i.push({position:parseFloat(c[2])/100,value:parseFloat(c[1])})}else{var p=parseFloat(s[1]),v=s[2].trim().split(/\s+/);try{for(var h=(t=void 0,f(v)),b=h.next();!b.done;b=h.next()){var g=b.value;i.push({value:p,position:parseFloat(g)/100})}}catch(e){t={error:e}}finally{try{b&&!b.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}}if(0===i.length)throw new m("No valid points found in linear function");return i.sort((function(e,t){return e.position-t.position})),i[0].position>0&&i.unshift({position:0,value:0}),i[i.length-1].position<1&&i.push({position:1,value:1}),i}(e);return function(e){if((e=y(e,0,1))<=t[0].position)return t[0].value;if(e>=t[t.length-1].position)return t[t.length-1].value;for(var r=0;r<t.length-1;r++){var n=t[r],a=t[r+1];if(e>=n.position&&e<=a.position){if(n.position===a.position)return a.value;var o=(e-n.position)/(a.position-n.position);return n.value+(a.value-n.value)*o}}return t[t.length-1].value}}function E(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=g[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return w(e);if(function(e){return/linear\(/.test(e)}(e))return S(e);if(function(e){return/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/.test(e)}(e))return function(e){var t=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===t)throw new h("Invalid steps syntax");var r=parseInt(t[1],10),n=t[2];if(r<=0)throw new h("Steps count must be a positive integer");if("jump-none"===n&&r<2)throw new h("jump-none requires at least 2 steps");return function(e){switch(e=y(e,0,1),n){case"start":case"jump-start":return 0===e?1/r:1===e?1:Math.ceil(e*r)/r;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*r)/r;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(r+1))/(r+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(r-1))/(r-1);default:throw new h('Unsupported step position: "'+n+'"')}}}(e);throw new b('Unsupported easing function: "'+e+'"')}var x=d("UnsupportedColorError");function k(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new x('Unsupported color: "'+e+'".');if(null!==i)try{i.clearRect(0,0,1,1),i.fillStyle=e,i.fillRect(0,0,1,1);var t=i.getImageData(0,0,1,1).data;return{red:t[0],green:t[1],blue:t[2],alpha:parseFloat((t[3]/255).toFixed(2))}}catch(e){}var r=document.createElement("div");r.style.position="absolute",r.style.top="-9999px",r.style.left="-9999px",r.style.width="1px",r.style.height="1px",r.style.color=e,document.body.appendChild(r);try{var n=window.getComputedStyle(r).color,a=n.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),o=n.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),u=a||o;if(null===u)throw new x('Unsupported color: "'+e+'".');var l=parseInt(u[1],10),s=parseInt(u[2],10),c=parseInt(u[3],10),f=1;if(void 0!==u[4]){var d=u[4];f="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(l)||isNaN(s)||isNaN(c)||isNaN(f))throw new x('Failed to parse color values from: "'+e+'".');return{red:l,green:s,blue:c,alpha:f}}finally{document.body.removeChild(r)}}var C,j={},L=null,I=null,F=null,M=null,N={setThemeColor:function(t,r){void 0===r&&(r={duration:0,easingFunction:"linear",appearance:"default"});var n=r.duration,i=E(r.easingFunction),u=r.appearance;null!==L&&(window.cancelAnimationFrame(L),L=null,null!==I&&(I(R()),I=null));var c=R();void 0===c&&(c=void 0!==r.defaultColor?r.defaultColor:P()===e.Dark?"#181818ff":"#dcdcdcff");var f=k(c),d=k(t);return new Promise((function(e){I=e;var t=null;L=window.requestAnimationFrame((function r(c){null===t&&(t=c);var p,v=c-t;p=0===n?1:Math.min(v/n,1);var m=i(p),h={red:Math.round(f.red+(d.red-f.red)*m),green:Math.round(f.green+(d.green-f.green)*m),blue:Math.round(f.blue+(d.blue-f.blue)*m),alpha:+(f.alpha+(d.alpha-f.alpha)*m).toFixed(2)};(function(e){void 0===e&&(e="default");var t;t=!o||!a||l||s?"default":e;var r=j[t];if(void 0!==r)return r;r=document.createElement("meta"),l?r.setAttribute("name","msapplication-navbutton-color"):s?r.setAttribute("name","msapplication-TileColor"):r.setAttribute("name","theme-color");"default"!==e&&r.setAttribute("media","(prefers-color-scheme: "+t+")");return document.head.prepend(r),j[e]=r})(u).setAttribute("content",T(h)),p<1?L=window.requestAnimationFrame(r):(L=null,null!==I&&(e(R()),L=null))}))}))},getThemeColor:R,removeThemeColor:function(e){void 0===e&&(e="default");var t=j[e];void 0!==t&&t.remove();j[e]=void 0},detectAppearance:function(){return u?z():Promise.resolve(P())},onAppearanceChange:function(e,t){void 0===t&&(t=!1);var r={fn:e,capture:!1,once:!1};"boolean"==typeof t&&(t={capture:t});void 0!==t.capture&&(r.capture=t.capture);void 0!==t.once&&(r.once=t.once);void 0!==t.signal&&(r.signal=t.signal);var a=q(r);-1===a?(c.push(r),1===c.length&&(u?(z().then((function(e){F=e})),M=window.setInterval((function(){z().then((function(e){e!==F&&(F=e,U(e))}))}),2e3)):(o=r.capture,F=P(),"function"==typeof n.addEventListener?n.addEventListener("change",D,o):"function"==typeof n.addListener&&n.addListener(D))),this.detectAppearance().then(U)):c[a].once&&!r.once&&(c[a].once=!1);var o;void 0!==r.signal&&(r.signal.aborted?O(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),O(r)})));return function(){O(r)}}};function A(e){var t=e.toString(16);switch(t.length){case 0:return"00";case 1:return"0"+t;default:return t}}function T(e){return"#"+A(e.red)+A(e.green)+A(e.blue)+A(Math.round(255*e.alpha))}function z(){return new Promise((function(t){var r=new Image;r.onload=function(){if(null===i)return t(e.Light);i.drawImage(r,0,0);var n=i.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?t(e.Dark):t(e.Light)},r.onerror=function(){t(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function P(){return a?n.matches?e.Dark:e.Light:e.Unknown}function D(t){var r;(r=t.matches?e.Dark:e.Light)!==F&&U(F=r)}function U(e){for(var t=0;t<c.length;t++){var r=c[t];r.fn(e),r.once&&O(r)}}function O(e){var t,r=q(e);-1!==r&&c.splice(r,1),0===c.length&&(u?(F=null,null!==M&&(clearInterval(M),M=null)):(t=e.capture,F=null,"function"==typeof n.removeEventListener?n.removeEventListener("change",D,t):"function"==typeof n.removeListener&&n.removeListener(D)))}function q(e){for(var t=0;t<c.length;t++)if(c[t].fn===e.fn&&c[t].capture===e.capture)return t;return-1}function H(){var e;j={},e=l?'meta[name="msapplication-navbutton-color"]':s?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var t=document.querySelectorAll(e);if(o&&a&&!l&&!s)for(var r=0;r<t.length;r++){var n=t.item(r),i=n.getAttribute("media");if("(prefers-color-scheme: dark)"===i&&void 0===j.dark?j.dark=n:"(prefers-color-scheme: light)"===i&&void 0===j.light?j.light=n:null===i&&void 0===j.default&&(j.default=n),void 0!==j.dark&&void 0!==j.light&&void 0!==j.default)return}else j.default=t[0]}function R(){var r=function(){if(l)return document.querySelector('meta[name="msapplication-navbutton-color"]');if(s)return document.querySelector('meta[name="msapplication-TileColor"]');if(!o||!a)return document.querySelector('meta[name="theme-color"]');var t,r=document.querySelectorAll('meta[name="theme-color"]');t=P()===e.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<r.length;n++){var i=r.item(n);if(i.hasAttribute("content")){var u=i.getAttribute("media");if(null===u||u===t)return i}}return null}();return null!==r?r.getAttribute("content"):/version\/[\w.,]+ .*safari/i.test(t)?navigator.standalone?P()===e.Dark?"#ffffffff":"#000000ff":T(k(window.getComputedStyle(document.body).backgroundColor)):/\b(?:crmo|crios)\/[\w.]+/i.test(t)||/chrome\/[\w.]+ mobile/i.test(t)?P()===e.Dark?"#28292cff":"#ffffffff":void 0}C=new MutationObserver((function(e){for(var t=0;t<e.length;t++){for(var r=e[t],n=r.addedNodes,a=r.removedNodes,o=0;o<n.length;o++)if(n[o]instanceof HTMLMetaElement)return H();for(o=0;o<a.length;o++)if(a[o]instanceof HTMLMetaElement)return H()}})),"function"==typeof n.addEventListener?n.addEventListener("change",H):"function"==typeof n.addListener&&n.addListener(H),C.observe(document.head,{childList:!0}),H();var Z={installed:!1,name:"Theme",module:N,Constants:{Appearances:e},Errors:{EasingError:p,UnsupportedEasingFunctionError:b,StepSyntaxError:h,LinearSyntaxError:m,CubicBezierSyntaxError:v,UnsupportedColorError:x}};module.exports=Z;
1
+ "use strict";var e,t,n,r,o=navigator.userAgent;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(e||(e={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(t||(t={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(n||(n={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(r||(r={}));var i=t.Unknown,a=e.Unknown;n.Unknown;var l=r.Unknown,s="";function u(e){if(void 0===e)return"";var t={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==t?t:e}function c(e){return void 0===e?"":e.replace(/_/g,".")}function d(e,t){return"function"==typeof t?t(e):"string"==typeof t?t:void 0===e?"":e}for(var f=[[/windows nt (6\.[23]); arm/i,e.Windows,u],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,u],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,u],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,u],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,u],[/windows ce\/?([\d.]*)/i,e.Windows,u],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,e.iOS,c],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,e.iOS,c],[/cfnetwork\/.+darwin/i,e.iOS,c],[/mac os x ?([\w. ]*)/i,e.MacOS,c],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,e.MacOS,c],[/droid ([\w.]+)\b.+(android[- ]x86)/i,e.Android],[/android\w*[-\/.; ]?([\d.]*)/i,e.Android]],p=[[/windows.+ edge\/([\w.]+)/i,n.EdgeHTML],[/arkweb\/([\w.]+)/i,n.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,n.Blink],[/presto\/([\w.]+)/i,n.Presto],[/webkit\/([\w.]+)/i,n.WebKit],[/trident\/([\w.]+)/i,n.Trident],[/netfront\/([\w.]+)/i,n.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,n.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,n.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,n.Gecko]],m=[[/\b(?:crmo|crios)\/([\w.]+)/i,r.Chrome],[/webview.+edge\/([\w.]+)/i,r.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,r.Edge],[/opera mini\/([-\w.]+)/i,r.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,r.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,r.Opera],[/opios[\/ ]+([\w.]+)/i,r.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,r.Opera],[/\bopr\/([\w.]+)/i,r.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,r.IE],[/(?:ms|\()ie ([\w.]+)/i,r.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,r.IE],[/\bfocus\/([\w.]+)/i,r.Firefox],[/\bopt\/([\w.]+)/i,r.Opera],[/coast\/([\w.]+)/i,r.Opera],[/fxios\/([\w.-]+)/i,r.Firefox],[/samsungbrowser\/([\w.]+)/i,r.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,r.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,r.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,r.Chrome],[/chrome\/([\w.]+) mobile/i,r.Chrome],[/chrome\/v?([\w.]+)/i,r.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,r.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,r.Safari],[/version\/([\w.,]+) .*safari/i,r.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,r.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,r.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,r.Firefox],[/firefox\/([\w.]+)/i,r.Firefox]],h=0;h<f.length;h++){var v=(w=f[h])[0],b=w[1],g=w[2];if(null!==(y=o.match(v))){a=b,d(y[1],g),b===e.iOS||b===e.Android?i=t.Mobile:b!==e.Windows&&b!==e.MacOS||(i=t.Desktop);break}}for(h=0;h<p.length;h++){v=(w=p[h])[0];w[1];g=w[2];if(null!==(y=o.match(v))){d(y[1],g);break}}for(h=0;h<m.length;h++){v=(w=m[h])[0];var w,y,S=w[1];g=w[2];if(null!==(y=o.match(v))){l=S,s=d(y[1],g);break}}!function(){var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var t=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===t)return"";if(t instanceof WebGLRenderingContext||"getParameter"in t&&"function"==typeof t.getParameter){var n=t.getExtension("WEBGL_debug_renderer_info");return null===n?t.getParameter(t.RENDERER):t.getParameter(n.UNMASKED_RENDERER_WEBGL)}}();var k=i===t.Mobile;t.Desktop;var x,T=a===e.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(x||(x={}));var E=globalThis.matchMedia("(prefers-color-scheme: dark)"),M="not all"!==E.media,C=l!==r.Chrome||k&&function(e,t){for(var n=e.split("."),r=t.split("."),o=Math.max(n.length,r.length),i=0;i<o;i++){var a=void 0,l=void 0;if((a=i<n.length?parseInt(n[i],10):0)>(l=i<r.length?parseInt(r[i],10):0))return 1;if(a<l)return-1}return 0}(s,"92")>=0,I=globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}),L=/iemobile/i.test(o),F=/windows phone/i.test(o),N=[];function A(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function O(e,t){function n(r){if(!(this instanceof n))return new n(r);var o=new t(r||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(o,n.prototype):o.__proto__=n.prototype,o.name=e,void 0!==r&&(o.message=r),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(o,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(o,n);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(o,n);else try{var i=new t;i.stack&&(o.stack=i.stack)}catch(e){}return o}void 0===t&&(t=Error),n.prototype=Object.create(t.prototype,{constructor:{value:n,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(n.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{n.prototype.name=e}catch(e){}}try{Object.defineProperty(n,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return n}"function"==typeof SuppressedError&&SuppressedError;var j=O("EasingError"),P=O("CubicBezierSyntaxError",j),U=O("LinearSyntaxError",j),W=O("StepSyntaxError",j),D=O("UnsupportedEasingFunctionError",j),z={linear:"linear(0, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)","step-start":"steps(1, jump-start)","step-end":"steps(1, jump-end)"};function R(e,t,n){return e<t?t:e>n?n:e}function H(e){var t=function(e){var t=e.match(/cubic-bezier\((.*)\)/);if(null===t)throw new P("Invalid cubic-bezier syntax");var n=t[1].trim().split(","),r=[];if(4!==n.length)throw new P("Cubic-bezier must have exactly 4 numeric values");for(var o=0;o<4;o++){var i=parseFloat(n[o]);if(isNaN(i))throw new P("Cubic-bezier must have exactly 4 numeric values");if(o%2==0&&(i<0||i>1))throw new P("x1 and x2 must be between 0 and 1");r.push(i)}return{x1:r[0],y1:r[1],x2:r[2],y2:r[3]}}(e),n=t.x1,r=t.x2,o=t.y1,i=t.y2;return function(e){if(0===(e=R(e,0,1))||1===e)return e;var t=function(e,t,o){if(void 0===t&&(t=1e-6),void 0===o&&(o=50),e<=0)return 0;if(e>=1)return 1;for(var i=e,a=0;a<o;a++){var l=3*(1-i)*(1-i)*i*n+3*(1-i)*i*i*r+i*i*i,s=3*(1-i)*(1-i)*n+6*(1-i)*i*(r-n)+3*i*i*(1-r);if(Math.abs(s)<t)break;var u=i-(l-e)/s;if(Math.abs(u-i)<t){i=u;break}i=Math.max(0,Math.min(1,u))}return i}(e);return 3*(1-t)*(1-t)*t*o+3*(1-t)*t*t*i+t*t*t}}function B(e){var t=function(e){var t,n,r=e.match(/linear\((.*)\)/);if(null===r)throw new U("Invalid linear syntax");var o=r[1].trim();if(""===o)throw new U("Linear function must have at least one point");for(var i=o.split(","),a=[],l=0;l<i.length;l++){var s=i[l].trim(),u=s.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===u){var c=s.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===c){var d=s.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new U('Invalid linear point format: "'+s+'"');a.push({position:1===i.length?0:l/(i.length-1),value:parseFloat(d[1])})}else a.push({position:parseFloat(c[2])/100,value:parseFloat(c[1])})}else{var f=parseFloat(u[1]),p=u[2].trim().split(/\s+/);try{for(var m=(t=void 0,A(p)),h=m.next();!h.done;h=m.next()){var v=h.value;a.push({value:f,position:parseFloat(v)/100})}}catch(e){t={error:e}}finally{try{h&&!h.done&&(n=m.return)&&n.call(m)}finally{if(t)throw t.error}}}}if(0===a.length)throw new U("No valid points found in linear function");return a.sort((function(e,t){return e.position-t.position})),a[0].position>0&&a.unshift({position:0,value:0}),a[a.length-1].position<1&&a.push({position:1,value:1}),a}(e);return function(e){if((e=R(e,0,1))<=t[0].position)return t[0].value;if(e>=t[t.length-1].position)return t[t.length-1].value;for(var n=0;n<t.length-1;n++){var r=t[n],o=t[n+1];if(e>=r.position&&e<=o.position){if(r.position===o.position)return o.value;var i=(e-r.position)/(o.position-r.position);return r.value+(o.value-r.value)*i}}return t[t.length-1].value}}function _(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=z[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return H(e);if(function(e){return/linear\(/.test(e)}(e))return B(e);if(function(e){return/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/.test(e)}(e))return function(e){var t=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===t)throw new W("Invalid steps syntax");var n=parseInt(t[1],10),r=t[2];if(n<=0)throw new W("Steps count must be a positive integer");if("jump-none"===r&&n<2)throw new W("jump-none requires at least 2 steps");return function(e){switch(e=R(e,0,1),r){case"start":case"jump-start":return 0===e?1/n:1===e?1:Math.ceil(e*n)/n;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*n)/n;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(n+1))/(n+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(n-1))/(n-1);default:throw new W('Unsupported step position: "'+r+'"')}}}(e);throw new D('Unsupported easing function: "'+e+'"')}var q=O("UnsupportedColorError");function G(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new q('Unsupported color: "'+e+'".');if(null!==I)try{I.clearRect(0,0,1,1),I.fillStyle=e,I.fillRect(0,0,1,1);var t=I.getImageData(0,0,1,1).data;return{red:t[0],green:t[1],blue:t[2],alpha:parseFloat((t[3]/255).toFixed(2))}}catch(e){}var n=function(e,t){void 0===t&&(t=!0);var n=globalThis.document.createElement(e);return"width"in n&&(n.width="0"),"height"in n&&(n.height="0"),"border"in n&&(n.border="0"),"frameBorder"in n&&(n.frameBorder="0"),"scrolling"in n&&(n.scrolling="no"),"cellPadding"in n&&(n.cellPadding="0"),"cellSpacing"in n&&(n.cellSpacing="0"),"frame"in n&&(n.frame="void"),"rules"in n&&(n.rules="none"),"noWrap"in n&&(n.noWrap=!0),n.tabIndex=-1,n.setAttribute("role","presentation"),t?(n.style.width="1px",n.style.height="1px"):(n.setAttribute("aria-hidden","true"),n.style.width="0",n.style.height="0",n.style.zIndex="-9999",n.style.display="none",n.style.visibility="hidden",n.style.pointerEvents="none"),n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.padding="0",n.style.margin="0",n.style.border="none",n.style.outline="none",n.style.clip="rect(1px, 1px, 1px, 1px)",n.style.clipPath="inset(50%)",n.style.overflow="hidden",n.style.whiteSpace="nowrap",n}("div");n.style.color=e,globalThis.document.body.appendChild(n);try{var r=globalThis.getComputedStyle(n).color,o=r.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),i=r.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),a=o||i;if(null===a)throw new q('Unsupported color: "'+e+'".');var l=parseInt(a[1],10),s=parseInt(a[2],10),u=parseInt(a[3],10),c=1;if(void 0!==a[4]){var d=a[4];c="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(l)||isNaN(s)||isNaN(u)||isNaN(c))throw new q('Failed to parse color values from: "'+e+'".');return{red:l,green:s,blue:u,alpha:c}}finally{globalThis.document.body.removeChild(n)}}var K,Z={},$=null,X=null,V=null,Q=null,J={setThemeColor:function(e,t){void 0===t&&(t={duration:0,easingFunction:"linear",appearance:"default"});var n=t.duration,r=_(t.easingFunction),o=t.appearance;null!==$&&(globalThis.cancelAnimationFrame($),$=null,null!==X&&(X(se()),X=null));var i=se();void 0===i&&(i=void 0!==t.defaultColor?t.defaultColor:ne()===x.Dark?"#181818ff":"#dcdcdcff");var a=G(i),l=G(e);return new Promise((function(e){X=e;var t=null;$=globalThis.requestAnimationFrame((function i(s){null===t&&(t=s);var u,c=s-t;u=0===n?1:Math.min(c/n,1);var d=r(u),f={red:Math.round(a.red+(l.red-a.red)*d),green:Math.round(a.green+(l.green-a.green)*d),blue:Math.round(a.blue+(l.blue-a.blue)*d),alpha:+(a.alpha+(l.alpha-a.alpha)*d).toFixed(2)};(function(e){void 0===e&&(e="default");var t;t=!C||!M||L||F?"default":e;var n=Z[t];if(void 0!==n)return n;n=globalThis.document.createElement("meta"),L?n.setAttribute("name","msapplication-navbutton-color"):F?n.setAttribute("name","msapplication-TileColor"):n.setAttribute("name","theme-color");"default"!==e&&n.setAttribute("media","(prefers-color-scheme: "+t+")");return globalThis.document.head.prepend(n),Z[e]=n})(o).setAttribute("content",ee(f)),u<1?$=globalThis.requestAnimationFrame(i):($=null,null!==X&&(e(se()),$=null))}))}))},getThemeColor:se,removeThemeColor:function(e){void 0===e&&(e="default");var t=Z[e];void 0!==t&&t.remove();Z[e]=void 0},detectAppearance:function(){return l===r.SamsungInternet?te():Promise.resolve(ne())},onAppearanceChange:function(e,t){void 0===t&&(t=!1);var n={fn:e,capture:!1,once:!1};"boolean"==typeof t&&(t={capture:t});void 0!==t.capture&&(n.capture=t.capture);void 0!==t.once&&(n.once=t.once);void 0!==t.signal&&(n.signal=t.signal);var o=ae(n);-1===o?(N.push(n),1===N.length&&(l===r.SamsungInternet?(te().then((function(e){V=e})),Q=globalThis.setInterval((function(){te().then((function(e){e!==V&&(V=e,oe(e))}))}),2e3)):(i=n.capture,V=ne(),"function"==typeof E.addEventListener?E.addEventListener("change",re,i):"function"==typeof E.addListener&&E.addListener(re))),this.detectAppearance().then(oe)):N[o].once&&!n.once&&(N[o].once=!1);var i;void 0!==n.signal&&(n.signal.aborted?ie(n):n.signal.addEventListener("abort",(function e(){void 0!==n.signal&&n.signal.removeEventListener("abort",e),ie(n)})));return function(){ie(n)}}};function Y(e){var t=e.toString(16);switch(t.length){case 0:return"00";case 1:return"0"+t;default:return t}}function ee(e){return"#"+Y(e.red)+Y(e.green)+Y(e.blue)+Y(Math.round(255*e.alpha))}function te(){return new Promise((function(e){var t=new Image;t.onload=function(){if(null===I)return e(x.Light);I.drawImage(t,0,0);var n=I.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?e(x.Dark):e(x.Light)},t.onerror=function(){e(x.Unknown)},t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function ne(){return M?E.matches?x.Dark:x.Light:x.Unknown}function re(e){var t;(t=e.matches?x.Dark:x.Light)!==V&&oe(V=t)}function oe(e){for(var t=0;t<N.length;t++){var n=N[t];n.fn(e),n.once&&ie(n)}}function ie(e){var t,n=ae(e);-1!==n&&N.splice(n,1),0===N.length&&(l===r.SamsungInternet?(V=null,null!==Q&&(clearInterval(Q),Q=null)):(t=e.capture,V=null,"function"==typeof E.removeEventListener?E.removeEventListener("change",re,t):"function"==typeof E.removeListener&&E.removeListener(re)))}function ae(e){for(var t=0;t<N.length;t++)if(N[t].fn===e.fn&&N[t].capture===e.capture)return t;return-1}function le(){var e;Z={},e=L?'meta[name="msapplication-navbutton-color"]':F?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var t=globalThis.document.querySelectorAll(e);if(C&&M&&!L&&!F)for(var n=0;n<t.length;n++){var r=t.item(n),o=r.getAttribute("media");if("(prefers-color-scheme: dark)"===o&&void 0===Z.dark?Z.dark=r:"(prefers-color-scheme: light)"===o&&void 0===Z.light?Z.light=r:null===o&&void 0===Z.default&&(Z.default=r),void 0!==Z.dark&&void 0!==Z.light&&void 0!==Z.default)return}else Z.default=t[0]}function se(){var e=function(){if(L)return globalThis.document.querySelector('meta[name="msapplication-navbutton-color"]');if(F)return globalThis.document.querySelector('meta[name="msapplication-TileColor"]');if(!C||!M)return globalThis.document.querySelector('meta[name="theme-color"]');var e,t=globalThis.document.querySelectorAll('meta[name="theme-color"]');e=ne()===x.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<t.length;n++){var r=t.item(n);if(r.hasAttribute("content")){var o=r.getAttribute("media");if(null===o||o===e)return r}}return null}();return null!==e?e.getAttribute("content"):l===r.Safari?T?ne()===x.Dark?"#ffffffff":"#000000ff":ee(G(globalThis.getComputedStyle(globalThis.document.body).backgroundColor)):l===r.Chrome?ne()===x.Dark?"#28292cff":"#ffffffff":void 0}K=new MutationObserver((function(e){for(var t=0;t<e.length;t++){for(var n=e[t],r=n.addedNodes,o=n.removedNodes,i=0;i<r.length;i++)if(r[i]instanceof HTMLMetaElement)return le();for(i=0;i<o.length;i++)if(o[i]instanceof HTMLMetaElement)return le()}})),"function"==typeof E.addEventListener?E.addEventListener("change",le):"function"==typeof E.addListener&&E.addListener(le),K.observe(globalThis.document.head,{childList:!0}),le();var ue={installed:!1,name:"Theme",module:J,Constants:{Appearances:x},Errors:{EasingError:j,UnsupportedEasingFunctionError:D,StepSyntaxError:W,LinearSyntaxError:U,CubicBezierSyntaxError:P,UnsupportedColorError:q}};module.exports=ue;