native-fn 1.3.0 → 1.3.2

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 (313) hide show
  1. package/README.md +159 -41
  2. package/dist/index.d.ts +117 -88
  3. package/dist/native.cjs +464 -244
  4. package/dist/native.min.cjs +1 -1
  5. package/dist/native.min.mjs +1 -1
  6. package/dist/native.mjs +464 -244
  7. package/dist/native.umd.js +464 -244
  8. package/dist/native.umd.min.js +1 -1
  9. package/dist/plugin/appearance/index.cjs +49 -46
  10. package/dist/plugin/appearance/index.d.ts +3 -3
  11. package/dist/plugin/appearance/index.mjs +49 -46
  12. package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +3 -3
  13. package/dist/plugin/appearance/src/plugin/badge/types/badge.d.ts +3 -3
  14. package/dist/plugin/appearance/src/plugin/battery/types/battery.d.ts +3 -3
  15. package/dist/plugin/appearance/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  16. package/dist/plugin/appearance/src/plugin/dimension/constants/index.d.ts +8 -3
  17. package/dist/plugin/appearance/src/plugin/dimension/types/dimensions.d.ts +37 -15
  18. package/dist/plugin/appearance/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  19. package/dist/plugin/appearance/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  20. package/dist/plugin/appearance/src/plugin/notification/types/notification.d.ts +4 -4
  21. package/dist/plugin/appearance/src/plugin/open/types/open.d.ts +12 -12
  22. package/dist/plugin/appearance/src/plugin/permission/constants/index.d.ts +3 -1
  23. package/dist/plugin/appearance/src/plugin/permission/types/permission.d.ts +7 -4
  24. package/dist/plugin/appearance/src/plugin/pip/types/pip.d.ts +7 -7
  25. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +13 -13
  26. package/dist/plugin/appearance/src/plugin/theme/types/theme.d.ts +2 -2
  27. package/dist/plugin/appearance/src/plugin/vibration/types/vibration.d.ts +3 -3
  28. package/dist/plugin/appearance/src/types/subscription-manager.d.ts +3 -3
  29. package/dist/plugin/appearance/src/utils/create-subscription-manager.d.ts +1 -1
  30. package/dist/plugin/badge/index.d.ts +3 -3
  31. package/dist/plugin/badge/src/plugin/appearance/types/appearance.d.ts +3 -3
  32. package/dist/plugin/badge/src/plugin/badge/types/badge.d.ts +3 -3
  33. package/dist/plugin/badge/src/plugin/battery/types/battery.d.ts +3 -3
  34. package/dist/plugin/badge/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  35. package/dist/plugin/badge/src/plugin/dimension/constants/index.d.ts +8 -3
  36. package/dist/plugin/badge/src/plugin/dimension/types/dimensions.d.ts +37 -15
  37. package/dist/plugin/badge/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  38. package/dist/plugin/badge/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  39. package/dist/plugin/badge/src/plugin/notification/types/notification.d.ts +4 -4
  40. package/dist/plugin/badge/src/plugin/open/types/open.d.ts +12 -12
  41. package/dist/plugin/badge/src/plugin/permission/constants/index.d.ts +3 -1
  42. package/dist/plugin/badge/src/plugin/permission/types/permission.d.ts +7 -4
  43. package/dist/plugin/badge/src/plugin/pip/types/pip.d.ts +7 -7
  44. package/dist/plugin/badge/src/plugin/platform/types/platform.d.ts +13 -13
  45. package/dist/plugin/badge/src/plugin/theme/types/theme.d.ts +2 -2
  46. package/dist/plugin/badge/src/plugin/vibration/types/vibration.d.ts +3 -3
  47. package/dist/plugin/badge/src/types/subscription-manager.d.ts +3 -3
  48. package/dist/plugin/badge/src/utils/create-subscription-manager.d.ts +1 -1
  49. package/dist/plugin/battery/index.d.ts +3 -3
  50. package/dist/plugin/battery/src/plugin/appearance/types/appearance.d.ts +3 -3
  51. package/dist/plugin/battery/src/plugin/badge/types/badge.d.ts +3 -3
  52. package/dist/plugin/battery/src/plugin/battery/types/battery.d.ts +3 -3
  53. package/dist/plugin/battery/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  54. package/dist/plugin/battery/src/plugin/dimension/constants/index.d.ts +8 -3
  55. package/dist/plugin/battery/src/plugin/dimension/types/dimensions.d.ts +37 -15
  56. package/dist/plugin/battery/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  57. package/dist/plugin/battery/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  58. package/dist/plugin/battery/src/plugin/notification/types/notification.d.ts +4 -4
  59. package/dist/plugin/battery/src/plugin/open/types/open.d.ts +12 -12
  60. package/dist/plugin/battery/src/plugin/permission/constants/index.d.ts +3 -1
  61. package/dist/plugin/battery/src/plugin/permission/types/permission.d.ts +7 -4
  62. package/dist/plugin/battery/src/plugin/pip/types/pip.d.ts +7 -7
  63. package/dist/plugin/battery/src/plugin/platform/types/platform.d.ts +13 -13
  64. package/dist/plugin/battery/src/plugin/theme/types/theme.d.ts +2 -2
  65. package/dist/plugin/battery/src/plugin/vibration/types/vibration.d.ts +3 -3
  66. package/dist/plugin/battery/src/types/subscription-manager.d.ts +3 -3
  67. package/dist/plugin/battery/src/utils/create-subscription-manager.d.ts +1 -1
  68. package/dist/plugin/clipboard/index.d.ts +2 -2
  69. package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +3 -3
  70. package/dist/plugin/clipboard/src/plugin/badge/types/badge.d.ts +3 -3
  71. package/dist/plugin/clipboard/src/plugin/battery/types/battery.d.ts +3 -3
  72. package/dist/plugin/clipboard/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  73. package/dist/plugin/clipboard/src/plugin/dimension/constants/index.d.ts +8 -3
  74. package/dist/plugin/clipboard/src/plugin/dimension/types/dimensions.d.ts +37 -15
  75. package/dist/plugin/clipboard/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  76. package/dist/plugin/clipboard/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  77. package/dist/plugin/clipboard/src/plugin/notification/types/notification.d.ts +4 -4
  78. package/dist/plugin/clipboard/src/plugin/open/types/open.d.ts +12 -12
  79. package/dist/plugin/clipboard/src/plugin/permission/constants/index.d.ts +3 -1
  80. package/dist/plugin/clipboard/src/plugin/permission/types/permission.d.ts +7 -4
  81. package/dist/plugin/clipboard/src/plugin/pip/types/pip.d.ts +7 -7
  82. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +13 -13
  83. package/dist/plugin/clipboard/src/plugin/theme/types/theme.d.ts +2 -2
  84. package/dist/plugin/clipboard/src/plugin/vibration/types/vibration.d.ts +3 -3
  85. package/dist/plugin/clipboard/src/types/subscription-manager.d.ts +3 -3
  86. package/dist/plugin/clipboard/src/utils/create-subscription-manager.d.ts +1 -1
  87. package/dist/plugin/dimension/index.cjs +310 -80
  88. package/dist/plugin/dimension/index.d.ts +48 -19
  89. package/dist/plugin/dimension/index.mjs +310 -80
  90. package/dist/plugin/dimension/src/plugin/appearance/types/appearance.d.ts +3 -3
  91. package/dist/plugin/dimension/src/plugin/badge/types/badge.d.ts +3 -3
  92. package/dist/plugin/dimension/src/plugin/battery/types/battery.d.ts +3 -3
  93. package/dist/plugin/dimension/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  94. package/dist/plugin/dimension/src/plugin/dimension/constants/index.d.ts +8 -3
  95. package/dist/plugin/dimension/src/plugin/dimension/types/dimensions.d.ts +37 -15
  96. package/dist/plugin/dimension/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  97. package/dist/plugin/dimension/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  98. package/dist/plugin/dimension/src/plugin/notification/types/notification.d.ts +4 -4
  99. package/dist/plugin/dimension/src/plugin/open/types/open.d.ts +12 -12
  100. package/dist/plugin/dimension/src/plugin/permission/constants/index.d.ts +3 -1
  101. package/dist/plugin/dimension/src/plugin/permission/types/permission.d.ts +7 -4
  102. package/dist/plugin/dimension/src/plugin/pip/types/pip.d.ts +7 -7
  103. package/dist/plugin/dimension/src/plugin/platform/types/platform.d.ts +13 -13
  104. package/dist/plugin/dimension/src/plugin/theme/types/theme.d.ts +2 -2
  105. package/dist/plugin/dimension/src/plugin/vibration/types/vibration.d.ts +3 -3
  106. package/dist/plugin/dimension/src/types/subscription-manager.d.ts +3 -3
  107. package/dist/plugin/dimension/src/utils/create-subscription-manager.d.ts +1 -1
  108. package/dist/plugin/fullscreen/index.cjs +87 -80
  109. package/dist/plugin/fullscreen/index.d.ts +7 -7
  110. package/dist/plugin/fullscreen/index.mjs +87 -80
  111. package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +3 -3
  112. package/dist/plugin/fullscreen/src/plugin/badge/types/badge.d.ts +3 -3
  113. package/dist/plugin/fullscreen/src/plugin/battery/types/battery.d.ts +3 -3
  114. package/dist/plugin/fullscreen/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  115. package/dist/plugin/fullscreen/src/plugin/dimension/constants/index.d.ts +8 -3
  116. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimensions.d.ts +37 -15
  117. package/dist/plugin/fullscreen/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  118. package/dist/plugin/fullscreen/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  119. package/dist/plugin/fullscreen/src/plugin/notification/types/notification.d.ts +4 -4
  120. package/dist/plugin/fullscreen/src/plugin/open/types/open.d.ts +12 -12
  121. package/dist/plugin/fullscreen/src/plugin/permission/constants/index.d.ts +3 -1
  122. package/dist/plugin/fullscreen/src/plugin/permission/types/permission.d.ts +7 -4
  123. package/dist/plugin/fullscreen/src/plugin/pip/types/pip.d.ts +7 -7
  124. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +13 -13
  125. package/dist/plugin/fullscreen/src/plugin/theme/types/theme.d.ts +2 -2
  126. package/dist/plugin/fullscreen/src/plugin/vibration/types/vibration.d.ts +3 -3
  127. package/dist/plugin/fullscreen/src/types/subscription-manager.d.ts +3 -3
  128. package/dist/plugin/fullscreen/src/utils/create-subscription-manager.d.ts +1 -1
  129. package/dist/plugin/geolocation/index.cjs +245 -176
  130. package/dist/plugin/geolocation/index.d.ts +4 -4
  131. package/dist/plugin/geolocation/index.mjs +245 -176
  132. package/dist/plugin/geolocation/src/plugin/appearance/types/appearance.d.ts +3 -3
  133. package/dist/plugin/geolocation/src/plugin/badge/types/badge.d.ts +3 -3
  134. package/dist/plugin/geolocation/src/plugin/battery/types/battery.d.ts +3 -3
  135. package/dist/plugin/geolocation/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  136. package/dist/plugin/geolocation/src/plugin/dimension/constants/index.d.ts +8 -3
  137. package/dist/plugin/geolocation/src/plugin/dimension/types/dimensions.d.ts +37 -15
  138. package/dist/plugin/geolocation/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  139. package/dist/plugin/geolocation/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  140. package/dist/plugin/geolocation/src/plugin/notification/types/notification.d.ts +4 -4
  141. package/dist/plugin/geolocation/src/plugin/open/types/open.d.ts +12 -12
  142. package/dist/plugin/geolocation/src/plugin/permission/constants/index.d.ts +3 -1
  143. package/dist/plugin/geolocation/src/plugin/permission/types/permission.d.ts +7 -4
  144. package/dist/plugin/geolocation/src/plugin/pip/types/pip.d.ts +7 -7
  145. package/dist/plugin/geolocation/src/plugin/platform/types/platform.d.ts +13 -13
  146. package/dist/plugin/geolocation/src/plugin/theme/types/theme.d.ts +2 -2
  147. package/dist/plugin/geolocation/src/plugin/vibration/types/vibration.d.ts +3 -3
  148. package/dist/plugin/geolocation/src/types/subscription-manager.d.ts +3 -3
  149. package/dist/plugin/geolocation/src/utils/create-subscription-manager.d.ts +1 -1
  150. package/dist/plugin/notification/index.cjs +288 -13
  151. package/dist/plugin/notification/index.d.ts +4 -4
  152. package/dist/plugin/notification/index.mjs +288 -13
  153. package/dist/plugin/notification/src/plugin/appearance/types/appearance.d.ts +3 -3
  154. package/dist/plugin/notification/src/plugin/badge/types/badge.d.ts +3 -3
  155. package/dist/plugin/notification/src/plugin/battery/types/battery.d.ts +3 -3
  156. package/dist/plugin/notification/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  157. package/dist/plugin/notification/src/plugin/dimension/constants/index.d.ts +8 -3
  158. package/dist/plugin/notification/src/plugin/dimension/types/dimensions.d.ts +37 -15
  159. package/dist/plugin/notification/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  160. package/dist/plugin/notification/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  161. package/dist/plugin/notification/src/plugin/notification/types/notification.d.ts +4 -4
  162. package/dist/plugin/notification/src/plugin/open/types/open.d.ts +12 -12
  163. package/dist/plugin/notification/src/plugin/permission/constants/index.d.ts +3 -1
  164. package/dist/plugin/notification/src/plugin/permission/types/permission.d.ts +7 -4
  165. package/dist/plugin/notification/src/plugin/pip/types/pip.d.ts +7 -7
  166. package/dist/plugin/notification/src/plugin/platform/types/platform.d.ts +13 -13
  167. package/dist/plugin/notification/src/plugin/theme/types/theme.d.ts +2 -2
  168. package/dist/plugin/notification/src/plugin/vibration/types/vibration.d.ts +3 -3
  169. package/dist/plugin/notification/src/types/subscription-manager.d.ts +3 -3
  170. package/dist/plugin/notification/src/utils/create-subscription-manager.d.ts +1 -1
  171. package/dist/plugin/open/index.cjs +58 -49
  172. package/dist/plugin/open/index.d.ts +12 -12
  173. package/dist/plugin/open/index.mjs +58 -49
  174. package/dist/plugin/open/src/plugin/appearance/types/appearance.d.ts +3 -3
  175. package/dist/plugin/open/src/plugin/badge/types/badge.d.ts +3 -3
  176. package/dist/plugin/open/src/plugin/battery/types/battery.d.ts +3 -3
  177. package/dist/plugin/open/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  178. package/dist/plugin/open/src/plugin/dimension/constants/index.d.ts +8 -3
  179. package/dist/plugin/open/src/plugin/dimension/types/dimensions.d.ts +37 -15
  180. package/dist/plugin/open/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  181. package/dist/plugin/open/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  182. package/dist/plugin/open/src/plugin/notification/types/notification.d.ts +4 -4
  183. package/dist/plugin/open/src/plugin/open/types/open.d.ts +12 -12
  184. package/dist/plugin/open/src/plugin/permission/constants/index.d.ts +3 -1
  185. package/dist/plugin/open/src/plugin/permission/types/permission.d.ts +7 -4
  186. package/dist/plugin/open/src/plugin/pip/types/pip.d.ts +7 -7
  187. package/dist/plugin/open/src/plugin/platform/types/platform.d.ts +13 -13
  188. package/dist/plugin/open/src/plugin/theme/types/theme.d.ts +2 -2
  189. package/dist/plugin/open/src/plugin/vibration/types/vibration.d.ts +3 -3
  190. package/dist/plugin/open/src/types/subscription-manager.d.ts +3 -3
  191. package/dist/plugin/open/src/utils/create-subscription-manager.d.ts +1 -1
  192. package/dist/plugin/permission/index.cjs +372 -13
  193. package/dist/plugin/permission/index.d.ts +11 -5
  194. package/dist/plugin/permission/index.mjs +372 -13
  195. package/dist/plugin/permission/src/plugin/appearance/types/appearance.d.ts +3 -3
  196. package/dist/plugin/permission/src/plugin/badge/types/badge.d.ts +3 -3
  197. package/dist/plugin/permission/src/plugin/battery/types/battery.d.ts +3 -3
  198. package/dist/plugin/permission/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  199. package/dist/plugin/permission/src/plugin/dimension/constants/index.d.ts +8 -3
  200. package/dist/plugin/permission/src/plugin/dimension/types/dimensions.d.ts +37 -15
  201. package/dist/plugin/permission/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  202. package/dist/plugin/permission/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  203. package/dist/plugin/permission/src/plugin/notification/types/notification.d.ts +4 -4
  204. package/dist/plugin/permission/src/plugin/open/types/open.d.ts +12 -12
  205. package/dist/plugin/permission/src/plugin/permission/constants/index.d.ts +3 -1
  206. package/dist/plugin/permission/src/plugin/permission/types/permission.d.ts +7 -4
  207. package/dist/plugin/permission/src/plugin/pip/types/pip.d.ts +7 -7
  208. package/dist/plugin/permission/src/plugin/platform/types/platform.d.ts +13 -13
  209. package/dist/plugin/permission/src/plugin/theme/types/theme.d.ts +2 -2
  210. package/dist/plugin/permission/src/plugin/vibration/types/vibration.d.ts +3 -3
  211. package/dist/plugin/permission/src/types/subscription-manager.d.ts +3 -3
  212. package/dist/plugin/permission/src/utils/create-subscription-manager.d.ts +1 -1
  213. package/dist/plugin/pip/index.cjs +49 -46
  214. package/dist/plugin/pip/index.d.ts +7 -7
  215. package/dist/plugin/pip/index.mjs +49 -46
  216. package/dist/plugin/pip/src/plugin/appearance/types/appearance.d.ts +3 -3
  217. package/dist/plugin/pip/src/plugin/badge/types/badge.d.ts +3 -3
  218. package/dist/plugin/pip/src/plugin/battery/types/battery.d.ts +3 -3
  219. package/dist/plugin/pip/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  220. package/dist/plugin/pip/src/plugin/dimension/constants/index.d.ts +8 -3
  221. package/dist/plugin/pip/src/plugin/dimension/types/dimensions.d.ts +37 -15
  222. package/dist/plugin/pip/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  223. package/dist/plugin/pip/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  224. package/dist/plugin/pip/src/plugin/notification/types/notification.d.ts +4 -4
  225. package/dist/plugin/pip/src/plugin/open/types/open.d.ts +12 -12
  226. package/dist/plugin/pip/src/plugin/permission/constants/index.d.ts +3 -1
  227. package/dist/plugin/pip/src/plugin/permission/types/permission.d.ts +7 -4
  228. package/dist/plugin/pip/src/plugin/pip/types/pip.d.ts +7 -7
  229. package/dist/plugin/pip/src/plugin/platform/types/platform.d.ts +13 -13
  230. package/dist/plugin/pip/src/plugin/theme/types/theme.d.ts +2 -2
  231. package/dist/plugin/pip/src/plugin/vibration/types/vibration.d.ts +3 -3
  232. package/dist/plugin/pip/src/types/subscription-manager.d.ts +3 -3
  233. package/dist/plugin/pip/src/utils/create-subscription-manager.d.ts +1 -1
  234. package/dist/plugin/platform/index.cjs +87 -80
  235. package/dist/plugin/platform/index.d.ts +13 -13
  236. package/dist/plugin/platform/index.mjs +87 -80
  237. package/dist/plugin/platform/src/plugin/appearance/types/appearance.d.ts +3 -3
  238. package/dist/plugin/platform/src/plugin/badge/types/badge.d.ts +3 -3
  239. package/dist/plugin/platform/src/plugin/battery/types/battery.d.ts +3 -3
  240. package/dist/plugin/platform/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  241. package/dist/plugin/platform/src/plugin/dimension/constants/index.d.ts +8 -3
  242. package/dist/plugin/platform/src/plugin/dimension/types/dimensions.d.ts +37 -15
  243. package/dist/plugin/platform/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  244. package/dist/plugin/platform/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  245. package/dist/plugin/platform/src/plugin/notification/types/notification.d.ts +4 -4
  246. package/dist/plugin/platform/src/plugin/open/types/open.d.ts +12 -12
  247. package/dist/plugin/platform/src/plugin/permission/constants/index.d.ts +3 -1
  248. package/dist/plugin/platform/src/plugin/permission/types/permission.d.ts +7 -4
  249. package/dist/plugin/platform/src/plugin/pip/types/pip.d.ts +7 -7
  250. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +13 -13
  251. package/dist/plugin/platform/src/plugin/theme/types/theme.d.ts +2 -2
  252. package/dist/plugin/platform/src/plugin/vibration/types/vibration.d.ts +3 -3
  253. package/dist/plugin/platform/src/types/subscription-manager.d.ts +3 -3
  254. package/dist/plugin/platform/src/utils/create-subscription-manager.d.ts +1 -1
  255. package/dist/plugin/theme/index.cjs +58 -49
  256. package/dist/plugin/theme/index.d.ts +2 -2
  257. package/dist/plugin/theme/index.mjs +58 -49
  258. package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +3 -3
  259. package/dist/plugin/theme/src/plugin/badge/types/badge.d.ts +3 -3
  260. package/dist/plugin/theme/src/plugin/battery/types/battery.d.ts +3 -3
  261. package/dist/plugin/theme/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  262. package/dist/plugin/theme/src/plugin/dimension/constants/index.d.ts +8 -3
  263. package/dist/plugin/theme/src/plugin/dimension/types/dimensions.d.ts +37 -15
  264. package/dist/plugin/theme/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  265. package/dist/plugin/theme/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  266. package/dist/plugin/theme/src/plugin/notification/types/notification.d.ts +4 -4
  267. package/dist/plugin/theme/src/plugin/open/types/open.d.ts +12 -12
  268. package/dist/plugin/theme/src/plugin/permission/constants/index.d.ts +3 -1
  269. package/dist/plugin/theme/src/plugin/permission/types/permission.d.ts +7 -4
  270. package/dist/plugin/theme/src/plugin/pip/types/pip.d.ts +7 -7
  271. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +13 -13
  272. package/dist/plugin/theme/src/plugin/theme/types/theme.d.ts +2 -2
  273. package/dist/plugin/theme/src/plugin/vibration/types/vibration.d.ts +3 -3
  274. package/dist/plugin/theme/src/types/subscription-manager.d.ts +3 -3
  275. package/dist/plugin/theme/src/utils/create-subscription-manager.d.ts +1 -1
  276. package/dist/plugin/vibration/index.d.ts +3 -3
  277. package/dist/plugin/vibration/src/plugin/appearance/types/appearance.d.ts +3 -3
  278. package/dist/plugin/vibration/src/plugin/badge/types/badge.d.ts +3 -3
  279. package/dist/plugin/vibration/src/plugin/battery/types/battery.d.ts +3 -3
  280. package/dist/plugin/vibration/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  281. package/dist/plugin/vibration/src/plugin/dimension/constants/index.d.ts +8 -3
  282. package/dist/plugin/vibration/src/plugin/dimension/types/dimensions.d.ts +37 -15
  283. package/dist/plugin/vibration/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  284. package/dist/plugin/vibration/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  285. package/dist/plugin/vibration/src/plugin/notification/types/notification.d.ts +4 -4
  286. package/dist/plugin/vibration/src/plugin/open/types/open.d.ts +12 -12
  287. package/dist/plugin/vibration/src/plugin/permission/constants/index.d.ts +3 -1
  288. package/dist/plugin/vibration/src/plugin/permission/types/permission.d.ts +7 -4
  289. package/dist/plugin/vibration/src/plugin/pip/types/pip.d.ts +7 -7
  290. package/dist/plugin/vibration/src/plugin/platform/types/platform.d.ts +13 -13
  291. package/dist/plugin/vibration/src/plugin/theme/types/theme.d.ts +2 -2
  292. package/dist/plugin/vibration/src/plugin/vibration/types/vibration.d.ts +3 -3
  293. package/dist/plugin/vibration/src/types/subscription-manager.d.ts +3 -3
  294. package/dist/plugin/vibration/src/utils/create-subscription-manager.d.ts +1 -1
  295. package/dist/src/plugin/appearance/types/appearance.d.ts +3 -3
  296. package/dist/src/plugin/badge/types/badge.d.ts +3 -3
  297. package/dist/src/plugin/battery/types/battery.d.ts +3 -3
  298. package/dist/src/plugin/clipboard/types/clipboard.d.ts +2 -2
  299. package/dist/src/plugin/dimension/constants/index.d.ts +8 -3
  300. package/dist/src/plugin/dimension/types/dimensions.d.ts +37 -15
  301. package/dist/src/plugin/fullscreen/types/fullscreen.d.ts +7 -7
  302. package/dist/src/plugin/geolocation/types/geolocation.d.ts +4 -4
  303. package/dist/src/plugin/notification/types/notification.d.ts +4 -4
  304. package/dist/src/plugin/open/types/open.d.ts +12 -12
  305. package/dist/src/plugin/permission/constants/index.d.ts +3 -1
  306. package/dist/src/plugin/permission/types/permission.d.ts +7 -4
  307. package/dist/src/plugin/pip/types/pip.d.ts +7 -7
  308. package/dist/src/plugin/platform/types/platform.d.ts +13 -13
  309. package/dist/src/plugin/theme/types/theme.d.ts +2 -2
  310. package/dist/src/plugin/vibration/types/vibration.d.ts +3 -3
  311. package/dist/src/types/subscription-manager.d.ts +3 -3
  312. package/dist/src/utils/create-subscription-manager.d.ts +1 -1
  313. package/package.json +1 -1
