@tarojs/taro-h5 3.6.7 → 3.6.9-alpha.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 (241) hide show
  1. package/dist/api/ad/index.js +2 -2
  2. package/dist/api/ad/index.js.map +1 -1
  3. package/dist/api/ai/facial.js +3 -3
  4. package/dist/api/ai/facial.js.map +1 -1
  5. package/dist/api/ai/visual.js +2 -2
  6. package/dist/api/ai/visual.js.map +1 -1
  7. package/dist/api/alipay/index.js +1 -1
  8. package/dist/api/alipay/index.js.map +1 -1
  9. package/dist/api/base/crypto.js +1 -1
  10. package/dist/api/base/crypto.js.map +1 -1
  11. package/dist/api/base/debug.js +3 -3
  12. package/dist/api/base/debug.js.map +1 -1
  13. package/dist/api/base/index.d.ts +1 -2
  14. package/dist/api/base/index.js +3 -3
  15. package/dist/api/base/index.js.map +1 -1
  16. package/dist/api/base/performance.js +2 -2
  17. package/dist/api/base/performance.js.map +1 -1
  18. package/dist/api/base/system.js +2 -2
  19. package/dist/api/base/system.js.map +1 -1
  20. package/dist/api/base/update.js +2 -2
  21. package/dist/api/base/update.js.map +1 -1
  22. package/dist/api/base/weapp/app-event.js +7 -8
  23. package/dist/api/base/weapp/app-event.js.map +1 -1
  24. package/dist/api/canvas/CanvasContext.d.ts +2 -1
  25. package/dist/api/canvas/CanvasContext.js.map +1 -1
  26. package/dist/api/canvas/index.js +1 -1
  27. package/dist/api/canvas/index.js.map +1 -1
  28. package/dist/api/data-analysis/index.js +4 -4
  29. package/dist/api/data-analysis/index.js.map +1 -1
  30. package/dist/api/device/accelerometer.js +1 -2
  31. package/dist/api/device/accelerometer.js.map +1 -1
  32. package/dist/api/device/accessibility.js +1 -1
  33. package/dist/api/device/accessibility.js.map +1 -1
  34. package/dist/api/device/battery.js +1 -1
  35. package/dist/api/device/battery.js.map +1 -1
  36. package/dist/api/device/bluetooth-ble.js +16 -16
  37. package/dist/api/device/bluetooth-ble.js.map +1 -1
  38. package/dist/api/device/bluetooth-peripheral.js +3 -3
  39. package/dist/api/device/bluetooth-peripheral.js.map +1 -1
  40. package/dist/api/device/bluetooth.js +13 -13
  41. package/dist/api/device/bluetooth.js.map +1 -1
  42. package/dist/api/device/calendar.d.ts +3 -2
  43. package/dist/api/device/calendar.js +142 -3
  44. package/dist/api/device/calendar.js.map +1 -1
  45. package/dist/api/device/compass.js +1 -2
  46. package/dist/api/device/compass.js.map +1 -1
  47. package/dist/api/device/contact.js +2 -2
  48. package/dist/api/device/contact.js.map +1 -1
  49. package/dist/api/device/crypto.js +1 -1
  50. package/dist/api/device/crypto.js.map +1 -1
  51. package/dist/api/device/gyroscope.js +4 -4
  52. package/dist/api/device/gyroscope.js.map +1 -1
  53. package/dist/api/device/iBeacon.js +7 -7
  54. package/dist/api/device/iBeacon.js.map +1 -1
  55. package/dist/api/device/keyboard.js +4 -4
  56. package/dist/api/device/keyboard.js.map +1 -1
  57. package/dist/api/device/memory.js +2 -2
  58. package/dist/api/device/memory.js.map +1 -1
  59. package/dist/api/device/motion.js +1 -2
  60. package/dist/api/device/motion.js.map +1 -1
  61. package/dist/api/device/network.js +3 -3
  62. package/dist/api/device/network.js.map +1 -1
  63. package/dist/api/device/nfc.js +7 -7
  64. package/dist/api/device/nfc.js.map +1 -1
  65. package/dist/api/device/scan.js +1 -1
  66. package/dist/api/device/scan.js.map +1 -1
  67. package/dist/api/device/screen.js +6 -6
  68. package/dist/api/device/screen.js.map +1 -1
  69. package/dist/api/device/wifi.js +12 -12
  70. package/dist/api/device/wifi.js.map +1 -1
  71. package/dist/api/ext/index.js +2 -2
  72. package/dist/api/ext/index.js.map +1 -1
  73. package/dist/api/files/index.js +8 -8
  74. package/dist/api/files/index.js.map +1 -1
  75. package/dist/api/index.js +8 -3
  76. package/dist/api/index.js.map +1 -1
  77. package/dist/api/location/chooseLocation.js +9 -5
  78. package/dist/api/location/chooseLocation.js.map +1 -1
  79. package/dist/api/location/getLocation.js +1 -1
  80. package/dist/api/location/getLocation.js.map +1 -1
  81. package/dist/api/location/index.js +10 -10
  82. package/dist/api/location/index.js.map +1 -1
  83. package/dist/api/media/audio/index.js +8 -8
  84. package/dist/api/media/audio/index.js.map +1 -1
  85. package/dist/api/media/background-audio/index.js +8 -8
  86. package/dist/api/media/background-audio/index.js.map +1 -1
  87. package/dist/api/media/camera.js +1 -1
  88. package/dist/api/media/camera.js.map +1 -1
  89. package/dist/api/media/image/chooseImage.d.ts +1 -0
  90. package/dist/api/media/image/chooseImage.js +28 -71
  91. package/dist/api/media/image/chooseImage.js.map +1 -1
  92. package/dist/api/media/image/index.d.ts +4 -3
  93. package/dist/api/media/image/index.js +8 -9
  94. package/dist/api/media/image/index.js.map +1 -1
  95. package/dist/api/media/image/saveImageToPhotosAlbum.d.ts +3 -0
  96. package/dist/api/media/image/saveImageToPhotosAlbum.js +30 -0
  97. package/dist/api/media/image/saveImageToPhotosAlbum.js.map +1 -0
  98. package/dist/api/media/index.js +2 -2
  99. package/dist/api/media/live.js +2 -2
  100. package/dist/api/media/live.js.map +1 -1
  101. package/dist/api/media/map.js +1 -1
  102. package/dist/api/media/map.js.map +1 -1
  103. package/dist/api/media/media-recorder.js +1 -1
  104. package/dist/api/media/media-recorder.js.map +1 -1
  105. package/dist/api/media/recorder.js +3 -3
  106. package/dist/api/media/recorder.js.map +1 -1
  107. package/dist/api/media/video/chooseMedia.d.ts +6 -0
  108. package/dist/api/media/video/chooseMedia.js +208 -0
  109. package/dist/api/media/video/chooseMedia.js.map +1 -0
  110. package/dist/api/media/video/chooseVideo.d.ts +7 -0
  111. package/dist/api/media/video/chooseVideo.js +44 -0
  112. package/dist/api/media/video/chooseVideo.js.map +1 -0
  113. package/dist/api/media/video/getVideoInfo.d.ts +3 -0
  114. package/dist/api/media/video/getVideoInfo.js +63 -0
  115. package/dist/api/media/video/getVideoInfo.js.map +1 -0
  116. package/dist/api/media/video/index.d.ts +5 -8
  117. package/dist/api/media/video/index.js +8 -67
  118. package/dist/api/media/video/index.js.map +1 -1
  119. package/dist/api/media/video/saveVideoToPhotosAlbum.d.ts +3 -0
  120. package/dist/api/media/video/saveVideoToPhotosAlbum.js +30 -0
  121. package/dist/api/media/video/saveVideoToPhotosAlbum.js.map +1 -0
  122. package/dist/api/media/video-decoder.js +1 -1
  123. package/dist/api/media/video-decoder.js.map +1 -1
  124. package/dist/api/media/video-processing.js +1 -1
  125. package/dist/api/media/video-processing.js.map +1 -1
  126. package/dist/api/media/voip.js +14 -14
  127. package/dist/api/media/voip.js.map +1 -1
  128. package/dist/api/navigate/index.js +5 -5
  129. package/dist/api/navigate/index.js.map +1 -1
  130. package/dist/api/network/mdns.js +10 -10
  131. package/dist/api/network/mdns.js.map +1 -1
  132. package/dist/api/network/request/index.d.ts +1 -1
  133. package/dist/api/network/request/index.js +22 -17
  134. package/dist/api/network/request/index.js.map +1 -1
  135. package/dist/api/network/tcp.js +1 -1
  136. package/dist/api/network/tcp.js.map +1 -1
  137. package/dist/api/network/udp.js +1 -1
  138. package/dist/api/network/udp.js.map +1 -1
  139. package/dist/api/open-api/account.js +1 -1
  140. package/dist/api/open-api/account.js.map +1 -1
  141. package/dist/api/open-api/address.js +1 -1
  142. package/dist/api/open-api/address.js.map +1 -1
  143. package/dist/api/open-api/authorize.js +2 -2
  144. package/dist/api/open-api/authorize.js.map +1 -1
  145. package/dist/api/open-api/card.js +2 -2
  146. package/dist/api/open-api/card.js.map +1 -1
  147. package/dist/api/open-api/channels-live.js +6 -6
  148. package/dist/api/open-api/channels-live.js.map +1 -1
  149. package/dist/api/open-api/customer-service.js +1 -1
  150. package/dist/api/open-api/customer-service.js.map +1 -1
  151. package/dist/api/open-api/facial.js +4 -4
  152. package/dist/api/open-api/facial.js.map +1 -1
  153. package/dist/api/open-api/favorites.js +3 -3
  154. package/dist/api/open-api/favorites.js.map +1 -1
  155. package/dist/api/open-api/group.js +1 -1
  156. package/dist/api/open-api/group.js.map +1 -1
  157. package/dist/api/open-api/invoice.js +2 -2
  158. package/dist/api/open-api/invoice.js.map +1 -1
  159. package/dist/api/open-api/license-plate.js +1 -1
  160. package/dist/api/open-api/license-plate.js.map +1 -1
  161. package/dist/api/open-api/login.js +3 -3
  162. package/dist/api/open-api/login.js.map +1 -1
  163. package/dist/api/open-api/red-package.js +1 -1
  164. package/dist/api/open-api/red-package.js.map +1 -1
  165. package/dist/api/open-api/settings.js +2 -2
  166. package/dist/api/open-api/settings.js.map +1 -1
  167. package/dist/api/open-api/soter.js +3 -3
  168. package/dist/api/open-api/soter.js.map +1 -1
  169. package/dist/api/open-api/subscribe-message.js +2 -2
  170. package/dist/api/open-api/subscribe-message.js.map +1 -1
  171. package/dist/api/open-api/user-info.js +2 -2
  172. package/dist/api/open-api/user-info.js.map +1 -1
  173. package/dist/api/open-api/werun.js +2 -2
  174. package/dist/api/open-api/werun.js.map +1 -1
  175. package/dist/api/payment/index.js +2 -2
  176. package/dist/api/payment/index.js.map +1 -1
  177. package/dist/api/qq/index.js +1 -1
  178. package/dist/api/qq/index.js.map +1 -1
  179. package/dist/api/share/index.d.ts +10 -0
  180. package/dist/api/share/index.js +21 -11
  181. package/dist/api/share/index.js.map +1 -1
  182. package/dist/api/storage/background-fetch.js +4 -4
  183. package/dist/api/storage/background-fetch.js.map +1 -1
  184. package/dist/api/storage/index.js +2 -2
  185. package/dist/api/storage/index.js.map +1 -1
  186. package/dist/api/swan/index.js +21 -21
  187. package/dist/api/swan/index.js.map +1 -1
  188. package/dist/api/taro.js +1 -1
  189. package/dist/api/taro.js.map +1 -1
  190. package/dist/api/ui/background.js +2 -2
  191. package/dist/api/ui/background.js.map +1 -1
  192. package/dist/api/ui/interaction/index.d.ts +1 -1
  193. package/dist/api/ui/interaction/index.js +4 -4
  194. package/dist/api/ui/interaction/index.js.map +1 -1
  195. package/dist/api/ui/interaction/modal.js +6 -0
  196. package/dist/api/ui/interaction/modal.js.map +1 -1
  197. package/dist/api/ui/interaction/toast.js +4 -0
  198. package/dist/api/ui/interaction/toast.js.map +1 -1
  199. package/dist/api/ui/menu.js +1 -1
  200. package/dist/api/ui/menu.js.map +1 -1
  201. package/dist/api/ui/navigation-bar/index.js +3 -3
  202. package/dist/api/ui/navigation-bar/index.js.map +1 -1
  203. package/dist/api/ui/scroll/index.js +4 -3
  204. package/dist/api/ui/scroll/index.js.map +1 -1
  205. package/dist/api/ui/sticky.js +1 -1
  206. package/dist/api/ui/sticky.js.map +1 -1
  207. package/dist/api/ui/window.js +2 -2
  208. package/dist/api/ui/window.js.map +1 -1
  209. package/dist/api/worker/index.js +1 -1
  210. package/dist/api/worker/index.js.map +1 -1
  211. package/dist/api/wxml/IntersectionObserver.d.ts +1 -1
  212. package/dist/api/wxml/IntersectionObserver.js +8 -6
  213. package/dist/api/wxml/IntersectionObserver.js.map +1 -1
  214. package/dist/api/wxml/MediaQueryObserver.d.ts +1 -1
  215. package/dist/api/wxml/MediaQueryObserver.js.map +1 -1
  216. package/dist/api/wxml/selectorQuery.js +9 -6
  217. package/dist/api/wxml/selectorQuery.js.map +1 -1
  218. package/dist/index.cjs.d.ts +27 -13
  219. package/dist/index.cjs.js +3564 -20439
  220. package/dist/index.cjs.js.map +1 -1
  221. package/dist/index.esm.d.ts +27 -13
  222. package/dist/index.esm.js +3832 -20702
  223. package/dist/index.esm.js.map +1 -1
  224. package/dist/index.js +13 -4
  225. package/dist/index.js.map +1 -1
  226. package/dist/utils/helper.d.ts +2 -0
  227. package/dist/utils/helper.js +11 -0
  228. package/dist/utils/helper.js.map +1 -0
  229. package/dist/utils/index.d.ts +5 -3
  230. package/dist/utils/index.js +4 -9
  231. package/dist/utils/index.js.map +1 -1
  232. package/package.json +16 -10
  233. package/dist/_virtual/_commonjsHelpers.js +0 -35
  234. package/dist/_virtual/_commonjsHelpers.js.map +0 -1
  235. package/dist/_virtual/lodash.js +0 -4
  236. package/dist/_virtual/lodash.js.map +0 -1
  237. package/dist/node_modules/.pnpm/registry.npmjs.org_lodash@4.17.21/node_modules/lodash/lodash.js +0 -17220
  238. package/dist/node_modules/.pnpm/registry.npmjs.org_lodash@4.17.21/node_modules/lodash/lodash.js.map +0 -1
  239. package/dist/utils/lodash.d.ts +0 -3
  240. package/dist/utils/lodash.js +0 -32
  241. package/dist/utils/lodash.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/api/ui/scroll/index.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\nimport { Current } from '@tarojs/runtime'\r\n\r\nimport { easeInOut, getTimingFunc } from '../../../utils'\r\nimport { MethodHandler } from '../../../utils/handler'\r\n\r\nlet timer: ReturnType<typeof setTimeout>\r\nconst FRAME_DURATION = 17\r\n\r\n/**\r\n * 将页面滚动到目标位置\r\n */\r\nexport const pageScrollTo: typeof Taro.pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300, success, fail, complete }) => {\r\n let scrollFunc\r\n const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (scrollTop === undefined && !selector) {\r\n return handle.fail({\r\n errMsg: 'scrollTop\" 或 \"selector\" 需要其之一'\r\n }, { resolve, reject })\r\n }\r\n\r\n const id = Current.page?.path?.replace(/([^a-z0-9\\u00a0-\\uffff_-])/ig, '\\\\$1')\r\n const el: HTMLDivElement | null = (id\r\n ? document.querySelector(`.taro_page#${id}`)\r\n : document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router')) as HTMLDivElement\r\n\r\n if (!scrollFunc) {\r\n if (!el) {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return window.pageYOffset\r\n } else {\r\n window.scrollTo(0, pos)\r\n }\r\n }\r\n } else {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return el.scrollTop\r\n } else {\r\n el.scrollTop = pos\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (scrollTop && selector) {\r\n console.warn('\"scrollTop\" 或 \"selector\" 建议只设一个值,全部设置会忽略selector')\r\n }\r\n const from = scrollFunc()\r\n let to: number\r\n if (selector) {\r\n const el = document.querySelector(selector) as HTMLElement\r\n to = (el?.offsetTop || 0) + offsetTop\r\n } else {\r\n to = typeof scrollTop === 'number' ? scrollTop : 0\r\n }\r\n const delta = to - from\r\n\r\n const frameCnt = duration / FRAME_DURATION\r\n const easeFunc = getTimingFunc(easeInOut, frameCnt)\r\n\r\n const scroll = (frame = 0) => {\r\n const dest = from + delta * easeFunc(frame)\r\n scrollFunc(dest)\r\n if (frame < frameCnt) {\r\n timer && clearTimeout(timer)\r\n timer = setTimeout(() => {\r\n scroll(frame + 1)\r\n }, FRAME_DURATION)\r\n } else {\r\n return handle.success({}, { resolve, reject })\r\n }\r\n }\r\n scroll()\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n }, { resolve, reject })\r\n }\r\n })\r\n}\r\n"],"names":[],"mappings":";;;;;AAMA,IAAI,KAAoC,CAAA;AACxC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB;;AAEG;AACU,MAAA,YAAY,GAA6B,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAI;AAC7I,IAAA,IAAI,UAAU,CAAA;AACd,IAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACnF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;QACrC,IAAI;AACF,YAAA,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE;gBACxC,OAAO,MAAM,CAAC,IAAI,CAAC;AACjB,oBAAA,MAAM,EAAE,+BAA+B;AACxC,iBAAA,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;AACxB,aAAA;AAED,YAAA,MAAM,EAAE,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAA;YAC9E,MAAM,EAAE,IAA2B,EAAE;kBACjC,QAAQ,CAAC,aAAa,CAAC,CAAc,WAAA,EAAA,EAAE,EAAE,CAAC;AAC5C,kBAAE,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;AACxC,oBAAA,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAmB,CAAA;YAEzD,IAAI,CAAC,UAAU,EAAE;gBACf,IAAI,CAAC,EAAE,EAAE;oBACP,UAAU,GAAG,GAAG,IAAG;wBACjB,IAAI,GAAG,KAAK,SAAS,EAAE;4BACrB,OAAO,MAAM,CAAC,WAAW,CAAA;AAC1B,yBAAA;AAAM,6BAAA;AACL,4BAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACxB,yBAAA;AACH,qBAAC,CAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,UAAU,GAAG,GAAG,IAAG;wBACjB,IAAI,GAAG,KAAK,SAAS,EAAE;4BACrB,OAAO,EAAE,CAAC,SAAS,CAAA;AACpB,yBAAA;AAAM,6BAAA;AACL,4BAAA,EAAE,CAAC,SAAS,GAAG,GAAG,CAAA;AACnB,yBAAA;AACH,qBAAC,CAAA;AACF,iBAAA;AACF,aAAA;YAED,IAAI,SAAS,IAAI,QAAQ,EAAE;AACzB,gBAAA,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;AACjE,aAAA;AACD,YAAA,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;AACzB,YAAA,IAAI,EAAU,CAAA;AACd,YAAA,IAAI,QAAQ,EAAE;gBACZ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAgB,CAAA;AAC1D,gBAAA,EAAE,GAAG,CAAC,CAAA,EAAE,aAAF,EAAE,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAF,EAAE,CAAE,SAAS,KAAI,CAAC,IAAI,SAAS,CAAA;AACtC,aAAA;AAAM,iBAAA;AACL,gBAAA,EAAE,GAAG,OAAO,SAAS,KAAK,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAA;AACnD,aAAA;AACD,YAAA,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,CAAA;AAEvB,YAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAA;YAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAEnD,YAAA,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,KAAI;gBAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC3C,UAAU,CAAC,IAAI,CAAC,CAAA;gBAChB,IAAI,KAAK,GAAG,QAAQ,EAAE;AACpB,oBAAA,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;AAC5B,oBAAA,KAAK,GAAG,UAAU,CAAC,MAAK;AACtB,wBAAA,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;qBAClB,EAAE,cAAc,CAAC,CAAA;AACnB,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;AAC/C,iBAAA;AACH,aAAC,CAAA;AACD,YAAA,MAAM,EAAE,CAAA;AACT,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACV,OAAO,MAAM,CAAC,IAAI,CAAC;gBACjB,MAAM,EAAE,CAAC,CAAC,OAAO;AAClB,aAAA,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;AACxB,SAAA;AACH,KAAC,CAAC,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/api/ui/scroll/index.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\nimport { Current } from '@tarojs/runtime'\r\n\r\nimport { easeInOut, getTimingFunc } from '../../../utils'\r\nimport { MethodHandler } from '../../../utils/handler'\r\n\r\nlet timer: ReturnType<typeof setTimeout>\r\nconst FRAME_DURATION = 17\r\n\r\n/**\r\n * 将页面滚动到目标位置\r\n */\r\nexport const pageScrollTo: typeof Taro.pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300, success, fail, complete }) => {\r\n let scrollFunc\r\n const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (scrollTop === undefined && !selector) {\r\n return handle.fail({\r\n errMsg: 'scrollTop\" 或 \"selector\" 需要其之一'\r\n }, { resolve, reject })\r\n }\r\n\r\n const usingWindowScroll = (window as any).__taroAppConfig?.usingWindowScroll\r\n const id = Current.page?.path?.replace(/([^a-z0-9\\u00a0-\\uffff_-])/ig, '\\\\$1')\r\n const el: HTMLDivElement | null = (id\r\n ? document.querySelector(`.taro_page#${id}`)\r\n : document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router')) as HTMLDivElement\r\n\r\n if (!scrollFunc) {\r\n if (usingWindowScroll) {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return window.pageYOffset\r\n } else {\r\n window.scrollTo(0, pos)\r\n }\r\n }\r\n } else {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return el.scrollTop\r\n } else {\r\n el.scrollTop = pos\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (scrollTop && selector) {\r\n console.warn('\"scrollTop\" 或 \"selector\" 建议只设一个值,全部设置会忽略selector')\r\n }\r\n const from = scrollFunc()\r\n let to: number\r\n if (selector) {\r\n const el = document.querySelector(selector) as HTMLElement\r\n to = (el?.offsetTop || 0) + offsetTop\r\n } else {\r\n to = typeof scrollTop === 'number' ? scrollTop : 0\r\n }\r\n const delta = to - from\r\n\r\n const frameCnt = duration / FRAME_DURATION\r\n const easeFunc = getTimingFunc(easeInOut, frameCnt)\r\n\r\n const scroll = (frame = 0) => {\r\n const dest = from + delta * easeFunc(frame)\r\n scrollFunc(dest)\r\n if (frame < frameCnt) {\r\n timer && clearTimeout(timer)\r\n timer = setTimeout(() => {\r\n scroll(frame + 1)\r\n }, FRAME_DURATION)\r\n } else {\r\n return handle.success({}, { resolve, reject })\r\n }\r\n }\r\n scroll()\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n }, { resolve, reject })\r\n }\r\n })\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { temporarilyNotSupport } from '../../utils/index.js';
2
2
 
3
3
  // 置顶
4
- const setTopBarText = temporarilyNotSupport('setTopBarText');
4
+ const setTopBarText = /* @__PURE__ */ temporarilyNotSupport('setTopBarText');
5
5
 
6
6
  export { setTopBarText };
7
7
  //# sourceMappingURL=sticky.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sticky.js","sources":["../../../src/api/ui/sticky.ts"],"sourcesContent":["import { temporarilyNotSupport } from '../../utils'\n\n// 置顶\nexport const setTopBarText = temporarilyNotSupport('setTopBarText')\n"],"names":[],"mappings":";;AAEA;MACa,aAAa,GAAG,qBAAqB,CAAC,eAAe;;;;"}
1
+ {"version":3,"file":"sticky.js","sources":["../../../src/api/ui/sticky.ts"],"sourcesContent":["import { temporarilyNotSupport } from '../../utils'\n\n// 置顶\nexport const setTopBarText = /* @__PURE__ */ temporarilyNotSupport('setTopBarText')\n"],"names":[],"mappings":";;AAEA;AACa,MAAA,aAAa,mBAAmB,qBAAqB,CAAC,eAAe;;;;"}
@@ -11,7 +11,7 @@ const resizeListener = () => {
11
11
  /**
12
12
  * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南
13
13
  */
14
- const setWindowSize = temporarilyNotSupport('setWindowSize');
14
+ const setWindowSize = /* @__PURE__ */ temporarilyNotSupport('setWindowSize');
15
15
  /**
16
16
  * 监听窗口尺寸变化事件
17
17
  */
@@ -30,7 +30,7 @@ const offWindowResize = callback => {
30
30
  window.removeEventListener('resize', resizeListener);
31
31
  }
32
32
  };
33
- const checkIsPictureInPictureActive = temporarilyNotSupport('checkIsPictureInPictureActive');
33
+ const checkIsPictureInPictureActive = /* @__PURE__ */ temporarilyNotSupport('checkIsPictureInPictureActive');
34
34
 
35
35
  export { checkIsPictureInPictureActive, offWindowResize, onWindowResize, setWindowSize };
36
36
  //# sourceMappingURL=window.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"window.js","sources":["../../../src/api/ui/window.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\n\r\nimport { temporarilyNotSupport } from '../../utils'\r\nimport { CallbackManager } from '../../utils/handler'\r\n\r\nconst callbackManager = new CallbackManager()\r\n\r\nconst resizeListener = () => {\r\n callbackManager.trigger({\r\n windowWidth: window.screen.width,\r\n windowHeight: window.screen.height\r\n })\r\n}\r\n\r\n/**\r\n * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南\r\n */\r\nexport const setWindowSize = temporarilyNotSupport('setWindowSize')\r\n\r\n/**\r\n * 监听窗口尺寸变化事件\r\n */\r\nexport const onWindowResize: typeof Taro.onWindowResize = callback => {\r\n callbackManager.add(callback)\r\n if (callbackManager.count() === 1) {\r\n window.addEventListener('resize', resizeListener)\r\n }\r\n}\r\n\r\n/**\r\n * 取消监听窗口尺寸变化事件\r\n */\r\nexport const offWindowResize: typeof Taro.offWindowResize = callback => {\r\n callbackManager.remove(callback)\r\n if (callbackManager.count() === 0) {\r\n window.removeEventListener('resize', resizeListener)\r\n }\r\n}\r\n\r\nexport const checkIsPictureInPictureActive = temporarilyNotSupport('checkIsPictureInPictureActive')\r\n"],"names":[],"mappings":";;;AAKA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;AAE7C,MAAM,cAAc,GAAG,MAAK;IAC1B,eAAe,CAAC,OAAO,CAAC;AACtB,QAAA,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;AAChC,QAAA,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;AACnC,KAAA,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;AAEG;MACU,aAAa,GAAG,qBAAqB,CAAC,eAAe,EAAC;AAEnE;;AAEG;AACU,MAAA,cAAc,GAA+B,QAAQ,IAAG;AACnE,IAAA,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC7B,IAAA,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AACjC,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AAClD,KAAA;AACH,EAAC;AAED;;AAEG;AACU,MAAA,eAAe,GAAgC,QAAQ,IAAG;AACrE,IAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAChC,IAAA,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AACjC,QAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AACrD,KAAA;AACH,EAAC;MAEY,6BAA6B,GAAG,qBAAqB,CAAC,+BAA+B;;;;"}
1
+ {"version":3,"file":"window.js","sources":["../../../src/api/ui/window.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\n\r\nimport { temporarilyNotSupport } from '../../utils'\r\nimport { CallbackManager } from '../../utils/handler'\r\n\r\nconst callbackManager = new CallbackManager()\r\n\r\nconst resizeListener = () => {\r\n callbackManager.trigger({\r\n windowWidth: window.screen.width,\r\n windowHeight: window.screen.height\r\n })\r\n}\r\n\r\n/**\r\n * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南\r\n */\r\nexport const setWindowSize = /* @__PURE__ */ temporarilyNotSupport('setWindowSize')\r\n\r\n/**\r\n * 监听窗口尺寸变化事件\r\n */\r\nexport const onWindowResize: typeof Taro.onWindowResize = callback => {\r\n callbackManager.add(callback)\r\n if (callbackManager.count() === 1) {\r\n window.addEventListener('resize', resizeListener)\r\n }\r\n}\r\n\r\n/**\r\n * 取消监听窗口尺寸变化事件\r\n */\r\nexport const offWindowResize: typeof Taro.offWindowResize = callback => {\r\n callbackManager.remove(callback)\r\n if (callbackManager.count() === 0) {\r\n window.removeEventListener('resize', resizeListener)\r\n }\r\n}\r\n\r\nexport const checkIsPictureInPictureActive = /* @__PURE__ */ temporarilyNotSupport('checkIsPictureInPictureActive')\r\n"],"names":[],"mappings":";;;AAKA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;AAE7C,MAAM,cAAc,GAAG,MAAK;IAC1B,eAAe,CAAC,OAAO,CAAC;AACtB,QAAA,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;AAChC,QAAA,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;AACnC,KAAA,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;AAEG;AACU,MAAA,aAAa,mBAAmB,qBAAqB,CAAC,eAAe,EAAC;AAEnF;;AAEG;AACU,MAAA,cAAc,GAA+B,QAAQ,IAAG;AACnE,IAAA,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC7B,IAAA,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AACjC,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AAClD,KAAA;AACH,EAAC;AAED;;AAEG;AACU,MAAA,eAAe,GAAgC,QAAQ,IAAG;AACrE,IAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAChC,IAAA,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AACjC,QAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AACrD,KAAA;AACH,EAAC;AAEY,MAAA,6BAA6B,mBAAmB,qBAAqB,CAAC,+BAA+B;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { temporarilyNotSupport } from '../../utils/index.js';
2
2
 
3
3
  // Worker
4
- const createWorker = temporarilyNotSupport('createWorker');
4
+ const createWorker = /* @__PURE__ */ temporarilyNotSupport('createWorker');
5
5
 
6
6
  export { createWorker };
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/api/worker/index.ts"],"sourcesContent":["import { temporarilyNotSupport } from '../../utils'\n\n// Worker\nexport const createWorker = temporarilyNotSupport('createWorker')\n"],"names":[],"mappings":";;AAEA;MACa,YAAY,GAAG,qBAAqB,CAAC,cAAc;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/api/worker/index.ts"],"sourcesContent":["import { temporarilyNotSupport } from '../../utils'\n\n// Worker\nexport const createWorker = /* @__PURE__ */ temporarilyNotSupport('createWorker')\n"],"names":[],"mappings":";;AAEA;AACa,MAAA,YAAY,mBAAmB,qBAAqB,CAAC,cAAc;;;;"}
@@ -1,4 +1,4 @@
1
- import Taro from '@tarojs/taro';
1
+ import Taro from '@tarojs/api';
2
2
  type TElement = Document | HTMLElement | Element;
3
3
  declare class TaroH5IntersectionObserver implements Taro.IntersectionObserver {
4
4
  private _component;
@@ -1,6 +1,6 @@
1
+ import Taro from '@tarojs/api';
1
2
  import { findDOM } from '../../utils/index.js';
2
3
 
3
- // pollify
4
4
  import('intersection-observer');
5
5
  class TaroH5IntersectionObserver {
6
6
  // selector 的容器节点
@@ -75,11 +75,13 @@ class TaroH5IntersectionObserver {
75
75
  const nodeList = this._options.observeAll
76
76
  ? this.container.querySelectorAll(targetSelector)
77
77
  : [this.container.querySelector(targetSelector)];
78
- nodeList.forEach(element => {
79
- if (!element)
80
- return;
81
- this._observerInst.observe(element);
82
- this._listeners.push({ element, callback });
78
+ Taro.nextTick(() => {
79
+ nodeList.forEach(element => {
80
+ if (!element)
81
+ return;
82
+ this._observerInst.observe(element);
83
+ this._listeners.push({ element, callback });
84
+ });
83
85
  });
84
86
  }
85
87
  relativeTo(selector, margins) {
@@ -1 +1 @@
1
- {"version":3,"file":"IntersectionObserver.js","sources":["../../../src/api/wxml/IntersectionObserver.ts"],"sourcesContent":["import Taro from '@tarojs/taro'\n\nimport { findDOM } from '../../utils'\n// pollify\nimport('intersection-observer')\n\ntype TElement = Document | HTMLElement | Element\n\ntype TListener = {\n element: Element\n callback: Taro.IntersectionObserver.ObserveCallback\n}\n\nexport class TaroH5IntersectionObserver implements Taro.IntersectionObserver {\n\n // 自定义组件实例\n private _component: TaroGeneral.IAnyObject\n // 选项\n private _options = {\n thresholds: [0],\n initialRatio: 0,\n observeAll: false\n }\n\n // Observer实例\n private _observerInst: IntersectionObserver\n // 监控中的选择器\n private _listeners: TListener[] = []\n // 参照区域\n private _root: Element | null\n // 用来扩展(或收缩)参照节点布局区域的边界\n private _rootMargin: Taro.IntersectionObserver.RelativeToViewportMargins = {}\n // 是否已初始化\n private _isInited = false\n\n // selector 的容器节点\n protected get container () {\n const container: TElement = (\n this._component !== null \n ? (findDOM(this._component) as HTMLElement || document) \n : document\n )\n return container\n }\n\n constructor (component: TaroGeneral.IAnyObject, options: Taro.createIntersectionObserver.Option = {}) {\n this._component = component\n Object.assign(this._options, options)\n }\n\n private createInst () {\n // 去除原本的实例\n this.disconnect()\n\n const { left = 0, top = 0, bottom = 0, right = 0 } = this._rootMargin\n return new IntersectionObserver(entries => {\n entries.forEach(entry => {\n const _callback = this._getCallbackByElement(entry.target)\n const result = {\n boundingClientRect: entry.boundingClientRect,\n intersectionRatio: entry.intersectionRatio,\n intersectionRect: entry.intersectionRect,\n relativeRect: entry.rootBounds || { left: 0, right: 0, top: 0, bottom: 0 },\n time: entry.time\n }\n // web端会默认首次触发\n if (!this._isInited && this._options.initialRatio <= Math.min.apply(Math, this._options.thresholds)) {\n // 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。\n return\n }\n _callback && _callback.call(this, result)\n })\n this._isInited = true\n }, {\n root: this._root,\n rootMargin: [`${top}px`, `${right}px`, `${bottom}px`, `${left}px`].join(' '),\n threshold: this._options.thresholds\n })\n }\n\n public disconnect (): void {\n if (this._observerInst) {\n let listener\n while ((listener = this._listeners.pop())) {\n this._observerInst.unobserve(listener.element)\n }\n this._observerInst.disconnect()\n }\n }\n\n public observe (targetSelector: string, callback: Taro.IntersectionObserver.ObserveCallback): void {\n // 同wx小程序效果一致,每个实例监听一个Selector\n if (this._listeners.length) return\n // 监听前没有设置关联的节点\n if (!this._observerInst) {\n console.warn('Intersection observer will be ignored because no relative nodes are found.')\n return\n }\n \n const nodeList = this._options.observeAll \n ? this.container.querySelectorAll(targetSelector) \n : [this.container.querySelector(targetSelector)]\n \n nodeList.forEach(element => {\n if (!element) return\n this._observerInst.observe(element)\n this._listeners.push({ element, callback })\n })\n }\n\n public relativeTo (selector: string, margins?: Taro.IntersectionObserver.RelativeToMargins | undefined): Taro.IntersectionObserver {\n // 已设置observe监听后,重新关联节点\n if (this._listeners.length) {\n console.error('Relative nodes cannot be added after \"observe\" call in IntersectionObserver')\n return this\n }\n this._root = this.container.querySelector(selector) || null\n if (margins) {\n this._rootMargin = margins\n }\n this._observerInst = this.createInst()\n return this\n }\n\n public relativeToViewport (margins?: Taro.IntersectionObserver.RelativeToViewportMargins | undefined): Taro.IntersectionObserver {\n return this.relativeTo('.taro_page', margins)\n }\n\n private _getCallbackByElement (element: Element) {\n const listener = this._listeners.find(listener => listener.element === element)\n return listener ? listener.callback : null\n }\n\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntersectionObserver.js","sources":["../../../src/api/wxml/IntersectionObserver.ts"],"sourcesContent":["import Taro from '@tarojs/api'\n\nimport { findDOM } from '../../utils'\n\nimport('intersection-observer')\n\ntype TElement = Document | HTMLElement | Element\n\ntype TListener = {\n element: Element\n callback: Taro.IntersectionObserver.ObserveCallback\n}\n\nexport class TaroH5IntersectionObserver implements Taro.IntersectionObserver {\n\n // 自定义组件实例\n private _component: TaroGeneral.IAnyObject\n // 选项\n private _options = {\n thresholds: [0],\n initialRatio: 0,\n observeAll: false\n }\n\n // Observer实例\n private _observerInst: IntersectionObserver\n // 监控中的选择器\n private _listeners: TListener[] = []\n // 参照区域\n private _root: Element | null\n // 用来扩展(或收缩)参照节点布局区域的边界\n private _rootMargin: Taro.IntersectionObserver.RelativeToViewportMargins = {}\n // 是否已初始化\n private _isInited = false\n\n // selector 的容器节点\n protected get container () {\n const container: TElement = (\n this._component !== null\n ? (findDOM(this._component) as HTMLElement || document)\n : document\n )\n return container\n }\n\n constructor (component: TaroGeneral.IAnyObject, options: Taro.createIntersectionObserver.Option = {}) {\n this._component = component\n Object.assign(this._options, options)\n }\n\n private createInst () {\n // 去除原本的实例\n this.disconnect()\n\n const { left = 0, top = 0, bottom = 0, right = 0 } = this._rootMargin\n return new IntersectionObserver(entries => {\n entries.forEach(entry => {\n const _callback = this._getCallbackByElement(entry.target)\n const result = {\n boundingClientRect: entry.boundingClientRect,\n intersectionRatio: entry.intersectionRatio,\n intersectionRect: entry.intersectionRect,\n relativeRect: entry.rootBounds || { left: 0, right: 0, top: 0, bottom: 0 },\n time: entry.time\n }\n // web端会默认首次触发\n if (!this._isInited && this._options.initialRatio <= Math.min.apply(Math, this._options.thresholds)) {\n // 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。\n return\n }\n _callback && _callback.call(this, result)\n })\n this._isInited = true\n }, {\n root: this._root,\n rootMargin: [`${top}px`, `${right}px`, `${bottom}px`, `${left}px`].join(' '),\n threshold: this._options.thresholds\n })\n }\n\n public disconnect (): void {\n if (this._observerInst) {\n let listener\n while ((listener = this._listeners.pop())) {\n this._observerInst.unobserve(listener.element)\n }\n this._observerInst.disconnect()\n }\n }\n\n public observe (targetSelector: string, callback: Taro.IntersectionObserver.ObserveCallback): void {\n // 同wx小程序效果一致,每个实例监听一个Selector\n if (this._listeners.length) return\n // 监听前没有设置关联的节点\n if (!this._observerInst) {\n console.warn('Intersection observer will be ignored because no relative nodes are found.')\n return\n }\n\n const nodeList = this._options.observeAll\n ? this.container.querySelectorAll(targetSelector)\n : [this.container.querySelector(targetSelector)]\n\n Taro.nextTick(() => {\n nodeList.forEach(element => {\n if (!element) return\n this._observerInst.observe(element)\n this._listeners.push({ element, callback })\n })\n })\n }\n\n public relativeTo (selector: string, margins?: Taro.IntersectionObserver.RelativeToMargins | undefined): Taro.IntersectionObserver {\n // 已设置observe监听后,重新关联节点\n if (this._listeners.length) {\n console.error('Relative nodes cannot be added after \"observe\" call in IntersectionObserver')\n return this\n }\n this._root = this.container.querySelector(selector) || null\n if (margins) {\n this._rootMargin = margins\n }\n this._observerInst = this.createInst()\n return this\n }\n\n public relativeToViewport (margins?: Taro.IntersectionObserver.RelativeToViewportMargins | undefined): Taro.IntersectionObserver {\n return this.relativeTo('.taro_page', margins)\n }\n\n private _getCallbackByElement (element: Element) {\n const listener = this._listeners.find(listener => listener.element === element)\n return listener ? listener.callback : null\n }\n\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import Taro from '@tarojs/taro';
1
+ import Taro from '@tarojs/api';
2
2
  declare class MediaQueryObserver implements Taro.MediaQueryObserver {
3
3
  private _mediaQueryObserver;
4
4
  private _listener;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaQueryObserver.js","sources":["../../../src/api/wxml/MediaQueryObserver.ts"],"sourcesContent":["\nimport { isFunction, toKebabCase } from '@tarojs/shared'\nimport Taro from '@tarojs/taro'\n\nfunction generateMediaQueryStr (descriptor: Taro.MediaQueryObserver.descriptor) {\n const mediaQueryArr: string[] = []\n const descriptorMenu = ['width', 'minWidth', 'maxWidth', 'height', 'minHeight', 'maxHeight', 'orientation']\n for (const item of descriptorMenu) {\n if (\n item !== 'orientation' &&\n descriptor[item] &&\n Number(descriptor[item]) >= 0\n ) {\n mediaQueryArr.push(`(${(toKebabCase(item))}: ${Number(descriptor[item])}px)`)\n }\n if (item === 'orientation' && descriptor[item]) {\n mediaQueryArr.push(`(${toKebabCase(item)}: ${descriptor[item]})`)\n }\n }\n return mediaQueryArr.join(' and ')\n}\n\n\nexport class MediaQueryObserver implements Taro.MediaQueryObserver {\n private _mediaQueryObserver: MediaQueryList\n private _listener: (ev: MediaQueryListEvent) => void\n\n // 监听页面媒体查询变化情况\n public observe (descriptor: Taro.MediaQueryObserver.descriptor, callback: Taro.MediaQueryObserver.observeCallback): void {\n if (isFunction(callback)) {\n // 创建媒体查询对象\n this._mediaQueryObserver = window.matchMedia(generateMediaQueryStr(descriptor))\n // 监听器\n this._listener = (ev: MediaQueryListEvent) => {\n callback({ matches: ev.matches })\n }\n callback({ matches: this._mediaQueryObserver.matches })\n // 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'addEventListener'\n if ('addEventListener' in this._mediaQueryObserver) {\n this._mediaQueryObserver.addEventListener('change', this._listener)\n } else {\n // @ts-ignore\n this._mediaQueryObserver.addListener(this._listener)\n }\n }\n }\n\n // 停止监听,销毁媒体查询对象\n public disconnect (): void {\n if (this._mediaQueryObserver && this._listener) {\n // 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'removeEventListener'\n if ('removeEventListener' in this._mediaQueryObserver) {\n this._mediaQueryObserver.removeEventListener('change', this._listener)\n } else {\n // @ts-ignore\n this._mediaQueryObserver.removeListener(this._listener)\n }\n }\n }\n\n}\n"],"names":[],"mappings":";;AAIA,SAAS,qBAAqB,CAAE,UAA8C,EAAA;IAC5E,MAAM,aAAa,GAAa,EAAE,CAAA;AAClC,IAAA,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;AAC3G,IAAA,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;QACjC,IACE,IAAI,KAAK,aAAa;YACtB,UAAU,CAAC,IAAI,CAAC;YAChB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAC7B;YACA,aAAa,CAAC,IAAI,CAAC,CAAA,CAAA,GAAK,WAAW,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA,GAAA,CAAK,CAAC,CAAA;AAC9E,SAAA;QACD,IAAI,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9C,YAAA,aAAa,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,WAAW,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA;AAClE,SAAA;AACF,KAAA;AACD,IAAA,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC;MAGY,kBAAkB,CAAA;;IAKtB,OAAO,CAAE,UAA8C,EAAE,QAAiD,EAAA;AAC/G,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;;AAExB,YAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAA;;AAE/E,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,EAAuB,KAAI;gBAC3C,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;AACnC,aAAC,CAAA;YACD,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAA;;AAEvD,YAAA,IAAI,kBAAkB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAClD,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;AACpE,aAAA;AAAM,iBAAA;;gBAEL,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACrD,aAAA;AACF,SAAA;KACF;;IAGM,UAAU,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,SAAS,EAAE;;AAE9C,YAAA,IAAI,qBAAqB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBACrD,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;AACvE,aAAA;AAAM,iBAAA;;gBAEL,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACxD,aAAA;AACF,SAAA;KACF;AAEF;;;;"}
1
+ {"version":3,"file":"MediaQueryObserver.js","sources":["../../../src/api/wxml/MediaQueryObserver.ts"],"sourcesContent":["\nimport Taro from '@tarojs/api'\nimport { isFunction, toKebabCase } from '@tarojs/shared'\n\nfunction generateMediaQueryStr (descriptor: Taro.MediaQueryObserver.descriptor) {\n const mediaQueryArr: string[] = []\n const descriptorMenu = ['width', 'minWidth', 'maxWidth', 'height', 'minHeight', 'maxHeight', 'orientation']\n for (const item of descriptorMenu) {\n if (\n item !== 'orientation' &&\n descriptor[item] &&\n Number(descriptor[item]) >= 0\n ) {\n mediaQueryArr.push(`(${(toKebabCase(item))}: ${Number(descriptor[item])}px)`)\n }\n if (item === 'orientation' && descriptor[item]) {\n mediaQueryArr.push(`(${toKebabCase(item)}: ${descriptor[item]})`)\n }\n }\n return mediaQueryArr.join(' and ')\n}\n\n\nexport class MediaQueryObserver implements Taro.MediaQueryObserver {\n private _mediaQueryObserver: MediaQueryList\n private _listener: (ev: MediaQueryListEvent) => void\n\n // 监听页面媒体查询变化情况\n public observe (descriptor: Taro.MediaQueryObserver.descriptor, callback: Taro.MediaQueryObserver.observeCallback): void {\n if (isFunction(callback)) {\n // 创建媒体查询对象\n this._mediaQueryObserver = window.matchMedia(generateMediaQueryStr(descriptor))\n // 监听器\n this._listener = (ev: MediaQueryListEvent) => {\n callback({ matches: ev.matches })\n }\n callback({ matches: this._mediaQueryObserver.matches })\n // 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'addEventListener'\n if ('addEventListener' in this._mediaQueryObserver) {\n this._mediaQueryObserver.addEventListener('change', this._listener)\n } else {\n // @ts-ignore\n this._mediaQueryObserver.addListener(this._listener)\n }\n }\n }\n\n // 停止监听,销毁媒体查询对象\n public disconnect (): void {\n if (this._mediaQueryObserver && this._listener) {\n // 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'removeEventListener'\n if ('removeEventListener' in this._mediaQueryObserver) {\n this._mediaQueryObserver.removeEventListener('change', this._listener)\n } else {\n // @ts-ignore\n this._mediaQueryObserver.removeListener(this._listener)\n }\n }\n }\n\n}\n"],"names":[],"mappings":";;AAIA,SAAS,qBAAqB,CAAE,UAA8C,EAAA;IAC5E,MAAM,aAAa,GAAa,EAAE,CAAA;AAClC,IAAA,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;AAC3G,IAAA,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;QACjC,IACE,IAAI,KAAK,aAAa;YACtB,UAAU,CAAC,IAAI,CAAC;YAChB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAC7B;YACA,aAAa,CAAC,IAAI,CAAC,CAAA,CAAA,GAAK,WAAW,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA,GAAA,CAAK,CAAC,CAAA;AAC9E,SAAA;QACD,IAAI,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9C,YAAA,aAAa,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,WAAW,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA;AAClE,SAAA;AACF,KAAA;AACD,IAAA,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC;MAGY,kBAAkB,CAAA;;IAKtB,OAAO,CAAE,UAA8C,EAAE,QAAiD,EAAA;AAC/G,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;;AAExB,YAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAA;;AAE/E,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,EAAuB,KAAI;gBAC3C,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;AACnC,aAAC,CAAA;YACD,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAA;;AAEvD,YAAA,IAAI,kBAAkB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAClD,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;AACpE,aAAA;AAAM,iBAAA;;gBAEL,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACrD,aAAA;AACF,SAAA;KACF;;IAGM,UAAU,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,SAAS,EAAE;;AAE9C,YAAA,IAAI,qBAAqB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBACrD,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;AACvE,aAAA;AAAM,iBAAA;;gBAEL,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACxD,aAAA;AACF,SAAA;KACF;AAEF;;;;"}
@@ -1,3 +1,4 @@
1
+ import Taro from '@tarojs/api';
1
2
  import { isFunction } from '@tarojs/shared';
2
3
  import { findDOM } from '../../utils/index.js';
3
4
  import { CanvasContext } from '../canvas/CanvasContext.js';
@@ -186,13 +187,15 @@ class SelectorQuery {
186
187
  return new NodesRef('.taro_page', this, true);
187
188
  }
188
189
  exec(cb) {
189
- queryBat(this._queue, res => {
190
- const _queueCb = this._queueCb;
191
- res.forEach((item, index) => {
192
- const cb = _queueCb[index];
193
- isFunction(cb) && cb.call(this, item);
190
+ Taro.nextTick(() => {
191
+ queryBat(this._queue, res => {
192
+ const _queueCb = this._queueCb;
193
+ res.forEach((item, index) => {
194
+ const cb = _queueCb[index];
195
+ isFunction(cb) && cb.call(this, item);
196
+ });
197
+ isFunction(cb) && cb.call(this, res);
194
198
  });
195
- isFunction(cb) && cb.call(this, res);
196
199
  });
197
200
  return this;
198
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selectorQuery.js","sources":["../../../src/api/wxml/selectorQuery.ts"],"sourcesContent":["import Taro from '@tarojs/api'\nimport { isFunction } from '@tarojs/shared'\n\nimport { findDOM } from '../../utils'\nimport { CanvasContext } from '../canvas/CanvasContext'\nimport { NodesRef } from './nodesRef'\n\ntype TElement = Document | HTMLElement | Element\n\ninterface ISelectorQueryQueue {\n component: TaroGeneral.IAnyObject\n selector: string\n single: boolean\n fields\n}\n\ntype TSelectorQueryQueueCallback = (res: ISelectorQueryQueue) => void\n\nfunction filter (fields, dom?: HTMLElement, selector?: string) {\n if (!dom) return null\n\n const isViewport = selector === '.taro_page'\n const { id, dataset, rect, size, scrollOffset, properties = [], computedStyle = [], nodeCanvasType, node, context } = fields\n const res: any = {}\n\n if (nodeCanvasType && node) {\n const tagName = dom.tagName\n res.node = {\n id: dom.id,\n $taroElement: dom\n }\n if (/^taro-canvas-core/i.test(tagName)) {\n const type = (dom as any).type! || ''\n res.nodeCanvasType = type\n const canvas = dom.getElementsByTagName('canvas')[0]\n if (/^(2d|webgl)/i.test(type) && canvas) {\n res.node = canvas\n } else {\n res.node = null\n }\n } else if (/^taro-scroll-view-core/i.test(tagName)) {\n // Note https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.html\n res.nodeCanvasType = ''\n res.node = dom\n dom.scrollTo = (dom as any).mpScrollToMethod\n dom.scrollIntoView = (dom as any).mpScrollIntoViewMethod\n } else {\n res.nodeCanvasType = ''\n res.node = dom\n }\n return res\n }\n if (context) {\n const tagName = dom.tagName\n if (/^taro-video-core/i.test(tagName)) {\n // TODO HTMLVideoElement to VideoContext\n return { context: dom as unknown as Taro.VideoContext }\n } else if (/^taro-canvas-core/i.test(tagName)) {\n const type = (dom as any).type! || '2d'\n const canvas = dom?.querySelector('canvas') as HTMLCanvasElement\n const ctx = canvas?.getContext(type) as CanvasRenderingContext2D\n return { context: new CanvasContext(canvas, ctx) }\n } else if (/^taro-live-player-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 LivePlayerContext')\n } else if (/^taro-editor-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 EditorContext')\n } else if (/^taro-map-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 MapContext')\n }\n return\n }\n if (id) res.id = dom.id\n if (dataset) res.dataset = Object.assign({}, dom.dataset)\n if (rect || size) {\n const { left, right, top, bottom, width, height } = dom.getBoundingClientRect()\n if (rect) {\n if (!isViewport) {\n res.left = left\n res.right = right\n res.top = top\n res.bottom = bottom\n } else {\n res.left = 0\n res.right = 0\n res.top = 0\n res.bottom = 0\n }\n }\n if (size) {\n if (!isViewport) {\n res.width = width\n res.height = height\n } else {\n res.width = dom.clientWidth\n res.height = dom.clientHeight\n }\n }\n }\n if (scrollOffset) {\n res.scrollLeft = dom.scrollLeft\n res.scrollTop = dom.scrollTop\n }\n if (properties.length) {\n properties.forEach(prop => {\n const attr = dom.getAttribute(prop)\n if (attr) res[prop] = attr\n })\n }\n if (computedStyle.length) {\n const styles = window.getComputedStyle(dom)\n computedStyle.forEach(key => {\n const value = styles.getPropertyValue(key) || styles[key]\n if (value) res[key] = value\n })\n }\n\n return res\n}\n\n/**\n * WXML节点信息API\n * @return {Object} SelectorQuery 对象实例\n */\nfunction queryBat (queue: ISelectorQueryQueue[], cb: (...args: any[]) => any): void {\n const result: any[] = []\n\n queue.forEach(item => {\n const { selector, single, fields, component } = item\n // selector 的容器节点\n /* eslint-disable */\n const container: TElement = (\n component !== null ?\n (findDOM(component) as HTMLElement || document) :\n document\n )\n /* eslint-enable */\n\n // 特殊处理 ---- 选自己\n let selectSelf = false\n if (container !== document) {\n const $nodeList = container.parentNode?.querySelectorAll(selector)\n if ($nodeList) {\n for (let i = 0, len = $nodeList.length; i < len; ++i) {\n if (container === $nodeList[i]) {\n selectSelf = true\n break\n }\n }\n }\n }\n\n if (single) {\n const el = selectSelf === true ? container : container.querySelector(selector)\n result.push(filter(fields, el as HTMLElement, selector))\n } else {\n const $children = container.querySelectorAll(selector)\n const children: TElement[] = []\n selectSelf === true && children.push(container)\n for (let i = 0, len = $children.length; i < len; ++i) {\n children.push($children[i])\n }\n result.push(children.map(dom => filter(fields, dom as HTMLElement)))\n }\n })\n cb(result)\n}\n\nexport class SelectorQuery implements Taro.SelectorQuery {\n _defaultWebviewId: string | null\n _webviewId: string | null\n _queue: ISelectorQueryQueue[]\n _queueCb: (TSelectorQueryQueueCallback | null)[]\n _component?: TaroGeneral.IAnyObject\n\n constructor () {\n this._defaultWebviewId = null\n this._webviewId = null\n this._queue = []\n this._queueCb = []\n this._component\n }\n\n in (component: TaroGeneral.IAnyObject) {\n this._component = component\n return this\n }\n\n select (selector: string) {\n // 小程序里跨自定义组件的后代选择器 '>>>' 在 h5 替换为普通后代选择器 '>'\n if (typeof selector === 'string') selector = selector.replace('>>>', '>')\n return new NodesRef(selector, this, true)\n }\n\n selectAll (selector: string) {\n // 小程序里跨自定义组件的后代选择器 '>>>' 在 h5 替换为普通后代选择器 '>'\n if (typeof selector === 'string') selector = selector.replace('>>>', '>')\n return new NodesRef(selector, this, false)\n }\n\n selectViewport () {\n return new NodesRef('.taro_page', this, true)\n }\n\n exec (cb) {\n queryBat(this._queue, res => {\n const _queueCb = this._queueCb\n res.forEach((item, index) => {\n const cb = _queueCb[index]\n isFunction(cb) && cb.call(this, item)\n })\n isFunction(cb) && cb.call(this, res)\n })\n return this as unknown as Taro.NodesRef\n }\n\n _push (selector: string, component, single, fields, callback: TSelectorQueryQueueCallback | null = null) {\n this._queue.push({\n component,\n selector,\n single,\n fields\n })\n this._queueCb.push(callback)\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectorQuery.js","sources":["../../../src/api/wxml/selectorQuery.ts"],"sourcesContent":["import Taro from '@tarojs/api'\nimport { isFunction } from '@tarojs/shared'\n\nimport { findDOM } from '../../utils'\nimport { CanvasContext } from '../canvas/CanvasContext'\nimport { NodesRef } from './nodesRef'\n\ntype TElement = Document | HTMLElement | Element\n\ninterface ISelectorQueryQueue {\n component: TaroGeneral.IAnyObject\n selector: string\n single: boolean\n fields\n}\n\ntype TSelectorQueryQueueCallback = (res: ISelectorQueryQueue) => void\n\nfunction filter (fields, dom?: HTMLElement, selector?: string) {\n if (!dom) return null\n\n const isViewport = selector === '.taro_page'\n const { id, dataset, rect, size, scrollOffset, properties = [], computedStyle = [], nodeCanvasType, node, context } = fields\n const res: any = {}\n\n if (nodeCanvasType && node) {\n const tagName = dom.tagName\n res.node = {\n id: dom.id,\n $taroElement: dom\n }\n if (/^taro-canvas-core/i.test(tagName)) {\n const type = (dom as any).type! || ''\n res.nodeCanvasType = type\n const canvas = dom.getElementsByTagName('canvas')[0]\n if (/^(2d|webgl)/i.test(type) && canvas) {\n res.node = canvas\n } else {\n res.node = null\n }\n } else if (/^taro-scroll-view-core/i.test(tagName)) {\n // Note https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.html\n res.nodeCanvasType = ''\n res.node = dom\n dom.scrollTo = (dom as any).mpScrollToMethod\n dom.scrollIntoView = (dom as any).mpScrollIntoViewMethod\n } else {\n res.nodeCanvasType = ''\n res.node = dom\n }\n return res\n }\n if (context) {\n const tagName = dom.tagName\n if (/^taro-video-core/i.test(tagName)) {\n // TODO HTMLVideoElement to VideoContext\n return { context: dom as unknown as Taro.VideoContext }\n } else if (/^taro-canvas-core/i.test(tagName)) {\n const type = (dom as any).type! || '2d'\n const canvas = dom?.querySelector('canvas') as HTMLCanvasElement\n const ctx = canvas?.getContext(type) as CanvasRenderingContext2D\n return { context: new CanvasContext(canvas, ctx) }\n } else if (/^taro-live-player-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 LivePlayerContext')\n } else if (/^taro-editor-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 EditorContext')\n } else if (/^taro-map-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 MapContext')\n }\n return\n }\n if (id) res.id = dom.id\n if (dataset) res.dataset = Object.assign({}, dom.dataset)\n if (rect || size) {\n const { left, right, top, bottom, width, height } = dom.getBoundingClientRect()\n if (rect) {\n if (!isViewport) {\n res.left = left\n res.right = right\n res.top = top\n res.bottom = bottom\n } else {\n res.left = 0\n res.right = 0\n res.top = 0\n res.bottom = 0\n }\n }\n if (size) {\n if (!isViewport) {\n res.width = width\n res.height = height\n } else {\n res.width = dom.clientWidth\n res.height = dom.clientHeight\n }\n }\n }\n if (scrollOffset) {\n res.scrollLeft = dom.scrollLeft\n res.scrollTop = dom.scrollTop\n }\n if (properties.length) {\n properties.forEach(prop => {\n const attr = dom.getAttribute(prop)\n if (attr) res[prop] = attr\n })\n }\n if (computedStyle.length) {\n const styles = window.getComputedStyle(dom)\n computedStyle.forEach(key => {\n const value = styles.getPropertyValue(key) || styles[key]\n if (value) res[key] = value\n })\n }\n\n return res\n}\n\n/**\n * WXML节点信息API\n * @return {Object} SelectorQuery 对象实例\n */\nfunction queryBat (queue: ISelectorQueryQueue[], cb: (...args: any[]) => any): void {\n const result: any[] = []\n\n queue.forEach(item => {\n const { selector, single, fields, component } = item\n // selector 的容器节点\n /* eslint-disable */\n const container: TElement = (\n component !== null ?\n (findDOM(component) as HTMLElement || document) :\n document\n )\n /* eslint-enable */\n\n // 特殊处理 ---- 选自己\n let selectSelf = false\n if (container !== document) {\n const $nodeList = container.parentNode?.querySelectorAll(selector)\n if ($nodeList) {\n for (let i = 0, len = $nodeList.length; i < len; ++i) {\n if (container === $nodeList[i]) {\n selectSelf = true\n break\n }\n }\n }\n }\n\n if (single) {\n const el = selectSelf === true ? container : container.querySelector(selector)\n result.push(filter(fields, el as HTMLElement, selector))\n } else {\n const $children = container.querySelectorAll(selector)\n const children: TElement[] = []\n selectSelf === true && children.push(container)\n for (let i = 0, len = $children.length; i < len; ++i) {\n children.push($children[i])\n }\n result.push(children.map(dom => filter(fields, dom as HTMLElement)))\n }\n })\n cb(result)\n}\n\nexport class SelectorQuery implements Taro.SelectorQuery {\n _defaultWebviewId: string | null\n _webviewId: string | null\n _queue: ISelectorQueryQueue[]\n _queueCb: (TSelectorQueryQueueCallback | null)[]\n _component?: TaroGeneral.IAnyObject\n\n constructor () {\n this._defaultWebviewId = null\n this._webviewId = null\n this._queue = []\n this._queueCb = []\n this._component\n }\n\n in (component: TaroGeneral.IAnyObject) {\n this._component = component\n return this\n }\n\n select (selector: string) {\n // 小程序里跨自定义组件的后代选择器 '>>>' 在 h5 替换为普通后代选择器 '>'\n if (typeof selector === 'string') selector = selector.replace('>>>', '>')\n return new NodesRef(selector, this, true)\n }\n\n selectAll (selector: string) {\n // 小程序里跨自定义组件的后代选择器 '>>>' 在 h5 替换为普通后代选择器 '>'\n if (typeof selector === 'string') selector = selector.replace('>>>', '>')\n return new NodesRef(selector, this, false)\n }\n\n selectViewport () {\n return new NodesRef('.taro_page', this, true)\n }\n\n exec (cb) {\n Taro.nextTick(() => {\n queryBat(this._queue, res => {\n const _queueCb = this._queueCb\n res.forEach((item, index) => {\n const cb = _queueCb[index]\n isFunction(cb) && cb.call(this, item)\n })\n isFunction(cb) && cb.call(this, res)\n })\n })\n return this as unknown as Taro.NodesRef\n }\n\n _push (selector: string, component, single, fields, callback: TSelectorQueryQueueCallback | null = null) {\n this._queue.push({\n component,\n selector,\n single,\n fields\n })\n this._queueCb.push(callback)\n }\n}\n"],"names":[],"mappings":"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"}
@@ -37,7 +37,8 @@ declare const env: {
37
37
  TARO_PLATFORM: string | undefined;
38
38
  TARO_VERSION: string | undefined;
39
39
  };
40
- declare const canIUse: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
40
+ // Note: 该方法由 taro-plugin-platform-h5 实现
41
+ // export const canIUse = /* @__PURE__ */ temporarilyNotSupport('canIUse')
41
42
  declare function arrayBufferToBase64(arrayBuffer: ArrayBuffer): string;
42
43
  declare function base64ToArrayBuffer(base64: string): Uint8Array;
43
44
  // 加密
@@ -193,8 +194,8 @@ declare const onBLEPeripheralConnectionStateChanged: (option?: {}, ...args: any[
193
194
  declare const offBLEPeripheralConnectionStateChanged: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
194
195
  declare const createBLEPeripheralServer: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
195
196
  // 日历
196
- declare const addPhoneRepeatCalendar: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
197
- declare const addPhoneCalendar: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
197
+ declare const addPhoneRepeatCalendar: typeof Taro.addPhoneRepeatCalendar;
198
+ declare const addPhoneCalendar: typeof Taro.addPhoneCalendar;
198
199
  /**
199
200
  * 设置系统剪贴板的内容
200
201
  */
@@ -455,9 +456,8 @@ declare const getBackgroundAudioPlayerState: (option?: {}, ...args: any[]) => Pr
455
456
  declare const getBackgroundAudioManager: () => BackgroundAudioManager;
456
457
  // 相机
457
458
  declare const createCameraContext: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
458
- // 图片
459
- declare const saveImageToPhotosAlbum: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
460
- declare const previewMedia: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
459
+ declare const saveImageToPhotosAlbum: typeof Taro.saveImageToPhotosAlbum;
460
+ declare const previewMedia: typeof Taro.previewMedia;
461
461
  /**
462
462
  * 获取图片信息。网络图片需先配置download域名才能生效。
463
463
  */
@@ -473,6 +473,7 @@ declare const compressImage: (option?: {}, ...args: any[]) => Promise<Partial<Ta
473
473
  declare const chooseMessageFile: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
474
474
  /**
475
475
  * 从本地相册选择图片或使用相机拍照。
476
+ * @deprecated 请使用 chooseMedia 接口
476
477
  */
477
478
  declare const chooseImage: typeof Taro.chooseImage;
478
479
  declare const editImage: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
@@ -488,20 +489,23 @@ declare const createMediaRecorder: (option?: {}, ...args: any[]) => Promise<Part
488
489
  declare const stopRecord: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
489
490
  declare const startRecord: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
490
491
  declare const getRecorderManager: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
491
- // 视频
492
- declare const saveVideoToPhotosAlbum: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
492
+ declare const saveVideoToPhotosAlbum: typeof Taro.saveVideoToPhotosAlbum;
493
493
  declare const openVideoEditor: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
494
- declare const getVideoInfo: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
494
+ declare const getVideoInfo: typeof Taro.getVideoInfo;
495
495
  /**
496
496
  * 创建 video 上下文 VideoContext 对象。
497
497
  */
498
498
  declare const createVideoContext: typeof Taro.createVideoContext;
499
499
  declare const compressVideo: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
500
+ /**
501
+ * 拍摄或从手机相册中选择图片或视频。
502
+ */
503
+ declare const chooseMedia: (options: Taro.chooseMedia.Option, methodName?: string) => Promise<Taro.chooseMedia.SuccessCallbackResult>;
500
504
  /**
501
505
  * 拍摄视频或从手机相册中选视频。
506
+ * @deprecated 请使用 chooseMedia 接口
502
507
  */
503
508
  declare const chooseVideo: typeof Taro.chooseVideo;
504
- declare const chooseMedia: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
505
509
  // 视频解码器
506
510
  declare const createVideoDecoder: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
507
511
  // 音视频合成
@@ -543,7 +547,7 @@ declare const offLocalServiceResolveFail: (option?: {}, ...args: any[]) => Promi
543
547
  declare const offLocalServiceLost: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
544
548
  declare const offLocalServiceFound: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
545
549
  declare const offLocalServiceDiscoveryStop: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
546
- declare const request: typeof Taro.request;
550
+ declare const request: <T = any, U = any>(option: Taro.request.Option<T, U>) => Taro.RequestTask<T>;
547
551
  declare const addInterceptor: any;
548
552
  declare const cleanInterceptors: any;
549
553
  // TCP 通信
@@ -625,15 +629,25 @@ declare const requestOrderPayment: (option?: {}, ...args: any[]) => Promise<Part
625
629
  // 打开手Q说说发表界面
626
630
  declare const openQzonePublish: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
627
631
  // 转发
632
+ /** 更新转发属性 */
628
633
  declare const updateShareMenu: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
634
+ /** 显示当前页面的转发按钮 */
629
635
  declare const showShareMenu: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
636
+ /** 打开分享图片弹窗,可以将图片发送给朋友、收藏或下载 */
630
637
  declare const showShareImageMenu: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
638
+ /** 转发视频到聊天 */
631
639
  declare const shareVideoMessage: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
640
+ /** 转发文件到聊天 */
632
641
  declare const shareFileMessage: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
642
+ /** 监听用户点击右上角菜单的「复制链接」按钮时触发的事件 */
633
643
  declare const onCopyUrl: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
644
+ /** 移除用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */
634
645
  declare const offCopyUrl: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
646
+ /** 隐藏当前页面的转发按钮 */
635
647
  declare const hideShareMenu: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
648
+ /** 获取转发详细信息 */
636
649
  declare const getShareInfo: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
650
+ /** 验证私密消息。 */
637
651
  declare const authPrivateMessage: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
638
652
  // 数据缓存
639
653
  declare const setStorageSync: typeof Taro.setStorageSync;
@@ -692,7 +706,7 @@ declare const hideToast: typeof Taro.hideToast;
692
706
  declare const showLoading: typeof Taro.showLoading;
693
707
  declare const hideLoading: typeof Taro.hideLoading;
694
708
  declare const showModal: typeof Taro.showModal;
695
- declare const showActionSheet: typeof Taro.showActionSheet;
709
+ declare const showActionSheet: (options?: Taro.showActionSheet.Option, methodName?: string) => Promise<Taro.showActionSheet.SuccessCallbackResult>;
696
710
  declare const enableAlertBeforeUnload: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
697
711
  declare const disableAlertBeforeUnload: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
698
712
  // 菜单
@@ -771,5 +785,5 @@ declare const createWorker: (option?: {}, ...args: any[]) => Promise<Partial<Tar
771
785
  declare const createSelectorQuery: typeof Taro.createSelectorQuery;
772
786
  declare const createIntersectionObserver: typeof Taro.createIntersectionObserver;
773
787
  declare const createMediaQueryObserver: typeof Taro.createMediaQueryObserver;
774
- export { taro as default, taro, createRewardedVideoAd, createInterstitialAd, stopFaceDetect, initFaceDetect, faceDetect, isVKSupport, createVKSession, getOpenUserInfo, env, canIUse, arrayBufferToBase64, base64ToArrayBuffer, getUserCryptoManager, setEnableDebug, getRealtimeLogManager, getLogManager, reportPerformance, getPerformance, openSystemBluetoothSetting, openAppAuthorizeSetting, getWindowInfo, getSystemSetting, getDeviceInfo, getAppBaseInfo, getAppAuthorizeSetting, getSystemInfoSync, getSystemInfoAsync, getSystemInfo, updateWeChatApp, getUpdateManager, onUnhandledRejection, onThemeChange, onPageNotFound, onError, onAudioInterruptionEnd, onAudioInterruptionBegin, onAppShow, onAppHide, offUnhandledRejection, offThemeChange, offPageNotFound, offError, offAudioInterruptionEnd, offAudioInterruptionBegin, offAppShow, offAppHide, getLaunchOptionsSync, getEnterOptionsSync, createOffscreenCanvas, createCanvasContext, canvasToTempFilePath, canvasPutImageData, canvasGetImageData, cloud, reportMonitor, reportAnalytics, reportEvent, getExptInfoSync, stopAccelerometer, startAccelerometer, onAccelerometerChange, offAccelerometerChange, checkIsOpenAccessibility, getBatteryInfoSync, getBatteryInfo, stopBluetoothDevicesDiscovery, startBluetoothDevicesDiscovery, openBluetoothAdapter, onBluetoothDeviceFound, onBluetoothAdapterStateChange, offBluetoothDeviceFound, offBluetoothAdapterStateChange, makeBluetoothPair, isBluetoothDevicePaired, getConnectedBluetoothDevices, getBluetoothDevices, getBluetoothAdapterState, closeBluetoothAdapter, writeBLECharacteristicValue, setBLEMTU, readBLECharacteristicValue, onBLEMTUChange, onBLEConnectionStateChange, onBLECharacteristicValueChange, offBLEMTUChange, offBLEConnectionStateChange, offBLECharacteristicValueChange, notifyBLECharacteristicValueChange, getBLEMTU, getBLEDeviceServices, getBLEDeviceRSSI, getBLEDeviceCharacteristics, createBLEConnection, closeBLEConnection, onBLEPeripheralConnectionStateChanged, offBLEPeripheralConnectionStateChanged, createBLEPeripheralServer, addPhoneRepeatCalendar, addPhoneCalendar, setClipboardData, getClipboardData, stopCompass, startCompass, onCompassChange, offCompassChange, chooseContact, addPhoneContact, getRandomValues, stopGyroscope, startGyroscope, onGyroscopeChange, offGyroscopeChange, stopBeaconDiscovery, startBeaconDiscovery, onBeaconUpdate, onBeaconServiceChange, offBeaconUpdate, offBeaconServiceChange, getBeacons, onKeyboardHeightChange, offKeyboardHeightChange, hideKeyboard, getSelectedTextRange, onMemoryWarning, offMemoryWarning, stopDeviceMotionListening, startDeviceMotionListening, onDeviceMotionChange, offDeviceMotionChange, getNetworkType, onNetworkWeakChange, onNetworkStatusChange, offNetworkWeakChange, offNetworkStatusChange, getLocalIPAddress, stopHCE, startHCE, sendHCEMessage, onHCEMessage, offHCEMessage, getNFCAdapter, getHCEState, makePhoneCall, scanCode, setVisualEffectOnCapture, setScreenBrightness, setKeepScreenOn, onUserCaptureScreen, offUserCaptureScreen, getScreenBrightness, vibrateShort, vibrateLong, stopWifi, startWifi, setWifiList, onWifiConnectedWithPartialInfo, onWifiConnected, onGetWifiList, offWifiConnectedWithPartialInfo, offWifiConnected, offGetWifiList, getWifiList, getConnectedWifi, connectWifi, getExtConfigSync, getExtConfig, saveFileToDisk, saveFile, removeSavedFile, openDocument, getSavedFileList, getSavedFileInfo, getFileSystemManager, getFileInfo, getApp, getCurrentInstance, stopLocationUpdate, startLocationUpdateBackground, startLocationUpdate, openLocation, onLocationChangeError, onLocationChange, offLocationChangeError, offLocationChange, getLocation, choosePoi, getFuzzyLocation, chooseLocation, stopVoice, setInnerAudioOption, playVoice, pauseVoice, getAvailableAudioSources, createWebAudioContext, createMediaAudioPlayer, createInnerAudioContext, createAudioContext, stopBackgroundAudio, seekBackgroundAudio, playBackgroundAudio, pauseBackgroundAudio, onBackgroundAudioStop, onBackgroundAudioPlay, onBackgroundAudioPause, getBackgroundAudioPlayerState, getBackgroundAudioManager, createCameraContext, saveImageToPhotosAlbum, previewMedia, getImageInfo, previewImage, compressImage, chooseMessageFile, chooseImage, editImage, cropImage, createLivePusherContext, createLivePlayerContext, createMapContext, createMediaRecorder, stopRecord, startRecord, getRecorderManager, saveVideoToPhotosAlbum, openVideoEditor, getVideoInfo, createVideoContext, compressVideo, chooseVideo, chooseMedia, createVideoDecoder, createMediaContainer, updateVoIPChatMuteConfig, subscribeVoIPVideoMembers, setEnable1v1Chat, onVoIPVideoMembersChanged, onVoIPChatStateChanged, onVoIPChatSpeakersChanged, onVoIPChatMembersChanged, onVoIPChatInterrupted, offVoIPVideoMembersChanged, offVoIPChatStateChanged, offVoIPChatMembersChanged, offVoIPChatInterrupted, joinVoIPChat, exitVoIPChat, openEmbeddedMiniProgram, navigateToMiniProgram, navigateBackMiniProgram, exitMiniProgram, openBusinessView, downloadFile, stopLocalServiceDiscovery, startLocalServiceDiscovery, onLocalServiceResolveFail, onLocalServiceLost, onLocalServiceFound, onLocalServiceDiscoveryStop, offLocalServiceResolveFail, offLocalServiceLost, offLocalServiceFound, offLocalServiceDiscoveryStop, request, addInterceptor, cleanInterceptors, createTCPSocket, createUDPSocket, uploadFile, sendSocketMessage, onSocketOpen, onSocketMessage, onSocketError, onSocketClose, connectSocket, closeSocket, getAccountInfoSync, chooseAddress, authorizeForMiniProgram, authorize, openCard, addCard, reserveChannelsLive, openChannelsLive, openChannelsEvent, openChannelsActivity, getChannelsLiveNoticeInfo, getChannelsLiveInfo, openCustomerServiceChat, checkIsSupportFacialRecognition, startFacialRecognitionVerify, startFacialRecognitionVerifyAndUploadVideo, faceVerifyForPay, addVideoToFavorites, addFileToFavorites, checkIsAddedToMyMiniProgram, getGroupEnterInfo, chooseInvoiceTitle, chooseInvoice, chooseLicensePlate, pluginLogin, login, checkSession, showRedPackage, openSetting, getSetting, startSoterAuthentication, checkIsSupportSoterAuthentication, checkIsSoterEnrolledInDevice, requestSubscribeMessage, requestSubscribeDeviceMessage, getUserProfile, getUserInfo, shareToWeRun, getWeRunData, requestPayment, requestOrderPayment, openQzonePublish, updateShareMenu, showShareMenu, showShareImageMenu, shareVideoMessage, shareFileMessage, onCopyUrl, offCopyUrl, hideShareMenu, getShareInfo, authPrivateMessage, setStorageSync, setStorage, revokeBufferURL, removeStorageSync, removeStorage, getStorageSync, getStorageInfoSync, getStorageInfo, getStorage, createBufferURL, clearStorageSync, clearStorage, setBackgroundFetchToken, onBackgroundFetchData, getBackgroundFetchToken, getBackgroundFetchData, setPageInfo, ocrIdCard, ocrBankCard, ocrDrivingLicense, ocrVehicleLicense, textReview, textToAudio, imageAudit, advancedGeneralIdentify, objectDetectIdentify, carClassify, dishClassify, logoClassify, animalClassify, plantClassify, getSwanId, requestPolymerPayment, navigateToSmartGameProgram, navigateToSmartProgram, navigateBackSmartProgram, preloadSubPackage, createAnimation, setBackgroundTextStyle, setBackgroundColor, nextTick, loadFontFace, disableAlertBeforeUnload, enableAlertBeforeUnload, hideLoading, hideToast, showActionSheet, showLoading, showModal, showToast, getMenuButtonBoundingClientRect, showNavigationBarLoading, setNavigationBarTitle, setNavigationBarColor, hideNavigationBarLoading, hideHomeButton, startPullDownRefresh, stopPullDownRefresh, pageScrollTo, setTopBarText, initTabBarApis, showTabBarRedDot, showTabBar, setTabBarStyle, setTabBarItem, setTabBarBadge, removeTabBarBadge, hideTabBarRedDot, hideTabBar, setWindowSize, onWindowResize, offWindowResize, checkIsPictureInPictureActive, createWorker, createSelectorQuery, createIntersectionObserver, createMediaQueryObserver, Behavior, canIUseWebp, Current, ENV_TYPE, eventCenter, Events, getAppInfo, getEnv, history, initPxTransform, interceptorify, interceptors, Link, options, preload, pxTransform, requirePlugin };
788
+ export { taro as default, taro, createRewardedVideoAd, createInterstitialAd, stopFaceDetect, initFaceDetect, faceDetect, isVKSupport, createVKSession, getOpenUserInfo, env, arrayBufferToBase64, base64ToArrayBuffer, getUserCryptoManager, setEnableDebug, getRealtimeLogManager, getLogManager, reportPerformance, getPerformance, openSystemBluetoothSetting, openAppAuthorizeSetting, getWindowInfo, getSystemSetting, getDeviceInfo, getAppBaseInfo, getAppAuthorizeSetting, getSystemInfoSync, getSystemInfoAsync, getSystemInfo, updateWeChatApp, getUpdateManager, onUnhandledRejection, onThemeChange, onPageNotFound, onError, onAudioInterruptionEnd, onAudioInterruptionBegin, onAppShow, onAppHide, offUnhandledRejection, offThemeChange, offPageNotFound, offError, offAudioInterruptionEnd, offAudioInterruptionBegin, offAppShow, offAppHide, getLaunchOptionsSync, getEnterOptionsSync, createOffscreenCanvas, createCanvasContext, canvasToTempFilePath, canvasPutImageData, canvasGetImageData, cloud, reportMonitor, reportAnalytics, reportEvent, getExptInfoSync, stopAccelerometer, startAccelerometer, onAccelerometerChange, offAccelerometerChange, checkIsOpenAccessibility, getBatteryInfoSync, getBatteryInfo, stopBluetoothDevicesDiscovery, startBluetoothDevicesDiscovery, openBluetoothAdapter, onBluetoothDeviceFound, onBluetoothAdapterStateChange, offBluetoothDeviceFound, offBluetoothAdapterStateChange, makeBluetoothPair, isBluetoothDevicePaired, getConnectedBluetoothDevices, getBluetoothDevices, getBluetoothAdapterState, closeBluetoothAdapter, writeBLECharacteristicValue, setBLEMTU, readBLECharacteristicValue, onBLEMTUChange, onBLEConnectionStateChange, onBLECharacteristicValueChange, offBLEMTUChange, offBLEConnectionStateChange, offBLECharacteristicValueChange, notifyBLECharacteristicValueChange, getBLEMTU, getBLEDeviceServices, getBLEDeviceRSSI, getBLEDeviceCharacteristics, createBLEConnection, closeBLEConnection, onBLEPeripheralConnectionStateChanged, offBLEPeripheralConnectionStateChanged, createBLEPeripheralServer, addPhoneRepeatCalendar, addPhoneCalendar, setClipboardData, getClipboardData, stopCompass, startCompass, onCompassChange, offCompassChange, chooseContact, addPhoneContact, getRandomValues, stopGyroscope, startGyroscope, onGyroscopeChange, offGyroscopeChange, stopBeaconDiscovery, startBeaconDiscovery, onBeaconUpdate, onBeaconServiceChange, offBeaconUpdate, offBeaconServiceChange, getBeacons, onKeyboardHeightChange, offKeyboardHeightChange, hideKeyboard, getSelectedTextRange, onMemoryWarning, offMemoryWarning, stopDeviceMotionListening, startDeviceMotionListening, onDeviceMotionChange, offDeviceMotionChange, getNetworkType, onNetworkWeakChange, onNetworkStatusChange, offNetworkWeakChange, offNetworkStatusChange, getLocalIPAddress, stopHCE, startHCE, sendHCEMessage, onHCEMessage, offHCEMessage, getNFCAdapter, getHCEState, makePhoneCall, scanCode, setVisualEffectOnCapture, setScreenBrightness, setKeepScreenOn, onUserCaptureScreen, offUserCaptureScreen, getScreenBrightness, vibrateShort, vibrateLong, stopWifi, startWifi, setWifiList, onWifiConnectedWithPartialInfo, onWifiConnected, onGetWifiList, offWifiConnectedWithPartialInfo, offWifiConnected, offGetWifiList, getWifiList, getConnectedWifi, connectWifi, getExtConfigSync, getExtConfig, saveFileToDisk, saveFile, removeSavedFile, openDocument, getSavedFileList, getSavedFileInfo, getFileSystemManager, getFileInfo, getApp, getCurrentInstance, stopLocationUpdate, startLocationUpdateBackground, startLocationUpdate, openLocation, onLocationChangeError, onLocationChange, offLocationChangeError, offLocationChange, getLocation, choosePoi, getFuzzyLocation, chooseLocation, stopVoice, setInnerAudioOption, playVoice, pauseVoice, getAvailableAudioSources, createWebAudioContext, createMediaAudioPlayer, createInnerAudioContext, createAudioContext, stopBackgroundAudio, seekBackgroundAudio, playBackgroundAudio, pauseBackgroundAudio, onBackgroundAudioStop, onBackgroundAudioPlay, onBackgroundAudioPause, getBackgroundAudioPlayerState, getBackgroundAudioManager, createCameraContext, saveImageToPhotosAlbum, previewMedia, getImageInfo, previewImage, compressImage, chooseMessageFile, chooseImage, editImage, cropImage, createLivePusherContext, createLivePlayerContext, createMapContext, createMediaRecorder, stopRecord, startRecord, getRecorderManager, saveVideoToPhotosAlbum, openVideoEditor, getVideoInfo, createVideoContext, compressVideo, chooseMedia, chooseVideo, createVideoDecoder, createMediaContainer, updateVoIPChatMuteConfig, subscribeVoIPVideoMembers, setEnable1v1Chat, onVoIPVideoMembersChanged, onVoIPChatStateChanged, onVoIPChatSpeakersChanged, onVoIPChatMembersChanged, onVoIPChatInterrupted, offVoIPVideoMembersChanged, offVoIPChatStateChanged, offVoIPChatMembersChanged, offVoIPChatInterrupted, joinVoIPChat, exitVoIPChat, openEmbeddedMiniProgram, navigateToMiniProgram, navigateBackMiniProgram, exitMiniProgram, openBusinessView, downloadFile, stopLocalServiceDiscovery, startLocalServiceDiscovery, onLocalServiceResolveFail, onLocalServiceLost, onLocalServiceFound, onLocalServiceDiscoveryStop, offLocalServiceResolveFail, offLocalServiceLost, offLocalServiceFound, offLocalServiceDiscoveryStop, request, addInterceptor, cleanInterceptors, createTCPSocket, createUDPSocket, uploadFile, sendSocketMessage, onSocketOpen, onSocketMessage, onSocketError, onSocketClose, connectSocket, closeSocket, getAccountInfoSync, chooseAddress, authorizeForMiniProgram, authorize, openCard, addCard, reserveChannelsLive, openChannelsLive, openChannelsEvent, openChannelsActivity, getChannelsLiveNoticeInfo, getChannelsLiveInfo, openCustomerServiceChat, checkIsSupportFacialRecognition, startFacialRecognitionVerify, startFacialRecognitionVerifyAndUploadVideo, faceVerifyForPay, addVideoToFavorites, addFileToFavorites, checkIsAddedToMyMiniProgram, getGroupEnterInfo, chooseInvoiceTitle, chooseInvoice, chooseLicensePlate, pluginLogin, login, checkSession, showRedPackage, openSetting, getSetting, startSoterAuthentication, checkIsSupportSoterAuthentication, checkIsSoterEnrolledInDevice, requestSubscribeMessage, requestSubscribeDeviceMessage, getUserProfile, getUserInfo, shareToWeRun, getWeRunData, requestPayment, requestOrderPayment, openQzonePublish, updateShareMenu, showShareMenu, showShareImageMenu, shareVideoMessage, shareFileMessage, onCopyUrl, offCopyUrl, hideShareMenu, getShareInfo, authPrivateMessage, setStorageSync, setStorage, revokeBufferURL, removeStorageSync, removeStorage, getStorageSync, getStorageInfoSync, getStorageInfo, getStorage, createBufferURL, clearStorageSync, clearStorage, setBackgroundFetchToken, onBackgroundFetchData, getBackgroundFetchToken, getBackgroundFetchData, setPageInfo, ocrIdCard, ocrBankCard, ocrDrivingLicense, ocrVehicleLicense, textReview, textToAudio, imageAudit, advancedGeneralIdentify, objectDetectIdentify, carClassify, dishClassify, logoClassify, animalClassify, plantClassify, getSwanId, requestPolymerPayment, navigateToSmartGameProgram, navigateToSmartProgram, navigateBackSmartProgram, preloadSubPackage, createAnimation, setBackgroundTextStyle, setBackgroundColor, nextTick, loadFontFace, disableAlertBeforeUnload, enableAlertBeforeUnload, hideLoading, hideToast, showActionSheet, showLoading, showModal, showToast, getMenuButtonBoundingClientRect, showNavigationBarLoading, setNavigationBarTitle, setNavigationBarColor, hideNavigationBarLoading, hideHomeButton, startPullDownRefresh, stopPullDownRefresh, pageScrollTo, setTopBarText, initTabBarApis, showTabBarRedDot, showTabBar, setTabBarStyle, setTabBarItem, setTabBarBadge, removeTabBarBadge, hideTabBarRedDot, hideTabBar, setWindowSize, onWindowResize, offWindowResize, checkIsPictureInPictureActive, createWorker, createSelectorQuery, createIntersectionObserver, createMediaQueryObserver, Behavior, canIUseWebp, Current, ENV_TYPE, eventCenter, Events, getAppInfo, getEnv, history, initPxTransform, interceptorify, interceptors, Link, options, preload, pxTransform, requirePlugin };
775
789
  export { getCurrentPages, navigateBack, navigateTo, redirectTo, reLaunch, switchTab } from "@tarojs/router";