@tarojs/components 3.5.0-canary.0 → 3.5.0-theta.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 (498) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/{index-dd4b7ba3.js → index-13289aba.js} +62 -53
  3. package/dist/cjs/index-47a1959e.js +34 -0
  4. package/dist/{esm/index-3c78bcaf.js → cjs/index-f9d21cc5.js} +12 -1
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/taro-ad-core.cjs.entry.js +19 -0
  7. package/dist/cjs/taro-ad-custom-core.cjs.entry.js +19 -0
  8. package/dist/cjs/taro-audio-core.cjs.entry.js +1 -1
  9. package/dist/cjs/taro-block-core.cjs.entry.js +1 -1
  10. package/dist/cjs/taro-button-core.cjs.entry.js +3 -3
  11. package/dist/cjs/taro-camera-core.cjs.entry.js +1 -1
  12. package/dist/cjs/taro-canvas-core.cjs.entry.js +2 -2
  13. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +2 -2
  14. package/dist/cjs/taro-components.cjs.js +3 -3
  15. package/dist/cjs/taro-cover-image-core.cjs.entry.js +1 -1
  16. package/dist/cjs/taro-cover-view-core.cjs.entry.js +2 -2
  17. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +1 -1
  18. package/dist/cjs/taro-editor-core.cjs.entry.js +19 -0
  19. package/dist/cjs/taro-form-core.cjs.entry.js +1 -1
  20. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js +19 -0
  21. package/dist/cjs/taro-icon-core.cjs.entry.js +2 -2
  22. package/dist/cjs/taro-image-core.cjs.entry.js +4 -4
  23. package/dist/cjs/taro-input-core.cjs.entry.js +28 -20
  24. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js +19 -0
  25. package/dist/cjs/taro-label-core.cjs.entry.js +1 -1
  26. package/dist/cjs/taro-live-player-core.cjs.entry.js +19 -0
  27. package/dist/cjs/taro-live-pusher-core.cjs.entry.js +19 -0
  28. package/dist/cjs/taro-map-core.cjs.entry.js +19 -0
  29. package/dist/cjs/taro-match-media-core.cjs.entry.js +19 -0
  30. package/dist/cjs/taro-movable-area-core.cjs.entry.js +1 -1
  31. package/dist/cjs/taro-movable-view-core.cjs.entry.js +1 -1
  32. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js +19 -0
  33. package/dist/cjs/taro-navigator-core.cjs.entry.js +14 -10
  34. package/dist/cjs/taro-official-account-core.cjs.entry.js +19 -0
  35. package/dist/cjs/taro-open-data-core.cjs.entry.js +1 -1
  36. package/dist/cjs/taro-page-container-core.cjs.entry.js +19 -0
  37. package/dist/cjs/taro-page-meta-core.cjs.entry.js +19 -0
  38. package/dist/cjs/taro-picker-core_2.cjs.entry.js +2 -2
  39. package/dist/cjs/taro-picker-view-column-core.cjs.entry.js +80 -4
  40. package/dist/cjs/taro-picker-view-core.cjs.entry.js +72 -3
  41. package/dist/cjs/taro-progress-core.cjs.entry.js +1 -1
  42. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js +22 -8
  43. package/dist/cjs/taro-radio-core_2.cjs.entry.js +1 -1
  44. package/dist/cjs/taro-rich-text-core.cjs.entry.js +2 -2
  45. package/dist/cjs/taro-scroll-view-core.cjs.entry.js +9 -17
  46. package/dist/cjs/taro-share-element-core.cjs.entry.js +19 -0
  47. package/dist/cjs/taro-slider-core.cjs.entry.js +1 -1
  48. package/dist/cjs/taro-slot-core.cjs.entry.js +19 -0
  49. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +23 -17
  50. package/dist/cjs/taro-switch-core.cjs.entry.js +1 -1
  51. package/dist/cjs/taro-tabbar.cjs.entry.js +73 -67
  52. package/dist/cjs/taro-text-core.cjs.entry.js +3 -3
  53. package/dist/cjs/taro-textarea-core.cjs.entry.js +8 -6
  54. package/dist/cjs/taro-video-control_3.cjs.entry.js +27868 -224
  55. package/dist/cjs/taro-view-core.cjs.entry.js +5 -5
  56. package/dist/cjs/taro-voip-room-core.cjs.entry.js +19 -0
  57. package/dist/cjs/taro-web-view-core.cjs.entry.js +2 -2
  58. package/dist/collection/collection-manifest.json +22 -6
  59. package/dist/collection/components/ad/ad.js +11 -0
  60. package/dist/collection/components/{picker-view-column/picker-view-column.js → ad-custom/ad-custom.js} +3 -3
  61. package/dist/collection/components/button/style/index.css +49 -49
  62. package/dist/collection/components/canvas/canvas.js +1 -1
  63. package/dist/collection/components/canvas/style/index.css +6 -6
  64. package/dist/collection/components/checkbox/style/index.css +21 -23
  65. package/dist/collection/components/editor/editor.js +11 -0
  66. package/dist/collection/components/functional-page-navigator/functional-page-navigator.js +11 -0
  67. package/dist/collection/components/image/image.js +2 -2
  68. package/dist/collection/components/image/style/index.css +8 -5
  69. package/dist/collection/components/input/index.css +2 -2
  70. package/dist/collection/components/input/input.js +41 -24
  71. package/dist/collection/components/keyboard-accessory/keyboard-accessory.js +11 -0
  72. package/dist/collection/components/live-player/live-player.js +11 -0
  73. package/dist/collection/components/live-pusher/live-pusher.js +11 -0
  74. package/dist/collection/components/map/map.js +11 -0
  75. package/dist/collection/components/match-media/match-media.js +11 -0
  76. package/dist/collection/components/{movable-view → movable-area}/movable-area.js +0 -0
  77. package/dist/collection/components/{movable-view → movable-area}/movable-view.js +0 -0
  78. package/dist/collection/components/navigation-bar/navigation-bar.js +11 -0
  79. package/dist/collection/components/navigator/navigator.js +3 -3
  80. package/dist/collection/components/navigator/{navigator.css → style/index.css} +3 -3
  81. package/dist/collection/components/official-account/official-account.js +11 -0
  82. package/dist/collection/components/page-container/page-container.js +11 -0
  83. package/dist/collection/components/page-meta/page-meta.js +11 -0
  84. package/dist/collection/components/picker/style/index.css +2 -1
  85. package/dist/collection/components/picker-view/picker-view-column.js +225 -0
  86. package/dist/collection/components/picker-view/picker-view.js +217 -3
  87. package/dist/collection/components/picker-view/style/column.css +12 -0
  88. package/dist/collection/components/picker-view/style/index.css +28 -0
  89. package/dist/collection/components/{pull-down-refresh → pull-to-refresh}/pull-to-refresh.js +14 -4
  90. package/dist/collection/components/{pull-down-refresh → pull-to-refresh}/style/index.css +53 -49
  91. package/dist/collection/components/rich-text/rich-text.js +1 -1
  92. package/dist/collection/components/scroll-view/scroll-view.js +6 -14
  93. package/dist/collection/components/share-element/share-element.js +11 -0
  94. package/dist/collection/components/slot/slot.js +11 -0
  95. package/dist/collection/components/swiper/swiper.js +20 -14
  96. package/dist/collection/components/tabbar/style/index.css +10 -7
  97. package/dist/collection/components/tabbar/tabbar.js +23 -17
  98. package/dist/collection/components/text/style/index.css +0 -6
  99. package/dist/collection/components/textarea/style/index.css +5 -5
  100. package/dist/collection/components/textarea/textarea.js +6 -4
  101. package/dist/collection/components/video/style/index.css +88 -109
  102. package/dist/collection/components/video/utils.js +95 -109
  103. package/dist/collection/components/video/video-control.js +9 -9
  104. package/dist/collection/components/video/video.js +57 -9
  105. package/dist/collection/components/view/style/index.css +3 -5
  106. package/dist/collection/components/view/view.js +2 -2
  107. package/dist/collection/components/voip-room/voip-room.js +11 -0
  108. package/dist/collection/components/web-view/style/index.css +1 -1
  109. package/dist/collection/utils/index.js +27 -101
  110. package/dist/collection/utils/style.js +10 -0
  111. package/dist/collection/utils/url.js +67 -0
  112. package/dist/{cjs/index-b9715722.js → esm/index-1d8e8acd.js} +6 -2
  113. package/dist/esm/{index-5bd7cbab.js → index-26d8b479.js} +62 -53
  114. package/dist/esm/index-cad8203e.js +31 -0
  115. package/dist/esm/loader.js +3 -3
  116. package/dist/esm/polyfills/core-js.js +0 -0
  117. package/dist/esm/polyfills/dom.js +0 -0
  118. package/dist/esm/polyfills/es5-html-element.js +0 -0
  119. package/dist/esm/polyfills/index.js +0 -0
  120. package/dist/esm/polyfills/system.js +0 -0
  121. package/dist/esm/taro-ad-core.entry.js +15 -0
  122. package/dist/esm/taro-ad-custom-core.entry.js +15 -0
  123. package/dist/esm/taro-audio-core.entry.js +1 -1
  124. package/dist/esm/taro-block-core.entry.js +1 -1
  125. package/dist/esm/taro-button-core.entry.js +3 -3
  126. package/dist/esm/taro-camera-core.entry.js +1 -1
  127. package/dist/esm/taro-canvas-core.entry.js +2 -2
  128. package/dist/esm/taro-checkbox-core_2.entry.js +2 -2
  129. package/dist/esm/taro-components.js +3 -3
  130. package/dist/esm/taro-cover-image-core.entry.js +1 -1
  131. package/dist/esm/taro-cover-view-core.entry.js +2 -2
  132. package/dist/esm/taro-custom-wrapper-core.entry.js +1 -1
  133. package/dist/esm/taro-editor-core.entry.js +15 -0
  134. package/dist/esm/taro-form-core.entry.js +1 -1
  135. package/dist/esm/taro-functional-page-navigator-core.entry.js +15 -0
  136. package/dist/esm/taro-icon-core.entry.js +2 -2
  137. package/dist/esm/taro-image-core.entry.js +4 -4
  138. package/dist/esm/taro-input-core.entry.js +28 -20
  139. package/dist/esm/taro-keyboard-accessory-core.entry.js +15 -0
  140. package/dist/esm/taro-label-core.entry.js +1 -1
  141. package/dist/esm/taro-live-player-core.entry.js +15 -0
  142. package/dist/esm/taro-live-pusher-core.entry.js +15 -0
  143. package/dist/esm/taro-map-core.entry.js +15 -0
  144. package/dist/esm/taro-match-media-core.entry.js +15 -0
  145. package/dist/esm/taro-movable-area-core.entry.js +1 -1
  146. package/dist/esm/taro-movable-view-core.entry.js +1 -1
  147. package/dist/esm/taro-navigation-bar-core.entry.js +15 -0
  148. package/dist/esm/taro-navigator-core.entry.js +5 -5
  149. package/dist/esm/taro-official-account-core.entry.js +15 -0
  150. package/dist/esm/taro-open-data-core.entry.js +1 -1
  151. package/dist/esm/taro-page-container-core.entry.js +15 -0
  152. package/dist/esm/taro-page-meta-core.entry.js +15 -0
  153. package/dist/esm/taro-picker-core_2.entry.js +2 -2
  154. package/dist/esm/taro-picker-view-column-core.entry.js +80 -4
  155. package/dist/esm/taro-picker-view-core.entry.js +72 -3
  156. package/dist/esm/taro-progress-core.entry.js +1 -1
  157. package/dist/esm/taro-pull-to-refresh.entry.js +16 -6
  158. package/dist/esm/taro-radio-core_2.entry.js +1 -1
  159. package/dist/esm/taro-rich-text-core.entry.js +2 -2
  160. package/dist/esm/taro-scroll-view-core.entry.js +8 -16
  161. package/dist/esm/taro-share-element-core.entry.js +15 -0
  162. package/dist/esm/taro-slider-core.entry.js +1 -1
  163. package/dist/esm/taro-slot-core.entry.js +15 -0
  164. package/dist/esm/taro-swiper-core_2.entry.js +21 -15
  165. package/dist/esm/taro-switch-core.entry.js +1 -1
  166. package/dist/esm/taro-tabbar.entry.js +48 -46
  167. package/dist/esm/taro-text-core.entry.js +3 -3
  168. package/dist/esm/taro-textarea-core.entry.js +8 -6
  169. package/dist/esm/taro-video-control_3.entry.js +27867 -223
  170. package/dist/esm/taro-view-core.entry.js +5 -5
  171. package/dist/esm/taro-voip-room-core.entry.js +15 -0
  172. package/dist/esm/taro-web-view-core.entry.js +2 -2
  173. package/dist/esm-es5/index-1d8e8acd.js +7 -0
  174. package/dist/esm-es5/{index-5bd7cbab.js → index-26d8b479.js} +1 -1
  175. package/dist/esm-es5/index-cad8203e.js +1 -0
  176. package/dist/esm-es5/loader.js +1 -1
  177. package/dist/esm-es5/taro-ad-core.entry.js +1 -0
  178. package/dist/esm-es5/taro-ad-custom-core.entry.js +1 -0
  179. package/dist/esm-es5/taro-audio-core.entry.js +1 -1
  180. package/dist/esm-es5/taro-block-core.entry.js +1 -1
  181. package/dist/esm-es5/taro-button-core.entry.js +1 -1
  182. package/dist/esm-es5/taro-camera-core.entry.js +1 -1
  183. package/dist/esm-es5/taro-canvas-core.entry.js +1 -1
  184. package/dist/esm-es5/taro-checkbox-core_2.entry.js +1 -1
  185. package/dist/esm-es5/taro-components.js +1 -1
  186. package/dist/esm-es5/taro-cover-image-core.entry.js +1 -1
  187. package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
  188. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +1 -1
  189. package/dist/esm-es5/taro-editor-core.entry.js +1 -0
  190. package/dist/esm-es5/taro-form-core.entry.js +1 -1
  191. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +1 -0
  192. package/dist/esm-es5/taro-icon-core.entry.js +1 -1
  193. package/dist/esm-es5/taro-image-core.entry.js +1 -1
  194. package/dist/esm-es5/taro-input-core.entry.js +1 -1
  195. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +1 -0
  196. package/dist/esm-es5/taro-label-core.entry.js +1 -1
  197. package/dist/esm-es5/taro-live-player-core.entry.js +1 -0
  198. package/dist/esm-es5/taro-live-pusher-core.entry.js +1 -0
  199. package/dist/esm-es5/taro-map-core.entry.js +1 -0
  200. package/dist/esm-es5/taro-match-media-core.entry.js +1 -0
  201. package/dist/esm-es5/taro-movable-area-core.entry.js +1 -1
  202. package/dist/esm-es5/taro-movable-view-core.entry.js +1 -1
  203. package/dist/esm-es5/taro-navigation-bar-core.entry.js +1 -0
  204. package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
  205. package/dist/esm-es5/taro-official-account-core.entry.js +1 -0
  206. package/dist/esm-es5/taro-open-data-core.entry.js +1 -1
  207. package/dist/esm-es5/taro-page-container-core.entry.js +1 -0
  208. package/dist/esm-es5/taro-page-meta-core.entry.js +1 -0
  209. package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
  210. package/dist/esm-es5/taro-picker-view-column-core.entry.js +1 -1
  211. package/dist/esm-es5/taro-picker-view-core.entry.js +1 -1
  212. package/dist/esm-es5/taro-progress-core.entry.js +1 -1
  213. package/dist/esm-es5/taro-pull-to-refresh.entry.js +1 -1
  214. package/dist/esm-es5/taro-radio-core_2.entry.js +1 -1
  215. package/dist/esm-es5/taro-rich-text-core.entry.js +1 -1
  216. package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
  217. package/dist/esm-es5/taro-share-element-core.entry.js +1 -0
  218. package/dist/esm-es5/taro-slider-core.entry.js +1 -1
  219. package/dist/esm-es5/taro-slot-core.entry.js +1 -0
  220. package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
  221. package/dist/esm-es5/taro-switch-core.entry.js +1 -1
  222. package/dist/esm-es5/taro-tabbar.entry.js +1 -1
  223. package/dist/esm-es5/taro-text-core.entry.js +1 -1
  224. package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
  225. package/dist/esm-es5/taro-video-control_3.entry.js +365 -1
  226. package/dist/esm-es5/taro-view-core.entry.js +1 -1
  227. package/dist/esm-es5/taro-voip-room-core.entry.js +1 -0
  228. package/dist/esm-es5/taro-web-view-core.entry.js +1 -1
  229. package/dist/taro-components/p-019591c8.system.entry.js +1 -0
  230. package/dist/taro-components/{p-8db237e0.entry.js → p-060858b1.entry.js} +1 -1
  231. package/dist/taro-components/{p-964692f7.system.entry.js → p-06e3d685.system.entry.js} +1 -1
  232. package/dist/taro-components/p-0996daee.entry.js +1 -0
  233. package/dist/taro-components/p-0ca42006.entry.js +1 -0
  234. package/dist/taro-components/{p-3633bb84.entry.js → p-0d0b3677.entry.js} +1 -1
  235. package/dist/taro-components/p-0d1e0e91.system.entry.js +1 -0
  236. package/dist/taro-components/p-0ea13d67.system.entry.js +1 -0
  237. package/dist/taro-components/p-12deba0b.system.entry.js +1 -0
  238. package/dist/taro-components/p-133e3ac4.entry.js +1 -0
  239. package/dist/taro-components/{p-5f8b5f62.entry.js → p-16aff829.entry.js} +1 -1
  240. package/dist/taro-components/p-16c1e564.entry.js +1 -0
  241. package/dist/taro-components/p-178a3adf.system.entry.js +1 -0
  242. package/dist/taro-components/p-1c0ebbd5.entry.js +1 -0
  243. package/dist/taro-components/p-1e0406ec.system.entry.js +1 -0
  244. package/dist/taro-components/p-1e516bd0.entry.js +1 -0
  245. package/dist/taro-components/p-2241b671.system.js +1 -0
  246. package/dist/taro-components/p-26e9ce75.entry.js +1 -0
  247. package/dist/taro-components/p-2887213d.system.entry.js +1 -0
  248. package/dist/taro-components/p-29b7c721.system.entry.js +1 -0
  249. package/dist/taro-components/p-29bb3ebe.entry.js +1 -0
  250. package/dist/taro-components/{p-fdd73355.system.entry.js → p-2bd2ea9a.system.entry.js} +1 -1
  251. package/dist/taro-components/p-2e8a1479.system.entry.js +1 -0
  252. package/dist/taro-components/{p-9a618935.system.entry.js → p-36f2c1e1.system.entry.js} +1 -1
  253. package/dist/taro-components/{p-fd8312e5.system.entry.js → p-372f53d8.system.entry.js} +1 -1
  254. package/dist/taro-components/p-38d7c2e8.system.entry.js +1 -0
  255. package/dist/taro-components/{p-cfbdd4e3.system.entry.js → p-3b801a38.system.entry.js} +1 -1
  256. package/dist/taro-components/p-3b85bb4b.system.entry.js +1 -0
  257. package/dist/taro-components/p-3bb72c08.entry.js +1 -0
  258. package/dist/taro-components/p-3d3cd72f.entry.js +1 -0
  259. package/dist/taro-components/p-4339ad63.system.entry.js +1 -0
  260. package/dist/taro-components/p-44a199e4.entry.js +1 -0
  261. package/dist/taro-components/p-45e6f8be.entry.js +1 -0
  262. package/dist/taro-components/p-46b7f84e.entry.js +1 -0
  263. package/dist/taro-components/p-4793e6ba.system.entry.js +1 -0
  264. package/dist/taro-components/{p-74540410.entry.js → p-4c890c5d.entry.js} +1 -1
  265. package/dist/taro-components/p-53244eac.entry.js +1 -0
  266. package/dist/taro-components/p-5746d7ce.js +1 -0
  267. package/dist/taro-components/{p-1b790eb0.system.entry.js → p-5c2497a4.system.entry.js} +1 -1
  268. package/dist/taro-components/p-5ff0e954.system.entry.js +1 -0
  269. package/dist/taro-components/p-61f225ef.system.js +7 -0
  270. package/dist/taro-components/p-62608b28.system.entry.js +1 -0
  271. package/dist/taro-components/p-62c64770.entry.js +1 -0
  272. package/dist/taro-components/p-663d1bb9.system.js +1 -0
  273. package/dist/taro-components/{p-bd3fa355.system.entry.js → p-66b1d5f9.system.entry.js} +1 -1
  274. package/dist/taro-components/p-671defcd.entry.js +1 -0
  275. package/dist/taro-components/p-6f2f468b.entry.js +1 -0
  276. package/dist/taro-components/p-70313eed.entry.js +1 -0
  277. package/dist/taro-components/p-74013ace.entry.js +1 -0
  278. package/dist/taro-components/{p-264b7229.system.entry.js → p-756d56d1.system.entry.js} +1 -1
  279. package/dist/taro-components/{p-fe156231.system.entry.js → p-75811f84.system.entry.js} +1 -1
  280. package/dist/taro-components/p-761d1085.entry.js +1 -0
  281. package/dist/taro-components/p-76724e58.js +7 -0
  282. package/dist/taro-components/{p-1e4f1702.system.entry.js → p-78676120.system.entry.js} +1 -1
  283. package/dist/taro-components/p-79b16736.system.entry.js +1 -0
  284. package/dist/taro-components/p-7b2049b7.entry.js +1 -0
  285. package/dist/taro-components/p-7dc268ee.entry.js +1 -0
  286. package/dist/taro-components/p-7f7aa688.entry.js +1 -0
  287. package/dist/taro-components/p-80abb865.entry.js +1 -0
  288. package/dist/taro-components/{p-55b0a30b.entry.js → p-81976128.entry.js} +1 -1
  289. package/dist/taro-components/p-81dc5b7b.entry.js +1 -0
  290. package/dist/taro-components/p-828efe43.system.entry.js +1 -0
  291. package/dist/taro-components/p-831ebd02.system.entry.js +1 -0
  292. package/dist/taro-components/p-832cc63a.entry.js +1 -0
  293. package/dist/taro-components/{p-b2d01686.system.js → p-83adb645.system.js} +1 -1
  294. package/dist/taro-components/p-841a2031.system.entry.js +365 -0
  295. package/dist/taro-components/p-86205110.entry.js +1 -0
  296. package/dist/taro-components/{p-703dfad8.system.entry.js → p-8b23a081.system.entry.js} +1 -1
  297. package/dist/taro-components/{p-ffe63ce9.system.entry.js → p-8b30e18c.system.entry.js} +1 -1
  298. package/dist/taro-components/p-8ba35b31.system.entry.js +1 -0
  299. package/dist/taro-components/p-8ead6b19.entry.js +1 -0
  300. package/dist/taro-components/p-8f466248.system.entry.js +1 -0
  301. package/dist/taro-components/{p-cea9a198.system.entry.js → p-9130dfca.system.entry.js} +1 -1
  302. package/dist/taro-components/{p-8a5e67cb.entry.js → p-9151ef65.entry.js} +1 -1
  303. package/dist/taro-components/p-917830b4.system.entry.js +1 -0
  304. package/dist/taro-components/p-95e51d62.entry.js +1 -0
  305. package/dist/taro-components/p-9961074d.entry.js +1 -0
  306. package/dist/taro-components/{p-3643d8f7.system.entry.js → p-9b90554b.system.entry.js} +1 -1
  307. package/dist/taro-components/p-9ce624a4.system.entry.js +1 -0
  308. package/dist/taro-components/p-a097985b.entry.js +1 -0
  309. package/dist/taro-components/p-a36bfe97.system.entry.js +1 -0
  310. package/dist/taro-components/p-a4721ae0.js +1 -0
  311. package/dist/taro-components/{p-e6298500.entry.js → p-a74f4c26.entry.js} +1 -1
  312. package/dist/taro-components/{p-7d848382.system.entry.js → p-a838e0f7.system.entry.js} +1 -1
  313. package/dist/taro-components/p-a84098b5.system.entry.js +1 -0
  314. package/dist/taro-components/p-a90bfe9d.system.entry.js +1 -0
  315. package/dist/taro-components/p-a9ab6434.system.entry.js +1 -0
  316. package/dist/taro-components/{p-99ed3ed2.system.entry.js → p-ac398961.system.entry.js} +1 -1
  317. package/dist/taro-components/{p-4dbed323.entry.js → p-ac56ffed.entry.js} +1 -1
  318. package/dist/taro-components/{p-fc4939c6.system.entry.js → p-baa5019a.system.entry.js} +1 -1
  319. package/dist/taro-components/{p-fb0959c1.system.entry.js → p-c1458fbe.system.entry.js} +1 -1
  320. package/dist/taro-components/p-c7dd3c92.entry.js +1 -0
  321. package/dist/taro-components/p-c9b73495.entry.js +1 -0
  322. package/dist/taro-components/{p-8f90fca9.system.entry.js → p-ca7ad427.system.entry.js} +1 -1
  323. package/dist/taro-components/{p-8bc82aaa.entry.js → p-ce0489a6.entry.js} +1 -1
  324. package/dist/taro-components/{p-9d0ab7c4.entry.js → p-ce46f79d.entry.js} +1 -1
  325. package/dist/taro-components/p-cfebd931.entry.js +1 -0
  326. package/dist/taro-components/p-d2b6b891.entry.js +1 -0
  327. package/dist/taro-components/{p-9fc88fc1.system.entry.js → p-d56c45bf.system.entry.js} +1 -1
  328. package/dist/taro-components/{p-06bffead.entry.js → p-d636e22e.entry.js} +1 -1
  329. package/dist/taro-components/{p-b75d8a65.entry.js → p-d6c8f31d.entry.js} +1 -1
  330. package/dist/taro-components/p-d7e13592.entry.js +365 -0
  331. package/dist/taro-components/p-de573939.system.entry.js +1 -0
  332. package/dist/taro-components/p-e01af6c8.entry.js +1 -0
  333. package/dist/taro-components/{p-865c21b5.entry.js → p-e7dcb4d5.entry.js} +1 -1
  334. package/dist/taro-components/p-ec59899b.system.entry.js +1 -0
  335. package/dist/taro-components/p-f1da4ed7.system.entry.js +1 -0
  336. package/dist/taro-components/p-fc226017.entry.js +1 -0
  337. package/dist/taro-components/{p-17039974.system.entry.js → p-fe252a81.system.entry.js} +1 -1
  338. package/dist/taro-components/taro-components.css +1 -1
  339. package/dist/taro-components/taro-components.esm.js +1 -1
  340. package/dist/taro-components/taro-components.js +1 -1
  341. package/dist/types/components/ad/ad.d.ts +4 -0
  342. package/dist/types/components/{picker-view-column/picker-view-column.d.ts → ad-custom/ad-custom.d.ts} +1 -1
  343. package/dist/types/components/editor/editor.d.ts +4 -0
  344. package/dist/types/components/functional-page-navigator/functional-page-navigator.d.ts +4 -0
  345. package/dist/types/components/image/image.d.ts +1 -1
  346. package/dist/types/components/input/input.d.ts +3 -3
  347. package/dist/types/components/keyboard-accessory/keyboard-accessory.d.ts +4 -0
  348. package/dist/types/components/live-player/live-player.d.ts +4 -0
  349. package/dist/types/components/live-pusher/live-pusher.d.ts +4 -0
  350. package/dist/types/components/map/map.d.ts +4 -0
  351. package/dist/types/components/match-media/match-media.d.ts +4 -0
  352. package/dist/types/components/{movable-view → movable-area}/movable-area.d.ts +0 -0
  353. package/dist/types/components/{movable-view → movable-area}/movable-view.d.ts +0 -0
  354. package/dist/types/components/navigation-bar/navigation-bar.d.ts +4 -0
  355. package/dist/types/components/official-account/official-account.d.ts +4 -0
  356. package/dist/types/components/page-container/page-container.d.ts +4 -0
  357. package/dist/types/components/page-meta/page-meta.d.ts +4 -0
  358. package/dist/types/components/picker-view/picker-view-column.d.ts +18 -0
  359. package/dist/types/components/picker-view/picker-view.d.ts +24 -0
  360. package/dist/types/components/{pull-down-refresh → pull-to-refresh}/pull-to-refresh.d.ts +0 -0
  361. package/dist/types/components/scroll-view/scroll-view.d.ts +1 -1
  362. package/dist/types/components/share-element/share-element.d.ts +4 -0
  363. package/dist/types/components/slot/slot.d.ts +4 -0
  364. package/dist/types/components/swiper/swiper.d.ts +2 -1
  365. package/dist/types/components/tabbar/tabbar.d.ts +4 -3
  366. package/dist/types/components/textarea/textarea.d.ts +1 -1
  367. package/dist/types/components/video/utils.d.ts +6 -0
  368. package/dist/types/components/video/video-control.d.ts +2 -2
  369. package/dist/types/components/voip-room/voip-room.d.ts +4 -0
  370. package/dist/types/components.d.ts +231 -0
  371. package/dist/types/home/runner/work/taro/taro/packages/taro-components/.stencil/types/props.d.ts +62 -0
  372. package/dist/types/props.js +1 -0
  373. package/dist/types/stencil-public-runtime.d.ts +6 -4
  374. package/dist/types/utils/index.d.ts +4 -0
  375. package/dist/types/utils/style.d.ts +1 -0
  376. package/dist/types/utils/url.d.ts +6 -0
  377. package/dist-h5/react/components/index.js +63 -0
  378. package/dist-h5/react/components/input.js +2 -2
  379. package/dist-h5/react/index.js +1 -45
  380. package/dist-h5/react/utils/reactify-wc.js +8 -5
  381. package/dist-h5/vue/components/index.js +60 -0
  382. package/dist-h5/vue/components/picker.js +4 -3
  383. package/dist-h5/vue/components/scroll-view.js +2 -2
  384. package/dist-h5/vue/createFormsComponent.js +2 -2
  385. package/dist-h5/vue/index.js +23 -26
  386. package/dist-h5/vue/mixins/listeners.js +2 -2
  387. package/dist-h5/vue3/components/icon.js +3 -0
  388. package/dist-h5/vue3/components/image.js +3 -0
  389. package/dist-h5/vue3/components/index.js +64 -0
  390. package/dist-h5/vue3/components/scroll-view.js +3 -0
  391. package/dist-h5/vue3/components/text.js +3 -0
  392. package/dist-h5/vue3/createComponent.js +3 -0
  393. package/dist-h5/vue3/createFormsComponent.js +6 -3
  394. package/dist-h5/vue3/forwardRef.js +11 -0
  395. package/dist-h5/vue3/index.js +12 -29
  396. package/package.json +35 -19
  397. package/types/Ad.d.ts +34 -22
  398. package/types/AdCustom.d.ts +50 -0
  399. package/types/Audio.d.ts +25 -5
  400. package/types/Block.d.ts +5 -2
  401. package/types/Button.d.ts +123 -34
  402. package/types/Camera.d.ts +20 -20
  403. package/types/Canvas.d.ts +15 -2
  404. package/types/Checkbox.d.ts +69 -5
  405. package/types/CheckboxGroup.d.ts +4 -4
  406. package/types/CoverImage.d.ts +50 -8
  407. package/types/CoverView.d.ts +51 -8
  408. package/types/CustomWrapper.d.ts +2 -2
  409. package/types/Editor.d.ts +63 -6
  410. package/types/Form.d.ts +38 -7
  411. package/types/FunctionalPageNavigator.d.ts +4 -4
  412. package/types/Icon.d.ts +17 -1
  413. package/types/Image.d.ts +32 -6
  414. package/types/Input.d.ts +105 -40
  415. package/types/KeyboardAccessory.d.ts +42 -0
  416. package/types/Label.d.ts +20 -6
  417. package/types/LivePlayer.d.ts +25 -19
  418. package/types/LivePusher.d.ts +21 -15
  419. package/types/Map.d.ts +87 -33
  420. package/types/MatchMedia.d.ts +24 -5
  421. package/types/MovableArea.d.ts +10 -4
  422. package/types/MovableView.d.ts +34 -20
  423. package/types/Navigator.d.ts +7 -7
  424. package/types/OfficialAccount.d.ts +7 -13
  425. package/types/OpenData.d.ts +17 -11
  426. package/types/PageContainer.d.ts +121 -0
  427. package/types/Picker.d.ts +66 -3
  428. package/types/PickerView.d.ts +66 -2
  429. package/types/PickerViewColumn.d.ts +5 -3
  430. package/types/Progress.d.ts +13 -2
  431. package/types/Radio.d.ts +82 -6
  432. package/types/RadioGroup.d.ts +2 -2
  433. package/types/RichText.d.ts +39 -2
  434. package/types/ScrollView.d.ts +94 -12
  435. package/types/ShareElement.d.ts +232 -0
  436. package/types/Slider.d.ts +15 -2
  437. package/types/Slot.d.ts +2 -2
  438. package/types/Swiper.d.ts +33 -8
  439. package/types/SwiperItem.d.ts +28 -3
  440. package/types/Switch.d.ts +22 -4
  441. package/types/Text.d.ts +38 -1
  442. package/types/Textarea.d.ts +38 -22
  443. package/types/Video.d.ts +61 -41
  444. package/types/View.d.ts +35 -3
  445. package/types/VoipRoom.d.ts +70 -0
  446. package/types/WebView.d.ts +13 -7
  447. package/types/common.d.ts +7 -10
  448. package/types/index.d.ts +49 -22
  449. package/types/index.vue3.d.ts +157 -0
  450. package/types/props.ts +72 -0
  451. package/virtual-list/memoize.js +1 -0
  452. package/virtual-list/react/createListComponent.js +5 -3
  453. package/virtual-list/react/index.js +2 -1
  454. package/virtual-list/timer.js +1 -1
  455. package/virtual-list/vue/index.js +1 -1
  456. package/vue3.d.ts +3 -0
  457. package/dist/esm-es5/index-3c78bcaf.js +0 -7
  458. package/dist/taro-components/p-10a6c489.system.entry.js +0 -1
  459. package/dist/taro-components/p-11932905.entry.js +0 -1
  460. package/dist/taro-components/p-12638ebc.system.entry.js +0 -1
  461. package/dist/taro-components/p-12ae0a33.entry.js +0 -1
  462. package/dist/taro-components/p-13c1404f.system.entry.js +0 -1
  463. package/dist/taro-components/p-17cf8b5b.entry.js +0 -1
  464. package/dist/taro-components/p-2438fcd4.system.entry.js +0 -1
  465. package/dist/taro-components/p-33ee636a.system.js +0 -1
  466. package/dist/taro-components/p-37cfdd8f.js +0 -7
  467. package/dist/taro-components/p-3aac5746.system.entry.js +0 -1
  468. package/dist/taro-components/p-3eebeb1c.system.entry.js +0 -1
  469. package/dist/taro-components/p-431197bc.entry.js +0 -1
  470. package/dist/taro-components/p-43de2f12.system.entry.js +0 -1
  471. package/dist/taro-components/p-46cf6431.system.entry.js +0 -1
  472. package/dist/taro-components/p-50066d5e.system.entry.js +0 -1
  473. package/dist/taro-components/p-554e1039.entry.js +0 -1
  474. package/dist/taro-components/p-5c420456.entry.js +0 -1
  475. package/dist/taro-components/p-627a5064.system.entry.js +0 -1
  476. package/dist/taro-components/p-64993f48.entry.js +0 -1
  477. package/dist/taro-components/p-66237ac0.entry.js +0 -1
  478. package/dist/taro-components/p-6965567d.entry.js +0 -1
  479. package/dist/taro-components/p-71de9bd6.entry.js +0 -1
  480. package/dist/taro-components/p-7a64a3d2.entry.js +0 -1
  481. package/dist/taro-components/p-83dedaa2.entry.js +0 -1
  482. package/dist/taro-components/p-94c20f60.system.js +0 -7
  483. package/dist/taro-components/p-95529dc0.entry.js +0 -1
  484. package/dist/taro-components/p-a1423df9.entry.js +0 -1
  485. package/dist/taro-components/p-b8e0ad7d.entry.js +0 -1
  486. package/dist/taro-components/p-b9280444.entry.js +0 -1
  487. package/dist/taro-components/p-c218c298.entry.js +0 -1
  488. package/dist/taro-components/p-c362734b.entry.js +0 -1
  489. package/dist/taro-components/p-d394a61f.system.entry.js +0 -1
  490. package/dist/taro-components/p-d567b95e.entry.js +0 -1
  491. package/dist/taro-components/p-d5971476.entry.js +0 -1
  492. package/dist/taro-components/p-e0af1d0d.system.entry.js +0 -1
  493. package/dist/taro-components/p-e27798a4.entry.js +0 -1
  494. package/dist/taro-components/p-f05e1558.js +0 -1
  495. package/dist/taro-components/p-f98e0224.entry.js +0 -1
  496. package/dist/taro-components/p-fb2252b7.system.entry.js +0 -1
  497. package/dist/taro-components/p-fde3a009.system.entry.js +0 -1
  498. package/dist-h5/vue/simpleComponents.js +0 -19
