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
@@ -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;
@@ -10,6 +10,8 @@ exports.PermissionType = void 0;
10
10
  PermissionType["ClipboardRead"] = "clipboard-read";
11
11
  PermissionType["Microphone"] = "microphone";
12
12
  PermissionType["MIDI"] = "midi";
13
+ PermissionType["DeviceOrientation"] = "device-orientation";
14
+ PermissionType["DeviceMotion"] = "device-motion";
13
15
  })(exports.PermissionType || (exports.PermissionType = {}));
14
16
  exports.PermissionState = void 0;
15
17
  (function (PermissionState) {
@@ -41,6 +43,296 @@ var GET_USER_MEDIA = (function () {
41
43
  }
42
44
  })();
43
45
 
46
+ var IE_WRAPPER_STORE = [];
47
+ var MEDIA_QUERY_LIST_WRAPPER_STORE = [];
48
+ function isEventListenerCallback(callback) {
49
+ return (typeof callback === 'function' ||
50
+ (typeof callback === 'object' && callback !== null && typeof callback.handleEvent === 'function'));
51
+ }
52
+ function isMediaQueryListTarget(target) {
53
+ return typeof target.media === 'string' && typeof target.matches === 'boolean';
54
+ }
55
+ function findIEWrapper(target, type, callback) {
56
+ for (var i = 0; i < IE_WRAPPER_STORE.length; i++) {
57
+ var wrapper = IE_WRAPPER_STORE[i];
58
+ if (wrapper.target === target && wrapper.type === type && wrapper.callback === callback)
59
+ return wrapper.wrapper;
60
+ }
61
+ return undefined;
62
+ }
63
+ function setIEWrapper(target, type, callback, wrapper) {
64
+ IE_WRAPPER_STORE.push({ target: target, type: type, callback: callback, wrapper: wrapper });
65
+ }
66
+ function removeIEWrapper(target, type, callback) {
67
+ for (var i = 0; i < IE_WRAPPER_STORE.length; i++) {
68
+ var wrapper = IE_WRAPPER_STORE[i];
69
+ if (wrapper.target === target && wrapper.type === type && wrapper.callback === callback) {
70
+ IE_WRAPPER_STORE.splice(i, 1);
71
+ return wrapper.wrapper;
72
+ }
73
+ }
74
+ return undefined;
75
+ }
76
+ function findMediaQueryListWrapper(target, type, callback) {
77
+ for (var i = 0; i < MEDIA_QUERY_LIST_WRAPPER_STORE.length; i++) {
78
+ var wrapper = MEDIA_QUERY_LIST_WRAPPER_STORE[i];
79
+ if (wrapper.target === target && wrapper.type === type && wrapper.callback === callback)
80
+ return wrapper.wrapper;
81
+ }
82
+ return undefined;
83
+ }
84
+ function setMediaQueryListWrapper(target, type, callback, wrapper) {
85
+ MEDIA_QUERY_LIST_WRAPPER_STORE.push({ target: target, type: type, callback: callback, wrapper: wrapper });
86
+ }
87
+ function removeMediaQueryListWrapper(target, type, callback) {
88
+ for (var i = 0; i < MEDIA_QUERY_LIST_WRAPPER_STORE.length; i++) {
89
+ var wrapper = MEDIA_QUERY_LIST_WRAPPER_STORE[i];
90
+ if (wrapper.target === target && wrapper.type === type && wrapper.callback === callback) {
91
+ MEDIA_QUERY_LIST_WRAPPER_STORE.splice(i, 1);
92
+ return wrapper.wrapper;
93
+ }
94
+ }
95
+ return undefined;
96
+ }
97
+ function createMediaQueryListWrapper(callback) {
98
+ return function (event) {
99
+ if (typeof callback === 'function') {
100
+ callback.call(this, event);
101
+ }
102
+ else if (callback && typeof callback.handleEvent === 'function') {
103
+ callback.handleEvent(event);
104
+ }
105
+ };
106
+ }
107
+ function capitalize(_) {
108
+ var groups = [];
109
+ for (var _i = 1; _i < arguments.length; _i++) {
110
+ groups[_i - 1] = arguments[_i];
111
+ }
112
+ var result = '';
113
+ for (var i = 0; i < groups.length - 2; i++) {
114
+ var arg = groups[i];
115
+ if (typeof arg !== 'undefined')
116
+ result = result + arg.charAt(0).toUpperCase() + arg.slice(1);
117
+ }
118
+ return result;
119
+ }
120
+ function withVendor(target, type) {
121
+ if (target === globalThis.document && ['deviceready', 'pause', 'resume', 'backbutton', 'menubutton', 'searchbutton', 'startcallbutton', 'endcallbutton', 'volumedownbutton', 'volumeupbutton', 'activated', 'cordovacallbackerror'].indexOf(type) > -1)
122
+ return type;
123
+ if (typeof target.webkitEnterFullscreen === 'function' && ['webkitbeginfullscreen', 'webkitendfullscreen', 'webkitpresentationmodechanged'].indexOf(type) > -1)
124
+ return type;
125
+ var types;
126
+ if (typeof LEGACY_TYPE_MAP[type] !== 'undefined')
127
+ types = LEGACY_TYPE_MAP[type];
128
+ else if (EVENT_TYPE_REGEXP.test(type))
129
+ types = [type, type.replace(EVENT_TYPE_REGEXP, capitalize)];
130
+ else
131
+ types = [type];
132
+ for (var i = 0; i < VENDORS.length; i++) {
133
+ for (var j = 0; j < types.length; j++) {
134
+ var name_1 = VENDORS[i] + types[j];
135
+ if (typeof target['on' + name_1] !== 'undefined')
136
+ return name_1;
137
+ }
138
+ }
139
+ return type;
140
+ }
141
+ function preventDefaultPolyfill() {
142
+ this.returnValue = false;
143
+ }
144
+ function stopPropagationPolyfill() {
145
+ this.cancelBubble = true;
146
+ }
147
+ var EVENT_TYPE_REGEXP = /(animation)(start|iteration|end|cancel)|(transition)(start|run|end|cancel)|(fullscreen)(change|error)|(lost|got)(pointer)(capture)|(pointer)(lock)(change|error)|(pointer)(cancel|down|enter|leave|move|out|over|up)/i;
148
+ var VENDORS = ['', 'webkit', 'moz', 'ms', 'MS', 'o', 'O'];
149
+ var LEGACY_TYPE_MAP = {
150
+ 'wheel': ['wheel', 'mousewheel', 'DOMMouseScroll'],
151
+ 'focus': ['focus', 'focusin'],
152
+ 'blur': ['blur', 'focusout'],
153
+ 'beforeinput': ['beforeinput', 'textInput'],
154
+ };
155
+ var EventListener = {
156
+ useStd: typeof globalThis.document.addEventListener === 'function',
157
+ add: function (target, eventListenerOptions) {
158
+ if (typeof eventListenerOptions.type === 'undefined')
159
+ return;
160
+ if (typeof target === 'undefined')
161
+ return;
162
+ var callback = eventListenerOptions.callback;
163
+ var type = withVendor(target, eventListenerOptions.type);
164
+ var options = eventListenerOptions.options;
165
+ if (isMediaQueryListTarget(target)) {
166
+ if (typeof target.addListener === 'function') {
167
+ try {
168
+ var wrapper = findMediaQueryListWrapper(target, type, callback);
169
+ if (typeof wrapper === 'undefined') {
170
+ setMediaQueryListWrapper(target, type, callback, wrapper = createMediaQueryListWrapper(callback));
171
+ }
172
+ return target.addListener(wrapper);
173
+ }
174
+ catch (_) {
175
+ }
176
+ }
177
+ }
178
+ if (typeof target.addEventListener === 'function') {
179
+ try {
180
+ if (isEventListenerCallback(callback)) {
181
+ return target.addEventListener(type, callback, options);
182
+ }
183
+ }
184
+ catch (_) {
185
+ }
186
+ }
187
+ if (typeof target.attachEvent === 'function') {
188
+ var existing = findIEWrapper(target, type, callback);
189
+ if (typeof existing === 'function')
190
+ return;
191
+ var wrapper = function (event) {
192
+ if (typeof event === 'undefined')
193
+ event = globalThis.event;
194
+ if (typeof event === 'undefined')
195
+ return;
196
+ try {
197
+ Object.defineProperty(event, 'currentTarget', { value: target, configurable: true });
198
+ }
199
+ catch (_) {
200
+ }
201
+ if (typeof event.preventDefault !== 'function')
202
+ event.preventDefault = preventDefaultPolyfill.bind(event);
203
+ if (typeof event.stopPropagation !== 'function')
204
+ event.stopPropagation = stopPropagationPolyfill.bind(event);
205
+ if (typeof callback === 'function')
206
+ callback.call(target, event);
207
+ else if (callback && typeof callback.handleEvent === 'function')
208
+ callback.handleEvent(event);
209
+ };
210
+ setIEWrapper(target, type, callback, wrapper);
211
+ return target.attachEvent('on' + type, wrapper);
212
+ }
213
+ },
214
+ remove: function (target, eventListenerOptions) {
215
+ if (typeof eventListenerOptions.type === 'undefined')
216
+ return;
217
+ if (typeof target === 'undefined')
218
+ return;
219
+ var callback = eventListenerOptions.callback;
220
+ var type = withVendor(target, eventListenerOptions.type);
221
+ var options = eventListenerOptions.options;
222
+ if (isMediaQueryListTarget(target)) {
223
+ if (typeof target.removeListener === 'function') {
224
+ try {
225
+ var wrapper = removeMediaQueryListWrapper(target, type, callback);
226
+ if (typeof wrapper === 'function')
227
+ return target.removeListener(wrapper);
228
+ }
229
+ catch (_) {
230
+ }
231
+ }
232
+ return;
233
+ }
234
+ if (typeof target.removeEventListener === 'function') {
235
+ try {
236
+ if (isEventListenerCallback(callback)) {
237
+ return target.removeEventListener(type, callback, options);
238
+ }
239
+ }
240
+ catch (_) {
241
+ }
242
+ }
243
+ if (typeof target.detachEvent === 'function') {
244
+ var wrapper = removeIEWrapper(target, type, callback);
245
+ if (typeof wrapper === 'function')
246
+ target.detachEvent('on' + type, wrapper);
247
+ return;
248
+ }
249
+ },
250
+ };
251
+
252
+ function createCustomError(name, Base) {
253
+ if (Base === void 0) { Base = Error; }
254
+ function CustomError(message) {
255
+ if (!(this instanceof CustomError))
256
+ return new CustomError(message);
257
+ var error = (function () {
258
+ if (typeof message === 'undefined')
259
+ return new Base('');
260
+ return new Base(message);
261
+ })();
262
+ if (typeof Object.setPrototypeOf === 'function')
263
+ Object.setPrototypeOf(error, CustomError.prototype);
264
+ else
265
+ error.__proto__ = CustomError.prototype;
266
+ error.name = name;
267
+ if (typeof message !== 'undefined')
268
+ error.message = message;
269
+ if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
270
+ try {
271
+ Object.defineProperty(error, Symbol.toStringTag, {
272
+ value: name,
273
+ writable: false,
274
+ enumerable: false,
275
+ configurable: true
276
+ });
277
+ }
278
+ catch (_) {
279
+ }
280
+ }
281
+ if (typeof Error.captureStackTrace === 'function') {
282
+ Error.captureStackTrace(error, CustomError);
283
+ }
284
+ else if (Base.captureStackTrace && typeof Base.captureStackTrace === 'function') {
285
+ Base.captureStackTrace(error, CustomError);
286
+ }
287
+ else {
288
+ try {
289
+ var tempError = new Base();
290
+ if (tempError.stack)
291
+ error.stack = tempError.stack;
292
+ }
293
+ catch (_) {
294
+ }
295
+ }
296
+ return error;
297
+ }
298
+ CustomError.prototype = Object.create(Base.prototype, {
299
+ constructor: {
300
+ value: CustomError,
301
+ writable: true,
302
+ enumerable: false,
303
+ configurable: true
304
+ }
305
+ });
306
+ try {
307
+ Object.defineProperty(CustomError.prototype, 'name', {
308
+ value: name,
309
+ writable: true,
310
+ enumerable: false,
311
+ configurable: true
312
+ });
313
+ }
314
+ catch (_) {
315
+ try {
316
+ CustomError.prototype.name = name;
317
+ }
318
+ catch (_) {
319
+ }
320
+ }
321
+ try {
322
+ Object.defineProperty(CustomError, 'name', {
323
+ value: name,
324
+ writable: false,
325
+ enumerable: false,
326
+ configurable: true
327
+ });
328
+ }
329
+ catch (_) {
330
+ }
331
+ return CustomError;
332
+ }
333
+
334
+ var NotSupportedError = createCustomError('NotSupportedError');
335
+
44
336
  var Permission = {
45
337
  get supported() {
46
338
  return supported();
@@ -51,14 +343,45 @@ var Permission = {
51
343
  PermissionType: exports.PermissionType,
52
344
  PermissionState: exports.PermissionState,
53
345
  },
54
- Errors: {},
346
+ Errors: {
347
+ NotSupportedError: NotSupportedError,
348
+ },
55
349
  };
350
+ function toPermissionState(permission) {
351
+ switch (permission) {
352
+ case 'granted':
353
+ return exports.PermissionState.Grant;
354
+ case 'denied':
355
+ return exports.PermissionState.Denied;
356
+ case 'prompt':
357
+ case 'default':
358
+ return exports.PermissionState.Prompt;
359
+ default:
360
+ return exports.PermissionState.Unsupported;
361
+ }
362
+ }
363
+ function toSafariSensorEventMap(type) {
364
+ switch (type) {
365
+ case exports.PermissionType.DeviceOrientation:
366
+ return {
367
+ event: globalThis.DeviceOrientationEvent,
368
+ type: 'deviceorientation',
369
+ };
370
+ case exports.PermissionType.DeviceMotion:
371
+ return {
372
+ event: globalThis.DeviceMotionEvent,
373
+ type: 'devicemotion',
374
+ };
375
+ default:
376
+ return undefined;
377
+ }
378
+ }
56
379
  function supported() {
57
380
  return typeof globalThis.navigator.permissions !== 'undefined';
58
381
  }
59
382
  function request(type) {
60
383
  var instance = this;
61
- return new Promise(function (resolve) {
384
+ return new Promise(function (resolve, reject) {
62
385
  function resolveAfterCheck() {
63
386
  instance.check(type).then(resolve);
64
387
  }
@@ -70,17 +393,8 @@ function request(type) {
70
393
  case exports.PermissionType.Notification:
71
394
  if (typeof globalThis.Notification === 'undefined')
72
395
  return resolve(exports.PermissionState.Unsupported);
73
- globalThis.Notification.requestPermission().then(function (value) {
74
- switch (value) {
75
- case 'default':
76
- return resolve(exports.PermissionState.Prompt);
77
- case 'granted':
78
- return resolve(exports.PermissionState.Grant);
79
- case 'denied':
80
- return resolve(exports.PermissionState.Denied);
81
- default:
82
- resolveAfterCheck();
83
- }
396
+ globalThis.Notification.requestPermission().then(function (permission) {
397
+ resolve(toPermissionState(permission));
84
398
  });
85
399
  break;
86
400
  case exports.PermissionType.Geolocation:
@@ -118,6 +432,23 @@ function request(type) {
118
432
  .then(resolveAfterCheck)
119
433
  .catch(resolveAfterCheck);
120
434
  break;
435
+ case exports.PermissionType.DeviceOrientation:
436
+ case exports.PermissionType.DeviceMotion:
437
+ var sensorEventMap = toSafariSensorEventMap(type);
438
+ if (typeof sensorEventMap === 'undefined' || typeof sensorEventMap.event === 'undefined')
439
+ return resolve(exports.PermissionState.Unsupported);
440
+ if (typeof sensorEventMap.event.requestPermission !== 'function')
441
+ return resolve(exports.PermissionState.Grant);
442
+ try {
443
+ sensorEventMap.event.requestPermission()
444
+ .then(function (permission) {
445
+ resolve(toPermissionState(permission));
446
+ });
447
+ }
448
+ catch (_) {
449
+ return reject(new NotSupportedError('\'DeviceOrientationEvent.requestPermission()\' must be called within a user gesture context.'));
450
+ }
451
+ break;
121
452
  default:
122
453
  return resolve(exports.PermissionState.Unsupported);
123
454
  }
@@ -125,6 +456,34 @@ function request(type) {
125
456
  });
126
457
  }
127
458
  function check(type) {
459
+ if (type === exports.PermissionType.DeviceOrientation || type === exports.PermissionType.DeviceMotion) {
460
+ return new Promise(function (resolve) {
461
+ var sensorEventMap = toSafariSensorEventMap(type);
462
+ if (typeof sensorEventMap === 'undefined' || typeof sensorEventMap.event === 'undefined')
463
+ return resolve(exports.PermissionState.Unsupported);
464
+ if (typeof sensorEventMap.event.requestPermission !== 'function')
465
+ return resolve(exports.PermissionState.Grant);
466
+ var granted = false;
467
+ EventListener.add(globalThis, {
468
+ type: sensorEventMap.type,
469
+ callback: function () {
470
+ granted = true;
471
+ },
472
+ options: { once: true }
473
+ });
474
+ setTimeout(function () {
475
+ if (granted)
476
+ return resolve(exports.PermissionState.Grant);
477
+ sensorEventMap.event.requestPermission()
478
+ .then(function (permission) {
479
+ resolve(toPermissionState(permission));
480
+ })
481
+ .catch(function () {
482
+ resolve(exports.PermissionState.Prompt);
483
+ });
484
+ }, 50);
485
+ });
486
+ }
128
487
  return new Promise(function (resolve) {
129
488
  if (typeof globalThis.navigator.permissions === 'undefined')
130
489
  return resolve(exports.PermissionState.Unsupported);
@@ -12,7 +12,9 @@ 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
  declare enum PermissionState {
18
20
  Grant = "grant",
@@ -22,15 +24,19 @@ declare enum PermissionState {
22
24
  }
23
25
  declare const GET_USER_MEDIA: ((constraints?: MediaStreamConstraints) => Promise<MediaStream>) | undefined;
24
26
 
27
+ declare const NotSupportedError: ErrorConstructor;
28
+
25
29
  declare interface PermissionInstance {
26
30
  get supported(): boolean;
27
31
  request(type: PermissionType): Promise<PermissionState>;
28
32
  check(type: PermissionType): Promise<PermissionState>;
29
- Constants: {
30
- PermissionType: typeof PermissionType;
31
- PermissionState: typeof PermissionState;
33
+ readonly Constants: {
34
+ readonly PermissionType: typeof PermissionType;
35
+ readonly PermissionState: typeof PermissionState;
36
+ };
37
+ readonly Errors: {
38
+ readonly NotSupportedError: typeof NotSupportedError;
32
39
  };
33
- Errors: {};
34
40
  }
35
41
 
36
42
  declare const Permission: PermissionInstance;