native-fn 1.2.2 → 1.3.1

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 (405) hide show
  1. package/README.md +191 -49
  2. package/dist/index.d.ts +148 -98
  3. package/dist/native.cjs +810 -288
  4. package/dist/native.min.cjs +1 -1
  5. package/dist/native.min.mjs +1 -1
  6. package/dist/native.mjs +810 -288
  7. package/dist/native.umd.js +810 -288
  8. package/dist/native.umd.min.js +1 -1
  9. package/dist/plugin/appearance/index.cjs +65 -64
  10. package/dist/plugin/appearance/index.d.ts +5 -5
  11. package/dist/plugin/appearance/index.mjs +66 -65
  12. package/dist/plugin/appearance/src/plugin/appearance/constants/index.d.ts +1 -1
  13. package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +3 -3
  14. package/dist/plugin/appearance/src/plugin/badge/types/badge.d.ts +3 -3
  15. package/dist/plugin/appearance/src/plugin/battery/types/battery.d.ts +3 -3
  16. package/dist/plugin/appearance/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  17. package/dist/plugin/appearance/src/plugin/dimension/constants/index.d.ts +10 -6
  18. package/dist/plugin/appearance/src/plugin/dimension/cores/index.d.ts +15 -0
  19. package/dist/plugin/appearance/src/plugin/dimension/types/dimensions.d.ts +52 -24
  20. package/dist/plugin/appearance/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  21. package/dist/plugin/appearance/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  22. package/dist/plugin/appearance/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  23. package/dist/plugin/appearance/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  24. package/dist/plugin/appearance/src/plugin/notification/types/notification.d.ts +4 -4
  25. package/dist/plugin/appearance/src/plugin/open/types/open.d.ts +12 -12
  26. package/dist/plugin/appearance/src/plugin/permission/constants/index.d.ts +3 -1
  27. package/dist/plugin/appearance/src/plugin/permission/types/permission.d.ts +7 -4
  28. package/dist/plugin/appearance/src/plugin/pip/types/pip.d.ts +7 -7
  29. package/dist/plugin/appearance/src/plugin/platform/constants/index.d.ts +1 -1
  30. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +13 -13
  31. package/dist/plugin/appearance/src/plugin/theme/types/theme.d.ts +2 -2
  32. package/dist/plugin/appearance/src/plugin/vibration/types/vibration.d.ts +3 -3
  33. package/dist/plugin/appearance/src/types/subscription-manager.d.ts +3 -3
  34. package/dist/plugin/appearance/src/utils/create-subscription-manager.d.ts +1 -1
  35. package/dist/plugin/appearance/src/utils/insert-sort.d.ts +1 -0
  36. package/dist/plugin/badge/index.d.ts +3 -3
  37. package/dist/plugin/badge/src/plugin/appearance/constants/index.d.ts +1 -1
  38. package/dist/plugin/badge/src/plugin/appearance/types/appearance.d.ts +3 -3
  39. package/dist/plugin/badge/src/plugin/badge/types/badge.d.ts +3 -3
  40. package/dist/plugin/badge/src/plugin/battery/types/battery.d.ts +3 -3
  41. package/dist/plugin/badge/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  42. package/dist/plugin/badge/src/plugin/dimension/constants/index.d.ts +10 -6
  43. package/dist/plugin/badge/src/plugin/dimension/cores/index.d.ts +15 -0
  44. package/dist/plugin/badge/src/plugin/dimension/types/dimensions.d.ts +52 -24
  45. package/dist/plugin/badge/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  46. package/dist/plugin/badge/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  47. package/dist/plugin/badge/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  48. package/dist/plugin/badge/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  49. package/dist/plugin/badge/src/plugin/notification/types/notification.d.ts +4 -4
  50. package/dist/plugin/badge/src/plugin/open/types/open.d.ts +12 -12
  51. package/dist/plugin/badge/src/plugin/permission/constants/index.d.ts +3 -1
  52. package/dist/plugin/badge/src/plugin/permission/types/permission.d.ts +7 -4
  53. package/dist/plugin/badge/src/plugin/pip/types/pip.d.ts +7 -7
  54. package/dist/plugin/badge/src/plugin/platform/constants/index.d.ts +1 -1
  55. package/dist/plugin/badge/src/plugin/platform/types/platform.d.ts +13 -13
  56. package/dist/plugin/badge/src/plugin/theme/types/theme.d.ts +2 -2
  57. package/dist/plugin/badge/src/plugin/vibration/types/vibration.d.ts +3 -3
  58. package/dist/plugin/badge/src/types/subscription-manager.d.ts +3 -3
  59. package/dist/plugin/badge/src/utils/create-subscription-manager.d.ts +1 -1
  60. package/dist/plugin/badge/src/utils/insert-sort.d.ts +1 -0
  61. package/dist/plugin/battery/index.cjs +4 -6
  62. package/dist/plugin/battery/index.d.ts +3 -3
  63. package/dist/plugin/battery/index.mjs +4 -6
  64. package/dist/plugin/battery/src/plugin/appearance/constants/index.d.ts +1 -1
  65. package/dist/plugin/battery/src/plugin/appearance/types/appearance.d.ts +3 -3
  66. package/dist/plugin/battery/src/plugin/badge/types/badge.d.ts +3 -3
  67. package/dist/plugin/battery/src/plugin/battery/types/battery.d.ts +3 -3
  68. package/dist/plugin/battery/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  69. package/dist/plugin/battery/src/plugin/dimension/constants/index.d.ts +10 -6
  70. package/dist/plugin/battery/src/plugin/dimension/cores/index.d.ts +15 -0
  71. package/dist/plugin/battery/src/plugin/dimension/types/dimensions.d.ts +52 -24
  72. package/dist/plugin/battery/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  73. package/dist/plugin/battery/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  74. package/dist/plugin/battery/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  75. package/dist/plugin/battery/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  76. package/dist/plugin/battery/src/plugin/notification/types/notification.d.ts +4 -4
  77. package/dist/plugin/battery/src/plugin/open/types/open.d.ts +12 -12
  78. package/dist/plugin/battery/src/plugin/permission/constants/index.d.ts +3 -1
  79. package/dist/plugin/battery/src/plugin/permission/types/permission.d.ts +7 -4
  80. package/dist/plugin/battery/src/plugin/pip/types/pip.d.ts +7 -7
  81. package/dist/plugin/battery/src/plugin/platform/constants/index.d.ts +1 -1
  82. package/dist/plugin/battery/src/plugin/platform/types/platform.d.ts +13 -13
  83. package/dist/plugin/battery/src/plugin/theme/types/theme.d.ts +2 -2
  84. package/dist/plugin/battery/src/plugin/vibration/types/vibration.d.ts +3 -3
  85. package/dist/plugin/battery/src/types/subscription-manager.d.ts +3 -3
  86. package/dist/plugin/battery/src/utils/create-subscription-manager.d.ts +1 -1
  87. package/dist/plugin/battery/src/utils/insert-sort.d.ts +1 -0
  88. package/dist/plugin/clipboard/index.d.ts +2 -2
  89. package/dist/plugin/clipboard/src/plugin/appearance/constants/index.d.ts +1 -1
  90. package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +3 -3
  91. package/dist/plugin/clipboard/src/plugin/badge/types/badge.d.ts +3 -3
  92. package/dist/plugin/clipboard/src/plugin/battery/types/battery.d.ts +3 -3
  93. package/dist/plugin/clipboard/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  94. package/dist/plugin/clipboard/src/plugin/dimension/constants/index.d.ts +10 -6
  95. package/dist/plugin/clipboard/src/plugin/dimension/cores/index.d.ts +15 -0
  96. package/dist/plugin/clipboard/src/plugin/dimension/types/dimensions.d.ts +52 -24
  97. package/dist/plugin/clipboard/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  98. package/dist/plugin/clipboard/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  99. package/dist/plugin/clipboard/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  100. package/dist/plugin/clipboard/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  101. package/dist/plugin/clipboard/src/plugin/notification/types/notification.d.ts +4 -4
  102. package/dist/plugin/clipboard/src/plugin/open/types/open.d.ts +12 -12
  103. package/dist/plugin/clipboard/src/plugin/permission/constants/index.d.ts +3 -1
  104. package/dist/plugin/clipboard/src/plugin/permission/types/permission.d.ts +7 -4
  105. package/dist/plugin/clipboard/src/plugin/pip/types/pip.d.ts +7 -7
  106. package/dist/plugin/clipboard/src/plugin/platform/constants/index.d.ts +1 -1
  107. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +13 -13
  108. package/dist/plugin/clipboard/src/plugin/theme/types/theme.d.ts +2 -2
  109. package/dist/plugin/clipboard/src/plugin/vibration/types/vibration.d.ts +3 -3
  110. package/dist/plugin/clipboard/src/types/subscription-manager.d.ts +3 -3
  111. package/dist/plugin/clipboard/src/utils/create-subscription-manager.d.ts +1 -1
  112. package/dist/plugin/clipboard/src/utils/insert-sort.d.ts +1 -0
  113. package/dist/plugin/dimension/index.cjs +711 -122
  114. package/dist/plugin/dimension/index.d.ts +81 -31
  115. package/dist/plugin/dimension/index.mjs +712 -122
  116. package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +1 -1
  117. package/dist/plugin/dimension/src/plugin/appearance/types/appearance.d.ts +3 -3
  118. package/dist/plugin/dimension/src/plugin/badge/types/badge.d.ts +3 -3
  119. package/dist/plugin/dimension/src/plugin/battery/types/battery.d.ts +3 -3
  120. package/dist/plugin/dimension/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  121. package/dist/plugin/dimension/src/plugin/dimension/constants/index.d.ts +10 -6
  122. package/dist/plugin/dimension/src/plugin/dimension/cores/index.d.ts +15 -0
  123. package/dist/plugin/dimension/src/plugin/dimension/types/dimensions.d.ts +52 -24
  124. package/dist/plugin/dimension/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  125. package/dist/plugin/dimension/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  126. package/dist/plugin/dimension/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  127. package/dist/plugin/dimension/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  128. package/dist/plugin/dimension/src/plugin/notification/types/notification.d.ts +4 -4
  129. package/dist/plugin/dimension/src/plugin/open/types/open.d.ts +12 -12
  130. package/dist/plugin/dimension/src/plugin/permission/constants/index.d.ts +3 -1
  131. package/dist/plugin/dimension/src/plugin/permission/types/permission.d.ts +7 -4
  132. package/dist/plugin/dimension/src/plugin/pip/types/pip.d.ts +7 -7
  133. package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +1 -1
  134. package/dist/plugin/dimension/src/plugin/platform/types/platform.d.ts +13 -13
  135. package/dist/plugin/dimension/src/plugin/theme/types/theme.d.ts +2 -2
  136. package/dist/plugin/dimension/src/plugin/vibration/types/vibration.d.ts +3 -3
  137. package/dist/plugin/dimension/src/types/subscription-manager.d.ts +3 -3
  138. package/dist/plugin/dimension/src/utils/create-subscription-manager.d.ts +1 -1
  139. package/dist/plugin/dimension/src/utils/insert-sort.d.ts +1 -0
  140. package/dist/plugin/fullscreen/index.cjs +96 -91
  141. package/dist/plugin/fullscreen/index.d.ts +7 -7
  142. package/dist/plugin/fullscreen/index.mjs +96 -91
  143. package/dist/plugin/fullscreen/src/plugin/appearance/constants/index.d.ts +1 -1
  144. package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +3 -3
  145. package/dist/plugin/fullscreen/src/plugin/badge/types/badge.d.ts +3 -3
  146. package/dist/plugin/fullscreen/src/plugin/battery/types/battery.d.ts +3 -3
  147. package/dist/plugin/fullscreen/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  148. package/dist/plugin/fullscreen/src/plugin/dimension/constants/index.d.ts +10 -6
  149. package/dist/plugin/fullscreen/src/plugin/dimension/cores/index.d.ts +15 -0
  150. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimensions.d.ts +52 -24
  151. package/dist/plugin/fullscreen/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  152. package/dist/plugin/fullscreen/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  153. package/dist/plugin/fullscreen/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  154. package/dist/plugin/fullscreen/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  155. package/dist/plugin/fullscreen/src/plugin/notification/types/notification.d.ts +4 -4
  156. package/dist/plugin/fullscreen/src/plugin/open/types/open.d.ts +12 -12
  157. package/dist/plugin/fullscreen/src/plugin/permission/constants/index.d.ts +3 -1
  158. package/dist/plugin/fullscreen/src/plugin/permission/types/permission.d.ts +7 -4
  159. package/dist/plugin/fullscreen/src/plugin/pip/types/pip.d.ts +7 -7
  160. package/dist/plugin/fullscreen/src/plugin/platform/constants/index.d.ts +1 -1
  161. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +13 -13
  162. package/dist/plugin/fullscreen/src/plugin/theme/types/theme.d.ts +2 -2
  163. package/dist/plugin/fullscreen/src/plugin/vibration/types/vibration.d.ts +3 -3
  164. package/dist/plugin/fullscreen/src/types/subscription-manager.d.ts +3 -3
  165. package/dist/plugin/fullscreen/src/utils/create-subscription-manager.d.ts +1 -1
  166. package/dist/plugin/fullscreen/src/utils/insert-sort.d.ts +1 -0
  167. package/dist/plugin/geolocation/index.cjs +249 -182
  168. package/dist/plugin/geolocation/index.d.ts +4 -4
  169. package/dist/plugin/geolocation/index.mjs +249 -182
  170. package/dist/plugin/geolocation/src/plugin/appearance/constants/index.d.ts +1 -1
  171. package/dist/plugin/geolocation/src/plugin/appearance/types/appearance.d.ts +3 -3
  172. package/dist/plugin/geolocation/src/plugin/badge/types/badge.d.ts +3 -3
  173. package/dist/plugin/geolocation/src/plugin/battery/types/battery.d.ts +3 -3
  174. package/dist/plugin/geolocation/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  175. package/dist/plugin/geolocation/src/plugin/dimension/constants/index.d.ts +10 -6
  176. package/dist/plugin/geolocation/src/plugin/dimension/cores/index.d.ts +15 -0
  177. package/dist/plugin/geolocation/src/plugin/dimension/types/dimensions.d.ts +52 -24
  178. package/dist/plugin/geolocation/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  179. package/dist/plugin/geolocation/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  180. package/dist/plugin/geolocation/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  181. package/dist/plugin/geolocation/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  182. package/dist/plugin/geolocation/src/plugin/notification/types/notification.d.ts +4 -4
  183. package/dist/plugin/geolocation/src/plugin/open/types/open.d.ts +12 -12
  184. package/dist/plugin/geolocation/src/plugin/permission/constants/index.d.ts +3 -1
  185. package/dist/plugin/geolocation/src/plugin/permission/types/permission.d.ts +7 -4
  186. package/dist/plugin/geolocation/src/plugin/pip/types/pip.d.ts +7 -7
  187. package/dist/plugin/geolocation/src/plugin/platform/constants/index.d.ts +1 -1
  188. package/dist/plugin/geolocation/src/plugin/platform/types/platform.d.ts +13 -13
  189. package/dist/plugin/geolocation/src/plugin/theme/types/theme.d.ts +2 -2
  190. package/dist/plugin/geolocation/src/plugin/vibration/types/vibration.d.ts +3 -3
  191. package/dist/plugin/geolocation/src/types/subscription-manager.d.ts +3 -3
  192. package/dist/plugin/geolocation/src/utils/create-subscription-manager.d.ts +1 -1
  193. package/dist/plugin/geolocation/src/utils/insert-sort.d.ts +1 -0
  194. package/dist/plugin/notification/index.cjs +288 -13
  195. package/dist/plugin/notification/index.d.ts +4 -4
  196. package/dist/plugin/notification/index.mjs +288 -13
  197. package/dist/plugin/notification/src/plugin/appearance/constants/index.d.ts +1 -1
  198. package/dist/plugin/notification/src/plugin/appearance/types/appearance.d.ts +3 -3
  199. package/dist/plugin/notification/src/plugin/badge/types/badge.d.ts +3 -3
  200. package/dist/plugin/notification/src/plugin/battery/types/battery.d.ts +3 -3
  201. package/dist/plugin/notification/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  202. package/dist/plugin/notification/src/plugin/dimension/constants/index.d.ts +10 -6
  203. package/dist/plugin/notification/src/plugin/dimension/cores/index.d.ts +15 -0
  204. package/dist/plugin/notification/src/plugin/dimension/types/dimensions.d.ts +52 -24
  205. package/dist/plugin/notification/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  206. package/dist/plugin/notification/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  207. package/dist/plugin/notification/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  208. package/dist/plugin/notification/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  209. package/dist/plugin/notification/src/plugin/notification/types/notification.d.ts +4 -4
  210. package/dist/plugin/notification/src/plugin/open/types/open.d.ts +12 -12
  211. package/dist/plugin/notification/src/plugin/permission/constants/index.d.ts +3 -1
  212. package/dist/plugin/notification/src/plugin/permission/types/permission.d.ts +7 -4
  213. package/dist/plugin/notification/src/plugin/pip/types/pip.d.ts +7 -7
  214. package/dist/plugin/notification/src/plugin/platform/constants/index.d.ts +1 -1
  215. package/dist/plugin/notification/src/plugin/platform/types/platform.d.ts +13 -13
  216. package/dist/plugin/notification/src/plugin/theme/types/theme.d.ts +2 -2
  217. package/dist/plugin/notification/src/plugin/vibration/types/vibration.d.ts +3 -3
  218. package/dist/plugin/notification/src/types/subscription-manager.d.ts +3 -3
  219. package/dist/plugin/notification/src/utils/create-subscription-manager.d.ts +1 -1
  220. package/dist/plugin/notification/src/utils/insert-sort.d.ts +1 -0
  221. package/dist/plugin/open/index.cjs +64 -55
  222. package/dist/plugin/open/index.d.ts +28 -12
  223. package/dist/plugin/open/index.mjs +64 -55
  224. package/dist/plugin/open/src/plugin/appearance/constants/index.d.ts +1 -1
  225. package/dist/plugin/open/src/plugin/appearance/types/appearance.d.ts +3 -3
  226. package/dist/plugin/open/src/plugin/badge/types/badge.d.ts +3 -3
  227. package/dist/plugin/open/src/plugin/battery/types/battery.d.ts +3 -3
  228. package/dist/plugin/open/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  229. package/dist/plugin/open/src/plugin/dimension/constants/index.d.ts +10 -6
  230. package/dist/plugin/open/src/plugin/dimension/cores/index.d.ts +15 -0
  231. package/dist/plugin/open/src/plugin/dimension/types/dimensions.d.ts +52 -24
  232. package/dist/plugin/open/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  233. package/dist/plugin/open/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  234. package/dist/plugin/open/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  235. package/dist/plugin/open/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  236. package/dist/plugin/open/src/plugin/notification/types/notification.d.ts +4 -4
  237. package/dist/plugin/open/src/plugin/open/types/open.d.ts +12 -12
  238. package/dist/plugin/open/src/plugin/permission/constants/index.d.ts +3 -1
  239. package/dist/plugin/open/src/plugin/permission/types/permission.d.ts +7 -4
  240. package/dist/plugin/open/src/plugin/pip/types/pip.d.ts +7 -7
  241. package/dist/plugin/open/src/plugin/platform/constants/index.d.ts +1 -1
  242. package/dist/plugin/open/src/plugin/platform/types/platform.d.ts +13 -13
  243. package/dist/plugin/open/src/plugin/theme/types/theme.d.ts +2 -2
  244. package/dist/plugin/open/src/plugin/vibration/types/vibration.d.ts +3 -3
  245. package/dist/plugin/open/src/types/subscription-manager.d.ts +3 -3
  246. package/dist/plugin/open/src/utils/create-subscription-manager.d.ts +1 -1
  247. package/dist/plugin/open/src/utils/insert-sort.d.ts +1 -0
  248. package/dist/plugin/permission/index.cjs +372 -13
  249. package/dist/plugin/permission/index.d.ts +11 -5
  250. package/dist/plugin/permission/index.mjs +372 -13
  251. package/dist/plugin/permission/src/plugin/appearance/constants/index.d.ts +1 -1
  252. package/dist/plugin/permission/src/plugin/appearance/types/appearance.d.ts +3 -3
  253. package/dist/plugin/permission/src/plugin/badge/types/badge.d.ts +3 -3
  254. package/dist/plugin/permission/src/plugin/battery/types/battery.d.ts +3 -3
  255. package/dist/plugin/permission/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  256. package/dist/plugin/permission/src/plugin/dimension/constants/index.d.ts +10 -6
  257. package/dist/plugin/permission/src/plugin/dimension/cores/index.d.ts +15 -0
  258. package/dist/plugin/permission/src/plugin/dimension/types/dimensions.d.ts +52 -24
  259. package/dist/plugin/permission/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  260. package/dist/plugin/permission/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  261. package/dist/plugin/permission/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  262. package/dist/plugin/permission/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  263. package/dist/plugin/permission/src/plugin/notification/types/notification.d.ts +4 -4
  264. package/dist/plugin/permission/src/plugin/open/types/open.d.ts +12 -12
  265. package/dist/plugin/permission/src/plugin/permission/constants/index.d.ts +3 -1
  266. package/dist/plugin/permission/src/plugin/permission/types/permission.d.ts +7 -4
  267. package/dist/plugin/permission/src/plugin/pip/types/pip.d.ts +7 -7
  268. package/dist/plugin/permission/src/plugin/platform/constants/index.d.ts +1 -1
  269. package/dist/plugin/permission/src/plugin/platform/types/platform.d.ts +13 -13
  270. package/dist/plugin/permission/src/plugin/theme/types/theme.d.ts +2 -2
  271. package/dist/plugin/permission/src/plugin/vibration/types/vibration.d.ts +3 -3
  272. package/dist/plugin/permission/src/types/subscription-manager.d.ts +3 -3
  273. package/dist/plugin/permission/src/utils/create-subscription-manager.d.ts +1 -1
  274. package/dist/plugin/permission/src/utils/insert-sort.d.ts +1 -0
  275. package/dist/plugin/pip/index.cjs +58 -57
  276. package/dist/plugin/pip/index.d.ts +7 -7
  277. package/dist/plugin/pip/index.mjs +58 -57
  278. package/dist/plugin/pip/src/plugin/appearance/constants/index.d.ts +1 -1
  279. package/dist/plugin/pip/src/plugin/appearance/types/appearance.d.ts +3 -3
  280. package/dist/plugin/pip/src/plugin/badge/types/badge.d.ts +3 -3
  281. package/dist/plugin/pip/src/plugin/battery/types/battery.d.ts +3 -3
  282. package/dist/plugin/pip/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  283. package/dist/plugin/pip/src/plugin/dimension/constants/index.d.ts +10 -6
  284. package/dist/plugin/pip/src/plugin/dimension/cores/index.d.ts +15 -0
  285. package/dist/plugin/pip/src/plugin/dimension/types/dimensions.d.ts +52 -24
  286. package/dist/plugin/pip/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  287. package/dist/plugin/pip/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  288. package/dist/plugin/pip/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  289. package/dist/plugin/pip/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  290. package/dist/plugin/pip/src/plugin/notification/types/notification.d.ts +4 -4
  291. package/dist/plugin/pip/src/plugin/open/types/open.d.ts +12 -12
  292. package/dist/plugin/pip/src/plugin/permission/constants/index.d.ts +3 -1
  293. package/dist/plugin/pip/src/plugin/permission/types/permission.d.ts +7 -4
  294. package/dist/plugin/pip/src/plugin/pip/types/pip.d.ts +7 -7
  295. package/dist/plugin/pip/src/plugin/platform/constants/index.d.ts +1 -1
  296. package/dist/plugin/pip/src/plugin/platform/types/platform.d.ts +13 -13
  297. package/dist/plugin/pip/src/plugin/theme/types/theme.d.ts +2 -2
  298. package/dist/plugin/pip/src/plugin/vibration/types/vibration.d.ts +3 -3
  299. package/dist/plugin/pip/src/types/subscription-manager.d.ts +3 -3
  300. package/dist/plugin/pip/src/utils/create-subscription-manager.d.ts +1 -1
  301. package/dist/plugin/pip/src/utils/insert-sort.d.ts +1 -0
  302. package/dist/plugin/platform/index.cjs +98 -92
  303. package/dist/plugin/platform/index.d.ts +30 -14
  304. package/dist/plugin/platform/index.mjs +92 -85
  305. package/dist/plugin/platform/src/plugin/appearance/constants/index.d.ts +1 -1
  306. package/dist/plugin/platform/src/plugin/appearance/types/appearance.d.ts +3 -3
  307. package/dist/plugin/platform/src/plugin/badge/types/badge.d.ts +3 -3
  308. package/dist/plugin/platform/src/plugin/battery/types/battery.d.ts +3 -3
  309. package/dist/plugin/platform/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  310. package/dist/plugin/platform/src/plugin/dimension/constants/index.d.ts +10 -6
  311. package/dist/plugin/platform/src/plugin/dimension/cores/index.d.ts +15 -0
  312. package/dist/plugin/platform/src/plugin/dimension/types/dimensions.d.ts +52 -24
  313. package/dist/plugin/platform/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  314. package/dist/plugin/platform/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  315. package/dist/plugin/platform/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  316. package/dist/plugin/platform/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  317. package/dist/plugin/platform/src/plugin/notification/types/notification.d.ts +4 -4
  318. package/dist/plugin/platform/src/plugin/open/types/open.d.ts +12 -12
  319. package/dist/plugin/platform/src/plugin/permission/constants/index.d.ts +3 -1
  320. package/dist/plugin/platform/src/plugin/permission/types/permission.d.ts +7 -4
  321. package/dist/plugin/platform/src/plugin/pip/types/pip.d.ts +7 -7
  322. package/dist/plugin/platform/src/plugin/platform/constants/index.d.ts +1 -1
  323. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +13 -13
  324. package/dist/plugin/platform/src/plugin/theme/types/theme.d.ts +2 -2
  325. package/dist/plugin/platform/src/plugin/vibration/types/vibration.d.ts +3 -3
  326. package/dist/plugin/platform/src/types/subscription-manager.d.ts +3 -3
  327. package/dist/plugin/platform/src/utils/create-subscription-manager.d.ts +1 -1
  328. package/dist/plugin/platform/src/utils/insert-sort.d.ts +1 -0
  329. package/dist/plugin/theme/index.cjs +63 -54
  330. package/dist/plugin/theme/index.d.ts +2 -2
  331. package/dist/plugin/theme/index.mjs +63 -54
  332. package/dist/plugin/theme/src/plugin/appearance/constants/index.d.ts +1 -1
  333. package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +3 -3
  334. package/dist/plugin/theme/src/plugin/badge/types/badge.d.ts +3 -3
  335. package/dist/plugin/theme/src/plugin/battery/types/battery.d.ts +3 -3
  336. package/dist/plugin/theme/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  337. package/dist/plugin/theme/src/plugin/dimension/constants/index.d.ts +10 -6
  338. package/dist/plugin/theme/src/plugin/dimension/cores/index.d.ts +15 -0
  339. package/dist/plugin/theme/src/plugin/dimension/types/dimensions.d.ts +52 -24
  340. package/dist/plugin/theme/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  341. package/dist/plugin/theme/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  342. package/dist/plugin/theme/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  343. package/dist/plugin/theme/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  344. package/dist/plugin/theme/src/plugin/notification/types/notification.d.ts +4 -4
  345. package/dist/plugin/theme/src/plugin/open/types/open.d.ts +12 -12
  346. package/dist/plugin/theme/src/plugin/permission/constants/index.d.ts +3 -1
  347. package/dist/plugin/theme/src/plugin/permission/types/permission.d.ts +7 -4
  348. package/dist/plugin/theme/src/plugin/pip/types/pip.d.ts +7 -7
  349. package/dist/plugin/theme/src/plugin/platform/constants/index.d.ts +1 -1
  350. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +13 -13
  351. package/dist/plugin/theme/src/plugin/theme/types/theme.d.ts +2 -2
  352. package/dist/plugin/theme/src/plugin/vibration/types/vibration.d.ts +3 -3
  353. package/dist/plugin/theme/src/types/subscription-manager.d.ts +3 -3
  354. package/dist/plugin/theme/src/utils/create-subscription-manager.d.ts +1 -1
  355. package/dist/plugin/theme/src/utils/insert-sort.d.ts +1 -0
  356. package/dist/plugin/vibration/index.d.ts +3 -3
  357. package/dist/plugin/vibration/src/plugin/appearance/constants/index.d.ts +1 -1
  358. package/dist/plugin/vibration/src/plugin/appearance/types/appearance.d.ts +3 -3
  359. package/dist/plugin/vibration/src/plugin/badge/types/badge.d.ts +3 -3
  360. package/dist/plugin/vibration/src/plugin/battery/types/battery.d.ts +3 -3
  361. package/dist/plugin/vibration/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  362. package/dist/plugin/vibration/src/plugin/dimension/constants/index.d.ts +10 -6
  363. package/dist/plugin/vibration/src/plugin/dimension/cores/index.d.ts +15 -0
  364. package/dist/plugin/vibration/src/plugin/dimension/types/dimensions.d.ts +52 -24
  365. package/dist/plugin/vibration/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  366. package/dist/plugin/vibration/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  367. package/dist/plugin/vibration/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  368. package/dist/plugin/vibration/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  369. package/dist/plugin/vibration/src/plugin/notification/types/notification.d.ts +4 -4
  370. package/dist/plugin/vibration/src/plugin/open/types/open.d.ts +12 -12
  371. package/dist/plugin/vibration/src/plugin/permission/constants/index.d.ts +3 -1
  372. package/dist/plugin/vibration/src/plugin/permission/types/permission.d.ts +7 -4
  373. package/dist/plugin/vibration/src/plugin/pip/types/pip.d.ts +7 -7
  374. package/dist/plugin/vibration/src/plugin/platform/constants/index.d.ts +1 -1
  375. package/dist/plugin/vibration/src/plugin/platform/types/platform.d.ts +13 -13
  376. package/dist/plugin/vibration/src/plugin/theme/types/theme.d.ts +2 -2
  377. package/dist/plugin/vibration/src/plugin/vibration/types/vibration.d.ts +3 -3
  378. package/dist/plugin/vibration/src/types/subscription-manager.d.ts +3 -3
  379. package/dist/plugin/vibration/src/utils/create-subscription-manager.d.ts +1 -1
  380. package/dist/plugin/vibration/src/utils/insert-sort.d.ts +1 -0
  381. package/dist/src/plugin/appearance/constants/index.d.ts +1 -1
  382. package/dist/src/plugin/appearance/types/appearance.d.ts +3 -3
  383. package/dist/src/plugin/badge/types/badge.d.ts +3 -3
  384. package/dist/src/plugin/battery/types/battery.d.ts +3 -3
  385. package/dist/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  386. package/dist/src/plugin/dimension/constants/index.d.ts +10 -6
  387. package/dist/src/plugin/dimension/cores/index.d.ts +15 -0
  388. package/dist/src/plugin/dimension/types/dimensions.d.ts +52 -24
  389. package/dist/src/plugin/dimension/utils/create-env-observer.d.ts +16 -7
  390. package/dist/src/plugin/dimension/utils/create-environment-observer.d.ts +33 -0
  391. package/dist/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  392. package/dist/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  393. package/dist/src/plugin/notification/types/notification.d.ts +4 -4
  394. package/dist/src/plugin/open/types/open.d.ts +12 -12
  395. package/dist/src/plugin/permission/constants/index.d.ts +3 -1
  396. package/dist/src/plugin/permission/types/permission.d.ts +7 -4
  397. package/dist/src/plugin/pip/types/pip.d.ts +7 -7
  398. package/dist/src/plugin/platform/constants/index.d.ts +1 -1
  399. package/dist/src/plugin/platform/types/platform.d.ts +13 -13
  400. package/dist/src/plugin/theme/types/theme.d.ts +2 -2
  401. package/dist/src/plugin/vibration/types/vibration.d.ts +3 -3
  402. package/dist/src/types/subscription-manager.d.ts +3 -3
  403. package/dist/src/utils/create-subscription-manager.d.ts +1 -1
  404. package/dist/src/utils/insert-sort.d.ts +1 -0
  405. package/package.json +1 -1