@@ -1,109 +1,95 @@
1
- export const formatTime = time => {
2
- if (time == null) return ''
3
- const sec = Math.round(time % 60)
4
- const min = Math.round((time - sec) / 60)
5
- return `${min < 10 ? `0${min}` : min}:${sec < 10 ? `0${sec}` : sec}`
6
- }
7
-
8
- export const calcDist = (x, y) => {
9
- return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))
10
- }
11
-
12
- export const normalizeNumber = number => {
13
- return Math.max(-1, Math.min(number, 1))
14
- }
15
-
16
- export const throttle = (fn, threshhold) => {
17
- let lastTime = 0
18
- return function () {
19
- const now = Date.now()
20
- if (now - lastTime > threshhold) {
21
- fn.apply(this, arguments)
22
- lastTime = now
23
- }
24
- }
25
- }
26
-
27
- /**
28
- * @returns: {requestFullscreen: 'requestFullscreen', exitFullscreen: 'exitFullscreen', ...}
29
- */
30
- export const screenFn = (function () {
31
- let val
32
- const fnMap = [
33
- [
34
- 'requestFullscreen',
35
- 'exitFullscreen',
36
- 'fullscreenElement',
37
- 'fullscreenEnabled',
38
- 'fullscreenchange',
39
- 'fullscreenerror'
40
- ],
41
- // New WebKit
42
- [
43
- 'webkitRequestFullscreen',
44
- 'webkitExitFullscreen',
45
- 'webkitFullscreenElement',
46
- 'webkitFullscreenEnabled',
47
- 'webkitfullscreenchange',
48
- 'webkitfullscreenerror'
49
- ],
50
- // Old WebKit
51
- [
52
- 'webkitRequestFullScreen',
53
- 'webkitCancelFullScreen',
54
- 'webkitCurrentFullScreenElement',
55
- 'webkitCancelFullScreen',
56
- 'webkitfullscreenchange',
57
- 'webkitfullscreenerror'
58
- ],
59
- [
60
- 'mozRequestFullScreen',
61
- 'mozCancelFullScreen',
62
- 'mozFullScreenElement',
63
- 'mozFullScreenEnabled',
64
- 'mozfullscreenchange',
65
- 'mozfullscreenerror'
66
- ],
67
- [
68
- 'msRequestFullscreen',
69
- 'msExitFullscreen',
70
- 'msFullscreenElement',
71
- 'msFullscreenEnabled',
72
- 'MSFullscreenChange',
73
- 'MSFullscreenError'
74
- ]
75
- ]
76
- var defaultIOSMap = [
77
- 'webkitEnterFullscreen',
78
- 'webkitExitFullscreen',
79
- 'webkitFullscreenElement',
80
- 'webkitFullscreenEnabled',
81
- 'webkitfullscreenchange',
82
- 'webkitfullscreenerror'
83
- ]
84
- let i = 0
85
- const l = fnMap.length
86
- const ret = {}
87
- // This for loop essentially checks the current document object for the property/methods above.
88
- for (; i < l; i++) {
89
- val = fnMap[i]
90
- if (val && val[1] in document) {
91
- for (i = 0; i < val.length; i++) {
92
- ret[fnMap[0][i]] = val[i]
93
- }
94
- return ret
95
- }
96
- }
97
- if (!ret[fnMap[0][0]]) {
98
- // when there is no any APIs be set.
99
-
100
- // In IOS, there is no 'webkitEnterFullscreen' property `in document` but video can use it for fullscreen.
101
- // ref: https://developer.apple.com/documentation/webkitjs/htmlvideoelement/1633500-webkitenterfullscreen
102
- for (i = 0; i < defaultIOSMap.length; i++) {
103
- ret[fnMap[0][i]] = defaultIOSMap[i]
104
- }
105
- }
106
- // If it doesn't find any of them, this whole function returns {}
107
- // and the fn variable is set to this returned value.
108
- return ret
109
- })()
1
+ export const formatTime = (time) => {
2
+ if (!time)
3
+ return '';
4
+ const sec = Math.round(time % 60);
5
+ const min = Math.round((time - sec) / 60);
6
+ return `${min < 10 ? `0${min}` : min}:${sec < 10 ? `0${sec}` : sec}`;
7
+ };
8
+ export const calcDist = (x, y) => {
9
+ return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
10
+ };
11
+ export const normalizeNumber = (number) => {
12
+ return Math.max(-1, Math.min(number, 1));
13
+ };
14
+ export let scene = 'default';
15
+ export const screenFn = (function () {
16
+ let val;
17
+ const fnMap = [
18
+ [
19
+ 'requestFullscreen',
20
+ 'exitFullscreen',
21
+ 'fullscreenElement',
22
+ 'fullscreenEnabled',
23
+ 'fullscreenchange',
24
+ 'fullscreenerror'
25
+ ],
26
+ // New WebKit
27
+ [
28
+ 'webkitRequestFullscreen',
29
+ 'webkitExitFullscreen',
30
+ 'webkitFullscreenElement',
31
+ 'webkitFullscreenEnabled',
32
+ 'webkitfullscreenchange',
33
+ 'webkitfullscreenerror'
34
+ ],
35
+ // Old WebKit
36
+ [
37
+ 'webkitRequestFullScreen',
38
+ 'webkitCancelFullScreen',
39
+ 'webkitCurrentFullScreenElement',
40
+ 'webkitCancelFullScreen',
41
+ 'webkitfullscreenchange',
42
+ 'webkitfullscreenerror'
43
+ ],
44
+ [
45
+ 'mozRequestFullScreen',
46
+ 'mozCancelFullScreen',
47
+ 'mozFullScreenElement',
48
+ 'mozFullScreenEnabled',
49
+ 'mozfullscreenchange',
50
+ 'mozfullscreenerror'
51
+ ],
52
+ [
53
+ 'msRequestFullscreen',
54
+ 'msExitFullscreen',
55
+ 'msFullscreenElement',
56
+ 'msFullscreenEnabled',
57
+ 'MSFullscreenChange',
58
+ 'MSFullscreenError'
59
+ ]
60
+ ];
61
+ var defaultIOSMap = [
62
+ 'webkitEnterFullscreen',
63
+ 'webkitExitFullscreen',
64
+ 'webkitCurrentFullScreenElement',
65
+ 'webkitSupportsFullscreen',
66
+ 'fullscreenchange',
67
+ 'fullscreenerror'
68
+ ];
69
+ let i = 0;
70
+ const l = fnMap.length;
71
+ const ret = {};
72
+ // This for loop essentially checks the current document object for the property/methods above.
73
+ for (; i < l; i++) {
74
+ val = fnMap[i];
75
+ if (val && val[1] in document) {
76
+ for (i = 0; i < val.length; i++) {
77
+ ret[fnMap[0][i]] = val[i];
78
+ }
79
+ return ret;
80
+ }
81
+ }
82
+ if (!ret[fnMap[0][0]]) {
83
+ scene = 'iOS';
84
+ // when there is no any APIs be set.
85
+ // In IOS, there is no 'webkitEnterFullscreen' property `in document` but video can use it for fullscreen.
86
+ // ref: https://developer.apple.com/documentation/webkitjs/htmlvideoelement/1633500-webkitenterfullscreen
87
+ for (i = 0; i < defaultIOSMap.length; i++) {
88
+ ret[fnMap[0][i]] = defaultIOSMap[i];
89
+ }
90
+ }
91
+ // If it doesn't find any of them, this whole function returns {}
92
+ // and the fn variable is set to this returned value.
93
+ return ret;
94
+ })();
95
+ export const isHls = url => /\.(m3u8)($|\?)/i.test(url);
@@ -15,15 +15,15 @@ export class VideoControl {
15
15
  this.visible = false;
16
16
  this.isDraggingProgressBall = false;
17
17
  this.percentage = 0;
18
- this.progressDimentions = {
18
+ this.progressDimensions = {
19
19
  left: 0,
20
20
  width: 0
21
21
  };
22
22
  this.calcPercentage = (pageX) => {
23
- let pos = pageX - this.progressDimentions.left;
23
+ let pos = pageX - this.progressDimensions.left;
24
24
  pos = Math.max(pos, 0);
25
- pos = Math.min(pos, this.progressDimentions.width);
26
- return pos / this.progressDimentions.width;
25
+ pos = Math.min(pos, this.progressDimensions.width);
26
+ return pos / this.progressDimensions.width;
27
27
  };
28
28
  this.onDragProgressBallStart = () => {
29
29
  this.isDraggingProgressBall = true;
@@ -68,10 +68,10 @@ export class VideoControl {
68
68
  this.toggleVisibility(false);
69
69
  }, 2000);
70
70
  }
71
- this.controlsRef.style.visibility = 'visible';
71
+ this.el.style.visibility = 'visible';
72
72
  }