package/dist/native.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.3.0";
3
+ var version = "1.3.2";
4
4
  var packageJSON = {
5
5
  version: version};
6
6
 
@@ -405,9 +405,12 @@ var EventListener = {
405
405
 
406
406
  var currentUserAgent = USER_AGENT;
407
407
  var parsedCache = null;
408
- var parsedFromHighEntropyValuesOS = {};
409
- var parsedFromHighEntropyValuesBrowser = {};
410
- var parsedFromHighEntropyValuesEngine = {};
408
+ var parsedFromHighEntropyValuesOSName = undefined;
409
+ var parsedFromHighEntropyValuesOSVersion = undefined;
410
+ var parsedFromHighEntropyValuesBrowserName = undefined;
411
+ var parsedFromHighEntropyValuesBrowserVersion = undefined;
412
+ var parsedFromHighEntropyValuesEngineName = undefined;
413
+ var parsedFromHighEntropyValuesEngineVersion = undefined;
411
414
  var parsedFromHighEntropyValuesDevice = null;
412
415
  var parsedFromNavigatorGPU = {};
413
416
  var cachedLocale = null;
@@ -454,9 +457,12 @@ function normalizeLocale(locale) {
454
457
  function invalidateCache() {
455
458
  parsedCache = null;
456
459
  cachedLocale = null;
457
- parsedFromHighEntropyValuesOS = {};
458
- parsedFromHighEntropyValuesBrowser = {};
459
- parsedFromHighEntropyValuesEngine = {};
460
+ parsedFromHighEntropyValuesOSName = undefined;
461
+ parsedFromHighEntropyValuesOSVersion = undefined;
462
+ parsedFromHighEntropyValuesBrowserName = undefined;
463
+ parsedFromHighEntropyValuesBrowserVersion = undefined;
464
+ parsedFromHighEntropyValuesEngineName = undefined;
465
+ parsedFromHighEntropyValuesEngineVersion = undefined;
460
466
  parsedFromHighEntropyValuesDevice = null;
461
467
  parsedFromNavigatorGPU = {};
462
468
  }
@@ -472,71 +478,74 @@ function getParsedCache() {
472
478
  return parsedCache;
473
479
  }
474
480
  function parseOS() {
475
- var result = { name: OS.Unknown, version: '' };
481
+ var name = OS.Unknown;
482
+ var version = '';
476
483
  for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
477
484
  var map = OS_RESOLVER_MAP[i];
478
485
  var matched = currentUserAgent.match(map[0]);
479
486
  if (matched !== null) {
480
- result.name = map[1];
481
- result.version = resolveVersion(matched[1], map[2]);
487
+ name = map[1];
488
+ version = resolveVersion(matched[1], map[2]);
482
489
  break;
483
490
  }
484
491
  }
485
- if (result.name === OS.iOS && compareVersion(result.version, '18.6') === 0) {
486
- var version = /\) Version\/([\d.]+)/.exec(currentUserAgent);
487
- if (version !== null) {
488
- var major = parseInt(version[1].split('.')[0], 10);
492
+ if (name === OS.iOS && compareVersion(version, '18.6') === 0) {
493
+ var execs = /\) Version\/([\d.]+)/.exec(currentUserAgent);
494
+ if (execs !== null) {
495
+ var major = parseInt(execs[1].split('.')[0], 10);
489
496
  if (major >= 26)
490
- result.version = version[1];
497
+ version = execs[1];
491
498
  }
492
499
  }
493
500
  if (currentUserAgent === USER_AGENT) {
494
- if (typeof parsedFromHighEntropyValuesOS.name !== 'undefined')
495
- result.name = parsedFromHighEntropyValuesOS.name;
496
- if (typeof parsedFromHighEntropyValuesOS.version !== 'undefined')
497
- result.version = parsedFromHighEntropyValuesOS.version;
498
- if (result.name === OS.MacOS && typeof globalThis.navigator.standalone !== 'undefined' && globalThis.navigator.maxTouchPoints > 2)
499
- result.name = OS.iOS;
501
+ if (typeof parsedFromHighEntropyValuesOSName !== 'undefined')
502
+ name = parsedFromHighEntropyValuesOSName;
503
+ if (typeof parsedFromHighEntropyValuesOSVersion !== 'undefined')
504
+ version = parsedFromHighEntropyValuesOSVersion;
505
+ if (name === OS.MacOS && typeof globalThis.navigator.standalone !== 'undefined' && globalThis.navigator.maxTouchPoints > 2)
506
+ name = OS.iOS;
500
507
  }
501
- return result;
508
+ return { name: name, version: version };
502
509
  }
503
510
  function parseBrowser() {
504
- var result = { name: Browsers.Unknown, version: '' };
511
+ var name = Browsers.Unknown;
512
+ var version = '';
505
513
  for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
506
514
  var map = BROWSER_RESOLVER_MAP[i];
507
515
  var matched = currentUserAgent.match(map[0]);
508
516
  if (matched !== null) {
509
- result.name = map[1];
510
- result.version = resolveVersion(matched[1], map[2]);
517
+ name = map[1];
518
+ version = resolveVersion(matched[1], map[2]);
511
519
  break;
512
520
  }
513
521
  }
514
522
  if (currentUserAgent === USER_AGENT) {
515
- if (typeof parsedFromHighEntropyValuesBrowser.name !== 'undefined')
516
- result.name = parsedFromHighEntropyValuesBrowser.name;
517
- if (typeof parsedFromHighEntropyValuesBrowser.version !== 'undefined')
518
- result.version = parsedFromHighEntropyValuesBrowser.version;
523
+ if (typeof parsedFromHighEntropyValuesBrowserName !== 'undefined')
524
+ name = parsedFromHighEntropyValuesBrowserName;
525
+ if (typeof parsedFromHighEntropyValuesBrowserVersion !== 'undefined')
526
+ version = parsedFromHighEntropyValuesBrowserVersion;
519
527
  }
520
- return result;
528
+ return { name: name, version: version };
521
529
  }