@@ -82,8 +82,8 @@ export interface DirectoryOptions {
82
82
  startIn?: ExplorerStartIn;
83
83
  }
84
84
  export interface FileWithPath {
85
- file: File;
86
- relativePath: string;
85
+ readonly file: File;
86
+ readonly relativePath: string;
87
87
  }
88
88
  export interface CameraOptions {
89
89
  type?: CameraType;
@@ -175,7 +175,7 @@ export declare interface OpenInstance {
175
175
  contact(options?: ContactOptions): Promise<Contact[]>;
176
176
  share(options: ShareData): Promise<void>;
177
177
  calendar(options: CalendarOptions): void;
178
- supported: {
178
+ readonly supported: {
179
179
  get intent(): boolean;
180
180
  get universal(): boolean;
181
181
  get setting(): boolean;
@@ -185,15 +185,15 @@ export declare interface OpenInstance {
185
185
  get share(): boolean;
186
186
  get calendar(): boolean;
187
187
  };
188
- Constants: {
189
- AppOpenState: typeof AppOpenState;
190
- SettingType: typeof SettingType;
191
- CameraType: typeof CameraType;
192
- CaptureType: typeof CaptureType;
188
+ readonly Constants: {
189
+ readonly AppOpenState: typeof AppOpenState;
190
+ readonly SettingType: typeof SettingType;
191
+ readonly CameraType: typeof CameraType;
192
+ readonly CaptureType: typeof CaptureType;
193
193
  };
194
- Errors: {
195
- URLOpenError: typeof URLOpenError;
196
- NotSupportedError: typeof NotSupportedError;
197
- UserCancelledError: typeof UserCancelledError;
194
+ readonly Errors: {
195
+ readonly URLOpenError: typeof URLOpenError;
196
+ readonly NotSupportedError: typeof NotSupportedError;
197
+ readonly UserCancelledError: typeof UserCancelledError;
198
198
  };
199
199
  }
@@ -12,7 +12,9 @@ export declare enum PermissionType {
12
12
  Camera = "camera",
13
13
  ClipboardRead = "clipboard-read",
14
14
  Microphone = "microphone",
15
- MIDI = "midi"
15
+ MIDI = "midi",
16
+ DeviceOrientation = "device-orientation",
17
+ DeviceMotion = "device-motion"
16
18
  }
17
19
  export declare enum PermissionState {
18
20
  Grant = "grant",
@@ -1,11 +1,14 @@
1
1
  import { PermissionState, PermissionType } from "../constants";
2
+ import { NotSupportedError } from "../../../errors/not-supported-error";
2
3
  export declare interface PermissionInstance {
3
4
  get supported(): boolean;
4
5
  request(type: PermissionType): Promise<PermissionState>;
5
6
  check(type: PermissionType): Promise<PermissionState>;
6
- Constants: {
7
- PermissionType: typeof PermissionType;
8
- PermissionState: typeof PermissionState;
7
+ readonly Constants: {
8
+ readonly PermissionType: typeof PermissionType;
9
+ readonly PermissionState: typeof PermissionState;
10
+ };
11
+ readonly Errors: {
12
+ readonly NotSupportedError: typeof NotSupportedError;
9
13
  };
10
- Errors: {};
11
14
  }
@@ -11,14 +11,14 @@ export declare interface PipInstance {
11
11
  onChange(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
12
12
  onError(listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
13
13
  onError(target: HTMLVideoElement, listener: (payload: PipEventPayload) => void, options?: AddEventListenerOptions): () => void;
14
- Constants: {};
15
- Errors: {
16
- NotSupportedError: typeof NotSupportedError;
17
- InvalidStateError: typeof InvalidStateError;
14
+ readonly Constants: {};
15
+ readonly Errors: {
16
+ readonly NotSupportedError: typeof NotSupportedError;
17
+ readonly InvalidStateError: typeof InvalidStateError;
18
18
  };
19
19
  }
20
20
  export declare interface PipEventPayload {
21
- nativeEvent: Event;
22
- element: HTMLVideoElement;
23
- isActive: boolean;
21
+ readonly nativeEvent: Event;
22
+ readonly element: HTMLVideoElement;
23
+ readonly isActive: boolean;
24
24
  }
@@ -34,7 +34,7 @@ export declare enum Browsers {
34
34
  IE = "IE",
35
35
  SamsungInternet = "SamsungInternet"
36
36
  }
37
- export declare const USER_AGENT: string;
37
+ export declare let USER_AGENT: string;
38
38
  export declare const HIGH_ENTROPY_BRAND_NAME_MAP: Record<string, string>;
39
39
  export declare const RTL_LANGUAGES: string[];
40
40
  export declare const OS_RESOLVER_MAP: [RegExp, OS, VersionResolver?][];
@@ -14,24 +14,24 @@ export declare interface PlatformInstance {
14
14
  get isNode(): boolean;
15
15
  get isStandalone(): boolean;
16
16
  get isWebview(): boolean;
17
- Constants: {
18
- OS: typeof OS;
19
- Engines: typeof Engines;
20
- Browsers: typeof Browsers;
21
- Devices: typeof Devices;
17
+ readonly Constants: {
18
+ readonly OS: typeof OS;
19
+ readonly Engines: typeof Engines;
20
+ readonly Browsers: typeof Browsers;
21
+ readonly Devices: typeof Devices;
22
22
  };
23
- Errors: {};
23
+ readonly Errors: {};
24
24
  }
25
25
  export declare interface NameVersionPair<T> {
26
- name: T;
27
- version: string;
26
+ readonly name: T;
27
+ readonly version: string;
28
28
  }
29
29
  export declare interface Locale {
30
- language: string | null;
31
- languages: string[];
32
- timezone: string | null;
33
- offset: number;
34
- isRTL: boolean;
30
+ readonly language: string | null;
31
+ readonly languages: readonly string[];
32
+ readonly timezone: string | null;
33
+ readonly offset: number;
34
+ readonly isRTL: boolean;
35
35
  }
36
36
  export interface GPUAdapterInfo {
37
37
  readonly vendor?: string;
@@ -1,6 +1,6 @@
1
1
  export declare interface ThemeInstance {
2
2
  get value(): string | undefined;
3
3
  set value(color: string | undefined);
4
- Constants: {};
5
- Errors: {};
4
+ readonly Constants: {};
5
+ readonly Errors: {};
6
6
  }
@@ -3,8 +3,8 @@ export declare interface VibrationInstance {
3
3
  get supported(): boolean;
4
4
  run(pattern: number | number[]): boolean;
5
5
  stop(): boolean;
6
- Constants: {};
7
- Errors: {
8
- NotSupportedError: typeof NotSupportedError;
6
+ readonly Constants: {};
7
+ readonly Errors: {
8
+ readonly NotSupportedError: typeof NotSupportedError;
9
9
  };
10
10
  }
@@ -1,4 +1,4 @@
1
- export declare interface SubscriptionManager<T, U> {
2
- emit: (value: U) => void;
3
- subscribe: (listener: (value: U) => void, options?: AddEventListenerOptions) => () => void;
1
+ export declare interface SubscriptionManager<T> {
2
+ emit: (value: T) => void;
3
+ subscribe: (listener: (value: T) => void, options?: AddEventListenerOptions) => () => void;
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import { SubscriptionManager } from "../types/subscription-manager";
2
- export default function createSubscriptionManager<T, U>(attach: () => void, detach: () => void): SubscriptionManager<T, U>;
2
+ export default function createSubscriptionManager<T>(attach: () => void, detach: () => void): SubscriptionManager<T>;
@@ -0,0 +1 @@
1
+ export default function insertionSort(arr: number[]): void;
@@ -92,6 +92,8 @@ var PermissionType;
92
92
  PermissionType["ClipboardRead"] = "clipboard-read";
93
93
  PermissionType["Microphone"] = "microphone";
94
94
  PermissionType["MIDI"] = "midi";
95
+ PermissionType["DeviceOrientation"] = "device-orientation";
96
+ PermissionType["DeviceMotion"] = "device-motion";
95
97
  })(PermissionType || (PermissionType = {}));
96
98
  var PermissionState;
97
99
  (function (PermissionState) {
@@ -123,182 +125,6 @@ var GET_USER_MEDIA = (function () {
123
125
  }
124
126
  })();
125
127
 
126
- var Permission = {
127
- get supported() {
128
- return supported$1();
129
- },
130
- request: request$1,
131
- check: check,
132
- Constants: {
133
- PermissionType: PermissionType,
134
- PermissionState: PermissionState,
135
- },
136
- Errors: {},
137
- };
138
- function supported$1() {
139
- return typeof globalThis.navigator.permissions !== 'undefined';
140
- }
141
- function request$1(type) {
142
- var instance = this;
143
- return new Promise(function (resolve) {
144
- function resolveAfterCheck() {
145
- instance.check(type).then(resolve);
146
- }
147
- instance.check(type)
148
- .then(function (state) {
149
- if (state === PermissionState.Grant)
150
- return resolve(state);
151
- switch (type) {
152
- case PermissionType.Notification:
153
- if (typeof globalThis.Notification === 'undefined')
154
- return resolve(PermissionState.Unsupported);
155
- globalThis.Notification.requestPermission().then(function (value) {
156
- switch (value) {
157
- case 'default':
158
- return resolve(PermissionState.Prompt);
159
- case 'granted':
160
- return resolve(PermissionState.Grant);
161
- case 'denied':
162
- return resolve(PermissionState.Denied);
163
- default:
164
- resolveAfterCheck();
165
- }
166
- });
167
- break;
168
- case PermissionType.Geolocation:
169
- if (typeof globalThis.navigator.geolocation === 'undefined')
170
- return resolve(PermissionState.Unsupported);
171
- globalThis.navigator.geolocation.getCurrentPosition(resolveAfterCheck, resolveAfterCheck);
172
- break;
173
- case PermissionType.Microphone:
174
- case PermissionType.Camera:
175
- if (typeof GET_USER_MEDIA === 'undefined')
176
- return resolve(PermissionState.Unsupported);
177
- GET_USER_MEDIA({
178
- video: type === PermissionType.Camera,
179
- audio: type === PermissionType.Microphone,
180
- })
181
- .then(function (stream) {
182
- var tracks = stream.getTracks();
183
- for (var i = 0; i < tracks.length; i++)
184
- tracks[i].stop();
185
- resolveAfterCheck();
186
- })
187
- .catch(resolveAfterCheck);
188
- break;
189
- case PermissionType.ClipboardRead:
190
- if (typeof globalThis.navigator.clipboard === 'undefined' || typeof globalThis.navigator.clipboard.read === 'undefined')
191
- return resolve(PermissionState.Unsupported);
192
- globalThis.navigator.clipboard.read()
193
- .then(resolveAfterCheck)
194
- .catch(resolveAfterCheck);
195
- break;
196
- case PermissionType.MIDI:
197
- if (typeof globalThis.navigator.requestMIDIAccess === 'undefined')
198
- return resolve(PermissionState.Unsupported);
199
- globalThis.navigator.requestMIDIAccess()
200
- .then(resolveAfterCheck)
201
- .catch(resolveAfterCheck);
202
- break;
203
- default:
204
- return resolve(PermissionState.Unsupported);
205
- }
206
- });
207
- });
208
- }
209
- function check(type) {
210
- return new Promise(function (resolve) {
211
- if (typeof globalThis.navigator.permissions === 'undefined')
212
- return resolve(PermissionState.Unsupported);
213
- globalThis.navigator.permissions.query({ name: type })
214
- .then(function (status) {
215
- switch (status.state) {
216
- case 'prompt':
217
- return resolve(PermissionState.Prompt);
218
- case 'granted':
219
- return resolve(PermissionState.Grant);
220
- case 'denied':
221
- return resolve(PermissionState.Denied);
222
- default:
223
- return resolve(PermissionState.Unsupported);
224
- }
225
- });
226
- });
227
- }
228
-
229
- var PermissionNotGrantedError = createCustomError('PermissionNotGrantedError');
230
-
231
- function keys(object) {
232
- var keys = [];
233
- for (var key in object)
234
- if (object.hasOwnProperty(key))
235
- keys.push(key);
236
- return keys;
237
- }
238
-
239
- function request(url, options) {
240
- return new Promise(function (resolve) {
241
- var method = 'GET';
242
- var headers = {};
243
- var body = undefined;
244
- if (typeof globalThis.fetch !== 'undefined') {
245
- fetch(url, {
246
- method: method,
247
- headers: headers,
248
- body: body
249
- })
250
- .then(function (response) {
251
- if (!response.ok) {
252
- resolve(undefined);
253
- return Promise.resolve();
254
- }
255
- return response
256
- .json()
257
- .then(function (data) {
258
- resolve(data);
259
- })
260
- .catch(function () {
261
- resolve(undefined);
262
- });
263
- })
264
- .catch(function () {
265
- resolve(undefined);
266
- });
267
- return;
268
- }
269
- if (typeof XMLHttpRequest !== "undefined") {
270
- var xhr_1 = new XMLHttpRequest();
271
- xhr_1.open(method, url, true);
272
- var headerKeys = keys(headers);
273
- for (var i = 0; i < headerKeys.length; i++) {
274
- var headerKey = headerKeys[i];
275
- xhr_1.setRequestHeader(headerKey, headers[headerKey]);
276
- }
277
- xhr_1.onreadystatechange = function () {
278
- if (xhr_1.readyState !== 4)
279
- return;
280
- if (xhr_1.status >= 200 && xhr_1.status < 300) {
281
- try {
282
- resolve(JSON.parse(xhr_1.responseText));
283
- }
284
- catch (_) {
285
- resolve(undefined);
286
- }
287
- }
288
- else {
289
- resolve(undefined);
290
- }
291
- };
292
- xhr_1.onerror = function () {
293
- resolve(undefined);
294
- };
295
- xhr_1.send(body);
296
- return;
297
- }
298
- resolve(undefined);
299
- });
300
- }
301
-
302
128
  var IE_WRAPPER_STORE = [];
303
129
  var MEDIA_QUERY_LIST_WRAPPER_STORE = [];
304
130
  function isEventListenerCallback(callback) {
@@ -505,6 +331,249 @@ var EventListener = {
505
331
  },
506
332
  };
507
333
 
334
+ var Permission = {
335
+ get supported() {
336
+ return supported$1();
337
+ },
338
+ request: request$1,
339
+ check: check,
340
+ Constants: {
341
+ PermissionType: PermissionType,
342
+ PermissionState: PermissionState,
343
+ },
344
+ Errors: {
345
+ NotSupportedError: NotSupportedError,
346
+ },
347
+ };
348
+ function toPermissionState(permission) {
349
+ switch (permission) {
350
+ case 'granted':
351
+ return PermissionState.Grant;
352
+ case 'denied':
353
+ return PermissionState.Denied;
354
+ case 'prompt':
355
+ case 'default':
356
+ return PermissionState.Prompt;
357
+ default:
358
+ return PermissionState.Unsupported;
359
+ }
360
+ }
361
+ function toSafariSensorEventMap(type) {
362
+ switch (type) {
363
+ case PermissionType.DeviceOrientation:
364
+ return {
365
+ event: globalThis.DeviceOrientationEvent,
366
+ type: 'deviceorientation',
367
+ };
368
+ case PermissionType.DeviceMotion:
369
+ return {
370
+ event: globalThis.DeviceMotionEvent,
371
+ type: 'devicemotion',
372
+ };
373
+ default:
374
+ return undefined;
375
+ }
376
+ }
377
+ function supported$1() {
378
+ return typeof globalThis.navigator.permissions !== 'undefined';
379
+ }
380
+ function request$1(type) {
381
+ var instance = this;
382
+ return new Promise(function (resolve, reject) {
383
+ function resolveAfterCheck() {
384
+ instance.check(type).then(resolve);
385
+ }
386
+ instance.check(type)
387
+ .then(function (state) {
388
+ if (state === PermissionState.Grant)
389
+ return resolve(state);
390
+ switch (type) {
391
+ case PermissionType.Notification:
392
+ if (typeof globalThis.Notification === 'undefined')
393
+ return resolve(PermissionState.Unsupported);
394
+ globalThis.Notification.requestPermission().then(function (permission) {
395
+ resolve(toPermissionState(permission));
396
+ });
397
+ break;
398
+ case PermissionType.Geolocation:
399
+ if (typeof globalThis.navigator.geolocation === 'undefined')
400
+ return resolve(PermissionState.Unsupported);
401
+ globalThis.navigator.geolocation.getCurrentPosition(resolveAfterCheck, resolveAfterCheck);
402
+ break;
403
+ case PermissionType.Microphone:
404
+ case PermissionType.Camera:
405
+ if (typeof GET_USER_MEDIA === 'undefined')
406
+ return resolve(PermissionState.Unsupported);
407
+ GET_USER_MEDIA({
408
+ video: type === PermissionType.Camera,
409
+ audio: type === PermissionType.Microphone,
410
+ })
411
+ .then(function (stream) {
412
+ var tracks = stream.getTracks();
413
+ for (var i = 0; i < tracks.length; i++)
414
+ tracks[i].stop();
415
+ resolveAfterCheck();
416
+ })
417
+ .catch(resolveAfterCheck);
418
+ break;
419
+ case PermissionType.ClipboardRead:
420
+ if (typeof globalThis.navigator.clipboard === 'undefined' || typeof globalThis.navigator.clipboard.read === 'undefined')
421
+ return resolve(PermissionState.Unsupported);
422
+ globalThis.navigator.clipboard.read()
423
+ .then(resolveAfterCheck)
424
+ .catch(resolveAfterCheck);
425
+ break;
426
+ case PermissionType.MIDI:
427
+ if (typeof globalThis.navigator.requestMIDIAccess === 'undefined')
428
+ return resolve(PermissionState.Unsupported);
429
+ globalThis.navigator.requestMIDIAccess()
430
+ .then(resolveAfterCheck)
431
+ .catch(resolveAfterCheck);
432
+ break;
433
+ case PermissionType.DeviceOrientation:
434
+ case PermissionType.DeviceMotion:
435
+ var sensorEventMap = toSafariSensorEventMap(type);
436
+ if (typeof sensorEventMap === 'undefined' || typeof sensorEventMap.event === 'undefined')
437
+ return resolve(PermissionState.Unsupported);
438
+ if (typeof sensorEventMap.event.requestPermission !== 'function')
439
+ return resolve(PermissionState.Grant);
440
+ try {
441
+ sensorEventMap.event.requestPermission()
442
+ .then(function (permission) {
443
+ resolve(toPermissionState(permission));
444
+ });
445
+ }
446
+ catch (_) {
447
+ return reject(new NotSupportedError('\'DeviceOrientationEvent.requestPermission()\' must be called within a user gesture context.'));
448
+ }
449
+ break;
450
+ default:
451
+ return resolve(PermissionState.Unsupported);
452
+ }
453
+ });
454
+ });
455
+ }
456
+ function check(type) {
457
+ if (type === PermissionType.DeviceOrientation || type === PermissionType.DeviceMotion) {
458
+ return new Promise(function (resolve) {
459
+ var sensorEventMap = toSafariSensorEventMap(type);
460
+ if (typeof sensorEventMap === 'undefined' || typeof sensorEventMap.event === 'undefined')
461
+ return resolve(PermissionState.Unsupported);
462
+ if (typeof sensorEventMap.event.requestPermission !== 'function')
463
+ return resolve(PermissionState.Grant);
464
+ var granted = false;
465
+ EventListener.add(globalThis, {
466
+ type: sensorEventMap.type,
467
+ callback: function () {
468
+ granted = true;
469
+ },
470
+ options: { once: true }
471
+ });
472
+ setTimeout(function () {
473
+ if (granted)
474
+ return resolve(PermissionState.Grant);
475
+ sensorEventMap.event.requestPermission()
476
+ .then(function (permission) {
477
+ resolve(toPermissionState(permission));
478
+ })
479
+ .catch(function () {
480
+ resolve(PermissionState.Prompt);
481
+ });
482
+ }, 50);
483
+ });
484
+ }
485
+ return new Promise(function (resolve) {
486
+ if (typeof globalThis.navigator.permissions === 'undefined')
487
+ return resolve(PermissionState.Unsupported);
488
+ globalThis.navigator.permissions.query({ name: type })
489
+ .then(function (status) {
490
+ switch (status.state) {
491
+ case 'prompt':
492
+ return resolve(PermissionState.Prompt);
493
+ case 'granted':
494
+ return resolve(PermissionState.Grant);
495
+ case 'denied':
496
+ return resolve(PermissionState.Denied);
497
+ default:
498
+ return resolve(PermissionState.Unsupported);
499
+ }
500
+ });
501
+ });
502
+ }
503
+
504
+ var PermissionNotGrantedError = createCustomError('PermissionNotGrantedError');
505
+
506
+ function keys(object) {
507
+ var keys = [];
508
+ for (var key in object)
509
+ if (object.hasOwnProperty(key))
510
+ keys.push(key);
511
+ return keys;
512
+ }
513
+
514
+ function request(url, options) {
515
+ return new Promise(function (resolve) {
516
+ var method = 'GET';
517
+ var headers = {};
518
+ var body = undefined;
519
+ if (typeof globalThis.fetch !== 'undefined') {
520
+ fetch(url, {
521
+ method: method,
522
+ headers: headers,
523
+ body: body
524
+ })
525
+ .then(function (response) {
526
+ if (!response.ok) {
527
+ resolve(undefined);
528
+ return Promise.resolve();
529
+ }
530
+ return response
531
+ .json()
532
+ .then(function (data) {
533
+ resolve(data);
534
+ })
535
+ .catch(function () {
536
+ resolve(undefined);
537
+ });
538
+ })
539
+ .catch(function () {
540
+ resolve(undefined);
541
+ });
542
+ return;
543
+ }
544
+ if (typeof XMLHttpRequest !== "undefined") {
545
+ var xhr_1 = new XMLHttpRequest();
546
+ xhr_1.open(method, url, true);
547
+ var headerKeys = keys(headers);
548
+ for (var i = 0; i < headerKeys.length; i++) {
549
+ var headerKey = headerKeys[i];
550
+ xhr_1.setRequestHeader(headerKey, headers[headerKey]);
551
+ }
552
+ xhr_1.onreadystatechange = function () {
553
+ if (xhr_1.readyState !== 4)
554
+ return;
555
+ if (xhr_1.status >= 200 && xhr_1.status < 300) {
556
+ try {
557
+ resolve(JSON.parse(xhr_1.responseText));
558
+ }
559
+ catch (_) {
560
+ resolve(undefined);
561
+ }
562
+ }
563
+ else {
564
+ resolve(undefined);
565
+ }
566
+ };
567
+ xhr_1.onerror = function () {
568
+ resolve(undefined);
569
+ };
570
+ xhr_1.send(body);
571
+ return;
572
+ }
573
+ resolve(undefined);
574
+ });
575
+ }
576
+
508
577
  function createSubscriptionManager(attach, detach) {
509
578
  var entries = [];
510
579
  function removeEntry(entry) {
@@ -532,6 +601,8 @@ function createSubscriptionManager(attach, detach) {
532
601
  },
533
602
  subscribe: function (listener, options) {
534
603
  if (options === void 0) { options = {}; }
604
+ if (typeof options.signal !== 'undefined' && options.signal.aborted)
605
+ return function () { };
535
606
  var entry = { fn: listener, once: false };
536
607
  if (typeof options.once !== 'undefined')
537
608
  entry.once = options.once;
@@ -550,12 +621,8 @@ function createSubscriptionManager(attach, detach) {
550
621
  EventListener.remove(entry.signal, { type: 'abort', callback: cleanup });
551
622
  removeEntry(entry);
552
623
  };
553
- if (typeof entry.signal !== 'undefined') {
554
- if (entry.signal.aborted)
555
- removeEntry(entry);
556
- else
557
- EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
558
- }
624
+ if (typeof entry.signal !== 'undefined')
625
+ EventListener.add(entry.signal, { type: 'abort', callback: cleanup });
559
626
  return function unsubscribe() {
560
627
  removeEntry(entry);
561
628
  };
@@ -6,10 +6,10 @@ declare interface GeolocationInstance {
6
6
  get supported(): boolean;
7
7
  get value(): Promise<GeolocationCoordinates>;
8
8
  onChange(listener: (coordinates: GeolocationCoordinates) => void, options?: AddEventListenerOptions): () => void;
9
- Constants: {};
10
- Errors: {
11
- NotSupportedError: typeof NotSupportedError;
12
- PermissionNotGrantedError: typeof PermissionNotGrantedError;
9
+ readonly Constants: {};
10
+ readonly Errors: {
11
+ readonly NotSupportedError: typeof NotSupportedError;
12
+ readonly PermissionNotGrantedError: typeof PermissionNotGrantedError;
13
13
  };
14
14
  }
15
15