73
73
  else {
74
- this.controlsRef.style.visibility = 'hidden';
74
+ this.el.style.visibility = 'hidden';
75
75
  }
76
76
  this.visible = !!visible;
77
77
  });
@@ -108,8 +108,8 @@ export class VideoControl {
108
108
  if (!ref)
109
109
  return;
110
110
  const rect = ref.getBoundingClientRect();
111
- this.progressDimentions.left = rect.left;
112
- this.progressDimentions.width = rect.width;
111
+ this.progressDimensions.left = rect.left;
112
+ this.progressDimensions.width = rect.width;
113
113
  } },
114
114
  h("div", { class: 'taro-video-progress-buffered', style: { width: '100%' } }),
115
115
  h("div", { class: 'taro-video-ball', ref: dom => (this.progressBallRef = dom), onTouchStart: this.onDragProgressBallStart, style: {
@@ -344,7 +344,7 @@ export class VideoControl {
344
344
  }
345
345
  }
346
346
  }; }
347
- static get elementRef() { return "controlsRef"; }
347
+ static get elementRef() { return "el"; }
348
348
  static get listeners() { return [{
349
349
  "name": "touchmove",
350
350
  "method": "onDocumentTouchMove",
@@ -10,7 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
11
  import { Component, h, Prop, State, Event, Host, Watch, Listen, Element, Method } from '@stencil/core';
12
12
  import classNames from 'classnames';
13
- import { formatTime, calcDist, normalizeNumber, throttle, screenFn } from './utils';
13
+ import Hls from 'hls.js';
14
+ import { throttle } from '../../utils';
15
+ import { formatTime, calcDist, normalizeNumber, screenFn, isHls, scene } from './utils';
14
16
  export class Video {
15
17
  constructor() {
16
18
  this.currentTime = 0;
@@ -91,7 +93,7 @@ export class Video {
91
93
  this.isFullScreen = false;
92
94
  this.fullScreenTimestamp = new Date().getTime();
93
95
  this.isMute = false;
94
- this.analyseGesture = (e) => {
96
+ this.analyzeGesture = (e) => {
95
97
  var _a;
96
98
  const obj = {
97
99
  type: 'none'
@@ -133,6 +135,37 @@ export class Video {
133
135
  obj.dataY = normalizeNumber(distY / 200);
134
136
  return obj;
135
137
  };
138
+ this.loadNativePlayer = () => {
139
+ if (this.videoRef) {
140
+ this.videoRef.src = this.src;
141
+ this.videoRef.load();
142
+ }
143
+ };
144
+ this.init = () => {
145
+ const { src, videoRef } = this;
146
+ if (isHls(src)) {
147
+ if (Hls.isSupported()) {
148
+ if (this.hls) {
149
+ this.hls.destroy();
150
+ }
151
+ this.hls = new Hls();
152
+ this.hls.loadSource(src);
153
+ this.hls.attachMedia(videoRef);
154
+ this.hls.on(Hls.Events.MANIFEST_PARSED, () => {
155
+ this.autoplay && this.play();
156
+ });
157
+ }
158
+ else if (videoRef.canPlayType('application/vnd.apple.mpegurl')) {
159
+ this.loadNativePlayer();
160
+ }
161
+ else {
162
+ console.error('该浏览器不支持 HLS 播放');
163
+ }
164
+ }
165
+ else {
166
+ this.loadNativePlayer();
167
+ }
168
+ };
136
169
  this.handlePlay = () => {
137
170
  this.isPlaying = true;
138
171
  this.isFirst = false;
@@ -229,7 +262,7 @@ export class Video {
229
262
  }
230
263
  };
231
264
  this.toggleFullScreen = (isFullScreen = !this.isFullScreen) => {
232
- this.isFullScreen = isFullScreen;
265
+ this.isFullScreen = isFullScreen; // this.videoRef?.['webkitDisplayingFullscreen']
233
266
  this.controlsRef.toggleVisibility(true);
234
267
  this.fullScreenTimestamp = new Date().getTime();
235
268
  this.onFullScreenChange.emit({
@@ -238,7 +271,7 @@ export class Video {
238
271
  });
239
272
  if (this.isFullScreen && !document[screenFn.fullscreenElement]) {
240
273
  setTimeout(() => {
241
- this.videoRef[screenFn.requestFullscreen]({ navigationUI: 'show' });
274
+ this.videoRef[screenFn.requestFullscreen]({ navigationUI: 'auto' });
242
275
  }, 0);
243
276
  }
244
277
  };
@@ -258,6 +291,7 @@ export class Video {
258
291
  this._enableDanmu = this.enableDanmu;
259
292
  }
260
293
  componentDidLoad() {
294
+ this.init();
261
295
  if (this.initialTime) {
262
296
  this.videoRef.currentTime = this.initialTime;
263
297
  }
@@ -266,6 +300,10 @@ export class Video {
266
300
  if (document.addEventListener) {
267
301
  document.addEventListener(screenFn.fullscreenchange, this.handleFullScreenChange);
268
302
  }
303
+ if (this.videoRef && scene === 'iOS') {
304
+ // NOTE: iOS 场景下 fullscreenchange 并不会在退出全屏状态下触发,仅 webkitpresentationmodechanged 与 webkitendfullscreen 可替代
305
+ this.videoRef.addEventListener('webkitendfullscreen', this.handleFullScreenChange);
306
+ }
269
307
  }
270
308
  componentDidRender() {
271
309
  }
@@ -273,17 +311,23 @@ export class Video {
273
311
  if (document.removeEventListener) {
274
312
  document.removeEventListener(screenFn.fullscreenchange, this.handleFullScreenChange);
275
313
  }
314
+ if (this.videoRef && scene === 'iOS') {
315
+ this.videoRef.removeEventListener('webkitendfullscreen', this.handleFullScreenChange);
316
+ }
276
317
  }
277
318
  watchEnableDanmu(newVal) {
278
319
  this._enableDanmu = newVal;
279
320
  }
321
+ watchSrc() {
322
+ this.init();
323
+ }
280
324
  onDocumentTouchMove(e) {
281
325
  return __awaiter(this, void 0, void 0, function* () {
282
326
  if (this.lastTouchScreenX === undefined || this.lastTouchScreenY === undefined)
283
327
  return;
284
328
  if (yield this.controlsRef.getIsDraggingProgressBall())
285
329
  return;
286
- const gestureObj = this.analyseGesture(e);
330
+ const gestureObj = this.analyzeGesture(e);
287
331
  if (gestureObj.type === 'adjustVolume') {
288
332
  this.toastVolumeRef.style.visibility = 'visible';
289
333
  const nextVolume = Math.max(Math.min(this.lastVolume - gestureObj.dataY, 1), 0);
@@ -356,8 +400,9 @@ export class Video {
356
400
  });
357
401
  }
358
402
  render() {
359
- const { src, controls, autoplay, loop, muted, poster, objectFit, isFirst, isMute, isFullScreen, duration, _duration, showCenterPlayBtn, isPlaying, _enableDanmu, showMuteBtn, danmuBtn, showFullscreenBtn, nativeProps } = this;
360
- const durationTime = formatTime(duration || _duration || null);
403
+ const { controls, autoplay, loop, muted, poster, objectFit, isFirst, isMute, isFullScreen, showCenterPlayBtn, isPlaying, _enableDanmu, showMuteBtn, danmuBtn, showFullscreenBtn, nativeProps } = this;
404
+ const duration = this.duration || this._duration;
405
+ const durationTime = formatTime(duration);
361
406
  return (h(Host, { class: classNames('taro-video-container', {
362
407
  'taro-video-type-fullscreen': isFullScreen
363
408
  }), onTouchStart: this.onTouchStartContainer, onClick: this.onClickContainer },
@@ -367,7 +412,7 @@ export class Video {
367
412
  if (dom) {
368
413
  this.videoRef = dom;
369
414
  }
370
- }, src: src, autoplay: autoplay, loop: loop, muted: muted, poster: controls ? poster : undefined, playsinline: true, "webkit-playsinline": true, onPlay: this.handlePlay, onPause: this.handlePause, onEnded: this.handleEnded, onTimeUpdate: this.handleTimeUpdate, onError: this.handleError, onDurationChange: this.handleDurationChange, onProgress: this.handleProgress, onLoadedMetaData: this.handleLoadedMetaData }, nativeProps), "\u6682\u65F6\u4E0D\u652F\u6301\u64AD\u653E\u8BE5\u89C6\u9891"),
415
+ }, autoplay: autoplay, loop: loop, muted: muted, poster: controls ? poster : undefined, playsinline: true, "webkit-playsinline": true, onPlay: this.handlePlay, onPause: this.handlePause, onEnded: this.handleEnded, onTimeUpdate: this.handleTimeUpdate, onError: this.handleError, onDurationChange: this.handleDurationChange, onProgress: this.handleProgress, onLoadedMetaData: this.handleLoadedMetaData }, nativeProps), "\u6682\u65F6\u4E0D\u652F\u6301\u64AD\u653E\u8BE5\u89C6\u9891"),
371
416
  h("taro-video-danmu", { ref: dom => {
372
417
  if (dom) {
373
418
  this.danmuRef = dom;
@@ -380,7 +425,7 @@ export class Video {
380
425
  if (dom) {
381
426
  this.controlsRef = dom;
382
427
  }
383
- }, controls: controls, currentTime: this.currentTime, duration: this.duration || this._duration || undefined, isPlaying: this.isPlaying, pauseFunc: this._pause, playFunc: this._play, seekFunc: this._seek, showPlayBtn: this.showPlayBtn, showProgress: this.showProgress },
428
+ }, controls: controls, currentTime: this.currentTime, duration: duration, isPlaying: this.isPlaying, pauseFunc: this._pause, playFunc: this._play, seekFunc: this._seek, showPlayBtn: this.showPlayBtn, showProgress: this.showProgress },
384
429
  showMuteBtn && (h("div", { class: classNames('taro-video-mute', {
385
430
  'taro-video-type-mute': isMute
386
431
  }), onClick: this.toggleMute })),
@@ -1047,6 +1092,9 @@ export class Video {
1047
1092
  static get watchers() { return [{
1048
1093
  "propName": "enableDanmu",
1049
1094
  "methodName": "watchEnableDanmu"
1095
+ }, {
1096
+ "propName": "src",
1097
+ "methodName": "watchSrc"
1050
1098
  }]; }
1051
1099
  static get listeners() { return [{
1052
1100
  "name": "touchmove",
@@ -1,9 +1,7 @@
1
- body, html {
2
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1
+ body,
2
+ html {
3
3
  user-select: none;
4
- -moz-user-select: none;
5
- -webkit-user-select: none;
6
- -ms-user-select: none;
4
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
7
5
  }
8
6
 
9
7
  taro-view-core {
@@ -43,8 +43,8 @@ export class View {
43
43
  componentDidRender() {
44
44
  const el = this.el;
45
45
  el.childNodes.forEach(item => {
46
- if (item.nodeType === document.COMMENT_NODE)
47
- el.removeChild(item);
46
+ if (item.nodeType === document.COMMENT_NODE && item["s-cn"])
47
+ item["s-cn"] = false;
48
48
  });
49
49
  }
50
50
  render() {
@@ -0,0 +1,11 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+ import { Component, h, Host } from '@stencil/core';
3
+ export class VoipRoom {
4
+ componentDidLoad() {
5
+ console.error('H5 暂不支持 VoipRoom 组件!');
6
+ }
7
+ render() {
8
+ return (h(Host, null));
9
+ }
10
+ static get is() { return "taro-voip-room-core"; }
11
+ }
@@ -6,7 +6,7 @@ iframe {
6
6
  position: fixed;
7
7
  top: 0;
8
8
  bottom: 0;
9
+ z-index: 999;
9
10
  width: 100%;
10
11
  height: 100%;
11
- z-index: 999;
12
12
  }
@@ -1,105 +1,31 @@
1
- export function throttle (fn, threshhold, scope) {
2
- threshhold || (threshhold = 250)
3
- let last, deferTimer
4
- return function () {
5
- const context = scope || this
6
-
7
- const now = +new Date()
8
- // eslint-disable-next-line prefer-rest-params
9
- const args = arguments
10
- if (last && now < last + threshhold) {
11
- clearTimeout(deferTimer)
12
- deferTimer = setTimeout(() => {
13
- last = now
14
- fn.apply(context, args)
15
- }, threshhold)
16
- } else {
17
- last = now
18
- fn.apply(context, args)
19
- }
20
- }
21
- }
22
-
23
- export const normalizePath = url => {
24
- let _isRelative
25
- let _leadingParents = ''
26
- let _parent, _pos
27
-
28
- // handle relative paths
29
- if (url.charAt(0) !== '/') {
30
- _isRelative = true
31
- url = '/' + url
32
- }
33
-
34
- // handle relative files (as opposed to directories)
35
- if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {
36
- url += '/'
37
- }
38
-
39
- // resolve simples
40
- url = url.replace(/(\/(\.\/)+)|(\/\.$)/g, '/').replace(/\/{2,}/g, '/')
41
-
42
- // remember leading parents
43
- if (_isRelative) {
44
- _leadingParents = url.substring(1).match(/^(\.\.\/)+/) || ''
45
- if (_leadingParents) {
46
- _leadingParents = _leadingParents[0]
1
+ export function throttle(fn, threshold = 250, scope) {
2
+ let lastTime = 0;
3
+ let deferTimer;
4
+ return function (...args) {
5
+ const context = scope || this;
6
+ const now = Date.now();
7
+ if (now - lastTime > threshold) {
8
+ fn.apply(this, args);
9
+ lastTime = now;
47
10
  }
48
- }
49
-
50
- // resolve parents
51
- while (true) {
52
- _parent = url.search(/\/\.\.(\/|$)/)
53
- if (_parent === -1) {
54
- // no more ../ to resolve
55
- break
56
- } else if (_parent === 0) {
57
- // top level cannot be relative, skip it
58
- url = url.substring(3)
59
- continue
60
- }
61
-
62
- _pos = url.substring(0, _parent).lastIndexOf('/')
63
- if (_pos === -1) {
64
- _pos = _parent
11
+ else {
12
+ clearTimeout(deferTimer);
13
+ deferTimer = setTimeout(() => {
14
+ lastTime = now;
15
+ fn.apply(context, args);
16
+ }, threshold);
65
17
  }
66
- url = url.substring(0, _pos) + url.substring(_parent + 3)
67
- }
68
-
69
- // revert to relative
70
- if (_isRelative) {
71
- url = _leadingParents + url.substring(1)
72
- }
73
-
74
- return url
75
- }
76
-
77
- export const splitUrl = _url => {
78
- let url = _url || ''
79
- let pos
80
- const res = {
81
- path: null,
82
- query: null,
83
- fragment: null
84
- }
85
-
86
- pos = url.indexOf('#')
87
- if (pos > -1) {
88
- res.fragment = url.substring(pos + 1)
89
- url = url.substring(0, pos)
90
- }
91
-
92
- pos = url.indexOf('?')
93
- if (pos > -1) {
94
- res.query = url.substring(pos + 1)
95
- url = url.substring(0, pos)
96
- }
97
-
98
- res.path = url
99
-
100
- return res
18
+ };
101
19
  }
102
-
103
- export const isNumber = obj => {
104
- return typeof obj === 'number'
20
+ export function debounce(fn, ms = 250, scope) {
21
+ let timer;
22
+ return function (...args) {
23
+ const context = scope || this;
24
+ clearTimeout(timer);
25
+ timer = setTimeout(function () {
26
+ fn.apply(context, args);
27
+ }, ms);
28
+ };
105
29
  }
30
+ export * from './style';
31
+ export * from './url';
@@ -0,0 +1,10 @@
1
+ export function convertStyle(style) {
2
+ if (style) {
3
+ const regex = /([\w-]*)\s*:\s*([^;]*)/g;
4
+ const properties = {};
5
+ let match;
6
+ while ((match = regex.exec(style)))
7
+ properties[`${match[1]}`] = match[2].trim();
8
+ return properties;
9
+ }
10
+ }
@@ -0,0 +1,67 @@
1
+ export const normalizePath = url => {
2
+ let _isRelative;
3
+ let _leadingParents = '';
4
+ let _parent, _pos;
5
+ // handle relative paths
6
+ if (url.charAt(0) !== '/') {
7
+ _isRelative = true;
8
+ url = '/' + url;
9
+ }
10
+ // handle relative files (as opposed to directories)
11
+ if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {
12
+ url += '/';
13
+ }
14
+ // resolve simples
15
+ url = url.replace(/(\/(\.\/)+)|(\/\.$)/g, '/').replace(/\/{2,}/g, '/');
16
+ // remember leading parents
17
+ if (_isRelative) {
18
+ _leadingParents = url.substring(1).match(/^(\.\.\/)+/) || '';
19
+ if (_leadingParents) {
20
+ _leadingParents = _leadingParents[0];
21
+ }
22
+ }
23
+ // resolve parents
24
+ while (true) {
25
+ _parent = url.search(/\/\.\.(\/|$)/);
26
+ if (_parent === -1) {
27
+ // no more ../ to resolve
28
+ break;
29
+ }
30
+ else if (_parent === 0) {
31
+ // top level cannot be relative, skip it
32
+ url = url.substring(3);
33
+ continue;
34
+ }
35
+ _pos = url.substring(0, _parent).lastIndexOf('/');
36
+ if (_pos === -1) {
37
+ _pos = _parent;
38
+ }
39
+ url = url.substring(0, _pos) + url.substring(_parent + 3);
40
+ }
41
+ // revert to relative
42
+ if (_isRelative) {
43
+ url = _leadingParents + url.substring(1);
44
+ }
45
+ return url;
46
+ };
47
+ export const splitUrl = _url => {
48
+ let url = _url || '';
49
+ let pos;
50
+ const res = {
51
+ path: null,
52
+ query: null,
53
+ fragment: null
54
+ };
55
+ pos = url.indexOf('#');
56
+ if (pos > -1) {
57
+ res.fragment = url.substring(pos + 1);
58
+ url = url.substring(0, pos);
59
+ }
60
+ pos = url.indexOf('?');
61
+ if (pos > -1) {
62
+ res.query = url.substring(pos + 1);
63
+ url = url.substring(0, pos);
64
+ }
65
+ res.path = url;
66
+ return res;
67
+ };