522
530
  function parseEngine() {
523
- var result = { name: Engines.Unknown, version: '' };
531
+ var name = Engines.Unknown;
532
+ var version = '';
524
533
  for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
525
534
  var map = ENGINE_RESOLVER_MAP[i];
526
535
  var matched = currentUserAgent.match(map[0]);
527
536
  if (matched !== null) {
528
- result.name = map[1];
529
- result.version = resolveVersion(matched[1], map[2]);
537
+ name = map[1];
538
+ version = resolveVersion(matched[1], map[2]);
530
539
  break;
531
540
  }
532
541
  }
533
542
  if (currentUserAgent === USER_AGENT) {
534
- if (typeof parsedFromHighEntropyValuesEngine.name !== 'undefined')
535
- result.name = parsedFromHighEntropyValuesEngine.name;
536
- if (typeof parsedFromHighEntropyValuesEngine.version !== 'undefined')
537
- result.version = parsedFromHighEntropyValuesEngine.version;
543
+ if (typeof parsedFromHighEntropyValuesEngineName !== 'undefined')
544
+ name = parsedFromHighEntropyValuesEngineName;
545
+ if (typeof parsedFromHighEntropyValuesEngineVersion !== 'undefined')
546
+ version = parsedFromHighEntropyValuesEngineVersion;
538
547
  }
539
- return result;
548
+ return { name: name, version: version };
540
549
  }
541
550
  function getGPU() {
542
551
  return {
@@ -549,24 +558,22 @@ function getGPU() {
549
558
  function getLocale() {
550
559
  if (cachedLocale !== null)
551
560
  return cachedLocale;
552
- var locale = {
553
- language: null,
554
- languages: [],
555
- timezone: null,
556
- offset: 0,
557
- isRTL: false,
558
- };
559
- var isRTL = null;
560
- function addLanguages(language) {
561
- for (var i = 0; i < language.length; i++)
562
- addLanguage(language[i]);
563
- }
564
- function addLanguage(language) {
565
- language = normalizeLocale(language);
566
- if (typeof language === 'string' && locale.languages.indexOf(language) === -1) {
567
- if (locale.language === null)
568
- locale.language = language;
569
- locale.languages.push(language);
561
+ var language = null;
562
+ var languages = [];
563
+ var timezone = null;
564
+ var offset = 0;
565
+ var isRTL = false;
566
+ var isRTLResolved = null;
567
+ function addLanguages(langs) {
568
+ for (var i = 0; i < langs.length; i++)
569
+ addLanguage(langs[i]);
570
+ }
571
+ function addLanguage(lang) {
572
+ lang = normalizeLocale(lang);
573
+ if (typeof lang === 'string' && languages.indexOf(lang) === -1) {
574
+ if (language === null)
575
+ language = lang;
576
+ languages.push(lang);
570
577
  }
571
578
  }
572
579
  if (typeof Intl !== 'undefined') {
@@ -576,7 +583,7 @@ function getLocale() {
576
583
  catch (_) {
577
584
  }
578
585
  try {
579
- locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
586
+ timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
580
587
  }
581
588
  catch (_) {
582
589
  }
@@ -594,38 +601,38 @@ function getLocale() {
594
601
  addLanguage(globalThis.navigator.systemLanguage);
595
602
  }
596
603
  try {
597
- locale.offset = new Date().getTimezoneOffset() * -1;
604
+ offset = new Date().getTimezoneOffset() * -1;
598
605
  }
599
606
  catch (_) {
600
607
  }
601
- if (typeof locale.language === 'string') {
608
+ if (typeof language === 'string') {
602
609
  if (typeof Intl !== 'undefined' && typeof Intl.Locale !== 'undefined') {
603
610
  try {
604
- var intlLocale = new Intl.Locale(locale.language);
611
+ var intlLocale = new Intl.Locale(language);
605
612
  if (typeof intlLocale.getTextInfo === 'function')
606
- isRTL = intlLocale.getTextInfo().direction === 'rtl';
613
+ isRTLResolved = intlLocale.getTextInfo().direction === 'rtl';
607
614
  else if (typeof intlLocale.textInfo !== 'undefined')
608
- isRTL = intlLocale.textInfo.direction === 'rtl';
615
+ isRTLResolved = intlLocale.textInfo.direction === 'rtl';
609
616
  }
610
617
  catch (_) {
611
618
  }
612
619
  }
613
- if (typeof isRTL !== 'boolean') {
614
- var matched = /^([A-Za-z]{1,8})(?:[-_][A-Za-z0-9]{1,8})*$/.exec(locale.language);
620
+ if (typeof isRTLResolved !== 'boolean') {
621
+ var matched = /^([A-Za-z]{1,8})(?:[-_][A-Za-z0-9]{1,8})*$/.exec(language);
615
622
  if (matched !== null) {
616
- var language = matched[1].toLowerCase();
623
+ var lang = matched[1].toLowerCase();
617
624
  for (var i = 0; i < RTL_LANGUAGES.length; i++) {
618
- if (RTL_LANGUAGES[i] === language) {
619
- isRTL = true;
625
+ if (RTL_LANGUAGES[i] === lang) {
626
+ isRTLResolved = true;
620
627
  break;
621
628
  }
622
629
  }
623
630
  }
624
631
  }
625
632
  }
626
- if (typeof isRTL === 'boolean')
627
- locale.isRTL = isRTL;
628
- cachedLocale = locale;
633
+ if (typeof isRTLResolved === 'boolean')
634
+ isRTL = isRTLResolved;
635
+ cachedLocale = { language: language, languages: languages, timezone: timezone, offset: offset, isRTL: isRTL };
629
636
  return cachedLocale;
630
637
  }
631
638
  function getDevice() {
@@ -676,38 +683,38 @@ function parseFromHighEntropyValues() {
676
683
  if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
677
684
  browserName = brandName;
678
685
  if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
679
- parsedFromHighEntropyValuesBrowser.name = Browsers.Chrome;
686
+ parsedFromHighEntropyValuesBrowserName = Browsers.Chrome;
680
687
  else if (browserName === 'Edge' || browserName === 'Edge WebView2')
681
- parsedFromHighEntropyValuesBrowser.name = Browsers.Edge;
688
+ parsedFromHighEntropyValuesBrowserName = Browsers.Edge;
682
689
  else if (browserName === 'Opera Mobi')
683
- parsedFromHighEntropyValuesBrowser.name = Browsers.Opera;
684
- parsedFromHighEntropyValuesBrowser.version = brandVersion;
690
+ parsedFromHighEntropyValuesBrowserName = Browsers.Opera;
691
+ parsedFromHighEntropyValuesBrowserVersion = brandVersion;
685
692
  }
686
693
  prevBrandName = brandName;
687
694
  }
688
695
  if (brandName === 'Chromium')
689
- parsedFromHighEntropyValuesEngine.version = brandVersion;
696
+ parsedFromHighEntropyValuesEngineVersion = brandVersion;
690
697
  }
691
698
  if (typeof platformVersion === 'string') {
692
699
  if (getParsedCache().os.name === OS.Windows) {
693
700
  if (parseInt(platformVersion.split('.')[0], 10) >= 13)
694
- parsedFromHighEntropyValuesOS.version = '11';
701
+ parsedFromHighEntropyValuesOSVersion = '11';
695
702
  else
696
- parsedFromHighEntropyValuesOS.version = '10';
703
+ parsedFromHighEntropyValuesOSVersion = '10';
697
704
  }
698
705
  else {
699
- parsedFromHighEntropyValuesOS.version = platformVersion;
706
+ parsedFromHighEntropyValuesOSVersion = platformVersion;
700
707
  }
701
708
  }
702
709
  if (typeof platform === 'string') {
703
710
  if (/android/i.test(platform))
704
- parsedFromHighEntropyValuesOS.name = OS.Android;
711
+ parsedFromHighEntropyValuesOSName = OS.Android;
705
712
  else if (/ios|iphone|ipad/i.test(platform))
706
- parsedFromHighEntropyValuesOS.name = OS.iOS;
713
+ parsedFromHighEntropyValuesOSName = OS.iOS;
707
714
  else if (/windows|win32/i.test(platform))
708
- parsedFromHighEntropyValuesOS.name = OS.Windows;
715
+ parsedFromHighEntropyValuesOSName = OS.Windows;
709
716
  else if (/macos|macintel/i.test(platform))
710
- parsedFromHighEntropyValuesOS.name = OS.MacOS;
717
+ parsedFromHighEntropyValuesOSName = OS.MacOS;
711
718
  }
712
719
  if (result.mobile === true)
713
720
  parsedFromHighEntropyValuesDevice = Devices.Mobile;
@@ -858,14 +865,14 @@ function createSubscriptionManager(attach, detach) {
858
865
  };
859
866
  }
860
867
 
861
- var onChangeSubscriptionManager$5 = createSubscriptionManager(attachOnChange$5, detachOnChange$5);
868
+ var onChangeSubscriptionManager$4 = createSubscriptionManager(attachOnChange$4, detachOnChange$4);
862
869
  var appearanceRef = null;
863
870
  var pollingIntervalId = null;
864
871
  var Appearance = {
865
872
  get value() {
866
873
  return getAppearance();
867
874
  },
868
- onChange: onChangeSubscriptionManager$5.subscribe,
875
+ onChange: onChangeSubscriptionManager$4.subscribe,
869
876
  Constants: {
870
877
  Appearances: Appearances
871
878
  },
@@ -901,7 +908,7 @@ function startPolling() {
901
908
  var appearance = getAppearanceFromEngine();
902
909
  if (appearance !== appearanceRef) {
903
910
  appearanceRef = appearance;
904
- onChangeSubscriptionManager$5.emit(appearance);
911
+ onChangeSubscriptionManager$4.emit(appearance);
905
912
  }
906
913
  }, 2000);
907
914
  }
@@ -912,13 +919,13 @@ function stopPolling() {
912
919
  pollingIntervalId = null;
913
920
  }
914
921
  }
915
- function attachOnChange$5() {
922
+ function attachOnChange$4() {
916
923
  appearanceRef = getAppearanceFromMediaQuery();
917
924
  EventListener.add(PREFERS_COLOR_SCHEME_MEDIA_QUERY_LIST, { type: 'change', callback: onMediaChange });
918
925
  if (Platform.browser.name === Browsers.SamsungInternet)
919
926
  startPolling();
920
927
  }
921
- function detachOnChange$5() {
928
+ function detachOnChange$4() {
922
929
  appearanceRef = null;
923
930
  EventListener.remove(PREFERS_COLOR_SCHEME_MEDIA_QUERY_LIST, { type: 'change', callback: onMediaChange });
924
931
  if (Platform.browser.name === Browsers.SamsungInternet)
@@ -931,7 +938,7 @@ function onMediaChange(event) {
931
938
  else
932
939
  appearance = Appearances.Light;
933
940
  if (appearance !== appearanceRef)
934
- onChangeSubscriptionManager$5.emit(appearanceRef = appearance);
941
+ onChangeSubscriptionManager$4.emit(appearanceRef = appearance);
935
942
  }
936
943
 
937
944
  function isSecureContext() {
@@ -1348,9 +1355,20 @@ function cleanupPaste(div, onPaste) {
1348
1355
 
1349
1356
  var Orientation;
1350
1357
  (function (Orientation) {
1351
- Orientation["Portrait"] = "portrait";
1352
- Orientation["Landscape"] = "landscape";
1353
- Orientation["Unknown"] = "unknown";
1358
+ Orientation["PortraitPrimary"] = "portrait-primary";
1359
+ Orientation["PortraitSecondary"] = "portrait-secondary";
1360
+ Orientation["LandscapePrimary"] = "landscape-primary";
1361
+ Orientation["LandscapeSecondary"] = "landscape-secondary";
1362
+ })(Orientation || (Orientation = {}));
1363
+ (function (Orientation) {
1364
+ function isLandscape(orientation) {
1365
+ return orientation === Orientation.LandscapePrimary || orientation === Orientation.LandscapeSecondary;
1366
+ }
1367
+ Orientation.isLandscape = isLandscape;
1368
+ function isPortrait(orientation) {
1369
+ return orientation === Orientation.PortraitPrimary || orientation === Orientation.PortraitSecondary;
1370
+ }
1371
+ Orientation.isPortrait = isPortrait;
1354
1372
  })(Orientation || (Orientation = {}));
1355
1373
  var ENV_PRESETS = {
1356
1374
  'safe-area-inset': {
@@ -1473,7 +1491,6 @@ function createViewportSegmentObserver() {
1473
1491
  var segmentMediaQueryLists = [];
1474
1492
  var previousSegments = null;
1475
1493
  function attachCSSFallbackListeners() {
1476
- EventListener.add(globalThis, { type: 'resize', callback: onSegmentChange });
1477
1494
  segmentMediaQueryLists = buildSegmentMediaQueryLists();
1478
1495
  for (var i = 0; i < segmentMediaQueryLists.length; i++)
1479
1496
  EventListener.add(segmentMediaQueryLists[i], { type: 'change', callback: onSegmentChange });
@@ -1481,50 +1498,53 @@ function createViewportSegmentObserver() {
1481
1498
  EventListener.add(DEVICE_POSTURE_MEDIA_QUERY_LIST, { type: 'change', callback: onSegmentChange });
1482
1499
  }
1483
1500
  function detachCSSFallbackListeners() {
1484
- EventListener.remove(globalThis, { type: 'resize', callback: onSegmentChange });
1485
1501
  for (var i = 0; i < segmentMediaQueryLists.length; i++)
1486
1502
  EventListener.remove(segmentMediaQueryLists[i], { type: 'change', callback: onSegmentChange });
1487
1503
  segmentMediaQueryLists = [];
1488
1504
  if (DEVICE_POSTURE_MEDIA_QUERY_LIST.media !== 'not all')
1489
1505
  EventListener.remove(DEVICE_POSTURE_MEDIA_QUERY_LIST, { type: 'change', callback: onSegmentChange });
1490
1506
  }
1507
+ function attachDevicePostureChangeListener() {
1508
+ if (hasDevicePosture)
1509
+ EventListener.add(devicePosture, { type: 'change', callback: onSegmentChange });
1510
+ attachCSSFallbackListeners();
1511
+ }
1512
+ function detachDevicePostureChangeListener() {
1513
+ if (hasDevicePosture)
1514
+ EventListener.remove(devicePosture, { type: 'change', callback: onSegmentChange });
1515
+ detachCSSFallbackListeners();
1516
+ }
1517
+ function attachVisualViewportResizeListener() {
1518
+ EventListener.add(visualViewport, { type: 'resize', callback: onSegmentChange, options: { passive: true } });
1519
+ }
1520
+ function detachVisualViewportResizeListener() {
1521
+ EventListener.remove(visualViewport, { type: 'resize', callback: onSegmentChange, options: { passive: true } });
1522
+ }
1491
1523
  function attachOnChange() {
1524
+ EventListener.add(globalThis, { type: 'resize', callback: onSegmentChange });
1492
1525
  if (hasSegmentsAPI) {
1493
- if (hasDevicePosture) {
1494
- EventListener.add(devicePosture, { type: 'change', callback: onSegmentChange });
1495
- EventListener.add(globalThis, { type: 'resize', callback: onSegmentChange });
1496
- }
1497
- else {
1498
- attachCSSFallbackListeners();
1499
- }
1526
+ attachDevicePostureChangeListener();
1500
1527
  }
1501
1528
  else if (hasLegacySegmentsAPI) {
1502
- EventListener.add(visualViewport, { type: 'resize', callback: onSegmentChange, options: { passive: true } });
1503
- if (hasSegmentsAPI)
1504
- EventListener.add(devicePosture, { type: 'change', callback: onSegmentChange });
1529
+ attachVisualViewportResizeListener();
1530
+ attachDevicePostureChangeListener();
1505
1531
  }
1506
1532
  else {
1507
1533
  getOrCreateCachedDiv();
1508
- attachCSSFallbackListeners();
1534
+ attachVisualViewportResizeListener();
1509
1535
  }
1510
1536
  }
1511
1537
  function detachOnChange() {
1538
+ EventListener.remove(globalThis, { type: 'resize', callback: onSegmentChange });
1512
1539
  if (hasSegmentsAPI) {
1513
- if (hasDevicePosture) {
1514
- EventListener.remove(devicePosture, { type: 'change', callback: onSegmentChange });
1515
- EventListener.remove(globalThis, { type: 'resize', callback: onSegmentChange });
1516
- }
1517
- else {
1518
- detachCSSFallbackListeners();
1519
- }
1540
+ detachDevicePostureChangeListener();
1520
1541
  }
1521
1542
  else if (hasLegacySegmentsAPI) {
1522
- EventListener.remove(visualViewport, { type: 'resize', callback: onSegmentChange, options: { passive: true } });
1523
- if (hasSegmentsAPI)
1524
- EventListener.remove(devicePosture, { type: 'change', callback: onSegmentChange });
1543
+ detachVisualViewportResizeListener();
1544
+ detachDevicePostureChangeListener();
1525
1545
  }
1526
1546
  else {
1527
- detachCSSFallbackListeners();
1547
+ detachVisualViewportResizeListener();
1528
1548
  releaseDiv();
1529
1549
  }
1530
1550
  }
@@ -1676,7 +1696,7 @@ function createViewportSegmentObserver() {
1676
1696
  function applySegments(segments) {
1677
1697
  for (var i = segments.length; i < lastCount; i++) {
1678
1698
  for (var j = 0; j < attributes.length; j++) {
1679
- element.style.removeProperty("--".concat(prefix, "-").concat(i, "-").concat(attributes[j]));
1699
+ element.style.removeProperty('--' + prefix + '-' + i + '-' + attributes[j]);
1680
1700
  }
1681
1701
  }
1682
1702
  lastCount = segments.length;
@@ -1684,7 +1704,7 @@ function createViewportSegmentObserver() {
1684
1704
  var segment = segments[i];
1685
1705
  for (var j = 0; j < attributes.length; j++) {
1686
1706
  var attribute = attributes[j];
1687
- element.style.setProperty("--".concat(prefix, "-").concat(i, "-").concat(attribute), segment[attribute] + 'px');
1707
+ element.style.setProperty('--' + prefix + '-' + i + '-' + attribute, segment[attribute] + 'px');
1688
1708
  }
1689
1709
  }
1690
1710
  }
@@ -1696,7 +1716,7 @@ function createViewportSegmentObserver() {
1696
1716
  unsubscribe();
1697
1717
  for (var i = 0; i < lastCount; i++)
1698
1718
  for (var j = 0; j < attributes.length; j++)
1699
- element.style.removeProperty("--".concat(prefix, "-").concat(i, "-").concat(attributes[j]));
1719
+ element.style.removeProperty('--' + prefix + '-' + i + '-' + attributes[j]);
1700
1720
  lastCount = 0;
1701
1721
  };
1702
1722
  }
@@ -1710,15 +1730,11 @@ function createViewportSegmentObserver() {
1710
1730
  }
1711
1731
  function createVirtualKeyboardObserver() {
1712
1732
  var onChangeSubscriptionManager = createSubscriptionManager(attachOnChange, detachOnChange);
1713
- var previousOverlaysContent = false;
1714
1733
  function attachOnChange() {
1715
- previousOverlaysContent = globalThis.navigator.virtualKeyboard.overlaysContent;
1716
- globalThis.navigator.virtualKeyboard.overlaysContent = true;
1717
1734
  EventListener.add(globalThis.navigator.virtualKeyboard, { type: 'geometrychange', callback: onGeometryChange, options: { passive: true } });
1718
1735
  }
1719
1736
  function detachOnChange() {
1720
1737
  EventListener.remove(globalThis.navigator.virtualKeyboard, { type: 'geometrychange', callback: onGeometryChange, options: { passive: true } });
1721
- globalThis.navigator.virtualKeyboard.overlaysContent = previousOverlaysContent;
1722
1738
  }
1723
1739
  function onGeometryChange() {
1724
1740
  onChangeSubscriptionManager.emit(getValue());
@@ -1756,7 +1772,7 @@ function createVirtualKeyboardObserver() {
1756
1772
  function applyValues(values) {
1757
1773
  for (var i = 0; i < attributes.length; i++) {
1758
1774
  var attribute = attributes[i];
1759
- element.style.setProperty("--".concat(prefix, "-").concat(attribute), values[attribute] + 'px');
1775
+ element.style.setProperty('--' + prefix + '-' + attribute, values[attribute] + 'px');
1760
1776
  }
1761
1777
  }
1762
1778
  applyValues(getValue());
@@ -1766,7 +1782,7 @@ function createVirtualKeyboardObserver() {
1766
1782
  return function () {
1767
1783
  unsubscribe();
1768
1784
  for (var i = 0; i < attributes.length; i++)
1769
- element.style.removeProperty("--".concat(prefix, "-").concat(attributes[i]));
1785
+ element.style.removeProperty('--' + prefix + '-' + attributes[i]);
1770
1786
  };
1771
1787
  }
1772
1788
  return {
@@ -1955,7 +1971,7 @@ function createEnvironmentObserver(preset) {
1955
1971
  function applyValues(values) {
1956
1972
  for (var i = 0; i < attributes.length; i++) {
1957
1973
  var attribute = attributes[i];
1958
- element.style.setProperty("--".concat(prefix, "-").concat(String(attribute)), values[attribute] + 'px');
1974
+ element.style.setProperty('--' + prefix + '-' + String(attributes[i]), values[attribute] + 'px');
1959
1975
  }
1960
1976
  }
1961
1977
  var unsubscribe = onChangeSubscriptionManager.subscribe(function (values) {
@@ -1965,7 +1981,7 @@ function createEnvironmentObserver(preset) {
1965
1981
  return function () {
1966
1982
  unsubscribe();
1967
1983
  for (var i = 0; i < attributes.length; i++)
1968
- element.style.removeProperty("--".concat(prefix, "-").concat(String(attributes[i])));
1984
+ element.style.removeProperty('--' + prefix + '-' + String(attributes[i]));
1969
1985
  };
1970
1986
  }
1971
1987
  return {
@@ -1987,109 +2003,6 @@ function createEnvironmentObserver(preset) {
1987
2003
  };
1988
2004
  }
1989
2005
 
1990
- var safeAreaInsetObserver = createEnvironmentObserver('safe-area-inset');
1991
- var safeAreaMaxInsetObserver = createEnvironmentObserver('safe-area-max-inset');
1992
- var keyboardInsetObserver = createEnvironmentObserver('keyboard-inset');
1993
- var titlebarAreaObserver = createEnvironmentObserver('titlebar-area');
1994
- var viewportSegmentObserver = createEnvironmentObserver('viewport-segment');
1995
- var onChangeSubscriptionManager$4 = createSubscriptionManager(attachOnChange$4, detachOnChange$4);
1996
- var dimensionRef = null;
1997
- var Dimension = {
1998
- get value() {
1999
- return getDimension();
2000
- },
2001
- environment: getEnvironment(),
2002
- onChange: onChangeSubscriptionManager$4.subscribe,
2003
- Constants: {
2004
- Orientation: Orientation,
2005
- },
2006
- Errors: {},
2007
- };
2008
- function getOrientation() {
2009
- if (typeof globalThis.screen !== 'undefined') {
2010
- switch (globalThis.screen.orientation.type) {
2011
- case 'portrait-primary':
2012
- case 'portrait-secondary':
2013
- return Orientation.Portrait;
2014
- case 'landscape-primary':
2015
- case 'landscape-secondary':
2016
- return Orientation.Landscape;
2017
- }
2018
- }
2019
- if (typeof globalThis.orientation !== 'undefined') {
2020
- switch (globalThis.orientation) {
2021
- case 0:
2022
- case 180:
2023
- return Orientation.Portrait;
2024
- case 90:
2025
- case 270:
2026
- return Orientation.Landscape;
2027
- }
2028
- }
2029
- if (ORIENTATION_MEDIA_QUERY_LIST.media === 'not all')
2030
- return Orientation.Unknown;
2031
- else if (ORIENTATION_MEDIA_QUERY_LIST.matches)
2032
- return Orientation.Portrait;
2033
- else
2034
- return Orientation.Landscape;
2035
- }
2036
- function getScale() {
2037
- if (typeof globalThis.devicePixelRatio !== 'undefined')
2038
- return globalThis.devicePixelRatio;
2039
- return -1;
2040
- }
2041
- function getEnvironment() {
2042
- return {
2043
- safeAreaInset: safeAreaInsetObserver,
2044
- safeAreaMaxInset: safeAreaMaxInsetObserver,
2045
- keyboardInset: keyboardInsetObserver,
2046
- titlebarArea: titlebarAreaObserver,
2047
- viewportSegment: viewportSegmentObserver,
2048
- };
2049
- }
2050
- function getDimension() {
2051
- var dimensions = {
2052
- innerWidth: 0,
2053
- innerHeight: 0,
2054
- outerWidth: 0,
2055
- outerHeight: 0,
2056
- scale: getScale(),
2057
- orientation: getOrientation(),
2058
- };
2059
- if (typeof globalThis.innerWidth !== 'undefined') {
2060
- dimensions.innerWidth = globalThis.innerWidth;
2061
- dimensions.innerHeight = globalThis.innerHeight;
2062
- dimensions.outerWidth = globalThis.outerWidth;
2063
- dimensions.outerHeight = globalThis.outerHeight;
2064
- }
2065
- return dimensions;
2066
- }
2067
- function attachOnChange$4() {
2068
- dimensionRef = getDimension();
2069
- EventListener.add(globalThis, { type: 'resize', callback: onResize });
2070
- if (typeof globalThis.screen.orientation.addEventListener === 'function')
2071
- EventListener.add(globalThis.screen.orientation, { type: 'change', callback: onResize });
2072
- else if (typeof globalThis.orientation !== 'undefined')
2073
- EventListener.add(globalThis, { type: 'orientationChange', callback: onResize });
2074
- else if (ORIENTATION_MEDIA_QUERY_LIST.media !== 'not all')
2075
- EventListener.add(ORIENTATION_MEDIA_QUERY_LIST, { type: 'change', callback: onResize });
2076
- }
2077
- function detachOnChange$4() {
2078
- dimensionRef = null;
2079
- EventListener.remove(globalThis, { type: 'resize', callback: onResize });
2080
- if (typeof globalThis.screen.orientation.removeEventListener === 'function')
2081
- EventListener.remove(globalThis.screen.orientation, { type: 'change', callback: onResize });
2082
- else if (typeof globalThis.orientation !== 'undefined')
2083
- EventListener.remove(globalThis, { type: 'orientationChange', callback: onResize });
2084
- else if (ORIENTATION_MEDIA_QUERY_LIST.media !== 'not all')
2085
- EventListener.remove(ORIENTATION_MEDIA_QUERY_LIST, { type: 'change', callback: onResize });
2086
- }
2087
- function onResize() {
2088
- var dimension = getDimension();
2089
- if (dimensionRef === null || dimension.innerWidth !== dimensionRef.innerWidth || dimension.innerHeight !== dimensionRef.innerHeight || dimension.outerWidth !== dimensionRef.outerWidth || dimension.outerHeight !== dimensionRef.outerHeight || dimension.scale !== dimensionRef.scale || dimension.orientation !== dimensionRef.orientation)
2090
- onChangeSubscriptionManager$4.emit(dimensionRef = dimension);
2091
- }
2092
-
2093
2006
  function createCustomError(name, Base) {
2094
2007
  if (Base === void 0) { Base = Error; }
2095
2008
  function CustomError(message) {
@@ -2172,8 +2085,248 @@ function createCustomError(name, Base) {
2172
2085
  return CustomError;
2173
2086
  }
2174
2087
 
2088
+ var PermissionNotGrantedError = createCustomError('PermissionNotGrantedError');
2089
+
2175
2090
  var NotSupportedError = createCustomError('NotSupportedError');
2176
2091
 
2092
+ var safeAreaInsetObserver = createEnvironmentObserver('safe-area-inset');
2093
+ var safeAreaMaxInsetObserver = createEnvironmentObserver('safe-area-max-inset');
2094
+ var keyboardInsetObserver = createEnvironmentObserver('keyboard-inset');
2095
+ var titlebarAreaObserver = createEnvironmentObserver('titlebar-area');
2096
+ var viewportSegmentObserver = createEnvironmentObserver('viewport-segment');
2097
+ var onDimensionChangeSubscriptionManager = createSubscriptionManager(attachOnDimensionChange, detachOnDimensionChange);
2098
+ var onScreenOrientationChangeSubscriptionManager = createSubscriptionManager(attachOnScreenOrientationChange, detachOnScreenOrientationChange);
2099
+ var onDeviceOrientationChangeSubscriptionManager = createSubscriptionManager(attachOnDeviceOrientationChange, detachOnDeviceOrientationChange);
2100
+ var dimensionRef = null;
2101
+ var screenOrientationRef = null;
2102
+ var deviceOrientationRef = null;
2103
+ var Dimension = {
2104
+ get value() {
2105
+ return getDimension();
2106
+ },
2107
+ environment: getEnvironment(),
2108
+ screenOrientation: getScreenOrientation(),
2109
+ deviceOrientation: getDeviceOrientation(),
2110
+ onChange: onDimensionChangeSubscriptionManager.subscribe,
2111
+ Constants: {
2112
+ Orientation: Orientation,
2113
+ },
2114
+ Errors: {
2115
+ NotSupportedError: NotSupportedError,
2116
+ PermissionNotGrantedError: PermissionNotGrantedError,
2117
+ },
2118
+ };
2119
+ function getOrientation() {
2120
+ if (typeof globalThis.screen !== 'undefined' && typeof globalThis.screen.orientation !== 'undefined' && typeof globalThis.screen.orientation.type !== 'undefined') {
2121
+ switch (globalThis.screen.orientation.type) {
2122
+ case 'portrait-primary':
2123
+ return Orientation.PortraitPrimary;
2124
+ case 'portrait-secondary':
2125
+ return Orientation.PortraitSecondary;
2126
+ case 'landscape-primary':
2127
+ return Orientation.LandscapePrimary;
2128
+ case 'landscape-secondary':
2129
+ return Orientation.LandscapeSecondary;
2130
+ }
2131
+ }
2132
+ if (typeof globalThis.orientation !== 'undefined') {
2133
+ switch (globalThis.orientation) {
2134
+ case 0:
2135
+ return Orientation.PortraitPrimary;
2136
+ case 180:
2137
+ return Orientation.PortraitSecondary;
2138
+ case 90:
2139
+ return Orientation.LandscapePrimary;
2140
+ case -90:
2141
+ case 270:
2142
+ return Orientation.LandscapeSecondary;
2143
+ }
2144
+ }
2145
+ if (ORIENTATION_MEDIA_QUERY_LIST.media === 'not all')
2146
+ throw new NotSupportedError('\'screen.orientation\', \'window.orientation\', and the orientation media query are all unsupported');
2147
+ if (ORIENTATION_MEDIA_QUERY_LIST.matches)
2148
+ return Orientation.PortraitPrimary;
2149
+ else
2150
+ return Orientation.LandscapePrimary;
2151
+ }
2152
+ function getScale() {
2153
+ if (typeof globalThis.devicePixelRatio !== 'undefined')
2154
+ return globalThis.devicePixelRatio;
2155
+ return -1;
2156
+ }
2157
+ function getEnvironment() {
2158
+ return {
2159
+ safeAreaInset: safeAreaInsetObserver,
2160
+ safeAreaMaxInset: safeAreaMaxInsetObserver,
2161
+ keyboardInset: keyboardInsetObserver,
2162
+ titlebarArea: titlebarAreaObserver,
2163
+ viewportSegment: viewportSegmentObserver,
2164
+ };
2165
+ }
2166
+ function getScreenOrientation() {
2167
+ return {
2168
+ get supported() {
2169
+ return screenOrientationSupported();
2170
+ },
2171
+ get value() {
2172
+ return getOrientation();
2173
+ },
2174
+ onChange: onScreenOrientationChangeSubscriptionManager.subscribe,
2175
+ };
2176
+ }
2177
+ function getDeviceOrientation() {
2178
+ return {
2179
+ get supported() {
2180
+ return deviceOrientationSupported();
2181
+ },
2182
+ get value() {
2183
+ return getDeviceOrientationValue();
2184
+ },
2185
+ onChange: onDeviceOrientationChangeSubscriptionManager.subscribe,
2186
+ };
2187
+ }
2188
+ function getDimension() {
2189
+ var innerWidth = 0;
2190
+ var innerHeight = 0;
2191
+ var outerWidth = 0;
2192
+ var outerHeight = 0;
2193
+ var scale = getScale();
2194
+ if (typeof globalThis.innerWidth !== 'undefined') {
2195
+ innerWidth = globalThis.innerWidth;
2196
+ innerHeight = globalThis.innerHeight;
2197
+ outerWidth = globalThis.outerWidth;
2198
+ outerHeight = globalThis.outerHeight;
2199
+ }
2200
+ return {
2201
+ innerWidth: innerWidth,
2202
+ innerHeight: innerHeight,
2203
+ outerWidth: outerWidth,
2204
+ outerHeight: outerHeight,
2205
+ scale: scale,
2206
+ };
2207
+ }
2208
+ function attachOnDimensionChange() {
2209
+ dimensionRef = getDimension();
2210
+ EventListener.add(globalThis, { type: 'resize', callback: onDimensionChange });
2211
+ }
2212
+ function detachOnDimensionChange() {
2213
+ dimensionRef = null;
2214
+ EventListener.remove(globalThis, { type: 'resize', callback: onDimensionChange });
2215
+ }
2216
+ function onDimensionChange() {
2217
+ var dimension = getDimension();
2218
+ if (dimensionRef === null || dimension.innerWidth !== dimensionRef.innerWidth || dimension.innerHeight !== dimensionRef.innerHeight || dimension.outerWidth !== dimensionRef.outerWidth || dimension.outerHeight !== dimensionRef.outerHeight || dimension.scale !== dimensionRef.scale)
2219
+ onDimensionChangeSubscriptionManager.emit(dimensionRef = dimension);
2220
+ }
2221
+ function screenOrientationSupported() {
2222
+ if (typeof globalThis.screen !== 'undefined' && typeof globalThis.screen.orientation !== 'undefined' && typeof globalThis.screen.orientation.type !== 'undefined')
2223
+ return true;
2224
+ if (typeof globalThis.orientation !== 'undefined')
2225
+ return true;
2226
+ return ORIENTATION_MEDIA_QUERY_LIST.media !== 'not all';
2227
+ }
2228
+ function attachOnScreenOrientationChange() {
2229
+ if (typeof globalThis.screen !== 'undefined' && typeof globalThis.screen.orientation !== 'undefined' && typeof globalThis.screen.orientation.addEventListener === 'function')
2230
+ return EventListener.add(globalThis.screen.orientation, {
2231
+ type: 'change',
2232
+ callback: onScreenOrientationChange
2233
+ });
2234
+ else if (typeof globalThis.orientation !== 'undefined')
2235
+ return EventListener.add(globalThis, { type: 'orientationchange', callback: onScreenOrientationChange });
2236
+ else if (ORIENTATION_MEDIA_QUERY_LIST.media !== 'not all')
2237
+ return EventListener.add(ORIENTATION_MEDIA_QUERY_LIST, { type: 'change', callback: onScreenOrientationChange });
2238
+ throw new NotSupportedError('\'screen.orientation\', \'window.orientation\', and the orientation media query are all unsupported');
2239
+ }
2240
+ function detachOnScreenOrientationChange() {
2241
+ if (typeof globalThis.screen !== 'undefined' && typeof globalThis.screen.orientation !== 'undefined' && typeof globalThis.screen.orientation.removeEventListener === 'function')
2242
+ return EventListener.remove(globalThis.screen.orientation, {
2243
+ type: 'change',
2244
+ callback: onScreenOrientationChange
2245
+ });
2246
+ else if (typeof globalThis.orientation !== 'undefined')
2247
+ return EventListener.remove(globalThis, { type: 'orientationchange', callback: onScreenOrientationChange });
2248
+ else if (ORIENTATION_MEDIA_QUERY_LIST.media !== 'not all')
2249
+ return EventListener.remove(ORIENTATION_MEDIA_QUERY_LIST, { type: 'change', callback: onScreenOrientationChange });
2250
+ throw new NotSupportedError('\'screen.orientation\', \'window.orientation\', and the orientation media query are all unsupported');
2251
+ }
2252
+ function onScreenOrientationChange() {
2253
+ var orientation = getOrientation();
2254
+ if (screenOrientationRef === null || orientation !== screenOrientationRef)
2255
+ onScreenOrientationChangeSubscriptionManager.emit(screenOrientationRef = orientation);
2256
+ }
2257
+ function deviceOrientationSupported() {
2258
+ return typeof globalThis.DeviceOrientationEvent !== 'undefined';
2259
+ }
2260
+ function attachOnDeviceOrientationChange() {
2261
+ return new Promise(function (resolve, reject) {
2262
+ if (!deviceOrientationSupported())
2263
+ return reject(new NotSupportedError('\'window.DeviceOrientationEvent\' does not supported.'));
2264
+ var DeviceOrientationEventWithPermission = DeviceOrientationEvent;
2265
+ if (typeof DeviceOrientationEventWithPermission.requestPermission === 'function') {
2266
+ DeviceOrientationEventWithPermission.requestPermission().then(function (permission) {
2267
+ if (permission === 'granted') {
2268
+ EventListener.add(globalThis, { type: 'deviceorientation', callback: onDeviceOrientationChange });
2269
+ return resolve();
2270
+ }
2271
+ return reject(new PermissionNotGrantedError('\'deviceorientation\' permission is not granted.'));
2272
+ }).catch(function (_) {
2273
+ return reject(new NotSupportedError('\'window.DeviceOrientationEvent\' does not supported.'));
2274
+ });
2275
+ }
2276
+ else {
2277
+ EventListener.add(globalThis, { type: 'deviceorientation', callback: onDeviceOrientationChange });
2278
+ return resolve();
2279
+ }
2280
+ });
2281
+ }
2282
+ function detachOnDeviceOrientationChange() {
2283
+ EventListener.remove(globalThis, { type: 'deviceorientation', callback: onDeviceOrientationChange });
2284
+ }
2285
+ function onDeviceOrientationChange(event) {
2286
+ deviceOrientationRef = {
2287
+ alpha: event.alpha,
2288
+ beta: event.beta,
2289
+ gamma: event.gamma,
2290
+ absolute: event.absolute,
2291
+ };
2292
+ onDeviceOrientationChangeSubscriptionManager.emit(deviceOrientationRef);
2293
+ }
2294
+ function getDeviceOrientationValue() {
2295
+ return new Promise(function (resolve, reject) {
2296
+ if (deviceOrientationRef !== null)
2297
+ return resolve(deviceOrientationRef);
2298
+ if (!deviceOrientationSupported())
2299
+ return reject(new NotSupportedError('\'window.DeviceOrientationEvent\' does not supported.'));
2300
+ var DeviceOrientationEventWithPermission = DeviceOrientationEvent;
2301
+ var callback = function (event) {
2302
+ var value = {
2303
+ alpha: event.alpha,
2304
+ beta: event.beta,
2305
+ gamma: event.gamma,
2306
+ absolute: event.absolute,
2307
+ };
2308
+ deviceOrientationRef = value;
2309
+ EventListener.remove(globalThis, { type: 'deviceorientation', callback: callback });
2310
+ return resolve(value);
2311
+ };
2312
+ if (typeof DeviceOrientationEventWithPermission.requestPermission === 'function') {
2313
+ DeviceOrientationEventWithPermission.requestPermission().then(function (permission) {
2314
+ if (permission === 'granted') {
2315
+ EventListener.add(globalThis, { type: 'deviceorientation', callback: callback });
2316
+ return;
2317
+ }
2318
+ return reject(new PermissionNotGrantedError('\'deviceorientation\' permission is not granted.'));
2319
+ }).catch(function (_) {
2320
+ return reject(new NotSupportedError('\'window.DeviceOrientationEvent\' does not supported.'));
2321
+ });
2322
+ }
2323
+ else {
2324
+ EventListener.add(globalThis, { type: 'deviceorientation', callback: callback });
2325
+ return;
2326
+ }
2327
+ });
2328
+ }
2329
+
2177
2330
  var InvalidStateError = createCustomError('InvalidStateError');
2178
2331
 
2179
2332
  var videoElement$1 = null;
@@ -2578,6 +2731,8 @@ var PermissionType;
2578
2731
  PermissionType["ClipboardRead"] = "clipboard-read";
2579
2732
  PermissionType["Microphone"] = "microphone";
2580
2733
  PermissionType["MIDI"] = "midi";
2734
+ PermissionType["DeviceOrientation"] = "device-orientation";
2735
+ PermissionType["DeviceMotion"] = "device-motion";
2581
2736
  })(PermissionType || (PermissionType = {}));
2582
2737
  var PermissionState;
2583
2738
  (function (PermissionState) {
@@ -2619,14 +2774,45 @@ var Permission = {
2619
2774
  PermissionType: PermissionType,
2620
2775
  PermissionState: PermissionState,
2621
2776
  },
2622
- Errors: {},
2777
+ Errors: {
2778
+ NotSupportedError: NotSupportedError,
2779
+ },
2623
2780
  };
2781
+ function toPermissionState(permission) {
2782
+ switch (permission) {
2783
+ case 'granted':
2784
+ return PermissionState.Grant;
2785
+ case 'denied':
2786
+ return PermissionState.Denied;
2787
+ case 'prompt':
2788
+ case 'default':
2789
+ return PermissionState.Prompt;
2790
+ default:
2791
+ return PermissionState.Unsupported;
2792
+ }
2793
+ }
2794
+ function toSafariSensorEventMap(type) {
2795
+ switch (type) {
2796
+ case PermissionType.DeviceOrientation:
2797
+ return {
2798
+ event: globalThis.DeviceOrientationEvent,
2799
+ type: 'deviceorientation',
2800
+ };
2801
+ case PermissionType.DeviceMotion:
2802
+ return {
2803
+ event: globalThis.DeviceMotionEvent,
2804
+ type: 'devicemotion',
2805
+ };
2806
+ default:
2807
+ return undefined;
2808
+ }
2809
+ }
2624
2810
  function supported$5() {
2625
2811
  return typeof globalThis.navigator.permissions !== 'undefined';
2626
2812
  }
2627
2813
  function request$2(type) {
2628
2814
  var instance = this;
2629
- return new Promise(function (resolve) {
2815
+ return new Promise(function (resolve, reject) {
2630
2816
  function resolveAfterCheck() {
2631
2817
  instance.check(type).then(resolve);
2632
2818
  }
@@ -2638,17 +2824,8 @@ function request$2(type) {
2638
2824
  case PermissionType.Notification:
2639
2825
  if (typeof globalThis.Notification === 'undefined')
2640
2826
  return resolve(PermissionState.Unsupported);
2641
- globalThis.Notification.requestPermission().then(function (value) {
2642
- switch (value) {
2643
- case 'default':
2644
- return resolve(PermissionState.Prompt);
2645
- case 'granted':
2646
- return resolve(PermissionState.Grant);
2647
- case 'denied':
2648
- return resolve(PermissionState.Denied);
2649
- default:
2650
- resolveAfterCheck();
2651
- }
2827
+ globalThis.Notification.requestPermission().then(function (permission) {
2828
+ resolve(toPermissionState(permission));
2652
2829
  });
2653
2830
  break;
2654
2831
  case PermissionType.Geolocation:
@@ -2686,6 +2863,23 @@ function request$2(type) {
2686
2863
  .then(resolveAfterCheck)
2687
2864
  .catch(resolveAfterCheck);
2688
2865
  break;
2866
+ case PermissionType.DeviceOrientation:
2867
+ case PermissionType.DeviceMotion:
2868
+ var sensorEventMap = toSafariSensorEventMap(type);
2869
+ if (typeof sensorEventMap === 'undefined' || typeof sensorEventMap.event === 'undefined')
2870
+ return resolve(PermissionState.Unsupported);
2871
+ if (typeof sensorEventMap.event.requestPermission !== 'function')
2872
+ return resolve(PermissionState.Grant);
2873
+ try {
2874
+ sensorEventMap.event.requestPermission()
2875
+ .then(function (permission) {
2876
+ resolve(toPermissionState(permission));
2877
+ });
2878
+ }
2879
+ catch (_) {
2880
+ return reject(new NotSupportedError('\'DeviceOrientationEvent.requestPermission()\' must be called within a user gesture context.'));
2881
+ }
2882
+ break;
2689
2883
  default:
2690
2884
  return resolve(PermissionState.Unsupported);
2691
2885
  }
@@ -2693,6 +2887,34 @@ function request$2(type) {
2693
2887
  });
2694
2888
  }
2695
2889
  function check(type) {
2890
+ if (type === PermissionType.DeviceOrientation || type === PermissionType.DeviceMotion) {
2891
+ return new Promise(function (resolve) {
2892
+ var sensorEventMap = toSafariSensorEventMap(type);
2893
+ if (typeof sensorEventMap === 'undefined' || typeof sensorEventMap.event === 'undefined')
2894
+ return resolve(PermissionState.Unsupported);
2895
+ if (typeof sensorEventMap.event.requestPermission !== 'function')
2896
+ return resolve(PermissionState.Grant);
2897
+ var granted = false;
2898
+ EventListener.add(globalThis, {
2899
+ type: sensorEventMap.type,
2900
+ callback: function () {
2901
+ granted = true;
2902
+ },
2903
+ options: { once: true }
2904
+ });
2905
+ setTimeout(function () {
2906
+ if (granted)
2907
+ return resolve(PermissionState.Grant);
2908
+ sensorEventMap.event.requestPermission()
2909
+ .then(function (permission) {
2910
+ resolve(toPermissionState(permission));
2911
+ })
2912
+ .catch(function () {
2913
+ resolve(PermissionState.Prompt);
2914
+ });
2915
+ }, 50);
2916
+ });
2917
+ }
2696
2918
  return new Promise(function (resolve) {
2697
2919
  if (typeof globalThis.navigator.permissions === 'undefined')
2698
2920
  return resolve(PermissionState.Unsupported);
@@ -2712,8 +2934,6 @@ function check(type) {
2712
2934
  });
2713
2935
  }
2714
2936
 
2715
- var PermissionNotGrantedError = createCustomError('PermissionNotGrantedError');
2716
-
2717
2937
  function request$1(url, options) {
2718
2938
  return new Promise(function (resolve) {
2719
2939
  var method = 'GET';