@tarojs/components 3.5.9 → 3.6.0-beta.0

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 (1151) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/helper-db78e01a.js +2 -0
  3. package/dist/cjs/helper-db78e01a.js.map +1 -0
  4. package/dist/cjs/hls-67cbc62d.js +27624 -0
  5. package/dist/cjs/hls-67cbc62d.js.map +1 -0
  6. package/dist/cjs/index-47a1959e.js +2 -0
  7. package/dist/cjs/index-47a1959e.js.map +1 -0
  8. package/dist/cjs/{index-7c61bee9.js → index-9174e0b1.js} +477 -234
  9. package/dist/cjs/index-9174e0b1.js.map +1 -0
  10. package/dist/cjs/index-f9d21cc5.js +2 -0
  11. package/dist/cjs/index-f9d21cc5.js.map +1 -0
  12. package/dist/cjs/index.cjs.js +2 -0
  13. package/dist/cjs/index.cjs.js.map +1 -0
  14. package/dist/cjs/intersection-observer-dc4cfcef.js +2 -0
  15. package/dist/cjs/intersection-observer-dc4cfcef.js.map +1 -0
  16. package/dist/cjs/loader.cjs.js +5 -3
  17. package/dist/cjs/loader.cjs.js.map +1 -0
  18. package/dist/cjs/taro-ad-core.cjs.entry.js +4 -2
  19. package/dist/cjs/taro-ad-core.cjs.entry.js.map +1 -0
  20. package/dist/cjs/taro-ad-custom-core.cjs.entry.js +4 -2
  21. package/dist/cjs/taro-ad-custom-core.cjs.entry.js.map +1 -0
  22. package/dist/cjs/taro-animation-video-core.cjs.entry.js +23 -0
  23. package/dist/cjs/taro-animation-video-core.cjs.entry.js.map +1 -0
  24. package/dist/cjs/taro-animation-view-core.cjs.entry.js +23 -0
  25. package/dist/cjs/taro-animation-view-core.cjs.entry.js.map +1 -0
  26. package/dist/cjs/taro-ar-camera-core.cjs.entry.js +23 -0
  27. package/dist/cjs/taro-ar-camera-core.cjs.entry.js.map +1 -0
  28. package/dist/cjs/taro-audio-core.cjs.entry.js +5 -2
  29. package/dist/cjs/taro-audio-core.cjs.entry.js.map +1 -0
  30. package/dist/cjs/taro-aweme-data-core.cjs.entry.js +23 -0
  31. package/dist/cjs/taro-aweme-data-core.cjs.entry.js.map +1 -0
  32. package/dist/cjs/taro-block-core.cjs.entry.js +4 -2
  33. package/dist/cjs/taro-block-core.cjs.entry.js.map +1 -0
  34. package/dist/cjs/taro-button-core.cjs.entry.js +7 -2
  35. package/dist/cjs/taro-button-core.cjs.entry.js.map +1 -0
  36. package/dist/cjs/taro-camera-core.cjs.entry.js +4 -2
  37. package/dist/cjs/taro-camera-core.cjs.entry.js.map +1 -0
  38. package/dist/cjs/taro-canvas-core.cjs.entry.js +6 -3
  39. package/dist/cjs/taro-canvas-core.cjs.entry.js.map +1 -0
  40. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +15 -9
  41. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js.map +1 -0
  42. package/dist/cjs/taro-comment-detail-core.cjs.entry.js +23 -0
  43. package/dist/cjs/taro-comment-detail-core.cjs.entry.js.map +1 -0
  44. package/dist/cjs/taro-comment-list-core.cjs.entry.js +23 -0
  45. package/dist/cjs/taro-comment-list-core.cjs.entry.js.map +1 -0
  46. package/dist/cjs/taro-components.cjs.js +5 -3
  47. package/dist/cjs/taro-components.cjs.js.map +1 -0
  48. package/dist/cjs/taro-contact-button-core.cjs.entry.js +23 -0
  49. package/dist/cjs/taro-contact-button-core.cjs.entry.js.map +1 -0
  50. package/dist/cjs/taro-cover-image-core.cjs.entry.js +7 -4
  51. package/dist/cjs/taro-cover-image-core.cjs.entry.js.map +1 -0
  52. package/dist/cjs/taro-cover-view-core.cjs.entry.js +7 -3
  53. package/dist/cjs/taro-cover-view-core.cjs.entry.js.map +1 -0
  54. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +4 -2
  55. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js.map +1 -0
  56. package/dist/cjs/taro-editor-core.cjs.entry.js +4 -2
  57. package/dist/cjs/taro-editor-core.cjs.entry.js.map +1 -0
  58. package/dist/cjs/taro-follow-swan-core.cjs.entry.js +23 -0
  59. package/dist/cjs/taro-follow-swan-core.cjs.entry.js.map +1 -0
  60. package/dist/cjs/taro-form-core.cjs.entry.js +34 -39
  61. package/dist/cjs/taro-form-core.cjs.entry.js.map +1 -0
  62. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js +4 -2
  63. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js.map +1 -0
  64. package/dist/cjs/taro-icon-core.cjs.entry.js +6 -2
  65. package/dist/cjs/taro-icon-core.cjs.entry.js.map +1 -0
  66. package/dist/cjs/taro-image-core.cjs.entry.js +7 -4
  67. package/dist/cjs/taro-image-core.cjs.entry.js.map +1 -0
  68. package/dist/cjs/taro-inline-payment-panel-core.cjs.entry.js +23 -0
  69. package/dist/cjs/taro-inline-payment-panel-core.cjs.entry.js.map +1 -0
  70. package/dist/cjs/taro-input-core.cjs.entry.js +29 -14
  71. package/dist/cjs/taro-input-core.cjs.entry.js.map +1 -0
  72. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js +4 -2
  73. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js.map +1 -0
  74. package/dist/cjs/taro-label-core.cjs.entry.js +5 -2
  75. package/dist/cjs/taro-label-core.cjs.entry.js.map +1 -0
  76. package/dist/cjs/taro-lifestyle-core.cjs.entry.js +23 -0
  77. package/dist/cjs/taro-lifestyle-core.cjs.entry.js.map +1 -0
  78. package/dist/cjs/taro-like-core.cjs.entry.js +23 -0
  79. package/dist/cjs/taro-like-core.cjs.entry.js.map +1 -0
  80. package/dist/cjs/taro-live-player-core.cjs.entry.js +4 -2
  81. package/dist/cjs/taro-live-player-core.cjs.entry.js.map +1 -0
  82. package/dist/cjs/taro-live-pusher-core.cjs.entry.js +4 -2
  83. package/dist/cjs/taro-live-pusher-core.cjs.entry.js.map +1 -0
  84. package/dist/cjs/taro-login-core.cjs.entry.js +23 -0
  85. package/dist/cjs/taro-login-core.cjs.entry.js.map +1 -0
  86. package/dist/cjs/taro-lottie-core.cjs.entry.js +23 -0
  87. package/dist/cjs/taro-lottie-core.cjs.entry.js.map +1 -0
  88. package/dist/cjs/taro-map-core.cjs.entry.js +4 -2
  89. package/dist/cjs/taro-map-core.cjs.entry.js.map +1 -0
  90. package/dist/cjs/taro-match-media-core.cjs.entry.js +4 -2
  91. package/dist/cjs/taro-match-media-core.cjs.entry.js.map +1 -0
  92. package/dist/cjs/{taro-movable-view-core.cjs.entry.js → taro-movable-area-core_2.cjs.entry.js} +169 -54
  93. package/dist/cjs/taro-movable-area-core_2.cjs.entry.js.map +1 -0
  94. package/dist/cjs/taro-native-slot-core.cjs.entry.js +23 -0
  95. package/dist/cjs/taro-native-slot-core.cjs.entry.js.map +1 -0
  96. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js +4 -2
  97. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js.map +1 -0
  98. package/dist/cjs/taro-navigator-core.cjs.entry.js +6 -2
  99. package/dist/cjs/taro-navigator-core.cjs.entry.js.map +1 -0
  100. package/dist/cjs/taro-official-account-core.cjs.entry.js +4 -2
  101. package/dist/cjs/taro-official-account-core.cjs.entry.js.map +1 -0
  102. package/dist/cjs/taro-open-data-core.cjs.entry.js +4 -2
  103. package/dist/cjs/taro-open-data-core.cjs.entry.js.map +1 -0
  104. package/dist/cjs/taro-page-container-core.cjs.entry.js +4 -2
  105. package/dist/cjs/taro-page-container-core.cjs.entry.js.map +1 -0
  106. package/dist/cjs/taro-page-meta-core.cjs.entry.js +4 -2
  107. package/dist/cjs/taro-page-meta-core.cjs.entry.js.map +1 -0
  108. package/dist/cjs/taro-picker-core_2.cjs.entry.js +31 -15
  109. package/dist/cjs/taro-picker-core_2.cjs.entry.js.map +1 -0
  110. package/dist/cjs/{taro-picker-view-core.cjs.entry.js → taro-picker-view-column-core_2.cjs.entry.js} +101 -6
  111. package/dist/cjs/taro-picker-view-column-core_2.cjs.entry.js.map +1 -0
  112. package/dist/cjs/taro-progress-core.cjs.entry.js +7 -5
  113. package/dist/cjs/taro-progress-core.cjs.entry.js.map +1 -0
  114. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js +10 -8
  115. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js.map +1 -0
  116. package/dist/cjs/taro-radio-core_2.cjs.entry.js +15 -9
  117. package/dist/cjs/taro-radio-core_2.cjs.entry.js.map +1 -0
  118. package/dist/cjs/taro-rich-text-core.cjs.entry.js +5 -2
  119. package/dist/cjs/taro-rich-text-core.cjs.entry.js.map +1 -0
  120. package/dist/cjs/taro-root-portal-core.cjs.entry.js +4 -2
  121. package/dist/cjs/taro-root-portal-core.cjs.entry.js.map +1 -0
  122. package/dist/cjs/taro-rtc-room-core.cjs.entry.js +23 -0
  123. package/dist/cjs/taro-rtc-room-core.cjs.entry.js.map +1 -0
  124. package/dist/cjs/taro-rtc-room-item-core.cjs.entry.js +23 -0
  125. package/dist/cjs/taro-rtc-room-item-core.cjs.entry.js.map +1 -0
  126. package/dist/cjs/taro-scroll-view-core.cjs.entry.js +28 -22
  127. package/dist/cjs/taro-scroll-view-core.cjs.entry.js.map +1 -0
  128. package/dist/cjs/taro-share-element-core.cjs.entry.js +4 -2
  129. package/dist/cjs/taro-share-element-core.cjs.entry.js.map +1 -0
  130. package/dist/cjs/taro-slider-core.cjs.entry.js +37 -40
  131. package/dist/cjs/taro-slider-core.cjs.entry.js.map +1 -0
  132. package/dist/cjs/taro-slot-core.cjs.entry.js +4 -2
  133. package/dist/cjs/taro-slot-core.cjs.entry.js.map +1 -0
  134. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +47 -76
  135. package/dist/cjs/taro-swiper-core_2.cjs.entry.js.map +1 -0
  136. package/dist/cjs/taro-switch-core.cjs.entry.js +12 -8
  137. package/dist/cjs/taro-switch-core.cjs.entry.js.map +1 -0
  138. package/dist/cjs/taro-tab-item-core.cjs.entry.js +23 -0
  139. package/dist/cjs/taro-tab-item-core.cjs.entry.js.map +1 -0
  140. package/dist/cjs/taro-tabbar.cjs.entry.js +12 -4
  141. package/dist/cjs/taro-tabbar.cjs.entry.js.map +1 -0
  142. package/dist/cjs/taro-tabs-core.cjs.entry.js +23 -0
  143. package/dist/cjs/taro-tabs-core.cjs.entry.js.map +1 -0
  144. package/dist/cjs/taro-text-core.cjs.entry.js +4 -2
  145. package/dist/cjs/taro-text-core.cjs.entry.js.map +1 -0
  146. package/dist/cjs/taro-textarea-core.cjs.entry.js +21 -10
  147. package/dist/cjs/taro-textarea-core.cjs.entry.js.map +1 -0
  148. package/dist/cjs/taro-video-control_3.cjs.entry.js +81 -27723
  149. package/dist/cjs/taro-video-control_3.cjs.entry.js.map +1 -0
  150. package/dist/cjs/taro-view-core.cjs.entry.js +13 -5
  151. package/dist/cjs/taro-view-core.cjs.entry.js.map +1 -0
  152. package/dist/cjs/taro-voip-room-core.cjs.entry.js +4 -2
  153. package/dist/cjs/taro-voip-room-core.cjs.entry.js.map +1 -0
  154. package/dist/cjs/taro-web-view-core.cjs.entry.js +5 -2
  155. package/dist/cjs/taro-web-view-core.cjs.entry.js.map +1 -0
  156. package/dist/collection/collection-manifest.json +34 -4
  157. package/dist/collection/components/ad/ad.js +2 -1
  158. package/dist/collection/components/ad/ad.js.map +1 -0
  159. package/dist/collection/components/ad-custom/ad-custom.js +2 -1
  160. package/dist/collection/components/ad-custom/ad-custom.js.map +1 -0
  161. package/dist/collection/components/animation-video/animation-video.js +12 -0
  162. package/dist/collection/components/animation-video/animation-video.js.map +1 -0
  163. package/dist/collection/components/animation-view/animation-view.js +12 -0
  164. package/dist/collection/components/animation-view/animation-view.js.map +1 -0
  165. package/dist/collection/components/ar-camera/ar-camera.js +12 -0
  166. package/dist/collection/components/ar-camera/ar-camera.js.map +1 -0
  167. package/dist/collection/components/audio/audio.js +199 -190
  168. package/dist/collection/components/audio/audio.js.map +1 -0
  169. package/dist/collection/components/aweme-data/aweme-data.js +12 -0
  170. package/dist/collection/components/aweme-data/aweme-data.js.map +1 -0
  171. package/dist/collection/components/block/block.js +2 -2
  172. package/dist/collection/components/block/block.js.map +1 -0
  173. package/dist/collection/components/button/button.js +230 -217
  174. package/dist/collection/components/button/button.js.map +1 -0
  175. package/dist/collection/components/camera/camera.js +2 -1
  176. package/dist/collection/components/camera/camera.js.map +1 -0
  177. package/dist/collection/components/canvas/canvas.js +67 -58
  178. package/dist/collection/components/canvas/canvas.js.map +1 -0
  179. package/dist/collection/components/checkbox/checkbox-group.js +50 -42
  180. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -0
  181. package/dist/collection/components/checkbox/checkbox.js +175 -162
  182. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  183. package/dist/collection/components/comment/comment-detail.js +12 -0
  184. package/dist/collection/components/comment/comment-detail.js.map +1 -0
  185. package/dist/collection/components/comment/comment-list.js +12 -0
  186. package/dist/collection/components/comment/comment-list.js.map +1 -0
  187. package/dist/collection/components/contact-button/contact-button.js +12 -0
  188. package/dist/collection/components/contact-button/contact-button.js.map +1 -0
  189. package/dist/collection/components/cover-image/cover-image.js +83 -74
  190. package/dist/collection/components/cover-image/cover-image.js.map +1 -0
  191. package/dist/collection/components/cover-view/cover-view.js +131 -118
  192. package/dist/collection/components/cover-view/cover-view.js.map +1 -0
  193. package/dist/collection/components/custom-wrapper/custom-wrapper.js +2 -2
  194. package/dist/collection/components/custom-wrapper/custom-wrapper.js.map +1 -0
  195. package/dist/collection/components/editor/editor.js +2 -1
  196. package/dist/collection/components/editor/editor.js.map +1 -0
  197. package/dist/collection/components/follow-swan/follow-swan.js +12 -0
  198. package/dist/collection/components/follow-swan/follow-swan.js.map +1 -0
  199. package/dist/collection/components/form/form.js +66 -74
  200. package/dist/collection/components/form/form.js.map +1 -0
  201. package/dist/collection/components/functional-page-navigator/functional-page-navigator.js +2 -1
  202. package/dist/collection/components/functional-page-navigator/functional-page-navigator.js.map +1 -0
  203. package/dist/collection/components/icon/icon.js +61 -56
  204. package/dist/collection/components/icon/icon.js.map +1 -0
  205. package/dist/collection/components/image/image.js +125 -113
  206. package/dist/collection/components/image/image.js.map +1 -0
  207. package/dist/collection/components/inline-payment-panel/inline-payment-panel.js +12 -0
  208. package/dist/collection/components/inline-payment-panel/inline-payment-panel.js.map +1 -0
  209. package/dist/collection/components/input/input.js +336 -296
  210. package/dist/collection/components/input/input.js.map +1 -0
  211. package/dist/collection/components/keyboard-accessory/keyboard-accessory.js +2 -1
  212. package/dist/collection/components/keyboard-accessory/keyboard-accessory.js.map +1 -0
  213. package/dist/collection/components/label/label.js +27 -22
  214. package/dist/collection/components/label/label.js.map +1 -0
  215. package/dist/collection/components/lifestyle/lifestyle.js +12 -0
  216. package/dist/collection/components/lifestyle/lifestyle.js.map +1 -0
  217. package/dist/collection/components/like/like.js +12 -0
  218. package/dist/collection/components/like/like.js.map +1 -0
  219. package/dist/collection/components/live-player/live-player.js +2 -1
  220. package/dist/collection/components/live-player/live-player.js.map +1 -0
  221. package/dist/collection/components/live-pusher/live-pusher.js +2 -1
  222. package/dist/collection/components/live-pusher/live-pusher.js.map +1 -0
  223. package/dist/collection/components/login/login.js +12 -0
  224. package/dist/collection/components/login/login.js.map +1 -0
  225. package/dist/collection/components/lottie/lottie.js +12 -0
  226. package/dist/collection/components/lottie/lottie.js.map +1 -0
  227. package/dist/collection/components/map/map.js +2 -1
  228. package/dist/collection/components/map/map.js.map +1 -0
  229. package/dist/collection/components/match-media/match-media.js +2 -1
  230. package/dist/collection/components/match-media/match-media.js.map +1 -0
  231. package/dist/collection/components/movable-area/movable-area.js +34 -26
  232. package/dist/collection/components/movable-area/movable-area.js.map +1 -0
  233. package/dist/collection/components/movable-area/movable-view.js +397 -424
  234. package/dist/collection/components/movable-area/movable-view.js.map +1 -0
  235. package/dist/collection/components/navigation-bar/navigation-bar.js +2 -1
  236. package/dist/collection/components/navigation-bar/navigation-bar.js.map +1 -0
  237. package/dist/collection/components/navigator/navigator.js +158 -145
  238. package/dist/collection/components/navigator/navigator.js.map +1 -0
  239. package/dist/collection/components/official-account/official-account.js +2 -1
  240. package/dist/collection/components/official-account/official-account.js.map +1 -0
  241. package/dist/collection/components/open-data/open-data.js +2 -1
  242. package/dist/collection/components/open-data/open-data.js.map +1 -0
  243. package/dist/collection/components/page-container/page-container.js +2 -1
  244. package/dist/collection/components/page-container/page-container.js.map +1 -0
  245. package/dist/collection/components/page-meta/page-meta.js +2 -1
  246. package/dist/collection/components/page-meta/page-meta.js.map +1 -0
  247. package/dist/collection/components/picker/constant.js +1 -0
  248. package/dist/collection/components/picker/constant.js.map +1 -0
  249. package/dist/collection/components/picker/picker-group.js +240 -176
  250. package/dist/collection/components/picker/picker-group.js.map +1 -0
  251. package/dist/collection/components/picker/picker.js +261 -257
  252. package/dist/collection/components/picker/picker.js.map +1 -0
  253. package/dist/collection/components/picker/utils.js +1 -0
  254. package/dist/collection/components/picker/utils.js.map +1 -0
  255. package/dist/collection/components/picker-view/picker-view-column.js +158 -147
  256. package/dist/collection/components/picker-view/picker-view-column.js.map +1 -0
  257. package/dist/collection/components/picker-view/picker-view.js +171 -159
  258. package/dist/collection/components/picker-view/picker-view.js.map +1 -0
  259. package/dist/collection/components/progress/progress.js +153 -157
  260. package/dist/collection/components/progress/progress.js.map +1 -0
  261. package/dist/collection/components/pull-to-refresh/pull-to-refresh.js +121 -114
  262. package/dist/collection/components/pull-to-refresh/pull-to-refresh.js.map +1 -0
  263. package/dist/collection/components/radio/radio-group.js +50 -43
  264. package/dist/collection/components/radio/radio-group.js.map +1 -0
  265. package/dist/collection/components/radio/radio.js +152 -144
  266. package/dist/collection/components/radio/radio.js.map +1 -0
  267. package/dist/collection/components/rich-text/rich-text.js +27 -23
  268. package/dist/collection/components/rich-text/rich-text.js.map +1 -0
  269. package/dist/collection/components/root-portal/root-portal.js +2 -1
  270. package/dist/collection/components/root-portal/root-portal.js.map +1 -0
  271. package/dist/collection/components/rtc-room/rtc-room-item.js +12 -0
  272. package/dist/collection/components/rtc-room/rtc-room-item.js.map +1 -0
  273. package/dist/collection/components/rtc-room/rtc-room.js +12 -0
  274. package/dist/collection/components/rtc-room/rtc-room.js.map +1 -0
  275. package/dist/collection/components/scroll-view/scroll-view.js +242 -220
  276. package/dist/collection/components/scroll-view/scroll-view.js.map +1 -0
  277. package/dist/collection/components/share-element/share-element.js +2 -1
  278. package/dist/collection/components/share-element/share-element.js.map +1 -0
  279. package/dist/collection/components/slider/slider.js +279 -283
  280. package/dist/collection/components/slider/slider.js.map +1 -0
  281. package/dist/collection/components/slot/native-slot.js +12 -0
  282. package/dist/collection/components/slot/native-slot.js.map +1 -0
  283. package/dist/collection/components/slot/slot.js +2 -1
  284. package/dist/collection/components/slot/slot.js.map +1 -0
  285. package/dist/collection/components/swiper/swiper-item.js +26 -21
  286. package/dist/collection/components/swiper/swiper-item.js.map +1 -0
  287. package/dist/collection/components/swiper/swiper.js +364 -389
  288. package/dist/collection/components/swiper/swiper.js.map +1 -0
  289. package/dist/collection/components/switch/switch.js +153 -139
  290. package/dist/collection/components/switch/switch.js.map +1 -0
  291. package/dist/collection/components/tabbar/tabbar-item.js +2 -6
  292. package/dist/collection/components/tabbar/tabbar-item.js.map +1 -0
  293. package/dist/collection/components/tabbar/tabbar.js +86 -70
  294. package/dist/collection/components/tabbar/tabbar.js.map +1 -0
  295. package/dist/collection/components/tabs/tab-item.js +12 -0
  296. package/dist/collection/components/tabs/tab-item.js.map +1 -0
  297. package/dist/collection/components/tabs/tabs.js +12 -0
  298. package/dist/collection/components/tabs/tabs.js.map +1 -0
  299. package/dist/collection/components/text/text.js +35 -30
  300. package/dist/collection/components/text/text.js.map +1 -0
  301. package/dist/collection/components/textarea/textarea.js +262 -227
  302. package/dist/collection/components/textarea/textarea.js.map +1 -0
  303. package/dist/collection/components/video/utils.js +1 -0
  304. package/dist/collection/components/video/utils.js.map +1 -0
  305. package/dist/collection/components/video/video-control.js +252 -247
  306. package/dist/collection/components/video/video-control.js.map +1 -0
  307. package/dist/collection/components/video/video-danmu.js +72 -66
  308. package/dist/collection/components/video/video-danmu.js.map +1 -0
  309. package/dist/collection/components/video/video.js +733 -775
  310. package/dist/collection/components/video/video.js.map +1 -0
  311. package/dist/collection/components/view/view.js +137 -120
  312. package/dist/collection/components/view/view.js.map +1 -0
  313. package/dist/collection/components/voip-room/voip-room.js +2 -1
  314. package/dist/collection/components/voip-room/voip-room.js.map +1 -0
  315. package/dist/collection/components/web-view/web-view.js +68 -57
  316. package/dist/collection/components/web-view/web-view.js.map +1 -0
  317. package/dist/collection/index.js +1 -0
  318. package/dist/collection/index.js.map +1 -0
  319. package/dist/collection/utils/helper.js +1 -0
  320. package/dist/collection/utils/helper.js.map +1 -0
  321. package/dist/collection/utils/index.js +1 -0
  322. package/dist/collection/utils/index.js.map +1 -0
  323. package/dist/collection/utils/style.js +1 -0
  324. package/dist/collection/utils/style.js.map +1 -0
  325. package/dist/collection/utils/url.js +1 -0
  326. package/dist/collection/utils/url.js.map +1 -0
  327. package/dist/esm/helper-3d0ecf0f.js +2 -0
  328. package/dist/esm/helper-3d0ecf0f.js.map +1 -0
  329. package/dist/esm/hls-221423a1.js +27622 -0
  330. package/dist/esm/hls-221423a1.js.map +1 -0
  331. package/dist/esm/index-1d8e8acd.js +2 -0
  332. package/dist/esm/index-1d8e8acd.js.map +1 -0
  333. package/dist/esm/{index-8809c729.js → index-5d881caf.js} +477 -234
  334. package/dist/esm/index-5d881caf.js.map +1 -0
  335. package/dist/esm/index-cad8203e.js +2 -0
  336. package/dist/esm/index-cad8203e.js.map +1 -0
  337. package/dist/esm/index.js +2 -0
  338. package/dist/esm/index.js.map +1 -0
  339. package/dist/esm/intersection-observer-8e4c7135.js +2 -0
  340. package/dist/esm/intersection-observer-8e4c7135.js.map +1 -0
  341. package/dist/esm/loader.js +5 -3
  342. package/dist/esm/loader.js.map +1 -0
  343. package/dist/esm/polyfills/css-shim.js +1 -1
  344. package/dist/esm/taro-ad-core.entry.js +4 -2
  345. package/dist/esm/taro-ad-core.entry.js.map +1 -0
  346. package/dist/esm/taro-ad-custom-core.entry.js +4 -2
  347. package/dist/esm/taro-ad-custom-core.entry.js.map +1 -0
  348. package/dist/esm/taro-animation-video-core.entry.js +19 -0
  349. package/dist/esm/taro-animation-video-core.entry.js.map +1 -0
  350. package/dist/esm/taro-animation-view-core.entry.js +19 -0
  351. package/dist/esm/taro-animation-view-core.entry.js.map +1 -0
  352. package/dist/esm/taro-ar-camera-core.entry.js +19 -0
  353. package/dist/esm/taro-ar-camera-core.entry.js.map +1 -0
  354. package/dist/esm/taro-audio-core.entry.js +5 -2
  355. package/dist/esm/taro-audio-core.entry.js.map +1 -0
  356. package/dist/esm/taro-aweme-data-core.entry.js +19 -0
  357. package/dist/esm/taro-aweme-data-core.entry.js.map +1 -0
  358. package/dist/esm/taro-block-core.entry.js +4 -2
  359. package/dist/esm/taro-block-core.entry.js.map +1 -0
  360. package/dist/esm/taro-button-core.entry.js +7 -2
  361. package/dist/esm/taro-button-core.entry.js.map +1 -0
  362. package/dist/esm/taro-camera-core.entry.js +4 -2
  363. package/dist/esm/taro-camera-core.entry.js.map +1 -0
  364. package/dist/esm/taro-canvas-core.entry.js +6 -3
  365. package/dist/esm/taro-canvas-core.entry.js.map +1 -0
  366. package/dist/esm/taro-checkbox-core_2.entry.js +15 -9
  367. package/dist/esm/taro-checkbox-core_2.entry.js.map +1 -0
  368. package/dist/esm/taro-comment-detail-core.entry.js +19 -0
  369. package/dist/esm/taro-comment-detail-core.entry.js.map +1 -0
  370. package/dist/esm/taro-comment-list-core.entry.js +19 -0
  371. package/dist/esm/taro-comment-list-core.entry.js.map +1 -0
  372. package/dist/esm/taro-components.js +5 -3
  373. package/dist/esm/taro-components.js.map +1 -0
  374. package/dist/esm/taro-contact-button-core.entry.js +19 -0
  375. package/dist/esm/taro-contact-button-core.entry.js.map +1 -0
  376. package/dist/esm/taro-cover-image-core.entry.js +7 -4
  377. package/dist/esm/taro-cover-image-core.entry.js.map +1 -0
  378. package/dist/esm/taro-cover-view-core.entry.js +7 -3
  379. package/dist/esm/taro-cover-view-core.entry.js.map +1 -0
  380. package/dist/esm/taro-custom-wrapper-core.entry.js +4 -2
  381. package/dist/esm/taro-custom-wrapper-core.entry.js.map +1 -0
  382. package/dist/esm/taro-editor-core.entry.js +4 -2
  383. package/dist/esm/taro-editor-core.entry.js.map +1 -0
  384. package/dist/esm/taro-follow-swan-core.entry.js +19 -0
  385. package/dist/esm/taro-follow-swan-core.entry.js.map +1 -0
  386. package/dist/esm/taro-form-core.entry.js +34 -39
  387. package/dist/esm/taro-form-core.entry.js.map +1 -0
  388. package/dist/esm/taro-functional-page-navigator-core.entry.js +4 -2
  389. package/dist/esm/taro-functional-page-navigator-core.entry.js.map +1 -0
  390. package/dist/esm/taro-icon-core.entry.js +6 -2
  391. package/dist/esm/taro-icon-core.entry.js.map +1 -0
  392. package/dist/esm/taro-image-core.entry.js +7 -4
  393. package/dist/esm/taro-image-core.entry.js.map +1 -0
  394. package/dist/esm/taro-inline-payment-panel-core.entry.js +19 -0
  395. package/dist/esm/taro-inline-payment-panel-core.entry.js.map +1 -0
  396. package/dist/esm/taro-input-core.entry.js +29 -14
  397. package/dist/esm/taro-input-core.entry.js.map +1 -0
  398. package/dist/esm/taro-keyboard-accessory-core.entry.js +4 -2
  399. package/dist/esm/taro-keyboard-accessory-core.entry.js.map +1 -0
  400. package/dist/esm/taro-label-core.entry.js +5 -2
  401. package/dist/esm/taro-label-core.entry.js.map +1 -0
  402. package/dist/esm/taro-lifestyle-core.entry.js +19 -0
  403. package/dist/esm/taro-lifestyle-core.entry.js.map +1 -0
  404. package/dist/esm/taro-like-core.entry.js +19 -0
  405. package/dist/esm/taro-like-core.entry.js.map +1 -0
  406. package/dist/esm/taro-live-player-core.entry.js +4 -2
  407. package/dist/esm/taro-live-player-core.entry.js.map +1 -0
  408. package/dist/esm/taro-live-pusher-core.entry.js +4 -2
  409. package/dist/esm/taro-live-pusher-core.entry.js.map +1 -0
  410. package/dist/esm/taro-login-core.entry.js +19 -0
  411. package/dist/esm/taro-login-core.entry.js.map +1 -0
  412. package/dist/esm/taro-lottie-core.entry.js +19 -0
  413. package/dist/esm/taro-lottie-core.entry.js.map +1 -0
  414. package/dist/esm/taro-map-core.entry.js +4 -2
  415. package/dist/esm/taro-map-core.entry.js.map +1 -0
  416. package/dist/esm/taro-match-media-core.entry.js +4 -2
  417. package/dist/esm/taro-match-media-core.entry.js.map +1 -0
  418. package/dist/esm/{taro-movable-view-core.entry.js → taro-movable-area-core_2.entry.js} +169 -55
  419. package/dist/esm/taro-movable-area-core_2.entry.js.map +1 -0
  420. package/dist/esm/taro-native-slot-core.entry.js +19 -0
  421. package/dist/esm/taro-native-slot-core.entry.js.map +1 -0
  422. package/dist/esm/taro-navigation-bar-core.entry.js +4 -2
  423. package/dist/esm/taro-navigation-bar-core.entry.js.map +1 -0
  424. package/dist/esm/taro-navigator-core.entry.js +6 -2
  425. package/dist/esm/taro-navigator-core.entry.js.map +1 -0
  426. package/dist/esm/taro-official-account-core.entry.js +4 -2
  427. package/dist/esm/taro-official-account-core.entry.js.map +1 -0
  428. package/dist/esm/taro-open-data-core.entry.js +4 -2
  429. package/dist/esm/taro-open-data-core.entry.js.map +1 -0
  430. package/dist/esm/taro-page-container-core.entry.js +4 -2
  431. package/dist/esm/taro-page-container-core.entry.js.map +1 -0
  432. package/dist/esm/taro-page-meta-core.entry.js +4 -2
  433. package/dist/esm/taro-page-meta-core.entry.js.map +1 -0
  434. package/dist/esm/taro-picker-core_2.entry.js +31 -15
  435. package/dist/esm/taro-picker-core_2.entry.js.map +1 -0
  436. package/dist/esm/{taro-picker-view-core.entry.js → taro-picker-view-column-core_2.entry.js} +97 -3
  437. package/dist/esm/taro-picker-view-column-core_2.entry.js.map +1 -0
  438. package/dist/esm/taro-progress-core.entry.js +7 -5
  439. package/dist/esm/taro-progress-core.entry.js.map +1 -0
  440. package/dist/esm/taro-pull-to-refresh.entry.js +10 -8
  441. package/dist/esm/taro-pull-to-refresh.entry.js.map +1 -0
  442. package/dist/esm/taro-radio-core_2.entry.js +15 -9
  443. package/dist/esm/taro-radio-core_2.entry.js.map +1 -0
  444. package/dist/esm/taro-rich-text-core.entry.js +5 -2
  445. package/dist/esm/taro-rich-text-core.entry.js.map +1 -0
  446. package/dist/esm/taro-root-portal-core.entry.js +4 -2
  447. package/dist/esm/taro-root-portal-core.entry.js.map +1 -0
  448. package/dist/esm/taro-rtc-room-core.entry.js +19 -0
  449. package/dist/esm/taro-rtc-room-core.entry.js.map +1 -0
  450. package/dist/esm/taro-rtc-room-item-core.entry.js +19 -0
  451. package/dist/esm/taro-rtc-room-item-core.entry.js.map +1 -0
  452. package/dist/esm/taro-scroll-view-core.entry.js +28 -22
  453. package/dist/esm/taro-scroll-view-core.entry.js.map +1 -0
  454. package/dist/esm/taro-share-element-core.entry.js +4 -2
  455. package/dist/esm/taro-share-element-core.entry.js.map +1 -0
  456. package/dist/esm/taro-slider-core.entry.js +37 -40
  457. package/dist/esm/taro-slider-core.entry.js.map +1 -0
  458. package/dist/esm/taro-slot-core.entry.js +4 -2
  459. package/dist/esm/taro-slot-core.entry.js.map +1 -0
  460. package/dist/esm/taro-swiper-core_2.entry.js +47 -76
  461. package/dist/esm/taro-swiper-core_2.entry.js.map +1 -0
  462. package/dist/esm/taro-switch-core.entry.js +12 -8
  463. package/dist/esm/taro-switch-core.entry.js.map +1 -0
  464. package/dist/esm/taro-tab-item-core.entry.js +19 -0
  465. package/dist/esm/taro-tab-item-core.entry.js.map +1 -0
  466. package/dist/esm/taro-tabbar.entry.js +12 -4
  467. package/dist/esm/taro-tabbar.entry.js.map +1 -0
  468. package/dist/esm/taro-tabs-core.entry.js +19 -0
  469. package/dist/esm/taro-tabs-core.entry.js.map +1 -0
  470. package/dist/esm/taro-text-core.entry.js +4 -2
  471. package/dist/esm/taro-text-core.entry.js.map +1 -0
  472. package/dist/esm/taro-textarea-core.entry.js +21 -10
  473. package/dist/esm/taro-textarea-core.entry.js.map +1 -0
  474. package/dist/esm/taro-video-control_3.entry.js +75 -27717
  475. package/dist/esm/taro-video-control_3.entry.js.map +1 -0
  476. package/dist/esm/taro-view-core.entry.js +13 -5
  477. package/dist/esm/taro-view-core.entry.js.map +1 -0
  478. package/dist/esm/taro-voip-room-core.entry.js +4 -2
  479. package/dist/esm/taro-voip-room-core.entry.js.map +1 -0
  480. package/dist/esm/taro-web-view-core.entry.js +5 -2
  481. package/dist/esm/taro-web-view-core.entry.js.map +1 -0
  482. package/dist/esm-es5/helper-3d0ecf0f.js +2 -1
  483. package/dist/esm-es5/helper-3d0ecf0f.js.map +1 -0
  484. package/dist/esm-es5/hls-221423a1.js +366 -0
  485. package/dist/esm-es5/hls-221423a1.js.map +1 -0
  486. package/dist/esm-es5/index-1d8e8acd.js +2 -1
  487. package/dist/esm-es5/index-1d8e8acd.js.map +1 -0
  488. package/dist/esm-es5/index-5d881caf.js +3 -0
  489. package/dist/esm-es5/index-5d881caf.js.map +1 -0
  490. package/dist/esm-es5/index-cad8203e.js +2 -1
  491. package/dist/esm-es5/index-cad8203e.js.map +1 -0
  492. package/dist/esm-es5/index.js +2 -0
  493. package/dist/esm-es5/index.js.map +1 -0
  494. package/dist/esm-es5/intersection-observer-8e4c7135.js +2 -1
  495. package/dist/esm-es5/intersection-observer-8e4c7135.js.map +1 -0
  496. package/dist/esm-es5/loader.js +2 -1
  497. package/dist/esm-es5/loader.js.map +1 -0
  498. package/dist/esm-es5/taro-ad-core.entry.js +2 -1
  499. package/dist/esm-es5/taro-ad-core.entry.js.map +1 -0
  500. package/dist/esm-es5/taro-ad-custom-core.entry.js +2 -1
  501. package/dist/esm-es5/taro-ad-custom-core.entry.js.map +1 -0
  502. package/dist/esm-es5/taro-animation-video-core.entry.js +2 -0
  503. package/dist/esm-es5/taro-animation-video-core.entry.js.map +1 -0
  504. package/dist/esm-es5/taro-animation-view-core.entry.js +2 -0
  505. package/dist/esm-es5/taro-animation-view-core.entry.js.map +1 -0
  506. package/dist/esm-es5/taro-ar-camera-core.entry.js +2 -0
  507. package/dist/esm-es5/taro-ar-camera-core.entry.js.map +1 -0
  508. package/dist/esm-es5/taro-audio-core.entry.js +2 -1
  509. package/dist/esm-es5/taro-audio-core.entry.js.map +1 -0
  510. package/dist/esm-es5/taro-aweme-data-core.entry.js +2 -0
  511. package/dist/esm-es5/taro-aweme-data-core.entry.js.map +1 -0
  512. package/dist/esm-es5/taro-block-core.entry.js +2 -1
  513. package/dist/esm-es5/taro-block-core.entry.js.map +1 -0
  514. package/dist/esm-es5/taro-button-core.entry.js +2 -1
  515. package/dist/esm-es5/taro-button-core.entry.js.map +1 -0
  516. package/dist/esm-es5/taro-camera-core.entry.js +2 -1
  517. package/dist/esm-es5/taro-camera-core.entry.js.map +1 -0
  518. package/dist/esm-es5/taro-canvas-core.entry.js +2 -1
  519. package/dist/esm-es5/taro-canvas-core.entry.js.map +1 -0
  520. package/dist/esm-es5/taro-checkbox-core_2.entry.js +2 -1
  521. package/dist/esm-es5/taro-checkbox-core_2.entry.js.map +1 -0
  522. package/dist/esm-es5/taro-comment-detail-core.entry.js +2 -0
  523. package/dist/esm-es5/taro-comment-detail-core.entry.js.map +1 -0
  524. package/dist/esm-es5/taro-comment-list-core.entry.js +2 -0
  525. package/dist/esm-es5/taro-comment-list-core.entry.js.map +1 -0
  526. package/dist/esm-es5/taro-components.js +2 -1
  527. package/dist/esm-es5/taro-components.js.map +1 -0
  528. package/dist/esm-es5/taro-contact-button-core.entry.js +2 -0
  529. package/dist/esm-es5/taro-contact-button-core.entry.js.map +1 -0
  530. package/dist/esm-es5/taro-cover-image-core.entry.js +2 -1
  531. package/dist/esm-es5/taro-cover-image-core.entry.js.map +1 -0
  532. package/dist/esm-es5/taro-cover-view-core.entry.js +2 -1
  533. package/dist/esm-es5/taro-cover-view-core.entry.js.map +1 -0
  534. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +2 -1
  535. package/dist/esm-es5/taro-custom-wrapper-core.entry.js.map +1 -0
  536. package/dist/esm-es5/taro-editor-core.entry.js +2 -1
  537. package/dist/esm-es5/taro-editor-core.entry.js.map +1 -0
  538. package/dist/esm-es5/taro-follow-swan-core.entry.js +2 -0
  539. package/dist/esm-es5/taro-follow-swan-core.entry.js.map +1 -0
  540. package/dist/esm-es5/taro-form-core.entry.js +2 -1
  541. package/dist/esm-es5/taro-form-core.entry.js.map +1 -0
  542. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +2 -1
  543. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js.map +1 -0
  544. package/dist/esm-es5/taro-icon-core.entry.js +2 -1
  545. package/dist/esm-es5/taro-icon-core.entry.js.map +1 -0
  546. package/dist/esm-es5/taro-image-core.entry.js +2 -1
  547. package/dist/esm-es5/taro-image-core.entry.js.map +1 -0
  548. package/dist/esm-es5/taro-inline-payment-panel-core.entry.js +2 -0
  549. package/dist/esm-es5/taro-inline-payment-panel-core.entry.js.map +1 -0
  550. package/dist/esm-es5/taro-input-core.entry.js +2 -1
  551. package/dist/esm-es5/taro-input-core.entry.js.map +1 -0
  552. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +2 -1
  553. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js.map +1 -0
  554. package/dist/esm-es5/taro-label-core.entry.js +2 -1
  555. package/dist/esm-es5/taro-label-core.entry.js.map +1 -0
  556. package/dist/esm-es5/taro-lifestyle-core.entry.js +2 -0
  557. package/dist/esm-es5/taro-lifestyle-core.entry.js.map +1 -0
  558. package/dist/esm-es5/taro-like-core.entry.js +2 -0
  559. package/dist/esm-es5/taro-like-core.entry.js.map +1 -0
  560. package/dist/esm-es5/taro-live-player-core.entry.js +2 -1
  561. package/dist/esm-es5/taro-live-player-core.entry.js.map +1 -0
  562. package/dist/esm-es5/taro-live-pusher-core.entry.js +2 -1
  563. package/dist/esm-es5/taro-live-pusher-core.entry.js.map +1 -0
  564. package/dist/esm-es5/taro-login-core.entry.js +2 -0
  565. package/dist/esm-es5/taro-login-core.entry.js.map +1 -0
  566. package/dist/esm-es5/taro-lottie-core.entry.js +2 -0
  567. package/dist/esm-es5/taro-lottie-core.entry.js.map +1 -0
  568. package/dist/esm-es5/taro-map-core.entry.js +2 -1
  569. package/dist/esm-es5/taro-map-core.entry.js.map +1 -0
  570. package/dist/esm-es5/taro-match-media-core.entry.js +2 -1
  571. package/dist/esm-es5/taro-match-media-core.entry.js.map +1 -0
  572. package/dist/esm-es5/taro-movable-area-core_2.entry.js +2 -0
  573. package/dist/esm-es5/taro-movable-area-core_2.entry.js.map +1 -0
  574. package/dist/esm-es5/taro-native-slot-core.entry.js +2 -0
  575. package/dist/esm-es5/taro-native-slot-core.entry.js.map +1 -0
  576. package/dist/esm-es5/taro-navigation-bar-core.entry.js +2 -1
  577. package/dist/esm-es5/taro-navigation-bar-core.entry.js.map +1 -0
  578. package/dist/esm-es5/taro-navigator-core.entry.js +2 -1
  579. package/dist/esm-es5/taro-navigator-core.entry.js.map +1 -0
  580. package/dist/esm-es5/taro-official-account-core.entry.js +2 -1
  581. package/dist/esm-es5/taro-official-account-core.entry.js.map +1 -0
  582. package/dist/esm-es5/taro-open-data-core.entry.js +2 -1
  583. package/dist/esm-es5/taro-open-data-core.entry.js.map +1 -0
  584. package/dist/esm-es5/taro-page-container-core.entry.js +2 -1
  585. package/dist/esm-es5/taro-page-container-core.entry.js.map +1 -0
  586. package/dist/esm-es5/taro-page-meta-core.entry.js +2 -1
  587. package/dist/esm-es5/taro-page-meta-core.entry.js.map +1 -0
  588. package/dist/esm-es5/taro-picker-core_2.entry.js +2 -1
  589. package/dist/esm-es5/taro-picker-core_2.entry.js.map +1 -0
  590. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +2 -0
  591. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js.map +1 -0
  592. package/dist/esm-es5/taro-progress-core.entry.js +2 -1
  593. package/dist/esm-es5/taro-progress-core.entry.js.map +1 -0
  594. package/dist/esm-es5/taro-pull-to-refresh.entry.js +2 -1
  595. package/dist/esm-es5/taro-pull-to-refresh.entry.js.map +1 -0
  596. package/dist/esm-es5/taro-radio-core_2.entry.js +2 -1
  597. package/dist/esm-es5/taro-radio-core_2.entry.js.map +1 -0
  598. package/dist/esm-es5/taro-rich-text-core.entry.js +2 -1
  599. package/dist/esm-es5/taro-rich-text-core.entry.js.map +1 -0
  600. package/dist/esm-es5/taro-root-portal-core.entry.js +2 -1
  601. package/dist/esm-es5/taro-root-portal-core.entry.js.map +1 -0
  602. package/dist/esm-es5/taro-rtc-room-core.entry.js +2 -0
  603. package/dist/esm-es5/taro-rtc-room-core.entry.js.map +1 -0
  604. package/dist/esm-es5/taro-rtc-room-item-core.entry.js +2 -0
  605. package/dist/esm-es5/taro-rtc-room-item-core.entry.js.map +1 -0
  606. package/dist/esm-es5/taro-scroll-view-core.entry.js +2 -1
  607. package/dist/esm-es5/taro-scroll-view-core.entry.js.map +1 -0
  608. package/dist/esm-es5/taro-share-element-core.entry.js +2 -1
  609. package/dist/esm-es5/taro-share-element-core.entry.js.map +1 -0
  610. package/dist/esm-es5/taro-slider-core.entry.js +2 -1
  611. package/dist/esm-es5/taro-slider-core.entry.js.map +1 -0
  612. package/dist/esm-es5/taro-slot-core.entry.js +2 -1
  613. package/dist/esm-es5/taro-slot-core.entry.js.map +1 -0
  614. package/dist/esm-es5/taro-swiper-core_2.entry.js +2 -1
  615. package/dist/esm-es5/taro-swiper-core_2.entry.js.map +1 -0
  616. package/dist/esm-es5/taro-switch-core.entry.js +2 -1
  617. package/dist/esm-es5/taro-switch-core.entry.js.map +1 -0
  618. package/dist/esm-es5/taro-tab-item-core.entry.js +2 -0
  619. package/dist/esm-es5/taro-tab-item-core.entry.js.map +1 -0
  620. package/dist/esm-es5/taro-tabbar.entry.js +2 -1
  621. package/dist/esm-es5/taro-tabbar.entry.js.map +1 -0
  622. package/dist/esm-es5/taro-tabs-core.entry.js +2 -0
  623. package/dist/esm-es5/taro-tabs-core.entry.js.map +1 -0
  624. package/dist/esm-es5/taro-text-core.entry.js +2 -1
  625. package/dist/esm-es5/taro-text-core.entry.js.map +1 -0
  626. package/dist/esm-es5/taro-textarea-core.entry.js +2 -1
  627. package/dist/esm-es5/taro-textarea-core.entry.js.map +1 -0
  628. package/dist/esm-es5/taro-video-control_3.entry.js +2 -365
  629. package/dist/esm-es5/taro-video-control_3.entry.js.map +1 -0
  630. package/dist/esm-es5/taro-view-core.entry.js +2 -1
  631. package/dist/esm-es5/taro-view-core.entry.js.map +1 -0
  632. package/dist/esm-es5/taro-voip-room-core.entry.js +2 -1
  633. package/dist/esm-es5/taro-voip-room-core.entry.js.map +1 -0
  634. package/dist/esm-es5/taro-web-view-core.entry.js +2 -1
  635. package/dist/esm-es5/taro-web-view-core.entry.js.map +1 -0
  636. package/{dist-h5/react/components → dist/react/component-lib}/index.js +20 -10
  637. package/dist/react/component-lib/input.js +17 -0
  638. package/{dist-h5/react/utils → dist/react/component-lib}/reactify-wc.js +24 -73
  639. package/dist/react/components.js +82 -0
  640. package/dist/react/helper.js +8 -0
  641. package/{dist-h5 → dist}/react/index.js +0 -0
  642. package/dist/react/react-component-lib/createComponent.js +99 -0
  643. package/dist/react/react-component-lib/createOverlayComponent.js +178 -0
  644. package/dist/react/react-component-lib/index.js +2 -0
  645. package/dist/react/react-component-lib/interfaces.js +0 -0
  646. package/dist/react/react-component-lib/utils/attachProps.js +98 -0
  647. package/dist/react/react-component-lib/utils/case.js +10 -0
  648. package/dist/react/react-component-lib/utils/dev.js +12 -0
  649. package/dist/react/react-component-lib/utils/index.js +37 -0
  650. package/dist/taro-components/index.esm.js +2 -0
  651. package/dist/taro-components/index.esm.js.map +1 -0
  652. package/dist/taro-components/p-001ef419.system.entry.js +2 -0
  653. package/dist/taro-components/p-001ef419.system.entry.js.map +1 -0
  654. package/dist/taro-components/p-01dc54a5.entry.js +2 -0
  655. package/dist/taro-components/p-01dc54a5.entry.js.map +1 -0
  656. package/dist/taro-components/p-0382d7d0.system.entry.js +2 -0
  657. package/dist/taro-components/p-0382d7d0.system.entry.js.map +1 -0
  658. package/dist/taro-components/p-0a896bc7.entry.js +2 -0
  659. package/dist/taro-components/p-0a896bc7.entry.js.map +1 -0
  660. package/dist/taro-components/p-0b38e6c7.system.entry.js +2 -0
  661. package/dist/taro-components/p-0b38e6c7.system.entry.js.map +1 -0
  662. package/dist/taro-components/p-0be383a9.system.entry.js +2 -0
  663. package/dist/taro-components/p-0be383a9.system.entry.js.map +1 -0
  664. package/dist/taro-components/p-0d36ef6b.entry.js +2 -0
  665. package/dist/taro-components/p-0d36ef6b.entry.js.map +1 -0
  666. package/dist/taro-components/p-0ee6a068.entry.js +2 -0
  667. package/dist/taro-components/p-0ee6a068.entry.js.map +1 -0
  668. package/dist/taro-components/p-12e4b019.entry.js +2 -0
  669. package/dist/taro-components/p-12e4b019.entry.js.map +1 -0
  670. package/dist/taro-components/p-15dced71.system.entry.js +2 -0
  671. package/dist/taro-components/p-15dced71.system.entry.js.map +1 -0
  672. package/dist/taro-components/p-15e45ed6.system.js +2 -1
  673. package/dist/taro-components/p-15e45ed6.system.js.map +1 -0
  674. package/dist/taro-components/{p-4c1a7cae.system.entry.js → p-1743a04b.system.js} +28 -27
  675. package/dist/taro-components/p-1743a04b.system.js.map +1 -0
  676. package/dist/taro-components/p-17657dca.entry.js +2 -0
  677. package/dist/taro-components/p-17657dca.entry.js.map +1 -0
  678. package/dist/taro-components/p-186ad7ff.entry.js +2 -0
  679. package/dist/taro-components/p-186ad7ff.entry.js.map +1 -0
  680. package/dist/taro-components/p-19afe402.entry.js +2 -0
  681. package/dist/taro-components/p-19afe402.entry.js.map +1 -0
  682. package/dist/taro-components/p-1a47133c.system.entry.js +2 -0
  683. package/dist/taro-components/p-1a47133c.system.entry.js.map +1 -0
  684. package/dist/taro-components/p-1ad0aa95.system.entry.js +2 -0
  685. package/dist/taro-components/p-1ad0aa95.system.entry.js.map +1 -0
  686. package/dist/taro-components/{p-c92bafb6.system.entry.js → p-1b1420c9.system.entry.js} +2 -1
  687. package/dist/taro-components/p-1b1420c9.system.entry.js.map +1 -0
  688. package/dist/taro-components/p-1b2556e2.system.entry.js +2 -0
  689. package/dist/taro-components/p-1b2556e2.system.entry.js.map +1 -0
  690. package/dist/taro-components/p-1b64d2a2.entry.js +2 -0
  691. package/dist/taro-components/p-1b64d2a2.entry.js.map +1 -0
  692. package/dist/taro-components/p-1bd3d09b.system.entry.js +2 -0
  693. package/dist/taro-components/p-1bd3d09b.system.entry.js.map +1 -0
  694. package/dist/taro-components/p-1cb76199.entry.js +2 -0
  695. package/dist/taro-components/p-1cb76199.entry.js.map +1 -0
  696. package/dist/taro-components/p-2096bc5f.entry.js +2 -0
  697. package/dist/taro-components/p-2096bc5f.entry.js.map +1 -0
  698. package/dist/taro-components/p-20ec6387.entry.js +2 -0
  699. package/dist/taro-components/p-20ec6387.entry.js.map +1 -0
  700. package/dist/taro-components/{p-c5fd5c7f.system.entry.js → p-21b77a13.system.entry.js} +2 -1
  701. package/dist/taro-components/p-21b77a13.system.entry.js.map +1 -0
  702. package/dist/taro-components/p-2243a376.entry.js +2 -0
  703. package/dist/taro-components/p-2243a376.entry.js.map +1 -0
  704. package/dist/taro-components/p-281a2bcf.entry.js +2 -0
  705. package/dist/taro-components/p-281a2bcf.entry.js.map +1 -0
  706. package/dist/taro-components/p-28dade4f.entry.js +2 -0
  707. package/dist/taro-components/p-28dade4f.entry.js.map +1 -0
  708. package/dist/taro-components/p-29f04296.entry.js +2 -0
  709. package/dist/taro-components/p-29f04296.entry.js.map +1 -0
  710. package/dist/taro-components/{p-3e11c8cc.system.entry.js → p-301a8b85.system.entry.js} +2 -1
  711. package/dist/taro-components/p-301a8b85.system.entry.js.map +1 -0
  712. package/dist/taro-components/p-31e10d77.system.entry.js +2 -0
  713. package/dist/taro-components/p-31e10d77.system.entry.js.map +1 -0
  714. package/dist/taro-components/p-36c64ed0.system.entry.js +2 -0
  715. package/dist/taro-components/p-36c64ed0.system.entry.js.map +1 -0
  716. package/dist/taro-components/p-37d71e63.entry.js +2 -0
  717. package/dist/taro-components/p-37d71e63.entry.js.map +1 -0
  718. package/dist/taro-components/p-386b9de8.entry.js +2 -0
  719. package/dist/taro-components/p-386b9de8.entry.js.map +1 -0
  720. package/dist/taro-components/p-3b1d2d37.system.js +2 -1
  721. package/dist/taro-components/p-3b1d2d37.system.js.map +1 -0
  722. package/dist/taro-components/p-3b9a1125.entry.js +2 -0
  723. package/dist/taro-components/p-3b9a1125.entry.js.map +1 -0
  724. package/dist/taro-components/p-3c256e0e.entry.js +2 -0
  725. package/dist/taro-components/p-3c256e0e.entry.js.map +1 -0
  726. package/dist/taro-components/p-3e6b29c6.entry.js +2 -0
  727. package/dist/taro-components/p-3e6b29c6.entry.js.map +1 -0
  728. package/dist/taro-components/p-427a2872.entry.js +2 -0
  729. package/dist/taro-components/p-427a2872.entry.js.map +1 -0
  730. package/dist/taro-components/{p-a63fbc50.system.entry.js → p-439a3349.system.entry.js} +2 -1
  731. package/dist/taro-components/p-439a3349.system.entry.js.map +1 -0
  732. package/dist/taro-components/p-447386b2.system.entry.js +2 -0
  733. package/dist/taro-components/p-447386b2.system.entry.js.map +1 -0
  734. package/dist/taro-components/{p-d075934f.system.entry.js → p-45b6ea0c.system.entry.js} +2 -1
  735. package/dist/taro-components/p-45b6ea0c.system.entry.js.map +1 -0
  736. package/dist/taro-components/p-49a6cae4.system.entry.js +2 -0
  737. package/dist/taro-components/p-49a6cae4.system.entry.js.map +1 -0
  738. package/dist/taro-components/p-4b05e003.entry.js +2 -0
  739. package/dist/taro-components/p-4b05e003.entry.js.map +1 -0
  740. package/dist/taro-components/{p-692d986d.system.entry.js → p-4b27df71.system.entry.js} +2 -1
  741. package/dist/taro-components/p-4b27df71.system.entry.js.map +1 -0
  742. package/dist/taro-components/p-4b71c926.entry.js +2 -0
  743. package/dist/taro-components/p-4b71c926.entry.js.map +1 -0
  744. package/dist/taro-components/{p-f7c80795.system.entry.js → p-4fbb8b4c.system.entry.js} +2 -1
  745. package/dist/taro-components/p-4fbb8b4c.system.entry.js.map +1 -0
  746. package/dist/taro-components/p-50ea2036.system.js +2 -1
  747. package/dist/taro-components/p-50ea2036.system.js.map +1 -0
  748. package/dist/taro-components/p-51040638.entry.js +2 -0
  749. package/dist/taro-components/p-51040638.entry.js.map +1 -0
  750. package/dist/taro-components/p-55519002.entry.js +2 -0
  751. package/dist/taro-components/p-55519002.entry.js.map +1 -0
  752. package/dist/taro-components/p-570222e2.entry.js +2 -0
  753. package/dist/taro-components/p-570222e2.entry.js.map +1 -0
  754. package/dist/taro-components/p-5746d7ce.js +2 -1
  755. package/dist/taro-components/p-5746d7ce.js.map +1 -0
  756. package/dist/taro-components/{p-6ad59489.system.entry.js → p-580a72d1.system.entry.js} +2 -1
  757. package/dist/taro-components/p-580a72d1.system.entry.js.map +1 -0
  758. package/dist/taro-components/{p-93eed5d7.system.entry.js → p-59418be7.system.entry.js} +2 -1
  759. package/dist/taro-components/p-59418be7.system.entry.js.map +1 -0
  760. package/dist/taro-components/p-59e02aca.system.entry.js +2 -0
  761. package/dist/taro-components/p-59e02aca.system.entry.js.map +1 -0
  762. package/dist/taro-components/p-5b552407.entry.js +2 -0
  763. package/dist/taro-components/p-5b552407.entry.js.map +1 -0
  764. package/dist/taro-components/p-5bd1c1a1.entry.js +2 -0
  765. package/dist/taro-components/p-5bd1c1a1.entry.js.map +1 -0
  766. package/dist/taro-components/p-5bfefd19.js +3 -0
  767. package/dist/taro-components/p-5bfefd19.js.map +1 -0
  768. package/dist/taro-components/p-61f225ef.system.js +2 -1
  769. package/dist/taro-components/p-61f225ef.system.js.map +1 -0
  770. package/dist/taro-components/p-62d750a7.entry.js +2 -0
  771. package/dist/taro-components/p-62d750a7.entry.js.map +1 -0
  772. package/dist/taro-components/p-632f9a72.system.entry.js +2 -0
  773. package/dist/taro-components/p-632f9a72.system.entry.js.map +1 -0
  774. package/dist/taro-components/p-65971d99.entry.js +2 -0
  775. package/dist/taro-components/p-65971d99.entry.js.map +1 -0
  776. package/dist/taro-components/p-663d1bb9.system.js +2 -1
  777. package/dist/taro-components/p-663d1bb9.system.js.map +1 -0
  778. package/dist/taro-components/{p-a5496bf5.system.entry.js → p-6831f7b1.system.entry.js} +2 -1
  779. package/dist/taro-components/p-6831f7b1.system.entry.js.map +1 -0
  780. package/dist/taro-components/p-6a96da58.js +2 -1
  781. package/dist/taro-components/p-6a96da58.js.map +1 -0
  782. package/dist/taro-components/p-6af8be19.entry.js +2 -0
  783. package/dist/taro-components/p-6af8be19.entry.js.map +1 -0
  784. package/dist/taro-components/p-6c622fa2.system.entry.js +2 -0
  785. package/dist/taro-components/p-6c622fa2.system.entry.js.map +1 -0
  786. package/dist/taro-components/p-6cd941bc.entry.js +2 -0
  787. package/dist/taro-components/p-6cd941bc.entry.js.map +1 -0
  788. package/dist/taro-components/p-6ea2995b.entry.js +2 -0
  789. package/dist/taro-components/p-6ea2995b.entry.js.map +1 -0
  790. package/dist/taro-components/p-6f8af69f.entry.js +2 -0
  791. package/dist/taro-components/p-6f8af69f.entry.js.map +1 -0
  792. package/dist/taro-components/{p-f4ea8a56.system.entry.js → p-701b0286.system.entry.js} +2 -1
  793. package/dist/taro-components/p-701b0286.system.entry.js.map +1 -0
  794. package/dist/taro-components/p-70defa84.entry.js +2 -0
  795. package/dist/taro-components/p-70defa84.entry.js.map +1 -0
  796. package/dist/taro-components/p-72f327e1.js +2 -1
  797. package/dist/taro-components/p-72f327e1.js.map +1 -0
  798. package/dist/taro-components/p-72f626ab.system.entry.js +2 -0
  799. package/dist/taro-components/p-72f626ab.system.entry.js.map +1 -0
  800. package/dist/taro-components/p-73106bc9.entry.js +2 -0
  801. package/dist/taro-components/p-73106bc9.entry.js.map +1 -0
  802. package/dist/taro-components/p-755be847.system.entry.js +2 -0
  803. package/dist/taro-components/p-755be847.system.entry.js.map +1 -0
  804. package/dist/taro-components/p-76724e58.js +3 -2
  805. package/dist/taro-components/p-76724e58.js.map +1 -0
  806. package/dist/taro-components/p-7afc274a.entry.js +2 -0
  807. package/dist/taro-components/p-7afc274a.entry.js.map +1 -0
  808. package/dist/taro-components/p-7bafbe22.entry.js +2 -0
  809. package/dist/taro-components/p-7bafbe22.entry.js.map +1 -0
  810. package/dist/taro-components/p-7e7a1e62.entry.js +2 -0
  811. package/dist/taro-components/p-7e7a1e62.entry.js.map +1 -0
  812. package/dist/taro-components/p-8231e748.entry.js +2 -0
  813. package/dist/taro-components/p-8231e748.entry.js.map +1 -0
  814. package/dist/taro-components/p-876edf66.entry.js +2 -0
  815. package/dist/taro-components/p-876edf66.entry.js.map +1 -0
  816. package/dist/taro-components/p-898aba38.system.entry.js +2 -0
  817. package/dist/taro-components/p-898aba38.system.entry.js.map +1 -0
  818. package/dist/taro-components/{p-07294134.system.entry.js → p-8a3620a6.system.entry.js} +2 -1
  819. package/dist/taro-components/p-8a3620a6.system.entry.js.map +1 -0
  820. package/dist/taro-components/p-8a8f286f.system.js +3 -0
  821. package/dist/taro-components/p-8a8f286f.system.js.map +1 -0
  822. package/dist/taro-components/{p-7e960ac3.system.entry.js → p-8bec95d4.system.entry.js} +2 -1
  823. package/dist/taro-components/p-8bec95d4.system.entry.js.map +1 -0
  824. package/dist/taro-components/{p-e671c8c5.system.entry.js → p-8c8fe164.system.entry.js} +2 -1
  825. package/dist/taro-components/p-8c8fe164.system.entry.js.map +1 -0
  826. package/dist/taro-components/p-93cc7adc.entry.js +2 -0
  827. package/dist/taro-components/p-93cc7adc.entry.js.map +1 -0
  828. package/dist/taro-components/p-96a784f1.entry.js +2 -0
  829. package/dist/taro-components/p-96a784f1.entry.js.map +1 -0
  830. package/dist/taro-components/p-98901e99.system.entry.js +2 -0
  831. package/dist/taro-components/p-98901e99.system.entry.js.map +1 -0
  832. package/dist/taro-components/p-99bbe34a.system.entry.js +2 -0
  833. package/dist/taro-components/p-99bbe34a.system.entry.js.map +1 -0
  834. package/dist/taro-components/p-9e20c25c.entry.js +2 -0
  835. package/dist/taro-components/p-9e20c25c.entry.js.map +1 -0
  836. package/dist/taro-components/{p-075458e5.system.entry.js → p-9f1ca602.system.entry.js} +2 -1
  837. package/dist/taro-components/p-9f1ca602.system.entry.js.map +1 -0
  838. package/dist/taro-components/p-9f780103.system.entry.js +2 -0
  839. package/dist/taro-components/p-9f780103.system.entry.js.map +1 -0
  840. package/dist/taro-components/p-a1ace8c7.system.entry.js +2 -0
  841. package/dist/taro-components/p-a1ace8c7.system.entry.js.map +1 -0
  842. package/dist/taro-components/p-a29509fa.system.entry.js +2 -0
  843. package/dist/taro-components/p-a29509fa.system.entry.js.map +1 -0
  844. package/dist/taro-components/p-a4961ddd.entry.js +2 -0
  845. package/dist/taro-components/p-a4961ddd.entry.js.map +1 -0
  846. package/dist/taro-components/{p-d4da725f.system.entry.js → p-a6f2dc54.system.entry.js} +2 -1
  847. package/dist/taro-components/p-a6f2dc54.system.entry.js.map +1 -0
  848. package/dist/taro-components/p-ab105c26.entry.js +2 -0
  849. package/dist/taro-components/p-ab105c26.entry.js.map +1 -0
  850. package/dist/taro-components/p-ad25cc91.system.entry.js +2 -0
  851. package/dist/taro-components/p-ad25cc91.system.entry.js.map +1 -0
  852. package/dist/taro-components/{p-c93bb915.system.entry.js → p-b04a56bd.system.entry.js} +2 -1
  853. package/dist/taro-components/p-b04a56bd.system.entry.js.map +1 -0
  854. package/dist/taro-components/p-b10cb428.entry.js +2 -0
  855. package/dist/taro-components/p-b10cb428.entry.js.map +1 -0
  856. package/dist/taro-components/p-b4cccb3e.system.entry.js +2 -0
  857. package/dist/taro-components/p-b4cccb3e.system.entry.js.map +1 -0
  858. package/dist/taro-components/p-b4ec48c3.entry.js +2 -0
  859. package/dist/taro-components/p-b4ec48c3.entry.js.map +1 -0
  860. package/dist/taro-components/{p-d6662ab3.system.entry.js → p-b500c116.system.entry.js} +2 -1
  861. package/dist/taro-components/p-b500c116.system.entry.js.map +1 -0
  862. package/dist/taro-components/p-b6733e23.system.entry.js +2 -0
  863. package/dist/taro-components/p-b6733e23.system.entry.js.map +1 -0
  864. package/dist/taro-components/p-b832f4e8.entry.js +2 -0
  865. package/dist/taro-components/p-b832f4e8.entry.js.map +1 -0
  866. package/dist/taro-components/p-b88a55b4.system.entry.js +2 -0
  867. package/dist/taro-components/p-b88a55b4.system.entry.js.map +1 -0
  868. package/dist/taro-components/p-b90926cc.entry.js +2 -0
  869. package/dist/taro-components/p-b90926cc.entry.js.map +1 -0
  870. package/dist/taro-components/p-ba743573.entry.js +2 -0
  871. package/dist/taro-components/p-ba743573.entry.js.map +1 -0
  872. package/dist/taro-components/p-be3f5ac0.entry.js +2 -0
  873. package/dist/taro-components/p-be3f5ac0.entry.js.map +1 -0
  874. package/dist/taro-components/p-beea63a7.entry.js +2 -0
  875. package/dist/taro-components/p-beea63a7.entry.js.map +1 -0
  876. package/dist/taro-components/{p-b7681c76.system.entry.js → p-c0e3c822.system.entry.js} +2 -1
  877. package/dist/taro-components/p-c0e3c822.system.entry.js.map +1 -0
  878. package/dist/taro-components/p-c3bb8fa6.entry.js +2 -0
  879. package/dist/taro-components/p-c3bb8fa6.entry.js.map +1 -0
  880. package/dist/taro-components/p-c43fe342.system.entry.js +2 -0
  881. package/dist/taro-components/p-c43fe342.system.entry.js.map +1 -0
  882. package/dist/taro-components/{p-733cc64a.system.entry.js → p-c4cf58af.system.entry.js} +2 -1
  883. package/dist/taro-components/p-c4cf58af.system.entry.js.map +1 -0
  884. package/dist/taro-components/{p-b11aaf69.system.entry.js → p-c5c331bf.system.entry.js} +2 -1
  885. package/dist/taro-components/p-c5c331bf.system.entry.js.map +1 -0
  886. package/dist/taro-components/p-cb17d8bd.system.js +2 -0
  887. package/dist/taro-components/p-cb17d8bd.system.js.map +1 -0
  888. package/dist/taro-components/{p-fc9f4fd7.system.entry.js → p-cbe2436d.system.entry.js} +2 -1
  889. package/dist/taro-components/p-cbe2436d.system.entry.js.map +1 -0
  890. package/dist/taro-components/p-cd6a7eea.entry.js +2 -0
  891. package/dist/taro-components/p-cd6a7eea.entry.js.map +1 -0
  892. package/dist/taro-components/p-d388c097.entry.js +2 -0
  893. package/dist/taro-components/p-d388c097.entry.js.map +1 -0
  894. package/dist/taro-components/p-d4b6f19e.system.entry.js +2 -0
  895. package/dist/taro-components/p-d4b6f19e.system.entry.js.map +1 -0
  896. package/dist/taro-components/p-d5234e7e.js +366 -0
  897. package/dist/taro-components/p-d5234e7e.js.map +1 -0
  898. package/dist/taro-components/p-d619f198.system.entry.js +2 -0
  899. package/dist/taro-components/p-d619f198.system.entry.js.map +1 -0
  900. package/dist/taro-components/p-d6441fd8.entry.js +2 -0
  901. package/dist/taro-components/p-d6441fd8.entry.js.map +1 -0
  902. package/dist/taro-components/p-d7ab3e23.system.entry.js +2 -0
  903. package/dist/taro-components/p-d7ab3e23.system.entry.js.map +1 -0
  904. package/dist/taro-components/p-d7f4b10f.entry.js +2 -0
  905. package/dist/taro-components/p-d7f4b10f.entry.js.map +1 -0
  906. package/dist/taro-components/p-d85b216d.entry.js +2 -0
  907. package/dist/taro-components/p-d85b216d.entry.js.map +1 -0
  908. package/dist/taro-components/p-dcb48fd9.system.entry.js +2 -0
  909. package/dist/taro-components/p-dcb48fd9.system.entry.js.map +1 -0
  910. package/dist/taro-components/{p-06b9d39c.system.entry.js → p-dcfb7d97.system.entry.js} +2 -1
  911. package/dist/taro-components/p-dcfb7d97.system.entry.js.map +1 -0
  912. package/dist/taro-components/p-de762042.entry.js +2 -0
  913. package/dist/taro-components/p-de762042.entry.js.map +1 -0
  914. package/dist/taro-components/p-df862d0c.entry.js +2 -0
  915. package/dist/taro-components/p-df862d0c.entry.js.map +1 -0
  916. package/dist/taro-components/p-e0d6b00b.entry.js +2 -0
  917. package/dist/taro-components/p-e0d6b00b.entry.js.map +1 -0
  918. package/dist/taro-components/p-e4f1cc50.entry.js +2 -0
  919. package/dist/taro-components/p-e4f1cc50.entry.js.map +1 -0
  920. package/dist/taro-components/p-e5607803.system.entry.js +2 -0
  921. package/dist/taro-components/p-e5607803.system.entry.js.map +1 -0
  922. package/dist/taro-components/p-e59f999e.entry.js +2 -0
  923. package/dist/taro-components/p-e59f999e.entry.js.map +1 -0
  924. package/dist/taro-components/p-e7239faa.system.entry.js +2 -0
  925. package/dist/taro-components/p-e7239faa.system.entry.js.map +1 -0
  926. package/dist/taro-components/p-e7965c55.system.entry.js +2 -0
  927. package/dist/taro-components/p-e7965c55.system.entry.js.map +1 -0
  928. package/dist/taro-components/p-e98c07c3.system.entry.js +2 -0
  929. package/dist/taro-components/p-e98c07c3.system.entry.js.map +1 -0
  930. package/dist/taro-components/p-eddd00e9.system.entry.js +2 -0
  931. package/dist/taro-components/p-eddd00e9.system.entry.js.map +1 -0
  932. package/dist/taro-components/p-ef029c30.system.entry.js +2 -0
  933. package/dist/taro-components/p-ef029c30.system.entry.js.map +1 -0
  934. package/dist/taro-components/p-f00ee372.system.entry.js +2 -0
  935. package/dist/taro-components/p-f00ee372.system.entry.js.map +1 -0
  936. package/dist/taro-components/{p-8e2b048e.system.entry.js → p-f0d0160d.system.entry.js} +2 -1
  937. package/dist/taro-components/p-f0d0160d.system.entry.js.map +1 -0
  938. package/dist/taro-components/p-f120c272.entry.js +2 -0
  939. package/dist/taro-components/p-f120c272.entry.js.map +1 -0
  940. package/dist/taro-components/{p-f2803c2e.system.entry.js → p-f2c75971.system.entry.js} +2 -1
  941. package/dist/taro-components/p-f2c75971.system.entry.js.map +1 -0
  942. package/dist/taro-components/p-f81d14ad.entry.js +2 -0
  943. package/dist/taro-components/p-f81d14ad.entry.js.map +1 -0
  944. package/dist/taro-components/p-fae28cc1.system.entry.js +2 -0
  945. package/dist/taro-components/p-fae28cc1.system.entry.js.map +1 -0
  946. package/dist/taro-components/p-fb843ff2.system.entry.js +2 -0
  947. package/dist/taro-components/p-fb843ff2.system.entry.js.map +1 -0
  948. package/dist/taro-components/p-fc0fbcce.system.entry.js +2 -0
  949. package/dist/taro-components/p-fc0fbcce.system.entry.js.map +1 -0
  950. package/dist/taro-components/p-ffc44634.entry.js +2 -0
  951. package/dist/taro-components/p-ffc44634.entry.js.map +1 -0
  952. package/dist/taro-components/taro-components.esm.js +2 -1
  953. package/dist/taro-components/taro-components.esm.js.map +1 -0
  954. package/dist/taro-components/taro-components.js +2 -1
  955. package/dist/types/components/animation-video/animation-video.d.ts +5 -0
  956. package/dist/types/components/animation-view/animation-view.d.ts +5 -0
  957. package/dist/types/components/ar-camera/ar-camera.d.ts +5 -0
  958. package/dist/types/components/aweme-data/aweme-data.d.ts +5 -0
  959. package/dist/types/components/checkbox/checkbox.d.ts +2 -2
  960. package/dist/types/components/comment/comment-detail.d.ts +5 -0
  961. package/dist/types/components/comment/comment-list.d.ts +5 -0
  962. package/dist/types/components/contact-button/contact-button.d.ts +5 -0
  963. package/dist/types/components/cover-image/cover-image.d.ts +1 -1
  964. package/dist/types/components/follow-swan/follow-swan.d.ts +5 -0
  965. package/dist/types/components/form/form.d.ts +4 -7
  966. package/dist/types/components/image/image.d.ts +1 -1
  967. package/dist/types/components/inline-payment-panel/inline-payment-panel.d.ts +5 -0
  968. package/dist/types/components/input/input.d.ts +4 -3
  969. package/dist/types/components/lifestyle/lifestyle.d.ts +5 -0
  970. package/dist/types/components/like/like.d.ts +5 -0
  971. package/dist/types/components/login/login.d.ts +5 -0
  972. package/dist/types/components/lottie/lottie.d.ts +5 -0
  973. package/dist/types/components/movable-area/movable-view.d.ts +3 -3
  974. package/dist/types/components/progress/progress.d.ts +1 -1
  975. package/dist/types/components/radio/radio.d.ts +2 -2
  976. package/dist/types/components/rtc-room/rtc-room-item.d.ts +5 -0
  977. package/dist/types/components/rtc-room/rtc-room.d.ts +5 -0
  978. package/dist/types/components/scroll-view/scroll-view.d.ts +1 -1
  979. package/dist/types/components/slider/slider.d.ts +3 -4
  980. package/dist/types/components/slot/native-slot.d.ts +5 -0
  981. package/dist/types/components/tabs/tab-item.d.ts +5 -0
  982. package/dist/types/components/tabs/tabs.d.ts +5 -0
  983. package/dist/types/components/textarea/textarea.d.ts +1 -0
  984. package/dist/types/components/video/utils.d.ts +1 -1
  985. package/dist/types/components.d.ts +417 -70
  986. package/dist/types/stencil-public-runtime.d.ts +20 -4
  987. package/{dist-h5/vue/components/index.js → dist/vue2/component-lib/components.js} +22 -11
  988. package/{dist-h5/vue → dist/vue2/component-lib}/createComponent.js +1 -1
  989. package/{dist-h5/vue → dist/vue2/component-lib}/createFormsComponent.js +2 -12
  990. package/{dist-h5/vue/components → dist/vue2/component-lib}/icon.js +2 -2
  991. package/{dist-h5/vue/components → dist/vue2/component-lib}/image.js +2 -2
  992. package/{dist-h5/vue → dist/vue2/component-lib}/index.js +8 -9
  993. package/dist/vue2/component-lib/mixins/listeners.js +14 -0
  994. package/{dist-h5/vue → dist/vue2/component-lib}/mixins/refs.js +1 -6
  995. package/dist/vue2/component-lib/picker.js +40 -0
  996. package/dist/vue2/component-lib/scroll-view.js +32 -0
  997. package/{dist-h5/vue/components → dist/vue2/component-lib}/text.js +2 -2
  998. package/dist/vue2/components.js +542 -0
  999. package/dist/vue2/index.js +22 -0
  1000. package/dist/vue2/vue-component-lib/utils.js +40 -0
  1001. package/{dist-h5/vue3 → dist/vue3/component-lib}/createComponent.js +3 -3
  1002. package/{dist-h5/vue3 → dist/vue3/component-lib}/createFormsComponent.js +6 -15
  1003. package/{dist-h5/vue3 → dist/vue3/component-lib}/forwardRef.js +0 -2
  1004. package/{dist-h5/vue3/components → dist/vue3/component-lib}/icon.js +4 -4
  1005. package/{dist-h5/vue3/components → dist/vue3/component-lib}/image.js +4 -4
  1006. package/{dist-h5/vue3/components → dist/vue3/component-lib}/index.js +23 -12
  1007. package/{dist-h5/vue3/components → dist/vue3/component-lib}/scroll-view.js +4 -4
  1008. package/{dist-h5/vue3/components → dist/vue3/component-lib}/text.js +4 -4
  1009. package/dist/vue3/components.js +80 -0
  1010. package/{dist-h5 → dist}/vue3/index.js +3 -5
  1011. package/dist/vue3/vue-component-lib/utils.js +175 -0
  1012. package/loader/package.json +1 -0
  1013. package/package.json +23 -20
  1014. package/types/Button.d.ts +1 -1
  1015. package/types/Camera.d.ts +1 -1
  1016. package/types/Checkbox.d.ts +1 -1
  1017. package/types/CheckboxGroup.d.ts +1 -1
  1018. package/types/CommentList.d.ts +0 -1
  1019. package/types/CoverImage.d.ts +1 -1
  1020. package/types/CustomWrapper.d.ts +1 -0
  1021. package/types/Form.d.ts +1 -1
  1022. package/types/Icon.d.ts +1 -1
  1023. package/types/Image.d.ts +1 -1
  1024. package/types/Input.d.ts +15 -1
  1025. package/types/Label.d.ts +1 -1
  1026. package/types/NativeSlot.d.ts +1 -0
  1027. package/types/NavigationBar.d.ts +2 -1
  1028. package/types/Navigator.d.ts +1 -1
  1029. package/types/Picker.d.ts +1 -1
  1030. package/types/PickerView.d.ts +1 -1
  1031. package/types/PickerViewColumn.d.ts +1 -1
  1032. package/types/Progress.d.ts +1 -1
  1033. package/types/Radio.d.ts +1 -1
  1034. package/types/RadioGroup.d.ts +1 -1
  1035. package/types/RichText.d.ts +1 -1
  1036. package/types/ScrollView.d.ts +1 -1
  1037. package/types/ShareElement.d.ts +3 -3
  1038. package/types/Slider.d.ts +1 -1
  1039. package/types/Slot.d.ts +2 -1
  1040. package/types/Swiper.d.ts +1 -1
  1041. package/types/SwiperItem.d.ts +1 -1
  1042. package/types/Switch.d.ts +1 -1
  1043. package/types/Textarea.d.ts +1 -1
  1044. package/types/Video.d.ts +1 -1
  1045. package/types/View.d.ts +1 -1
  1046. package/types/WebView.d.ts +1 -1
  1047. package/types/index.vue3.d.ts +4 -4
  1048. package/virtual-list/index.d.ts +3 -120
  1049. package/virtual-list/index.js +4 -7
  1050. package/dist/cjs/taro-movable-area-core.cjs.entry.js +0 -157
  1051. package/dist/cjs/taro-picker-view-column-core.cjs.entry.js +0 -95
  1052. package/dist/esm/taro-movable-area-core.entry.js +0 -153
  1053. package/dist/esm/taro-picker-view-column-core.entry.js +0 -91
  1054. package/dist/esm-es5/index-8809c729.js +0 -1
  1055. package/dist/esm-es5/taro-movable-area-core.entry.js +0 -1
  1056. package/dist/esm-es5/taro-movable-view-core.entry.js +0 -1
  1057. package/dist/esm-es5/taro-picker-view-column-core.entry.js +0 -1
  1058. package/dist/esm-es5/taro-picker-view-core.entry.js +0 -1
  1059. package/dist/taro-components/p-028e2728.entry.js +0 -1
  1060. package/dist/taro-components/p-0380841f.system.js +0 -1
  1061. package/dist/taro-components/p-059912fd.js +0 -1
  1062. package/dist/taro-components/p-06178a0c.entry.js +0 -1
  1063. package/dist/taro-components/p-06e6864b.system.entry.js +0 -1
  1064. package/dist/taro-components/p-10c47df8.system.entry.js +0 -1
  1065. package/dist/taro-components/p-232ebfae.system.entry.js +0 -1
  1066. package/dist/taro-components/p-25df0ce9.entry.js +0 -1
  1067. package/dist/taro-components/p-27126803.system.entry.js +0 -1
  1068. package/dist/taro-components/p-275d883f.system.entry.js +0 -1
  1069. package/dist/taro-components/p-27c80869.system.entry.js +0 -1
  1070. package/dist/taro-components/p-2ec47545.entry.js +0 -1
  1071. package/dist/taro-components/p-3255f11f.system.entry.js +0 -1
  1072. package/dist/taro-components/p-34178401.entry.js +0 -1
  1073. package/dist/taro-components/p-3549b6d2.entry.js +0 -1
  1074. package/dist/taro-components/p-362998cf.entry.js +0 -1
  1075. package/dist/taro-components/p-3c6090fd.entry.js +0 -1
  1076. package/dist/taro-components/p-4262d1b6.entry.js +0 -1
  1077. package/dist/taro-components/p-42630f45.entry.js +0 -1
  1078. package/dist/taro-components/p-44398c17.system.entry.js +0 -1
  1079. package/dist/taro-components/p-44cbb351.system.js +0 -1
  1080. package/dist/taro-components/p-4ada10aa.entry.js +0 -1
  1081. package/dist/taro-components/p-4cf436f9.entry.js +0 -1
  1082. package/dist/taro-components/p-4d826fb7.entry.js +0 -1
  1083. package/dist/taro-components/p-55266a1f.entry.js +0 -1
  1084. package/dist/taro-components/p-56c86512.entry.js +0 -1
  1085. package/dist/taro-components/p-5733124c.entry.js +0 -1
  1086. package/dist/taro-components/p-57a2a441.entry.js +0 -1
  1087. package/dist/taro-components/p-59d93770.entry.js +0 -1
  1088. package/dist/taro-components/p-5a2305e7.entry.js +0 -1
  1089. package/dist/taro-components/p-5a374cb9.entry.js +0 -1
  1090. package/dist/taro-components/p-5c87902f.system.entry.js +0 -1
  1091. package/dist/taro-components/p-5e223bab.system.entry.js +0 -1
  1092. package/dist/taro-components/p-5f18259d.system.entry.js +0 -1
  1093. package/dist/taro-components/p-62fc514e.entry.js +0 -1
  1094. package/dist/taro-components/p-64447f5a.system.entry.js +0 -1
  1095. package/dist/taro-components/p-67222d90.system.entry.js +0 -1
  1096. package/dist/taro-components/p-6aa557f0.entry.js +0 -1
  1097. package/dist/taro-components/p-72f858e4.entry.js +0 -1
  1098. package/dist/taro-components/p-7374537f.entry.js +0 -1
  1099. package/dist/taro-components/p-7407013d.entry.js +0 -1
  1100. package/dist/taro-components/p-7d329ab0.entry.js +0 -1
  1101. package/dist/taro-components/p-82661d45.system.entry.js +0 -1
  1102. package/dist/taro-components/p-8475421b.system.entry.js +0 -1
  1103. package/dist/taro-components/p-8788dc46.system.entry.js +0 -1
  1104. package/dist/taro-components/p-886571e5.entry.js +0 -1
  1105. package/dist/taro-components/p-888fac99.entry.js +0 -1
  1106. package/dist/taro-components/p-8aea3de3.entry.js +0 -1
  1107. package/dist/taro-components/p-8c8be53b.entry.js +0 -1
  1108. package/dist/taro-components/p-8cf86f31.system.entry.js +0 -1
  1109. package/dist/taro-components/p-9234cc1d.entry.js +0 -1
  1110. package/dist/taro-components/p-92699438.entry.js +0 -1
  1111. package/dist/taro-components/p-99d17a1a.entry.js +0 -365
  1112. package/dist/taro-components/p-9a0e70b1.entry.js +0 -1
  1113. package/dist/taro-components/p-9afbb423.system.entry.js +0 -1
  1114. package/dist/taro-components/p-9b39a940.entry.js +0 -1
  1115. package/dist/taro-components/p-ab1256fe.entry.js +0 -1
  1116. package/dist/taro-components/p-ad6ad7e3.system.entry.js +0 -1
  1117. package/dist/taro-components/p-afbcd093.entry.js +0 -1
  1118. package/dist/taro-components/p-b1ae9401.entry.js +0 -1
  1119. package/dist/taro-components/p-b2800ccd.entry.js +0 -1
  1120. package/dist/taro-components/p-b3b677fc.entry.js +0 -1
  1121. package/dist/taro-components/p-b3d961f9.system.entry.js +0 -1
  1122. package/dist/taro-components/p-b60820b4.entry.js +0 -1
  1123. package/dist/taro-components/p-b7639674.entry.js +0 -1
  1124. package/dist/taro-components/p-b7ac0b7f.system.entry.js +0 -1
  1125. package/dist/taro-components/p-b9903f15.system.entry.js +0 -1
  1126. package/dist/taro-components/p-bd706d39.entry.js +0 -1
  1127. package/dist/taro-components/p-cf048af9.entry.js +0 -1
  1128. package/dist/taro-components/p-d5f3080c.entry.js +0 -1
  1129. package/dist/taro-components/p-df3b544a.system.entry.js +0 -1
  1130. package/dist/taro-components/p-dff55efd.entry.js +0 -1
  1131. package/dist/taro-components/p-eec00033.entry.js +0 -1
  1132. package/dist/taro-components/p-eeed74e3.system.entry.js +0 -1
  1133. package/dist/taro-components/p-ef006b23.entry.js +0 -1
  1134. package/dist/taro-components/p-f40e1218.system.entry.js +0 -1
  1135. package/dist/taro-components/p-f5f1c3b7.system.entry.js +0 -1
  1136. package/dist/taro-components/p-fa2a9bab.entry.js +0 -1
  1137. package/dist/taro-components/p-fec6ac36.entry.js +0 -1
  1138. package/dist/taro-components/p-ff84986d.entry.js +0 -1
  1139. package/dist/taro-components/p-ffefd74f.entry.js +0 -1
  1140. package/dist-h5/react/components/input.js +0 -23
  1141. package/dist-h5/vue/components/picker.js +0 -45
  1142. package/dist-h5/vue/components/scroll-view.js +0 -37
  1143. package/dist-h5/vue/mixins/listeners.js +0 -19
  1144. package/virtual-list/domHelpers.js +0 -40
  1145. package/virtual-list/memoize.js +0 -38
  1146. package/virtual-list/react/FixedSizeList.js +0 -193
  1147. package/virtual-list/react/createListComponent.js +0 -654
  1148. package/virtual-list/react/index.d.ts +0 -123
  1149. package/virtual-list/react/index.js +0 -67
  1150. package/virtual-list/timer.js +0 -24
  1151. package/virtual-list/vue/index.js +0 -589
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","src/components/tabbar/tabbar-item.tsx","src/components/tabbar/style/index.scss?tag=taro-tabbar","src/components/tabbar/tabbar.tsx"],"names":["splitUrl","_url","url","pos","res","path","query","fragment","indexOf","substring","addLeadingSlash","charAt","hasBasename","prefix","RegExp","test","stripBasename","length","stripSuffix","suffix","includes","isAbsolute","pathname","spliceOne","list","index","i","k","n","pop","resolvePathname","to","from","undefined","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","hasTrailingSlash","last","up","part","unshift","result","join","substr","TabbarItem","_b","_c","isSelected","textColor","iconPath","badgeText","_d","showRedDot","text","onSelect","className","classNames","weui-bar__item_on","badgeStyle","position","top","right","dotStyle","onClick","h","key","href","class","style","display","src","alt","color","indexCss","STATUS_SHOW","STATUS_HIDE","STATUS_SLIDEOUT","basicTabBarClassName","hideTabBarClassName","hideTabBarWithAnimationClassName","Tabbar","exports","class_1","hostRef","_this","this","homePage","customRoutes","tabbarPos","getOriginUrl","customRoute","filter","customUrl","pathA","pathB","getSelectedIndex","foundIndex","forEach","idx","pagePath","switchTab","selectedIndex","Taro","switchTabHandler","successHandler","errorHandler","currentUrl","getCurrentUrl","nextTab","errMsg","routerChangeHandler","options","_a","toLocation","currentPage","routerBasename","conf","basename","setTabBarBadgeHandler","__spreadArray","removeTabBarBadgeHandler","showTabBarRedDotHandler","hideTabBarRedDotHandler","showTabBarHandler","status","hideTabBarHandler","animation","setTabBarStyleHandler","selectedColor","backgroundColor","borderStyle","setTabBarItemHandler","selectedIconPath","Object","prototype","toString","call","Error","this_1","push","apply","map","p","item","routerMode","mode","window","location","hashIndex","processedUrl","decodeURI","bindEvent","eventCenter","on","removeEvent","off","componentDidLoad","tabbar","nextElementSibling","disconnectedCallback","render","containerCls","shouldHideTabBar","shouldSlideout","Host","height","bind"],"mappings":"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","sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nexport const getHomePage = (path = '', basename = '', customRoutes = {}, entryPagePath = '') => {\n var _a;\n const routePath = addLeadingSlash(stripBasename(path, basename));\n const alias = ((_a = Object.entries(customRoutes).find(([key]) => key === routePath)) === null || _a === void 0 ? void 0 : _a[1]) || routePath;\n return entryPagePath || (typeof alias === 'string' ? alias : alias[0]) || basename;\n};\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r,h as o,H as t}from"./p-5bfefd19.js";import{n as s}from"./p-6a96da58.js";import"@tarojs/taro";const a=class{constructor(o){r(this,o)}componentDidLoad(){s("Ad",this)}render(){return o(t,null)}};export{a as taro_ad_core};
2
+ //# sourceMappingURL=p-4b05e003.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/ad/ad.tsx"],"names":["Ad","[object Object]","notSupport","this","h","Host"],"mappings":"4GAOaA,EAAE,+BACbC,mBACEC,EAAW,KAAMC,MAGnBF,SACE,OACEG,EAACC,EAAI","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-ad-core'\n})\nexport class Ad implements ComponentInterface {\n componentDidLoad () {\n notSupport('Ad', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -1 +1,2 @@
1
- System.register(["./p-44cbb351.system.js"],(function(r){"use strict";var e,t,n;return{setters:[function(r){e=r.r;t=r.h;n=r.H}],execute:function(){var i=r("taro_rich_text_core",function(){function r(r){var n=this;e(this,r);this.renderNode=function(r){if("type"in r&&r.type==="text"){var e=(r.text||"").replace(/&nbsp;/g," ");return e}else if("name"in r&&r.name){var i=r.name,u=r.attrs,a=r.children;var o={};var f=[];if(u&&typeof u==="object"){var c=function(r){var e=u[r];if(r==="style"&&typeof e==="string"){var t=e.split(";").map((function(r){return r.trim()})).filter((function(r){return r}));var n={};t.forEach((function(r){if(!r)return;var e=/(.+): *(.+)/g.exec(r);if(!e)return;var t=e[1],i=e[2];var u=t.replace(/-([a-z])/g,(function(){var r=[];for(var e=0;e<arguments.length;e++){r[e]=arguments[e]}return r[1].toUpperCase()}));n[u]=i}));if(Object.keys(n).length){o.style=n}return"continue"}o[r]=e};for(var s in u){c(s)}}if(a&&a.length){f=a.map((function(r){return n.renderNode(r)}))}return t(i,o,f)}return null}}r.prototype.render=function(){var r=this,e=r.nodes,i=r.renderNode;if(Array.isArray(e)){return t(n,null,e.map((function(r){return i(r)})))}else{return t(n,{innerHTML:e})}};return r}())}}}));
1
+ System.register(["./p-8a8f286f.system.js"],(function(r){"use strict";var e,t,n;return{setters:[function(r){e=r.r;t=r.h;n=r.H}],execute:function(){var i=r("taro_rich_text_core",function(){function r(r){var n=this;e(this,r);this.renderNode=function(r){if("type"in r&&r.type==="text"){var e=(r.text||"").replace(/&nbsp;/g," ");return e}else if("name"in r&&r.name){var i=r.name,u=r.attrs,a=r.children;var f={};var o=[];if(u&&typeof u==="object"){var s=function(r){var e=u[r];if(r==="style"&&typeof e==="string"){var t=e.split(";").map((function(r){return r.trim()})).filter((function(r){return r}));var n={};t.forEach((function(r){if(!r)return;var e=/(.+): *(.+)/g.exec(r);if(!e)return;var t=e[1],i=e[2];var u=t.replace(/-([a-z])/g,(function(){var r=[];for(var e=0;e<arguments.length;e++){r[e]=arguments[e]}return r[1].toUpperCase()}));n[u]=i}));if(Object.keys(n).length){f.style=n}return"continue"}f[r]=e};for(var c in u){s(c)}}if(a&&a.length){o=a.map((function(r){return n.renderNode(r)}))}return t(i,f,o)}return null};this.nodes=undefined}r.prototype.render=function(){var r=this,e=r.nodes,i=r.renderNode;if(Array.isArray(e)){return t(n,null,e.map((function(r){return i(r)})))}else{return t(n,{innerHTML:e})}};return r}())}}}));
2
+ //# sourceMappingURL=p-4b27df71.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/rich-text/rich-text.tsx"],"names":["RichText","exports","this","renderNode","node","type","content","text","replace","name","attrs","children","attributes","childList","key","val","styles","split","map","item","trim","filter","styleObj_1","forEach","res","exec","value","styleName","args","_i","arguments","length","toUpperCase","Object","keys","style","_this","h","class_1","prototype","render","_a","nodes","Array","isArray","Host","innerHTML"],"mappings":"sJA4BaA,EAAQC,EAAA,sBAAA,8CAGnBC,KAAAC,WAAa,SAACC,GACZ,GAAI,SAAUA,GAAQA,EAAKC,OAAS,OAAQ,CAE1C,IAAMC,GAAWF,EAAKG,MAAQ,IAAIC,QAAQ,UAAW,KACrD,OAAOF,OACF,GAAI,SAAUF,GAAQA,EAAKK,KAAM,CAEpC,IAAAA,EAGEL,EAAIK,KAFNC,EAEEN,EAAIM,MADNC,EACEP,EAAIO,SACR,IAAMC,EAAyB,GAC/B,IAAIC,EAAmB,GAEvB,GAAIH,UAAgBA,IAAU,SAAU,gBAC3BI,GACT,IAAMC,EAAML,EAAMI,GAClB,GAAIA,IAAQ,gBAAkBC,IAAQ,SAAU,CAE9C,IAAMC,EAASD,EACZE,MAAM,KACNC,KAAI,SAAAC,GAAQ,OAAAA,EAAKC,UACjBC,QAAO,SAAAF,GAAQ,OAAAA,KAElB,IAAMG,EAEF,GAEJN,EAAOO,SAAQ,SAAAJ,GACb,IAAKA,EAAM,OAEX,IAAMK,EAAM,eAAeC,KAAKN,GAChC,IAAKK,EAAK,OAED,IAAAf,EAAee,EAAG,GAAZE,EAASF,EAAG,GAC3B,IAAMG,EAAYlB,EAAKD,QAAQ,aAAa,WAAC,IAAAoB,EAAA,OAAA,IAAAC,EAAA,EAAAA,EAAAC,UAAAC,OAAAF,IAAO,CAAPD,EAAAC,GAAAC,UAAAD,GAAY,OAAAD,EAAK,GAAGI,iBACjEV,EAASK,GAAaD,KAGxB,GAAIO,OAAOC,KAAKZ,GAAUS,OAAQ,CAChCnB,EAAWuB,MAAQb,mBAKvBV,EAAWE,GAAOC,GA9BpB,IAAK,IAAMD,KAAOJ,EAAK,GAAZI,IAkCb,GAAIH,GAAYA,EAASoB,OAAQ,CAC/BlB,EAAYF,EAASO,KAAI,SAAAd,GAAQ,OAAAgC,EAAKjC,WAAWC,MAInD,OAAOiC,EAAE5B,EAAMG,EAAYC,GAG7B,OAAO,2BAGTyB,EAAAC,UAAAC,OAAA,WACQ,IAAAC,EAAwBvC,KAAtBwC,EAAKD,EAAAC,MAAEvC,EAAUsC,EAAAtC,WAEzB,GAAIwC,MAAMC,QAAQF,GAAQ,CACxB,OACEL,EAACQ,EAAI,KACFH,EAAMxB,KAAI,SAAAd,GAAQ,OAAAD,EAAWC,WAG7B,CACL,OAAOiC,EAACQ,EAAI,CAACC,UAAWJ,eAzET","sourcesContent":["import { Component, h, ComponentInterface, Prop, Host } from '@stencil/core'\n\ninterface Attributes {\n [propName: string]: string | {\n [propName: string]: string\n }\n}\n\ninterface NodeType {\n name: string\n attrs?: Attributes\n children?: ElementType[]\n}\n\ninterface TextType {\n type: 'text'\n text: string\n}\n\ntype ElementType = NodeType | TextType\n\ntype StringType = string\n\nexport type Nodes = ElementType[] | StringType\n\n@Component({\n tag: 'taro-rich-text-core'\n})\nexport class RichText implements ComponentInterface {\n @Prop() nodes: Nodes\n\n renderNode = (node: ElementType) => {\n if ('type' in node && node.type === 'text') {\n // nonsupport Html Entries\n const content = (node.text || '').replace(/&nbsp;/g, '\\u00A0')\n return content\n } else if ('name' in node && node.name) {\n const {\n name,\n attrs,\n children\n } = node\n const attributes: Attributes = {}\n let childList: any[] = []\n\n if (attrs && typeof attrs === 'object') {\n for (const key in attrs) {\n const val = attrs[key]\n if (key === 'style' && typeof val === 'string') {\n // stencil JSX style props only support object\n const styles = val\n .split(';')\n .map(item => item.trim())\n .filter(item => item)\n\n const styleObj: {\n [propName: string]: string\n } = {}\n\n styles.forEach(item => {\n if (!item) return\n\n const res = /(.+): *(.+)/g.exec(item)\n if (!res) return\n\n const [, name, value] = res\n const styleName = name.replace(/-([a-z])/g, (...args) => args[1].toUpperCase())\n styleObj[styleName] = value\n })\n\n if (Object.keys(styleObj).length) {\n attributes.style = styleObj\n }\n\n continue\n }\n attributes[key] = val\n }\n }\n\n if (children && children.length) {\n childList = children.map(node => this.renderNode(node))\n }\n\n // @ts-ignore\n return h(name, attributes, childList)\n }\n\n return null\n }\n\n render () {\n const { nodes, renderNode } = this\n\n if (Array.isArray(nodes)) {\n return (\n <Host>\n {nodes.map(node => renderNode(node))}\n </Host>\n )\n } else {\n return <Host innerHTML={nodes} />\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,H as e,g as s,c as o}from"./p-5bfefd19.js";import{c as n}from"./p-76724e58.js";import{t as r}from"./p-5746d7ce.js";const a=t=>{if(!t)return"";const i=Math.round(t%60);const e=Math.round((t-i)/60);return`${e<10?`0${e}`:e}:${i<10?`0${i}`:i}`};const h=(t,i)=>Math.sqrt(Math.pow(t,2)+Math.pow(i,2));const l=t=>Math.max(-1,Math.min(t,1));let d="default";const c=function(){let t;const i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];var e=["webkitEnterFullscreen","webkitExitFullscreen","webkitCurrentFullScreenElement","webkitSupportsFullscreen","fullscreenchange","fullscreenerror"];let s=0;const o=i.length;const n={};for(;s<o;s++){t=i[s];if(t&&t[1]in document){for(s=0;s<t.length;s++){n[i[0][s]]=t[s]}return n}}if(!n[i[0][0]]){d="iOS";for(s=0;s<e.length;s++){n[i[0][s]]=e[s]}}return n}();const A=t=>/\.(m3u8)($|\?)/i.test(t);const u=class{constructor(i){t(this,i);this.visible=false;this.isDraggingProgressBall=false;this.percentage=0;this.progressDimensions={left:0,width:0};this.calcPercentage=t=>{let i=t-this.progressDimensions.left;i=Math.max(i,0);i=Math.min(i,this.progressDimensions.width);return i/this.progressDimensions.width};this.onDragProgressBallStart=()=>{this.isDraggingProgressBall=true;this.hideControlsTimer&&clearTimeout(this.hideControlsTimer)};this.onClickProgress=t=>{t.stopPropagation();const i=this.calcPercentage(t.pageX);this.seekFunc(i*this.duration);this.toggleVisibility(true)};this.controls=undefined;this.currentTime=undefined;this.duration=undefined;this.isPlaying=undefined;this.pauseFunc=undefined;this.playFunc=undefined;this.seekFunc=undefined;this.showPlayBtn=undefined;this.showProgress=undefined}onDocumentTouchMove(t){if(!this.isDraggingProgressBall)return;const i=t.touches[0].pageX;this.percentage=this.calcPercentage(i);this.setProgressBall(this.percentage);this.setCurrentTime(this.percentage*this.duration)}onDocumentTouchEnd(){if(!this.isDraggingProgressBall)return;this.isDraggingProgressBall=false;this.seekFunc(this.percentage*this.duration);this.toggleVisibility(true)}async setProgressBall(t){if(this.progressBallRef){this.progressBallRef.style.left=`${t*100}%`}}async toggleVisibility(t){const i=t===undefined?!this.visible:t;if(i){this.hideControlsTimer&&clearTimeout(this.hideControlsTimer);if(this.isPlaying){this.hideControlsTimer=setTimeout((()=>{this.toggleVisibility(false)}),2e3)}this.el.style.visibility="visible"}else{this.el.style.visibility="hidden"}this.visible=!!i}async getIsDraggingProgressBall(){return this.isDraggingProgressBall}async setCurrentTime(t){this.currentTimeRef.innerHTML=a(t)}render(){const{controls:t,currentTime:s,duration:o,isPlaying:n,pauseFunc:r,playFunc:h,showPlayBtn:l,showProgress:d}=this;const c=a(o);let A;if(!l){A=null}else if(n){A=i("div",{class:"taro-video-control-button taro-video-control-button-pause",onClick:r})}else{A=i("div",{class:"taro-video-control-button taro-video-control-button-play",onClick:h})}return i(e,{class:"taro-video-bar taro-video-bar-full"},t&&i("div",{class:"taro-video-controls"},A,d&&i("div",{class:"taro-video-current-time",ref:t=>this.currentTimeRef=t},a(s)),d&&i("div",{class:"taro-video-progress-container",onClick:this.onClickProgress},i("div",{class:"taro-video-progress",ref:t=>{if(!t)return;const i=t.getBoundingClientRect();this.progressDimensions.left=i.left;this.progressDimensions.width=i.width}},i("div",{class:"taro-video-progress-buffered",style:{width:"100%"}}),i("div",{class:"taro-video-ball",ref:t=>this.progressBallRef=t,onTouchStart:this.onDragProgressBallStart,style:{left:`${c?this.currentTime/o*100:0}%`}},i("div",{class:"taro-video-inner"})))),d&&i("div",{class:"taro-video-duration"},c)),i("slot",null))}get el(){return s(this)}};const g='.taro-video{display:inline-block;overflow:hidden;position:relative;width:100%;height:225px;line-height:0}.taro-video[hidden]{display:none}.taro-video-container{display:inline-block;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;-o-object-position:inherit;object-position:inherit}.taro-video-container.taro-video-type-fullscreen{position:fixed;left:0;right:0;top:0;bottom:0;z-index:999}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left{-webkit-transform:translate(-50%, -50%) rotate(-90deg);transform:translate(-50%, -50%) rotate(-90deg)}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right{-webkit-transform:translate(-50%, -50%) rotate(90deg);transform:translate(-50%, -50%) rotate(90deg)}.taro-video-video{width:100%;height:100%;-o-object-position:inherit;object-position:inherit}.taro-video-cover{display:-ms-flexbox;display:flex;position:absolute;left:0;top:0;bottom:0;z-index:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;background-color:rgba(1, 1, 1, 0.5);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-webkit-box-align:center}.taro-video-cover-play-button{width:40px;height:40px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-cover-duration{margin-top:10px;line-height:1;font-size:16px;color:#fff}.taro-video-bar{display:-ms-flexbox;display:flex;visibility:hidden;overflow:hidden;position:absolute;right:0;bottom:0;z-index:1;-ms-flex-align:center;align-items:center;padding:0 10px;height:44px;background-color:rgba(0, 0, 0, 0.5);-webkit-box-align:center}.taro-video-bar.taro-video-bar-full{left:0}.taro-video-controls{display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0 8.5px}.taro-video-control-button{-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-8.5px;padding:14.5px 12.5px;width:13px;height:15px}.taro-video-control-button::after{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50% 50%;background-size:100%;content:""}.taro-video-control-button.taro-video-control-button-play::after,.taro-video-cover-play-button{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==")}.taro-video-control-button.taro-video-control-button-pause::after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC")}.taro-video-current-time,.taro-video-duration{margin-top:15px;margin-bottom:14.5px;height:14.5px;line-height:14.5px;font-size:12px;color:#cbcbcb}.taro-video-progress-container{position:relative;-ms-flex-positive:2;flex-grow:2;-webkit-box-flex:2}.taro-video-progress{position:relative;margin:21px 12px;height:2px;background-color:rgba(255, 255, 255, 0.4)}.taro-video-progress-buffered{position:absolute;left:0;top:0;width:0;height:100%;background-color:rgba(255, 255, 255, 0.8);-webkit-transition:width 0.1s;transition:width 0.1s}.taro-video-ball{position:absolute;left:0;top:-21px;-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-22px;padding:14px;width:16px;height:16px}.taro-video-inner{border-radius:50%;width:100%;height:100%;background-color:#fff}.taro-video-danmu-button{margin:0 8.5px;padding:2px 10px;border:1px solid #fff;border-radius:5px;line-height:1;font-size:13px;color:#fff;white-space:nowrap}.taro-video-danmu-button.taro-video-danmu-button-active{border-color:#48c23d;color:#48c23d}.taro-video-fullscreen,.taro-video-mute{-webkit-box-sizing:content-box;box-sizing:content-box;padding:8.5px;width:17px;height:17px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==")}.taro-video-fullscreen.taro-video-type-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=")}.taro-video-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==")}.taro-video-mute.taro-video-type-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC")}.taro-video-danmu{overflow:visible;position:absolute;left:0;top:0;bottom:0;margin-top:14px;margin-bottom:44px;width:100%;line-height:14px;font-size:14px}.taro-video-danmu-item{position:absolute;left:100%;line-height:1;color:#fff;white-space:nowrap;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:left, -webkit-transform;transition-property:left, -webkit-transform;transition-property:left, transform;transition-property:left, transform, -webkit-transform;-webkit-transition-duration:3s;transition-duration:3s;-webkit-transition-timing-function:linear;transition-timing-function:linear}.taro-video-toast{display:block;visibility:hidden;position:absolute;left:50%;top:50%;border-radius:5px;background-color:rgba(255, 255, 255, 0.8);pointer-events:none;color:#000;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.taro-video-toast.taro-video-toast-volume{display:block;width:100px;height:100px}.taro-video-toast-volume .taro-video-toast-title{display:block;margin-top:10px;width:100%;line-height:16px;text-align:center;font-size:12px}.taro-video-toast-volume .taro-video-toast-icon{display:block;margin-left:25%;width:50%;height:50%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50% 50%;background-size:50%;fill:#000}.taro-video-toast-volume .taro-video-toast-value{margin-left:10px;margin-top:5px;width:80px;height:5px}.taro-video-toast-volume .taro-video-toast-value>.taro-video-toast-value-content{overflow:hidden}.taro-video-toast-volume-grids{width:80px;height:5px}.taro-video-toast-volume-grids-item{float:left;width:7.1px;height:5px;background-color:#000}.taro-video-toast-volume-grids-item:not(:first-child){margin-left:1px}.taro-video-toast.taro-video-toast-progress{padding:6px;background-color:rgba(0, 0, 0, 0.8);line-height:18px;font-size:14px;color:#fff}';const b=class{constructor(i){t(this,i);this.onPlay=o(this,"play",7);this.onPause=o(this,"pause",7);this.onEnded=o(this,"ended",7);this.onTimeUpdate=o(this,"timeupdate",7);this.onError=o(this,"error",7);this.onFullScreenChange=o(this,"fullscreenchange",7);this.onProgress=o(this,"progress",7);this.onLoadedMetaData=o(this,"loadedmetadata",7);this.currentTime=0;this.isDraggingProgress=false;this.gestureType="none";this.analyzeGesture=t=>{var i;const e={type:"none"};const s=t.touches[0].screenX;const o=t.touches[0].screenY;const n=s-this.lastTouchScreenX;const r=o-this.lastTouchScreenY;const a=this.isFullScreen?this.vslideGestureInFullscreen:this.vslideGesture;if(this.gestureType==="none"){const t=h(n,r);if(t<10)return e;if(Math.abs(r)>=Math.abs(n)){if(a){this.gestureType="adjustVolume";this.lastVolume=this.videoRef.volume}else{return e}}else if(Math.abs(r)<Math.abs(n)){if(this.enableProgressGesture){this.gestureType="adjustProgress";this.lastPercentage=this.currentTime/((i=this.duration)!==null&&i!==void 0?i:this._duration)}else{return e}}}e.type=this.gestureType;e.dataX=l(n/200);e.dataY=l(r/200);return e};this.loadNativePlayer=()=>{var t,i;if(this.videoRef){this.videoRef.src=this.src;(i=(t=this.videoRef).load)===null||i===void 0?void 0:i.call(t)}};this.init=()=>{const{src:t,videoRef:i}=this;if(A(t)){import("./p-d5234e7e.js").then((function(t){return t.h})).then((e=>{const s=e.default;this.HLS=s;if(s.isSupported()){if(this.hls){this.hls.destroy()}this.hls=new s;this.hls.loadSource(t);this.hls.attachMedia(i);this.hls.on(s.Events.MANIFEST_PARSED,(()=>{this.autoplay&&this.play()}));this.hls.on(s.Events.ERROR,((t,i)=>{this.handleError(i)}))}else if(i.canPlayType("application/vnd.apple.mpegurl")){this.loadNativePlayer()}else{console.error("该浏览器不支持 HLS 播放")}}))}else{this.loadNativePlayer()}};this.handlePlay=()=>{this.isPlaying=true;this.isFirst=false;this.controlsRef.toggleVisibility(true);this.onPlay.emit()};this.handlePause=()=>{this.isPlaying=false;this.controlsRef.toggleVisibility(true);this.onPause.emit()};this.handleEnded=()=>{this.isFirst=true;this.pause();this.controlsRef.toggleVisibility();this.onEnded.emit()};this.handleTimeUpdate=r((async t=>{var i,e;this.currentTime=this.videoRef.currentTime;const s=this.duration||this._duration;const o=await this.controlsRef.getIsDraggingProgressBall();if(this.controls&&this.showProgress){if(!o&&!this.isDraggingProgress){this.controlsRef.setProgressBall(this.currentTime/s);this.controlsRef.setCurrentTime(this.currentTime)}}this.danmuRef.tick(this.currentTime);this.onTimeUpdate.emit({duration:(i=t.target)===null||i===void 0?void 0:i.duration,currentTime:(e=t.target)===null||e===void 0?void 0:e.currentTime});if(this.duration){if(this.currentTime>=this.duration){this.seek(0);this.handleEnded()}}}),250);this.handleError=t=>{var i,e;if(this.hls){switch(t.type){case this.HLS.ErrorTypes.NETWORK_ERROR:this.onError.emit({errMsg:t.response});this.hls.startLoad();break;case this.HLS.ErrorTypes.MEDIA_ERROR:this.onError.emit({errMsg:t.reason||"媒体错误,请重试"});this.hls.recoverMediaError();break}}else{this.onError.emit({errMsg:(e=(i=t.target)===null||i===void 0?void 0:i.error)===null||e===void 0?void 0:e.message})}};this.handleDurationChange=()=>{this._duration=this.videoRef.duration};this.handleProgress=()=>{this.onProgress.emit()};this.handleLoadedMetaData=t=>{const i=t.target;this.onLoadedMetaData.emit({width:i.videoWidth,height:i.videoHeight,duration:i.duration})};this._play=()=>this.videoRef.play();this._pause=()=>this.videoRef.pause();this._stop=()=>{this.videoRef.pause();this._seek(0)};this._seek=t=>{this.videoRef.currentTime=t};this.onTouchStartContainer=t=>{this.lastTouchScreenX=t.touches[0].screenX;this.lastTouchScreenY=t.touches[0].screenY};this.onClickContainer=()=>{if(this.enablePlayGesture){const t=Date.now();if(t-this.lastClickedTime<300){this.isPlaying?this.pause():this.play()}this.lastClickedTime=t}this.controlsRef.toggleVisibility()};this.onClickFullScreenBtn=t=>{t.stopPropagation();this.toggleFullScreen()};this.handleFullScreenChange=t=>{const i=(new Date).getTime();if(!t.detail&&this.isFullScreen&&!document[c.fullscreenElement]&&i-this.fullScreenTimestamp>100){this.toggleFullScreen(false)}};this.toggleFullScreen=(t=!this.isFullScreen)=>{this.isFullScreen=t;this.controlsRef.toggleVisibility(true);this.fullScreenTimestamp=(new Date).getTime();this.onFullScreenChange.emit({fullScreen:this.isFullScreen,direction:"vertical"});if(this.isFullScreen&&!document[c.fullscreenElement]){setTimeout((()=>{this.videoRef[c.requestFullscreen]({navigationUI:"auto"})}),0)}};this.toggleMute=t=>{t.stopPropagation();this.videoRef.muted=!this.isMute;this.controlsRef.toggleVisibility(true);this.isMute=!this.isMute};this.toggleDanmu=t=>{t.stopPropagation();this.controlsRef.toggleVisibility(true);this._enableDanmu=!this._enableDanmu};this.src=undefined;this.duration=undefined;this.controls=true;this.autoplay=false;this.loop=false;this.muted=false;this.initialTime=0;this.poster=undefined;this.objectFit="contain";this.showProgress=true;this.showFullscreenBtn=true;this.showPlayBtn=true;this.showCenterPlayBtn=true;this.showMuteBtn=false;this.danmuList=undefined;this.danmuBtn=false;this.enableDanmu=false;this.enablePlayGesture=false;this.enableProgressGesture=true;this.vslideGesture=false;this.vslideGestureInFullscreen=true;this.nativeProps={};this._duration=undefined;this._enableDanmu=false;this.isPlaying=false;this.isFirst=true;this.isFullScreen=false;this.fullScreenTimestamp=(new Date).getTime();this.isMute=false}componentWillLoad(){this._enableDanmu=this.enableDanmu}componentDidLoad(){var t,i;this.init();if(this.initialTime){this.videoRef.currentTime=this.initialTime}(i=(t=this.danmuRef).sendDanmu)===null||i===void 0?void 0:i.call(t,this.danmuList);if(document.addEventListener){document.addEventListener(c.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&d==="iOS"){this.videoRef.addEventListener("webkitendfullscreen",this.handleFullScreenChange)}}componentDidRender(){}disconnectedCallback(){if(document.removeEventListener){document.removeEventListener(c.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&d==="iOS"){this.videoRef.removeEventListener("webkitendfullscreen",this.handleFullScreenChange)}}watchEnableDanmu(t){this._enableDanmu=t}watchSrc(){this.init()}async onDocumentTouchMove(t){if(this.lastTouchScreenX===undefined||this.lastTouchScreenY===undefined)return;if(await this.controlsRef.getIsDraggingProgressBall())return;const i=this.analyzeGesture(t);if(i.type==="adjustVolume"){this.toastVolumeRef.style.visibility="visible";const t=Math.max(Math.min(this.lastVolume-i.dataY,1),0);this.videoRef.volume=t;this.toastVolumeBarRef.style.width=`${t*100}%`}else if(i.type==="adjustProgress"){this.isDraggingProgress=true;this.nextPercentage=Math.max(Math.min(this.lastPercentage+(i.dataX||0),1),0);if(this.controls&&this.showProgress){this.controlsRef.setProgressBall(this.nextPercentage);this.controlsRef.toggleVisibility(true)}const t=this.duration||this._duration;this.toastProgressTitleRef.innerHTML=`${a(this.nextPercentage*t)} / ${a(t)}`;this.toastProgressRef.style.visibility="visible"}}onDocumentTouchEnd(){var t;if(this.gestureType==="adjustVolume"){this.toastVolumeRef.style.visibility="hidden"}else if(this.gestureType==="adjustProgress"){this.toastProgressRef.style.visibility="hidden"}if(this.isDraggingProgress){this.isDraggingProgress=false;this.seek(this.nextPercentage*((t=this.duration)!==null&&t!==void 0?t:this._duration))}this.gestureType="none";this.lastTouchScreenX=undefined;this.lastTouchScreenY=undefined}async play(){this._play()}async pause(){this._pause()}async stop(){this._stop()}async seek(t){this._seek(t)}async requestFullScreen(){this.toggleFullScreen(true)}async exitFullScreen(){this.toggleFullScreen(false)}render(){const{controls:t,autoplay:s,loop:o,muted:r,poster:h,objectFit:l,isFirst:d,isMute:c,isFullScreen:A,showCenterPlayBtn:u,isPlaying:g,_enableDanmu:b,showMuteBtn:p,danmuBtn:v,showFullscreenBtn:m,nativeProps:f}=this;const w=this.duration||this._duration;const E=a(w);return i(e,{class:n("taro-video-container",{"taro-video-type-fullscreen":A}),onTouchStart:this.onTouchStartContainer,onClick:this.onClickContainer},i("video",Object.assign({class:"taro-video-video",style:{"object-fit":l},ref:t=>{if(t){this.videoRef=t}},autoplay:s,loop:o,muted:r,poster:t?h: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},f),"暂时不支持播放该视频"),i("taro-video-danmu",{ref:t=>{if(t){this.danmuRef=t}},enable:b}),d&&u&&!g&&i("div",{class:"taro-video-cover"},i("div",{class:"taro-video-cover-play-button",onClick:()=>this.play()}),i("p",{class:"taro-video-cover-duration"},E)),i("taro-video-control",{ref:t=>{if(t){this.controlsRef=t}},controls:t,currentTime:this.currentTime,duration:w,isPlaying:this.isPlaying,pauseFunc:this._pause,playFunc:this._play,seekFunc:this._seek,showPlayBtn:this.showPlayBtn,showProgress:this.showProgress},p&&i("div",{class:n("taro-video-mute",{"taro-video-type-mute":c}),onClick:this.toggleMute}),v&&i("div",{class:n("taro-video-danmu-button",{"taro-video-danmu-button-active":b}),onClick:this.toggleDanmu},"弹幕"),m&&i("div",{class:n("taro-video-fullscreen",{"taro-video-type-fullscreen":A}),onClick:this.onClickFullScreenBtn})),i("div",{class:"taro-video-toast taro-video-toast-volume",ref:t=>{if(t){this.toastVolumeRef=t}}},i("div",{class:"taro-video-toast-title"},"音量"),i("div",{class:"taro-video-toast-icon"}),i("div",{class:"taro-video-toast-value"},i("div",{class:"taro-video-toast-value-content",ref:t=>{if(t){this.toastVolumeBarRef=t}}},i("div",{class:"taro-video-toast-volume-grids"},Array(10).fill(1).map((()=>i("div",{class:"taro-video-toast-volume-grids-item"}))))))),i("div",{class:"taro-video-toast taro-video-toast-progress",ref:t=>{if(t){this.toastProgressRef=t}}},i("div",{class:"taro-video-toast-title",ref:t=>{if(t){this.toastProgressTitleRef=t}}})))}get el(){return s(this)}static get watchers(){return{enableDanmu:["watchEnableDanmu"],src:["watchSrc"]}}};b.style=g;const p=class{constructor(i){t(this,i);this.list=[];this.danmuElList=[];this.currentTime=0;this.enable=false;this.danmuList=[]}ensureProperties(t){const i=Object.assign({},t);if(!("time"in t)){i.time=this.currentTime}i.key=Math.random();i.bottom=`${Math.random()*90+5}%`;return i}async sendDanmu(t=[]){if(Array.isArray(t)){this.list=[...this.list,...t.map((t=>this.ensureProperties(t)))]}else{const i=t;this.list=[...this.list,Object.assign({},this.ensureProperties(i))]}}async tick(t){this.currentTime=t;if(!this.enable)return;const i=this.list;const e=i.filter((({time:i})=>t-i<4&&t>i));let s=false;const o=this.danmuList;if(e.length!==o.length){s=true}else{s=e.some((({key:t})=>o.every((i=>t!==i.key))))}if(s){this.danmuList=e}}componentDidUpdate(){requestAnimationFrame((()=>{setTimeout((()=>{const t=this.danmuElList.splice(0);t.forEach((t=>{t.style.left="0";t.style.webkitTransform="translateX(-100%)";t.style.transform="translateX(-100%)"}))}))}))}render(){if(!this.enable)return"";return i(e,{class:"taro-video-danmu"},this.danmuList.map((({text:t,color:e,bottom:s,key:o})=>i("p",{class:"taro-video-danmu-item",key:o,style:{color:e,bottom:s},ref:t=>{if(t){this.danmuElList.push(t)}}},t))))}};export{u as taro_video_control,b as taro_video_core,p as taro_video_danmu};
2
+ //# sourceMappingURL=p-4b71c926.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/video/utils.ts","src/components/video/video-control.tsx","src/components/video/style/index.scss?tag=taro-video-core","src/components/video/video.tsx","src/components/video/video-danmu.tsx"],"names":["formatTime","time","sec","Math","round","min","calcDist","x","y","sqrt","pow","normalizeNumber","number","max","scene","screenFn","val","fnMap","defaultIOSMap","i","l","length","ret","document","isHls","url","test","VideoControl","this","visible","isDraggingProgressBall","percentage","progressDimensions","left","width","calcPercentage","pageX","pos","onDragProgressBallStart","hideControlsTimer","clearTimeout","onClickProgress","e","stopPropagation","seekFunc","duration","toggleVisibility","[object Object]","touchX","touches","setProgressBall","setCurrentTime","progressBallRef","style","nextVisible","undefined","isPlaying","setTimeout","el","visibility","currentTimeRef","innerHTML","controls","currentTime","pauseFunc","playFunc","showPlayBtn","showProgress","formattedDuration","playBtn","h","class","onClick","Host","ref","dom","rect","getBoundingClientRect","onTouchStart","indexCss","Video","isDraggingProgress","gestureType","analyzeGesture","obj","type","nowX","screenX","nowY","screenY","distX","lastTouchScreenX","distY","lastTouchScreenY","enableVslideGesture","isFullScreen","vslideGestureInFullscreen","vslideGesture","dist","abs","lastVolume","videoRef","volume","enableProgressGesture","lastPercentage","_a","_duration","dataX","dataY","loadNativePlayer","src","_b","load","call","init","import","then","n","Hls","default","HLS","isSupported","hls","destroy","loadSource","attachMedia","on","Events","MANIFEST_PARSED","autoplay","play","ERROR","_","data","handleError","canPlayType","console","error","handlePlay","isFirst","controlsRef","onPlay","emit","handlePause","onPause","handleEnded","pause","onEnded","handleTimeUpdate","throttle","async","isControlDragging","getIsDraggingProgressBall","danmuRef","tick","onTimeUpdate","target","seek","ErrorTypes","NETWORK_ERROR","onError","errMsg","response","startLoad","MEDIA_ERROR","reason","recoverMediaError","message","handleDurationChange","handleProgress","onProgress","handleLoadedMetaData","onLoadedMetaData","videoWidth","height","videoHeight","_play","_pause","_stop","_seek","position","onTouchStartContainer","onClickContainer","enablePlayGesture","now","Date","lastClickedTime","onClickFullScreenBtn","toggleFullScreen","handleFullScreenChange","timestamp","getTime","detail","fullscreenElement","fullScreenTimestamp","onFullScreenChange","fullScreen","direction","requestFullscreen","navigationUI","toggleMute","muted","isMute","toggleDanmu","_enableDanmu","enableDanmu","initialTime","sendDanmu","danmuList","addEventListener","fullscreenchange","removeEventListener","newVal","gestureObj","toastVolumeRef","nextVolume","toastVolumeBarRef","nextPercentage","toastProgressTitleRef","toastProgressRef","loop","poster","objectFit","showCenterPlayBtn","showMuteBtn","danmuBtn","showFullscreenBtn","nativeProps","durationTime","classNames","taro-video-type-fullscreen","Object","assign","object-fit","playsinline","webkit-playsinline","onDurationChange","enable","taro-video-type-mute","taro-video-danmu-button-active","Array","fill","map","VideoDanmu","list","danmuElList","danmu","clonedDanmu","key","random","bottom","isArray","ensureProperties","newDanmuList","filter","shouldUpdate","oldDanmuList","some","every","requestAnimationFrame","splice","forEach","webkitTransform","transform","text","color","push"],"mappings":"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","sourcesContent":["export const formatTime = (time?: number): string => {\r\n if (!time) return ''\r\n const sec = Math.round(time % 60)\r\n const min = Math.round((time - sec) / 60)\r\n return `${min < 10 ? `0${min}` : min}:${sec < 10 ? `0${sec}` : sec}`\r\n}\r\n\r\nexport const calcDist = (x: number, y: number): number => {\r\n return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))\r\n}\r\n\r\nexport const normalizeNumber = (number: number): number => {\r\n return Math.max(-1, Math.min(number, 1))\r\n}\r\n\r\nexport let scene = 'default'\r\n\r\nexport const screenFn = (function () {\r\n let val\r\n const fnMap = [\r\n [\r\n 'requestFullscreen',\r\n 'exitFullscreen',\r\n 'fullscreenElement',\r\n 'fullscreenEnabled',\r\n 'fullscreenchange',\r\n 'fullscreenerror'\r\n ],\r\n // New WebKit\r\n [\r\n 'webkitRequestFullscreen',\r\n 'webkitExitFullscreen',\r\n 'webkitFullscreenElement',\r\n 'webkitFullscreenEnabled',\r\n 'webkitfullscreenchange',\r\n 'webkitfullscreenerror'\r\n ],\r\n // Old WebKit\r\n [\r\n 'webkitRequestFullScreen',\r\n 'webkitCancelFullScreen',\r\n 'webkitCurrentFullScreenElement',\r\n 'webkitCancelFullScreen',\r\n 'webkitfullscreenchange',\r\n 'webkitfullscreenerror'\r\n ],\r\n [\r\n 'mozRequestFullScreen',\r\n 'mozCancelFullScreen',\r\n 'mozFullScreenElement',\r\n 'mozFullScreenEnabled',\r\n 'mozfullscreenchange',\r\n 'mozfullscreenerror'\r\n ],\r\n [\r\n 'msRequestFullscreen',\r\n 'msExitFullscreen',\r\n 'msFullscreenElement',\r\n 'msFullscreenEnabled',\r\n 'MSFullscreenChange',\r\n 'MSFullscreenError'\r\n ]\r\n ]\r\n var defaultIOSMap = [\r\n 'webkitEnterFullscreen',\r\n 'webkitExitFullscreen',\r\n 'webkitCurrentFullScreenElement',\r\n 'webkitSupportsFullscreen',\r\n 'fullscreenchange',\r\n 'fullscreenerror'\r\n ]\r\n let i = 0\r\n const l = fnMap.length\r\n const ret: Record<string, any> = {}\r\n // This for loop essentially checks the current document object for the property/methods above.\r\n for (; i < l; i++) {\r\n val = fnMap[i]\r\n if (val && val[1] in document) {\r\n for (i = 0; i < val.length; i++) {\r\n ret[fnMap[0][i]] = val[i]\r\n }\r\n return ret\r\n }\r\n }\r\n if (!ret[fnMap[0][0]]) {\r\n scene = 'iOS'\r\n // when there is no any APIs be set.\r\n\r\n // In IOS, there is no 'webkitEnterFullscreen' property `in document` but video can use it for fullscreen.\r\n // ref: https://developer.apple.com/documentation/webkitjs/htmlvideoelement/1633500-webkitenterfullscreen\r\n for (i = 0; i < defaultIOSMap.length; i++) {\r\n ret[fnMap[0][i]] = defaultIOSMap[i]\r\n }\r\n }\r\n // If it doesn't find any of them, this whole function returns {}\r\n // and the fn variable is set to this returned value.\r\n return ret\r\n})()\r\n\r\nexport const isHls = url => /\\.(m3u8)($|\\?)/i.test(url)\r\n","import { Component, h, ComponentInterface, Prop, Host, Element, Listen, Method } from '@stencil/core'\nimport { formatTime } from './utils'\n\n@Component({\n tag: 'taro-video-control'\n})\nexport class VideoControl implements ComponentInterface {\n private currentTimeRef: HTMLDivElement\n private progressBallRef: HTMLDivElement\n private visible = false\n private isDraggingProgressBall = false\n private hideControlsTimer: ReturnType<typeof setTimeout>\n private percentage = 0\n private progressDimensions = {\n left: 0,\n width: 0\n }\n\n @Element() el: HTMLElement\n\n @Prop() controls: boolean\n @Prop() currentTime: number\n @Prop() duration: number\n @Prop() isPlaying: boolean\n @Prop() pauseFunc: () => void\n @Prop() playFunc: () => void\n @Prop() seekFunc: (position: number) => void\n @Prop() showPlayBtn: boolean\n @Prop() showProgress: boolean\n\n @Listen('touchmove', {\n target: 'document'\n })\n onDocumentTouchMove (e: TouchEvent) {\n if (!this.isDraggingProgressBall) return\n const touchX = e.touches[0].pageX\n this.percentage = this.calcPercentage(touchX)\n this.setProgressBall(this.percentage)\n this.setCurrentTime(this.percentage * this.duration)\n }\n\n @Listen('touchend', {\n target: 'document'\n })\n @Listen('touchcancel', {\n target: 'document'\n })\n onDocumentTouchEnd () {\n if (!this.isDraggingProgressBall) return\n\n this.isDraggingProgressBall = false\n this.seekFunc(this.percentage * this.duration)\n this.toggleVisibility(true)\n }\n\n @Method()\n async setProgressBall (percentage: number) {\n if (this.progressBallRef) {\n this.progressBallRef.style.left = `${percentage * 100}%`\n }\n }\n\n @Method()\n async toggleVisibility (nextVisible?: boolean) {\n const visible = nextVisible === undefined ? !this.visible : nextVisible\n if (visible) {\n this.hideControlsTimer && clearTimeout(this.hideControlsTimer)\n if (this.isPlaying) {\n this.hideControlsTimer = setTimeout(() => {\n this.toggleVisibility(false)\n }, 2000)\n }\n this.el.style.visibility = 'visible'\n } else {\n this.el.style.visibility = 'hidden'\n }\n this.visible = !!visible\n }\n\n @Method()\n async getIsDraggingProgressBall () {\n return this.isDraggingProgressBall\n }\n\n @Method()\n async setCurrentTime (time: number) {\n this.currentTimeRef.innerHTML = formatTime(time)\n }\n\n calcPercentage = (pageX: number): number => {\n let pos = pageX - this.progressDimensions.left\n pos = Math.max(pos, 0)\n pos = Math.min(pos, this.progressDimensions.width)\n return pos / this.progressDimensions.width\n }\n\n onDragProgressBallStart = () => {\n this.isDraggingProgressBall = true\n this.hideControlsTimer && clearTimeout(this.hideControlsTimer)\n }\n\n onClickProgress = (e: MouseEvent) => {\n e.stopPropagation()\n\n const percentage = this.calcPercentage(e.pageX)\n this.seekFunc(percentage * this.duration)\n this.toggleVisibility(true)\n }\n\n render () {\n const {\n controls,\n currentTime,\n duration,\n isPlaying,\n pauseFunc,\n playFunc,\n showPlayBtn,\n showProgress\n } = this\n\n const formattedDuration = formatTime(duration)\n let playBtn\n\n if (!showPlayBtn) {\n playBtn = null\n } else if (isPlaying) {\n playBtn = <div class='taro-video-control-button taro-video-control-button-pause' onClick={pauseFunc} />\n } else {\n playBtn = <div class='taro-video-control-button taro-video-control-button-play' onClick={playFunc} />\n }\n\n return (\n <Host class='taro-video-bar taro-video-bar-full'>\n {controls && (\n <div class='taro-video-controls'>\n {playBtn}\n {showProgress && (\n <div class='taro-video-current-time' ref={dom => (this.currentTimeRef = dom as HTMLDivElement)}>\n {formatTime(currentTime)}\n </div>\n )}\n {showProgress && (\n <div class='taro-video-progress-container' onClick={this.onClickProgress}>\n <div\n class='taro-video-progress'\n ref={ref => {\n if (!ref) return\n const rect = ref.getBoundingClientRect()\n this.progressDimensions.left = rect.left\n this.progressDimensions.width = rect.width\n }}>\n <div class='taro-video-progress-buffered' style={{ width: '100%' }} />\n <div\n class='taro-video-ball'\n ref={dom => (this.progressBallRef = dom as HTMLDivElement)}\n onTouchStart={this.onDragProgressBallStart}\n style={{\n left: `${formattedDuration ? (this.currentTime / duration) * 100 : 0}%`\n }}\n >\n <div class='taro-video-inner' />\n </div>\n </div>\n </div>\n )}\n {showProgress && <div class='taro-video-duration'>{formattedDuration}</div>}\n </div>\n )}\n <slot />\n </Host>\n )\n }\n}\n","@charset \"UTF-8\";\n\n.taro-video {\n display: inline-block;\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 225px;\n line-height: 0;\n}\n\n.taro-video[hidden] {\n display: none;\n}\n\n.taro-video-container {\n display: inline-block;\n\n // NOTE: video 元素父节点设置该属性会导致 iOS 元素层级问题 https://stackoverflow.com/questions/49653475/video-and-z-index-inside-scaled-element-some-divs-disappear\n // overflow: hidden;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #000;\n object-position: inherit;\n}\n\n.taro-video-container.taro-video-type-fullscreen {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 999;\n}\n\n.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left {\n transform: translate(-50%, -50%) rotate(-90deg);\n}\n\n.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right {\n transform: translate(-50%, -50%) rotate(90deg);\n}\n\n.taro-video-video {\n width: 100%;\n height: 100%;\n object-position: inherit;\n}\n\n.taro-video-cover {\n display: flex;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n background-color: rgb(1 1 1 / 50%);\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -webkit-box-pack: center;\n -webkit-box-align: center;\n}\n\n.taro-video-cover-play-button {\n width: 40px;\n height: 40px;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n}\n\n.taro-video-cover-duration {\n margin-top: 10px;\n line-height: 1;\n font-size: 16px;\n color: #fff;\n}\n\n.taro-video-bar {\n display: flex;\n visibility: hidden;\n overflow: hidden;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 1;\n align-items: center;\n padding: 0 10px;\n height: 44px;\n background-color: rgb(0 0 0 / 50%);\n -webkit-box-align: center;\n}\n\n.taro-video-bar.taro-video-bar-full {\n left: 0;\n}\n\n.taro-video-controls {\n display: flex;\n -webkit-box-flex: 1;\n flex-grow: 1;\n margin: 0 8.5px;\n}\n\n.taro-video-control-button {\n box-sizing: content-box;\n margin-left: -8.5px;\n padding: 14.5px 12.5px;\n width: 13px;\n height: 15px;\n}\n\n.taro-video-control-button::after {\n display: block;\n width: 100%;\n height: 100%;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 100%;\n content: \"\";\n}\n\n.taro-video-control-button.taro-video-control-button-play::after,\n.taro-video-cover-play-button {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-control-button.taro-video-control-button-pause::after {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC\");\n}\n\n.taro-video-current-time,\n.taro-video-duration {\n margin-top: 15px;\n margin-bottom: 14.5px;\n height: 14.5px;\n line-height: 14.5px;\n font-size: 12px;\n color: #cbcbcb;\n}\n\n.taro-video-progress-container {\n position: relative;\n flex-grow: 2;\n -webkit-box-flex: 2;\n}\n\n.taro-video-progress {\n position: relative;\n margin: 21px 12px;\n height: 2px;\n background-color: hsl(0deg 0% 100% / 40%);\n}\n\n.taro-video-progress-buffered {\n position: absolute;\n left: 0;\n top: 0;\n width: 0;\n height: 100%;\n background-color: hsl(0deg 0% 100% / 80%);\n transition: width 0.1s;\n}\n\n.taro-video-ball {\n position: absolute;\n left: 0;\n top: -21px;\n box-sizing: content-box;\n margin-left: -22px;\n padding: 14px;\n width: 16px;\n height: 16px;\n}\n\n.taro-video-inner {\n border-radius: 50%;\n width: 100%;\n height: 100%;\n background-color: #fff;\n}\n\n.taro-video-danmu-button {\n margin: 0 8.5px;\n padding: 2px 10px;\n border: 1px solid #fff;\n border-radius: 5px;\n line-height: 1;\n font-size: 13px;\n color: #fff;\n white-space: nowrap;\n}\n\n.taro-video-danmu-button.taro-video-danmu-button-active {\n border-color: #48c23d;\n color: #48c23d;\n}\n\n.taro-video-fullscreen,\n.taro-video-mute {\n box-sizing: content-box;\n padding: 8.5px;\n width: 17px;\n height: 17px;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n}\n\n.taro-video-fullscreen {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-fullscreen.taro-video-type-fullscreen {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=\");\n}\n\n.taro-video-mute {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-mute.taro-video-type-mute {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC\");\n}\n\n.taro-video-danmu {\n overflow: visible;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n margin-top: 14px;\n margin-bottom: 44px;\n width: 100%;\n line-height: 14px;\n font-size: 14px;\n}\n\n.taro-video-danmu-item {\n position: absolute;\n left: 100%;\n line-height: 1;\n color: #fff;\n white-space: nowrap;\n transform: translateX(0);\n transition-property: left, transform;\n transition-duration: 3s;\n transition-timing-function: linear;\n}\n\n.taro-video-toast {\n display: block;\n visibility: hidden;\n position: absolute;\n left: 50%;\n top: 50%;\n border-radius: 5px;\n background-color: hsl(0deg 0% 100% / 80%);\n pointer-events: none;\n color: #000;\n transform: translate(-50%, -50%);\n}\n\n.taro-video-toast.taro-video-toast-volume {\n display: block;\n width: 100px;\n height: 100px;\n}\n\n.taro-video-toast-volume .taro-video-toast-title {\n display: block;\n margin-top: 10px;\n width: 100%;\n line-height: 16px;\n text-align: center;\n font-size: 12px;\n}\n\n.taro-video-toast-volume .taro-video-toast-icon {\n display: block;\n margin-left: 25%;\n width: 50%;\n height: 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==\");\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n fill: #000;\n}\n\n.taro-video-toast-volume .taro-video-toast-value {\n margin-left: 10px;\n margin-top: 5px;\n width: 80px;\n height: 5px;\n}\n\n.taro-video-toast-volume .taro-video-toast-value > .taro-video-toast-value-content {\n overflow: hidden;\n}\n\n.taro-video-toast-volume-grids {\n width: 80px;\n height: 5px;\n}\n\n.taro-video-toast-volume-grids-item {\n float: left;\n width: 7.1px;\n height: 5px;\n background-color: #000;\n}\n\n.taro-video-toast-volume-grids-item:not(:first-child) {\n margin-left: 1px;\n}\n\n.taro-video-toast.taro-video-toast-progress {\n padding: 6px;\n background-color: rgb(0 0 0 / 80%);\n line-height: 18px;\n font-size: 14px;\n color: #fff;\n}\n","import { Component, h, ComponentInterface, Prop, State, Event, EventEmitter, Host, Watch, Listen, Element, Method } from '@stencil/core'\nimport classNames from 'classnames'\n\nimport { throttle } from '../../utils'\nimport {\n formatTime,\n calcDist,\n normalizeNumber,\n screenFn,\n isHls,\n scene\n} from './utils'\n\nimport type HLS from 'hls.js'\n\n@Component({\n tag: 'taro-video-core',\n styleUrl: './style/index.scss'\n})\nexport class Video implements ComponentInterface {\n private videoRef: HTMLVideoElement\n private controlsRef: HTMLTaroVideoControlElement\n private danmuRef: HTMLTaroVideoDanmuElement\n private toastProgressRef: HTMLDivElement\n private toastProgressTitleRef: HTMLDivElement\n private toastVolumeRef: HTMLDivElement\n private toastVolumeBarRef: HTMLDivElement\n private currentTime = 0\n private lastClickedTime: number\n private lastTouchScreenX: number | undefined\n private lastTouchScreenY: number | undefined\n private isDraggingProgress = false\n private lastVolume: number\n private lastPercentage: number\n private nextPercentage: number\n private gestureType = 'none'\n private HLS: typeof HLS\n private hls: HLS\n\n @Element() el: HTMLTaroVideoCoreElement\n\n /**\n * 要播放视频的资源地址\n */\n @Prop() src: string\n\n /**\n * 指定视频时长\n */\n @Prop() duration: number\n\n /**\n * 是否显示默认播放控件(播放/暂停按钮、播放进度、时间)\n */\n @Prop() controls = true\n\n /**\n * 是否自动播放\n */\n @Prop() autoplay = false\n\n /**\n * 是否循环播放\n */\n @Prop() loop = false\n\n /**\n * 是否静音播放\n */\n @Prop() muted = false\n\n /**\n * 指定视频初始播放位置\n */\n @Prop() initialTime = 0\n\n /**\n * 视频封面的图片网络资源地址或云文件ID(2.3.0)。若 controls 属性值为 false 则设置 poster 无效\n */\n @Prop() poster: string\n\n /**\n * 当视频大小与 video 容器大小不一致时,视频的表现形式\n */\n @Prop() objectFit: 'contain' | 'fill' | 'cover' = 'contain'\n\n /**\n * 若不设置,宽度大于 240 时才会显示\n */\n @Prop() showProgress = true\n\n /**\n * 是否显示全屏按钮\n */\n @Prop() showFullscreenBtn = true\n\n /**\n * 是否显示视频底部控制栏的播放按钮\n */\n @Prop() showPlayBtn = true\n\n /**\n * 是否显示视频中间的播放按钮\n */\n @Prop() showCenterPlayBtn = true\n\n /**\n * 是否显示静音按钮\n */\n @Prop() showMuteBtn = false\n\n /**\n * 弹幕列表\n */\n @Prop() danmuList: []\n\n /**\n * 是否显示弹幕按钮\n */\n @Prop() danmuBtn = false\n\n /**\n * 是否展示弹幕\n */\n @Prop() enableDanmu = false\n\n /**\n * 是否开启播放手势,即双击切换播放/暂停\n */\n @Prop() enablePlayGesture = false\n\n /**\n * 是否开启控制进度的手势\n */\n @Prop() enableProgressGesture = true\n\n /**\n * 在非全屏模式下,是否开启亮度与音量调节手势\n */\n @Prop() vslideGesture = false\n\n /**\n * 在全屏模式下,是否开启亮度与音量调节手势\n */\n @Prop() vslideGestureInFullscreen = true\n\n @Prop() nativeProps = {}\n\n @State() _duration: number\n @State() _enableDanmu = false\n @State() isPlaying = false\n @State() isFirst = true\n @State() isFullScreen = false\n @State() fullScreenTimestamp = new Date().getTime()\n @State() isMute = false\n\n @Event({\n eventName: 'play'\n }) onPlay: EventEmitter\n\n @Event({\n eventName: 'pause'\n }) onPause: EventEmitter\n\n @Event({\n eventName: 'ended'\n }) onEnded: EventEmitter\n\n @Event({\n eventName: 'timeupdate'\n }) onTimeUpdate: EventEmitter\n\n @Event({\n eventName: 'error'\n }) onError: EventEmitter\n\n @Event({\n eventName: 'fullscreenchange'\n }) onFullScreenChange: EventEmitter\n\n @Event({\n eventName: 'progress'\n }) onProgress: EventEmitter\n\n @Event({\n eventName: 'loadedmetadata'\n }) onLoadedMetaData: EventEmitter\n\n componentWillLoad () {\n this._enableDanmu = this.enableDanmu\n }\n\n componentDidLoad () {\n this.init()\n if (this.initialTime) {\n this.videoRef.currentTime = this.initialTime\n }\n // 目前只支持 danmuList 初始化弹幕列表,还未支持更新弹幕列表\n this.danmuRef.sendDanmu?.(this.danmuList)\n\n if (document.addEventListener) {\n document.addEventListener(screenFn.fullscreenchange, this.handleFullScreenChange)\n }\n if (this.videoRef && scene === 'iOS') {\n // NOTE: iOS 场景下 fullscreenchange 并不会在退出全屏状态下触发,仅 webkitpresentationmodechanged 与 webkitendfullscreen 可替代\n this.videoRef.addEventListener('webkitendfullscreen', this.handleFullScreenChange)\n }\n }\n\n componentDidRender () {\n }\n\n disconnectedCallback () {\n if (document.removeEventListener) {\n document.removeEventListener(screenFn.fullscreenchange, this.handleFullScreenChange)\n }\n if (this.videoRef && scene === 'iOS') {\n this.videoRef.removeEventListener('webkitendfullscreen', this.handleFullScreenChange)\n }\n }\n\n @Watch('enableDanmu')\n watchEnableDanmu (newVal) {\n this._enableDanmu = newVal\n }\n\n @Watch('src')\n watchSrc () {\n this.init()\n }\n\n analyzeGesture = (e: TouchEvent) => {\n const obj: {\n type: string\n dataX?: number\n dataY?: number\n } = {\n type: 'none'\n }\n const nowX = e.touches[0].screenX\n const nowY = e.touches[0].screenY\n const distX = nowX - (this.lastTouchScreenX as number)\n const distY = nowY - (this.lastTouchScreenY as number)\n const enableVslideGesture = this.isFullScreen ? this.vslideGestureInFullscreen : this.vslideGesture\n\n if (this.gestureType === 'none') {\n // 两点间距离\n const dist = calcDist(distX, distY)\n\n // 没有移动\n if (dist < 10) return obj\n\n if (Math.abs(distY) >= Math.abs(distX)) {\n // 垂直方向移动:调整音量\n if (enableVslideGesture) {\n this.gestureType = 'adjustVolume'\n this.lastVolume = this.videoRef.volume\n } else {\n return obj\n }\n } else if (Math.abs(distY) < Math.abs(distX)) {\n // 水平方向移动:调整进度\n if (this.enableProgressGesture) {\n this.gestureType = 'adjustProgress'\n this.lastPercentage = this.currentTime / (this.duration ?? this._duration)\n } else {\n return obj\n }\n }\n }\n obj.type = this.gestureType\n obj.dataX = normalizeNumber(distX / 200)\n obj.dataY = normalizeNumber(distY / 200)\n return obj\n }\n\n @Listen('touchmove', {\n target: 'document'\n })\n async onDocumentTouchMove (e: TouchEvent) {\n if (this.lastTouchScreenX === undefined || this.lastTouchScreenY === undefined) return\n if (await this.controlsRef.getIsDraggingProgressBall()) return\n\n const gestureObj = this.analyzeGesture(e)\n if (gestureObj.type === 'adjustVolume') {\n this.toastVolumeRef.style.visibility = 'visible'\n const nextVolume = Math.max(Math.min(this.lastVolume - gestureObj.dataY!, 1), 0)\n this.videoRef.volume = nextVolume\n this.toastVolumeBarRef.style.width = `${nextVolume * 100}%`\n } else if (gestureObj.type === 'adjustProgress') {\n this.isDraggingProgress = true\n this.nextPercentage = Math.max(Math.min(this.lastPercentage + (gestureObj.dataX || 0), 1), 0)\n if (this.controls && this.showProgress) {\n this.controlsRef.setProgressBall(this.nextPercentage)\n this.controlsRef.toggleVisibility(true)\n }\n const duration = this.duration || this._duration\n this.toastProgressTitleRef.innerHTML = `${formatTime(this.nextPercentage * duration)} / ${formatTime(duration)}`\n this.toastProgressRef.style.visibility = 'visible'\n }\n }\n\n @Listen('touchend', {\n target: 'document'\n })\n @Listen('touchcancel', {\n target: 'document'\n })\n onDocumentTouchEnd () {\n if (this.gestureType === 'adjustVolume') {\n this.toastVolumeRef.style.visibility = 'hidden'\n } else if (this.gestureType === 'adjustProgress') {\n this.toastProgressRef.style.visibility = 'hidden'\n }\n\n if (this.isDraggingProgress) {\n this.isDraggingProgress = false\n this.seek(this.nextPercentage * (this.duration ?? this._duration))\n }\n\n this.gestureType = 'none'\n this.lastTouchScreenX = undefined\n this.lastTouchScreenY = undefined\n }\n\n loadNativePlayer = () => {\n if (this.videoRef) {\n this.videoRef.src = this.src\n this.videoRef.load?.()\n }\n }\n\n init = () => {\n const { src, videoRef } = this\n\n\n if (isHls(src)) {\n import('hls.js').then(e => {\n const Hls = e.default\n this.HLS = Hls\n if (Hls.isSupported()) {\n if (this.hls) {\n this.hls.destroy()\n }\n this.hls = new Hls()\n this.hls.loadSource(src)\n this.hls.attachMedia(videoRef)\n this.hls.on(Hls.Events.MANIFEST_PARSED, () => {\n this.autoplay && this.play()\n })\n this.hls.on(Hls.Events.ERROR, (_, data) => {\n this.handleError(data)\n })\n } else if (videoRef.canPlayType('application/vnd.apple.mpegurl')) {\n this.loadNativePlayer()\n } else {\n console.error('该浏览器不支持 HLS 播放')\n }\n })\n } else {\n this.loadNativePlayer()\n }\n }\n\n handlePlay = () => {\n this.isPlaying = true\n this.isFirst = false\n this.controlsRef.toggleVisibility(true)\n this.onPlay.emit()\n }\n\n handlePause = () => {\n this.isPlaying = false\n this.controlsRef.toggleVisibility(true)\n this.onPause.emit()\n }\n\n handleEnded = () => {\n this.isFirst = true\n this.pause()\n this.controlsRef.toggleVisibility()\n this.onEnded.emit()\n }\n\n handleTimeUpdate = throttle(async e => {\n this.currentTime = this.videoRef.currentTime\n const duration = this.duration || this._duration\n\n const isControlDragging = await this.controlsRef.getIsDraggingProgressBall()\n if (this.controls && this.showProgress) {\n if (!isControlDragging && !this.isDraggingProgress) {\n this.controlsRef.setProgressBall(this.currentTime / duration)\n this.controlsRef.setCurrentTime(this.currentTime)\n }\n }\n\n this.danmuRef.tick(this.currentTime)\n\n this.onTimeUpdate.emit({\n duration: e.target?.duration,\n currentTime: e.target?.currentTime\n })\n\n if (this.duration) {\n if (this.currentTime >= this.duration) {\n this.seek(0)\n this.handleEnded()\n }\n }\n }, 250)\n\n handleError = e => {\n if (this.hls) {\n switch (e.type) {\n case this.HLS.ErrorTypes.NETWORK_ERROR:\n // try to recover network error\n this.onError.emit({ errMsg: e.response })\n this.hls.startLoad()\n break\n case this.HLS.ErrorTypes.MEDIA_ERROR:\n this.onError.emit({ errMsg: e.reason || '媒体错误,请重试' })\n this.hls.recoverMediaError()\n break\n default:\n break\n }\n } else {\n this.onError.emit({\n errMsg: e.target?.error?.message,\n })\n }\n }\n\n handleDurationChange = () => {\n this._duration = this.videoRef.duration\n }\n\n handleProgress = () => {\n this.onProgress.emit()\n }\n\n handleLoadedMetaData = (e: Event) => {\n const target = e.target as HTMLVideoElement\n this.onLoadedMetaData.emit({\n width: target.videoWidth,\n height: target.videoHeight,\n duration: target.duration\n })\n }\n\n /** 播放视频 */\n @Method()\n async play () {\n this._play()\n }\n\n _play = () => this.videoRef.play()\n\n /** 暂停视频 */\n @Method()\n async pause () {\n this._pause()\n }\n\n _pause = () => this.videoRef.pause()\n\n /** 停止视频 */\n @Method()\n async stop () {\n this._stop()\n }\n\n _stop = () => {\n this.videoRef.pause()\n this._seek(0)\n }\n\n /** 跳转到指定位置 */\n @Method()\n async seek (position: number) {\n this._seek(position)\n }\n\n _seek = (position: number) => {\n this.videoRef.currentTime = position\n }\n\n /** 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */\n @Method()\n async requestFullScreen () {\n this.toggleFullScreen(true)\n }\n\n /** 退出全屏 */\n @Method()\n async exitFullScreen () {\n this.toggleFullScreen(false)\n }\n\n onTouchStartContainer = (e: TouchEvent) => {\n this.lastTouchScreenX = e.touches[0].screenX\n this.lastTouchScreenY = e.touches[0].screenY\n }\n\n onClickContainer = () => {\n if (this.enablePlayGesture) {\n const now = Date.now()\n if (now - this.lastClickedTime < 300) {\n // 双击\n this.isPlaying ? this.pause() : this.play()\n }\n this.lastClickedTime = now\n }\n this.controlsRef.toggleVisibility()\n }\n\n onClickFullScreenBtn = (e: MouseEvent) => {\n e.stopPropagation()\n this.toggleFullScreen()\n }\n\n handleFullScreenChange = e => {\n // 全屏后,\"退出\"走的是浏览器事件,在此同步状态\n const timestamp = new Date().getTime()\n if (!e.detail && this.isFullScreen && !document[screenFn.fullscreenElement] && timestamp - this.fullScreenTimestamp > 100) {\n this.toggleFullScreen(false)\n }\n }\n\n toggleFullScreen = (isFullScreen = !this.isFullScreen) => {\n this.isFullScreen = isFullScreen // this.videoRef?.['webkitDisplayingFullscreen']\n this.controlsRef.toggleVisibility(true)\n this.fullScreenTimestamp = new Date().getTime()\n this.onFullScreenChange.emit({\n fullScreen: this.isFullScreen,\n direction: 'vertical'\n })\n if (this.isFullScreen && !document[screenFn.fullscreenElement]) {\n setTimeout(() => {\n this.videoRef[screenFn.requestFullscreen]({ navigationUI: 'auto' })\n }, 0)\n }\n }\n\n toggleMute = (e: MouseEvent) => {\n e.stopPropagation()\n this.videoRef.muted = !this.isMute\n this.controlsRef.toggleVisibility(true)\n this.isMute = !this.isMute\n }\n\n toggleDanmu = (e: MouseEvent) => {\n e.stopPropagation()\n this.controlsRef.toggleVisibility(true)\n this._enableDanmu = !this._enableDanmu\n }\n\n render () {\n const {\n controls,\n autoplay,\n loop,\n muted,\n poster,\n objectFit,\n isFirst,\n isMute,\n isFullScreen,\n showCenterPlayBtn,\n isPlaying,\n _enableDanmu,\n showMuteBtn,\n danmuBtn,\n showFullscreenBtn,\n nativeProps\n } = this\n const duration = this.duration || this._duration\n const durationTime = formatTime(duration)\n\n return (\n <Host\n class={classNames('taro-video-container', {\n 'taro-video-type-fullscreen': isFullScreen\n })}\n onTouchStart={this.onTouchStartContainer}\n onClick={this.onClickContainer}\n >\n <video\n class='taro-video-video'\n style={{\n 'object-fit': objectFit\n }}\n ref={dom => {\n if (dom) {\n this.videoRef = dom as HTMLVideoElement\n }\n }}\n autoplay={autoplay}\n loop={loop}\n muted={muted}\n poster={controls ? poster : undefined}\n playsinline\n webkit-playsinline\n onPlay={this.handlePlay}\n onPause={this.handlePause}\n onEnded={this.handleEnded}\n onTimeUpdate={this.handleTimeUpdate}\n onError={this.handleError}\n onDurationChange={this.handleDurationChange}\n onProgress={this.handleProgress}\n onLoadedMetaData={this.handleLoadedMetaData}\n {...nativeProps}\n >\n 暂时不支持播放该视频\n </video>\n\n <taro-video-danmu\n ref={dom => {\n if (dom) {\n this.danmuRef = dom as HTMLTaroVideoDanmuElement\n }\n }}\n enable={_enableDanmu}\n />\n\n {isFirst && showCenterPlayBtn && !isPlaying && (\n <div class='taro-video-cover'>\n <div class='taro-video-cover-play-button' onClick={() => this.play()} />\n <p class='taro-video-cover-duration'>{durationTime}</p>\n </div>\n )}\n\n <taro-video-control\n ref={dom => {\n if (dom) {\n this.controlsRef = dom\n }\n }}\n controls={controls}\n currentTime={this.currentTime}\n duration={duration}\n isPlaying={this.isPlaying}\n pauseFunc={this._pause}\n playFunc={this._play}\n seekFunc={this._seek}\n showPlayBtn={this.showPlayBtn}\n showProgress={this.showProgress}\n >\n {showMuteBtn && (\n <div\n class={classNames('taro-video-mute', {\n 'taro-video-type-mute': isMute\n })}\n onClick={this.toggleMute}\n />\n )}\n {danmuBtn && (\n <div\n class={classNames('taro-video-danmu-button', {\n 'taro-video-danmu-button-active': _enableDanmu\n })}\n onClick={this.toggleDanmu}>\n 弹幕\n </div>\n )}\n {showFullscreenBtn && (\n <div\n class={classNames('taro-video-fullscreen', {\n 'taro-video-type-fullscreen': isFullScreen\n })}\n onClick={this.onClickFullScreenBtn}\n />\n )}\n </taro-video-control>\n\n <div class='taro-video-toast taro-video-toast-volume' ref={dom => {\n if (dom) {\n this.toastVolumeRef = dom\n }\n }}>\n <div class='taro-video-toast-title'>音量</div>\n <div class='taro-video-toast-icon' />\n <div class='taro-video-toast-value'>\n <div class='taro-video-toast-value-content' ref={dom => {\n if (dom) {\n this.toastVolumeBarRef = dom\n }\n }}>\n <div class='taro-video-toast-volume-grids'>\n {Array(10).fill(1).map(() => (\n <div class='taro-video-toast-volume-grids-item' />\n ))}\n </div>\n </div>\n </div>\n </div>\n\n <div class='taro-video-toast taro-video-toast-progress' ref={dom => {\n if (dom) {\n this.toastProgressRef = dom\n }\n }}>\n <div class='taro-video-toast-title' ref={dom => {\n if (dom) {\n this.toastProgressTitleRef = dom\n }\n }} />\n </div>\n </Host>\n )\n }\n}\n","import { Component, h, ComponentInterface, Prop, State, Host, Method } from '@stencil/core'\n\nexport interface Danmu {\n text: string\n color: string\n time: number,\n key: number,\n bottom: string\n}\n\n@Component({\n tag: 'taro-video-danmu'\n})\nexport class VideoDanmu implements ComponentInterface {\n private list: Danmu[] = []\n private danmuElList: HTMLParagraphElement[] = []\n private currentTime = 0\n\n @Prop() enable = false\n\n @State() danmuList: Danmu[] = []\n\n ensureProperties (danmu: Partial<Danmu>): Danmu {\n const clonedDanmu = { ...danmu } as Danmu\n if (!('time' in danmu)) {\n clonedDanmu.time = this.currentTime\n }\n clonedDanmu.key = Math.random()\n clonedDanmu.bottom = `${Math.random() * 90 + 5}%`\n return clonedDanmu\n }\n\n @Method()\n async sendDanmu (danmuList: Partial<Danmu> | Partial<Danmu>[] = []) {\n if (Array.isArray(danmuList)) {\n this.list = [\n ...this.list,\n ...danmuList.map(danmu => this.ensureProperties(danmu))\n ]\n } else {\n const danmu = danmuList\n this.list = [\n ...this.list,\n { ...this.ensureProperties(danmu) }\n ]\n }\n }\n\n @Method()\n async tick (currentTime: number) {\n this.currentTime = currentTime\n\n if (!this.enable) return\n\n const danmuList = this.list\n\n /**\n * @todo 这个判断对拖拽进度的处理不严谨\n */\n const newDanmuList = danmuList.filter(({ time }) => {\n return currentTime - time < 4 && currentTime > time\n })\n let shouldUpdate = false\n const oldDanmuList = this.danmuList\n\n if (newDanmuList.length !== oldDanmuList.length) {\n shouldUpdate = true\n } else {\n shouldUpdate = newDanmuList.some(({ key }) => {\n return oldDanmuList.every((danmu) => {\n return key !== danmu.key\n })\n })\n }\n if (shouldUpdate) {\n this.danmuList = newDanmuList\n }\n }\n\n componentDidUpdate () {\n requestAnimationFrame(() => {\n setTimeout(() => {\n const danmuElList = this.danmuElList.splice(0)\n danmuElList.forEach(danmu => {\n danmu.style.left = '0'\n danmu.style.webkitTransform = 'translateX(-100%)'\n danmu.style.transform = 'translateX(-100%)'\n })\n })\n })\n }\n\n render () {\n if (!this.enable) return ''\n\n return (\n <Host class='taro-video-danmu'>\n {this.danmuList.map(({ text, color, bottom, key }) => (\n <p\n class='taro-video-danmu-item'\n key={key}\n style={{\n color,\n bottom\n }}\n ref={ref => {\n if (ref) {\n this.danmuElList.push(ref)\n }\n }}\n >\n {text}\n </p>\n ))}\n </Host>\n )\n }\n}\n"]}
@@ -1 +1,2 @@
1
- System.register(["./p-44cbb351.system.js","./p-15e45ed6.system.js","@tarojs/taro"],(function(t){"use strict";var e,n,r,o;return{setters:[function(t){e=t.r;n=t.h;r=t.H},function(t){o=t.n},function(){}],execute:function(){var s=t("taro_keyboard_accessory_core",function(){function t(t){e(this,t)}t.prototype.componentDidLoad=function(){o("KeyboardAccessory",this)};t.prototype.render=function(){return n(r,null)};return t}())}}}));
1
+ System.register(["./p-8a8f286f.system.js","./p-15e45ed6.system.js","@tarojs/taro"],(function(t){"use strict";var e,n,r,o;return{setters:[function(t){e=t.r;n=t.h;r=t.H},function(t){o=t.n},function(){}],execute:function(){var s=t("taro_keyboard_accessory_core",function(){function t(t){e(this,t)}t.prototype.componentDidLoad=function(){o("KeyboardAccessory",this)};t.prototype.render=function(){return n(r,null)};return t}())}}}));
2
+ //# sourceMappingURL=p-4fbb8b4c.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/keyboard-accessory/keyboard-accessory.tsx"],"names":["KeyboardAccessory","exports","class_1","prototype","componentDidLoad","notSupport","this","render","h","Host"],"mappings":"gOAOaA,EAAiBC,EAAA,+BAAA,mCAC5BC,EAAAC,UAAAC,iBAAA,WACEC,EAAW,oBAAqBC,OAGlCJ,EAAAC,UAAAI,OAAA,WACE,OACEC,EAACC,EAAI,gBAPmB","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-keyboard-accessory-core'\n})\nexport class KeyboardAccessory implements ComponentInterface {\n componentDidLoad () {\n notSupport('KeyboardAccessory', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -1 +1,2 @@
1
- System.register([],(function(){"use strict";return{execute:function(){}}}));
1
+ System.register([],(function(){"use strict";return{execute:function(){}}}));
2
+ //# sourceMappingURL=p-50ea2036.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as t,H as r}from"./p-5bfefd19.js";import{n as s}from"./p-6a96da58.js";import"@tarojs/taro";const a=class{constructor(t){o(this,t)}componentDidLoad(){s("NativeSlot",this)}render(){return t(r,null)}};export{a as taro_native_slot_core};
2
+ //# sourceMappingURL=p-51040638.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/slot/native-slot.tsx"],"names":["NativeSlot","[object Object]","notSupport","this","h","Host"],"mappings":"iHAOaA,EAAU,+BACrBC,mBACEC,EAAW,aAAcC,MAG3BF,SACE,OACEG,EAACC,EAAI","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-native-slot-core'\n})\nexport class NativeSlot implements ComponentInterface {\n componentDidLoad () {\n notSupport('NativeSlot', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as s,h as o,H as t}from"./p-5bfefd19.js";import{c as e}from"./p-76724e58.js";const r=class{constructor(o){s(this,o);this.type=undefined;this.size="23";this.color=undefined}render(){const{type:s,size:r,color:i}=this;const n=s===null||s===void 0?void 0:s.replace(/_/g,"-");const c=e({[`weui-icon-${n}`]:true});const d={"font-size":`${r}px`,color:i};return o(t,{class:c,style:d})}};export{r as taro_icon_core};
2
+ //# sourceMappingURL=p-55519002.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/icon/icon.tsx"],"names":["Icon","[object Object]","type","size","color","this","iconType","replace","cls","classNames","style","font-size","h","Host","class"],"mappings":"4FASaA,EAAI,6DAEiB,0BAGhCC,SACE,MAAMC,KACJA,EAAIC,KACJA,EAAIC,MACJA,GACEC,KAEJ,MAAMC,EAAWJ,IAAI,MAAJA,SAAI,OAAA,EAAJA,EAAMK,QAAQ,KAAM,KAErC,MAAMC,EAAMC,EAAW,CACrBR,CAAC,aAAaK,KAAa,OAG7B,MAAMI,EAAQ,CACZC,YAAa,GAAGR,MAChBC,MAAAA,GAGF,OACEQ,EAACC,EAAI,CAACC,MAAON,EAAKE,MAAOA","sourcesContent":["import { Component, h, ComponentInterface, Prop, Host } from '@stencil/core'\nimport classNames from 'classnames'\n\nexport type Type = 'success' | 'success_no_circle' | 'info'| 'warn'| 'waiting'| 'cancel'| 'download'| 'search'| 'clear'\ntype IconType = Exclude<Type, 'success_no_circle'> | 'success-no-circle'\n\n@Component({\n tag: 'taro-icon-core'\n})\nexport class Icon implements ComponentInterface {\n @Prop() type: Type\n @Prop() size: string | number = '23'\n @Prop() color: string\n\n render () {\n const {\n type,\n size,\n color\n } = this\n\n const iconType = type?.replace(/_/g, '-') as IconType\n\n const cls = classNames({\n [`weui-icon-${iconType}`]: true\n })\n\n const style = {\n 'font-size': `${size}px`,\n color\n }\n\n return (\n <Host class={cls} style={style} />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as s,H as e,g as r}from"./p-5bfefd19.js";import o from"@tarojs/taro";import{c as n}from"./p-76724e58.js";const a=".rmc-pull-to-refresh-content{-webkit-transform-origin:left top 0;transform-origin:left top 0}.rmc-pull-to-refresh-content-wrapper{overflow:hidden;min-height:100vh}.rmc-pull-to-refresh-transition{-webkit-transition:-webkit-transform 0.3s;transition:-webkit-transform 0.3s;transition:transform 0.3s;transition:transform 0.3s, -webkit-transform 0.3s}@-webkit-keyframes rmc-pull-to-refresh-indicator{50%{opacity:0.2}100%{opacity:1}}@keyframes rmc-pull-to-refresh-indicator{50%{opacity:0.2}100%{opacity:1}}.rmc-pull-to-refresh-indicator{height:30px;line-height:10px;text-align:center}.rmc-pull-to-refresh-indicator>div{display:inline-block;margin:3px;border-radius:100%;width:6px;height:6px;background-color:grey;-webkit-animation:rmc-pull-to-refresh-indicator 0.5s 0s infinite linear;animation:rmc-pull-to-refresh-indicator 0.5s 0s infinite linear;-webkit-animation-fill-mode:both;animation-fill-mode:both}.rmc-pull-to-refresh-indicator>div:nth-child(0){-webkit-animation-delay:-0.1s !important;animation-delay:-0.1s !important}.rmc-pull-to-refresh-indicator>div:nth-child(1){-webkit-animation-delay:-0.2s !important;animation-delay:-0.2s !important}.rmc-pull-to-refresh-indicator>div:nth-child(2){-webkit-animation-delay:-0.3s !important;animation-delay:-0.3s !important}.rmc-pull-to-refresh-down .rmc-pull-to-refresh-indicator{margin-top:-25px}";function h(t,i){t.transform=i;t.webkitTransform=i;t.MozTransform=i}const l=typeof navigator!=="undefined"&&/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);const c={activate:"release",deactivate:"pull",release:"loading",finish:"finish"};let d=false;try{const t=Object.defineProperty({},"passive",{get(){d=true}});window.addEventListener("cancel",(()=>({})),t)}catch(t){}const f=d?{passive:false}:false;const u=class{constructor(s){t(this,s);this.onRefresh=i(this,"refresh",7);this._ScreenY=0;this._startScreenY=0;this._lastScreenY=0;this._isMounted=false;this.triggerPullDownRefresh=t=>{if(!this.dragOnEdge&&this._isMounted){if(t){this._lastScreenY=this.distanceToRefresh+1;this.currSt="release";this.setContentStyle(this._lastScreenY)}else{this.currSt="finish";this.reset()}}};this.init=()=>{const t=this.scrollContainer;const i=this.el.querySelector("rmc-pull-to-refresh-content");this.el.appendChild=i===null||i===void 0?void 0:i.appendChild.bind(i);this.el.insertBefore=i===null||i===void 0?void 0:i.insertBefore.bind(i);this.el.replaceChild=i===null||i===void 0?void 0:i.replaceChild.bind(i);this.el.removeChild=i===null||i===void 0?void 0:i.removeChild.bind(i);this._to={touchstart:this.onTouchStart.bind(this,t),touchmove:this.onTouchMove.bind(this,t),touchend:this.onTouchEnd.bind(this,t),touchcancel:this.onTouchEnd.bind(this,t)};Object.keys(this._to).forEach((i=>{t.addEventListener(i,this._to[i],f)}))};this.destroy=()=>{const t=this.scrollContainer;Object.keys(this._to).forEach((i=>{t.removeEventListener(i,this._to[i])}))};this.onTouchStart=(t,i)=>{this._ScreenY=this._startScreenY=i.touches[0].screenY;this._lastScreenY=this._lastScreenY||0};this.isEdge=t=>{const i=this.scrollContainer;if(i&&i===document.body){const t=document.scrollingElement?document.scrollingElement:document.body;return t.scrollTop<=0}return t.scrollTop<=0};this.damp=t=>{if(Math.abs(this._lastScreenY)>this.damping){return 0}const i=Math.abs(this._ScreenY-this._startScreenY)/window.screen.height;t*=(1-i)*.6;return t};this.onTouchMove=(t,i)=>{const s=i.touches[0].screenY;if(this._startScreenY>s){return}if(this.isEdge(t)){if(!this.dragOnEdge){this._ScreenY=this._startScreenY=i.touches[0].screenY;this.dragOnEdge=true}if(i.cancelable){i.preventDefault()}const t=Math.round(s-this._ScreenY);this._ScreenY=s;this._lastScreenY+=this.damp(t);this.setContentStyle(this._lastScreenY);if(Math.abs(this._lastScreenY)<this.distanceToRefresh){if(this.currSt!=="deactivate"){this.currSt="deactivate"}}else{if(this.currSt==="deactivate"){this.currSt="activate"}}if(l&&i.changedTouches[0].clientY<0){this.onTouchEnd()}}};this.onTouchEnd=()=>{if(this.dragOnEdge){this.dragOnEdge=false}if(this.currSt==="activate"){this.currSt="release";this.onRefresh.emit(this);this._lastScreenY=this.distanceToRefresh+1;this.setContentStyle(this._lastScreenY)}else if(this.currSt==="release"){this._lastScreenY=this.distanceToRefresh+1;this.setContentStyle(this._lastScreenY)}else{this.reset()}};this.reset=()=>{this._lastScreenY=0;this.setContentStyle(0)};this.setContentStyle=t=>{if(this.contentRef){if(t){h(this.contentRef.style,`translate3d(0px,${t}px,0)`)}else{h(this.contentRef.style,"")}}};this.prefixCls="rmc-pull-to-refresh";this.distanceToRefresh=50;this.damping=100;this.indicator=c;this.currSt="deactivate";this.dragOnEdge=false}get scrollContainer(){return this.el.parentElement||this.el.closest(".taro_page_stationed")||document.querySelector(".taro_page_stationed")||document.querySelector(".taro_page")||document.querySelector(".taro_router")||document.querySelector(".taro-tabbar__panel")||document.body}statusChange(){var t,i,s,e;const r=this.scrollContainer;switch(this.currSt){case"release":(i=(t=r===null||r===void 0?void 0:r.__page)===null||t===void 0?void 0:t.onPullDownRefresh)===null||i===void 0?void 0:i.call(t);break;case"deactivate":(e=(s=r===null||r===void 0?void 0:r.__page)===null||s===void 0?void 0:s.onPullIntercept)===null||e===void 0?void 0:e.call(s)}}disconnectedCallback(){this.destroy()}componentDidLoad(){this.init();this._isMounted=true;o.eventCenter.on("__taroStartPullDownRefresh",(({successHandler:t,errorHandler:i})=>{try{this.triggerPullDownRefresh(true);t({errMsg:"startPullDownRefresh: ok"})}catch(t){i({errMsg:"startPullDownRefresh: fail"})}}));o.eventCenter.on("__taroStopPullDownRefresh",(({successHandler:t,errorHandler:i})=>{try{this.triggerPullDownRefresh(false);t({errMsg:"stopPullDownRefresh: ok"})}catch(t){i({errMsg:"stopPullDownRefresh: fail"})}}))}render(){const t=t=>{const{currSt:i,dragOnEdge:e,prefixCls:r}=this;const o=n(t,!e&&`${r}-transition`);const a=i==="activate"||i==="release";return s("div",{class:`${r}-content-wrapper`},s("div",{class:o,ref:t=>{this.contentRef=t}},a&&s("div",{class:`${r}-indicator`},s("div",null),s("div",null),s("div",null)),s("slot",null)))};if(this.scrollContainer){return t(`${this.prefixCls}-content ${this.prefixCls}-down`)}return s(e,{class:n(this.prefixCls,`${this.prefixCls}-down`)},t(`${this.prefixCls}-content`))}get el(){return r(this)}static get watchers(){return{currSt:["statusChange"]}}};u.style=a;export{u as taro_pull_to_refresh};
2
+ //# sourceMappingURL=p-570222e2.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/pull-to-refresh/style/index.scss?tag=taro-pull-to-refresh","src/components/pull-to-refresh/pull-to-refresh.tsx"],"names":["indexCss","setTransform","nodeStyle","value","transform","webkitTransform","MozTransform","isWebView","navigator","test","userAgent","INDICATOR","activate","deactivate","release","finish","supportsPassive","opts","Object","defineProperty","[object Object]","window","addEventListener","e","willPreventDefault","passive","PullToRefresh","this","_ScreenY","_startScreenY","_lastScreenY","_isMounted","triggerPullDownRefresh","flag","dragOnEdge","distanceToRefresh","currSt","setContentStyle","reset","init","ele","scrollContainer","child","el","querySelector","appendChild","bind","insertBefore","replaceChild","removeChild","_to","touchstart","onTouchStart","touchmove","onTouchMove","touchend","onTouchEnd","touchcancel","keys","forEach","key","destroy","removeEventListener","_","touches","screenY","isEdge","container","document","body","scrollNode","scrollingElement","scrollTop","damp","dy","Math","abs","damping","ratio","screen","height","_screenY","cancelable","preventDefault","_diff","round","changedTouches","clientY","onRefresh","emit","ty","contentRef","style","parentElement","closest","pageEl","_b","_a","__page","onPullDownRefresh","call","_d","_c","onPullIntercept","Taro","eventCenter","on","successHandler","errorHandler","errMsg","renderRefresh","cls","prefixCls","cla","classNames","showIndicator","h","class","ref","Host"],"mappings":"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","sourcesContent":[".rmc-pull-to-refresh-content {\r\n transform-origin: left top 0;\r\n}\r\n\r\n.rmc-pull-to-refresh-content-wrapper {\r\n overflow: hidden;\r\n min-height: 100vh;\r\n}\r\n\r\n.rmc-pull-to-refresh-transition {\r\n transition: transform 0.3s;\r\n}\r\n\r\n@keyframes rmc-pull-to-refresh-indicator {\r\n 50% {\r\n opacity: 0.2;\r\n }\r\n\r\n 100% {\r\n opacity: 1;\r\n }\r\n}\r\n\r\n.rmc-pull-to-refresh-indicator {\r\n height: 30px;\r\n line-height: 10px;\r\n text-align: center;\r\n}\r\n\r\n.rmc-pull-to-refresh-indicator > div {\r\n display: inline-block;\r\n margin: 3px;\r\n border-radius: 100%;\r\n width: 6px;\r\n height: 6px;\r\n background-color: grey;\r\n animation: rmc-pull-to-refresh-indicator 0.5s 0s infinite linear;\r\n animation-fill-mode: both;\r\n}\r\n\r\n.rmc-pull-to-refresh-indicator > div:nth-child(0) {\r\n animation-delay: -0.1s !important;\r\n}\r\n\r\n.rmc-pull-to-refresh-indicator > div:nth-child(1) {\r\n animation-delay: -0.2s !important;\r\n}\r\n\r\n.rmc-pull-to-refresh-indicator > div:nth-child(2) {\r\n animation-delay: -0.3s !important;\r\n}\r\n\r\n.rmc-pull-to-refresh-down .rmc-pull-to-refresh-indicator {\r\n margin-top: -25px;\r\n}\r\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Watch, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport classNames from 'classnames'\n\nfunction setTransform (nodeStyle, value) {\n nodeStyle.transform = value\n nodeStyle.webkitTransform = value\n nodeStyle.MozTransform = value\n}\n\nconst isWebView = typeof navigator !== 'undefined' &&\n /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent)\n\nconst INDICATOR = {\n activate: 'release',\n deactivate: 'pull',\n release: 'loading',\n finish: 'finish'\n}\n\nlet supportsPassive = false\ntry {\n const opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n }\n })\n window.addEventListener('cancel', () => ({}), opts)\n} catch (e) { }\n\nconst willPreventDefault = supportsPassive ? { passive: false } : false\n\n@Component({\n tag: 'taro-pull-to-refresh',\n styleUrl: './style/index.scss'\n})\nexport class PullToRefresh implements ComponentInterface {\n @Prop() prefixCls = 'rmc-pull-to-refresh'\n @Prop() distanceToRefresh = 50\n @Prop() damping = 100\n @Prop() indicator = INDICATOR\n\n @State() currSt: 'activate' | 'deactivate' | 'release' | 'finish' = 'deactivate'\n @State() dragOnEdge = false\n @Element() el: HTMLElement;\n\n @Event({\n eventName: 'refresh'\n }) onRefresh: EventEmitter\n\n private contentRef: HTMLElement;\n private _to: Record<string, EventListener>\n private _ScreenY = 0;\n private _startScreenY = 0;\n private _lastScreenY = 0;\n\n private _isMounted = false;\n\n private get scrollContainer () {\n return this.el.parentElement ||\n this.el.closest('.taro_page_stationed') ||\n document.querySelector('.taro_page_stationed') ||\n document.querySelector('.taro_page') ||\n document.querySelector('.taro_router') ||\n document.querySelector('.taro-tabbar__panel') ||\n document.body\n }\n\n @Watch('currSt')\n statusChange () {\n const pageEl: any = this.scrollContainer\n switch (this.currSt) {\n case 'release':\n pageEl?.__page?.onPullDownRefresh?.()\n break\n case 'deactivate':\n pageEl?.__page?.onPullIntercept?.()\n }\n }\n\n disconnectedCallback () {\n this.destroy()\n }\n\n componentDidLoad () {\n this.init()\n this._isMounted = true\n Taro.eventCenter.on('__taroStartPullDownRefresh', ({ successHandler, errorHandler }) => {\n try {\n this.triggerPullDownRefresh(true)\n successHandler({\n errMsg: 'startPullDownRefresh: ok'\n })\n } catch (e) {\n errorHandler({\n errMsg: 'startPullDownRefresh: fail'\n })\n }\n })\n\n Taro.eventCenter.on('__taroStopPullDownRefresh', ({ successHandler, errorHandler }) => {\n try {\n this.triggerPullDownRefresh(false)\n successHandler({\n errMsg: 'stopPullDownRefresh: ok'\n })\n } catch (e) {\n errorHandler({\n errMsg: 'stopPullDownRefresh: fail'\n })\n }\n })\n }\n\n triggerPullDownRefresh = (flag: boolean) => {\n // 在初始化时、用代码 自动 触发 pullDownRefresh\n // 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish\n if (!this.dragOnEdge && this._isMounted) {\n if (flag) {\n this._lastScreenY = this.distanceToRefresh + 1\n // change dom need after setState\n this.currSt = 'release'\n this.setContentStyle(this._lastScreenY)\n } else {\n this.currSt = 'finish'\n this.reset()\n }\n }\n }\n\n init = () => {\n const ele = this.scrollContainer\n const child = this.el.querySelector('rmc-pull-to-refresh-content')\n this.el.appendChild = child?.appendChild.bind(child)\n this.el.insertBefore = child?.insertBefore.bind(child)\n this.el.replaceChild = child?.replaceChild.bind(child)\n this.el.removeChild = child?.removeChild.bind(child)\n this._to = {\n touchstart: this.onTouchStart.bind(this, ele),\n touchmove: this.onTouchMove.bind(this, ele),\n touchend: this.onTouchEnd.bind(this, ele),\n touchcancel: this.onTouchEnd.bind(this, ele)\n }\n Object.keys(this._to).forEach(key => {\n ele.addEventListener(key, this._to[key], willPreventDefault)\n })\n }\n\n destroy = () => {\n const ele = this.scrollContainer\n Object.keys(this._to).forEach(key => {\n ele.removeEventListener(key, this._to[key])\n })\n }\n\n onTouchStart = (_, e: TouchEvent) => {\n this._ScreenY = this._startScreenY = e.touches[0].screenY\n // 一开始 refreshing 为 true 时 this._lastScreenY 有值\n this._lastScreenY = this._lastScreenY || 0\n }\n\n isEdge = (ele: HTMLElement) => {\n const container = this.scrollContainer\n if (container && container === document.body) {\n // In chrome61 `document.body.scrollTop` is invalid\n const scrollNode = document.scrollingElement ? document.scrollingElement : document.body\n return scrollNode.scrollTop <= 0\n }\n return ele.scrollTop <= 0\n }\n\n damp = (dy: number) => {\n if (Math.abs(this._lastScreenY) > this.damping) {\n return 0\n }\n\n const ratio = Math.abs(this._ScreenY - this._startScreenY) / window.screen.height\n dy *= (1 - ratio) * 0.6\n\n return dy\n }\n\n onTouchMove = (ele: HTMLElement, e: TouchEvent) => {\n // 使用 pageY 对比有问题\n const _screenY = e.touches[0].screenY\n\n // 拖动方向不符合的不处理\n if (this._startScreenY > _screenY) {\n return\n }\n\n if (this.isEdge(ele)) {\n if (!this.dragOnEdge) {\n // 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义\n // 下面这行代码解决了上面这个问题\n this._ScreenY = this._startScreenY = e.touches[0].screenY\n this.dragOnEdge = true\n }\n if (e.cancelable) {\n e.preventDefault()\n }\n // add stopPropagation with fastclick will trigger content onClick event. why?\n // ref https://github.com/ant-design/ant-design-mobile/issues/2141\n // e.stopPropagation();\n\n const _diff = Math.round(_screenY - this._ScreenY)\n this._ScreenY = _screenY\n this._lastScreenY += this.damp(_diff)\n\n this.setContentStyle(this._lastScreenY)\n\n if (Math.abs(this._lastScreenY) < this.distanceToRefresh) {\n if (this.currSt !== 'deactivate') {\n // console.log('back to the distance');\n this.currSt = 'deactivate'\n }\n } else {\n if (this.currSt === 'deactivate') {\n // console.log('reach to the distance');\n this.currSt = 'activate'\n }\n }\n\n // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829\n // iOS UIWebView issue, It seems no problem in WKWebView\n if (isWebView && e.changedTouches[0].clientY < 0) {\n this.onTouchEnd()\n }\n }\n }\n\n onTouchEnd = () => {\n if (this.dragOnEdge) {\n this.dragOnEdge = false\n }\n if (this.currSt === 'activate') {\n this.currSt = 'release'\n this.onRefresh.emit(this)\n this._lastScreenY = this.distanceToRefresh + 1\n this.setContentStyle(this._lastScreenY)\n } else if (this.currSt === 'release') {\n this._lastScreenY = this.distanceToRefresh + 1\n this.setContentStyle(this._lastScreenY)\n } else {\n this.reset()\n }\n }\n\n reset = () => {\n this._lastScreenY = 0\n this.setContentStyle(0)\n }\n\n setContentStyle = (ty: number) => {\n // TODO: Why sometimes do not have `this.contentRef` ?\n if (this.contentRef) {\n // translate3d 不清理 会影响内部元素 定位\n if (ty) {\n setTransform(this.contentRef.style, `translate3d(0px,${ty}px,0)`)\n } else {\n setTransform(this.contentRef.style, '')\n }\n }\n }\n\n render () {\n const renderRefresh = (cls: string) => {\n const { currSt, dragOnEdge, prefixCls } = this\n const cla = classNames(cls, !dragOnEdge && `${prefixCls}-transition`)\n const showIndicator = currSt === 'activate' || currSt === 'release'\n return (\n <div class={`${prefixCls}-content-wrapper`}>\n <div\n class={cla}\n ref={el => {\n this.contentRef = el!\n }}>\n {showIndicator && (\n <div class={`${prefixCls}-indicator`}>\n <div />\n <div />\n <div />\n </div>\n )}\n <slot />\n </div>\n </div>\n )\n }\n\n if (this.scrollContainer) {\n return renderRefresh(`${this.prefixCls}-content ${this.prefixCls}-down`)\n }\n return (\n <Host\n class={classNames(this.prefixCls, `${this.prefixCls}-down`)}\n >\n {renderRefresh(`${this.prefixCls}-content`)}\n </Host>\n )\n }\n}\n"]}
@@ -1 +1,2 @@
1
- function t(t,e=250,n){let i,o=0;return function(...u){const c=n||this,s=Date.now();s-o>e?(t.apply(this,u),o=s):(clearTimeout(i),i=setTimeout((()=>{o=s,t.apply(c,u)}),e))}}function e(t,e=250,n){let i;return function(...o){const u=n||this;clearTimeout(i),i=setTimeout((function(){t.apply(u,o)}),e)}}export{e as d,t}
1
+ function t(t,e=250,n){let i=0;let o;return function(...s){const u=n||this;const c=Date.now();if(c-i>e){t.apply(this,s);i=c}else{clearTimeout(o);o=setTimeout((()=>{i=c;t.apply(u,s)}),e)}}}function e(t,e=250,n){let i;return function(...o){const s=n||this;clearTimeout(i);i=setTimeout((function(){t.apply(s,o)}),e)}}export{e as d,t};
2
+ //# sourceMappingURL=p-5746d7ce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/utils/index.ts"],"names":["throttle","fn","threshold","scope","lastTime","deferTimer","args","context","this","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer"],"mappings":"SAAgBA,EAAUC,EAAIC,EAAY,IAAKC,GAC7C,IAAIC,EAAW,EACf,IAAIC,EACJ,OAAO,YAAaC,GAClB,MAAMC,EAAUJ,GAASK,KACzB,MAAMC,EAAMC,KAAKD,MACjB,GAAIA,EAAML,EAAWF,EAAW,CAC9BD,EAAGU,MAAMH,KAAMF,GACfF,EAAWK,MACN,CACLG,aAAaP,GACbA,EAAaQ,YAAW,KACtBT,EAAWK,EACXR,EAAGU,MAAMJ,EAASD,KACjBJ,cAKOY,EAAUb,EAAIc,EAAK,IAAKZ,GACtC,IAAIa,EAEJ,OAAO,YAAaV,GAClB,MAAMC,EAAUJ,GAASK,KACzBI,aAAaI,GACbA,EAAQH,YAAW,WACjBZ,EAAGU,MAAMJ,EAASD,KACjBS","sourcesContent":["export function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n\nexport * from './helper'\nexport * from './style'\nexport * from './url'\n"]}
@@ -1 +1,2 @@
1
- System.register(["./p-44cbb351.system.js","./p-15e45ed6.system.js","@tarojs/taro"],(function(t){"use strict";var n,o,e,r;return{setters:[function(t){n=t.r;o=t.h;e=t.H},function(t){r=t.n},function(){}],execute:function(){var c=t("taro_official_account_core",function(){function t(t){n(this,t)}t.prototype.componentDidLoad=function(){r("OfficialAccount",this)};t.prototype.render=function(){return o(e,null)};return t}())}}}));
1
+ System.register(["./p-8a8f286f.system.js","./p-15e45ed6.system.js","@tarojs/taro"],(function(t){"use strict";var n,o,e,r;return{setters:[function(t){n=t.r;o=t.h;e=t.H},function(t){r=t.n},function(){}],execute:function(){var c=t("taro_official_account_core",function(){function t(t){n(this,t)}t.prototype.componentDidLoad=function(){r("OfficialAccount",this)};t.prototype.render=function(){return o(e,null)};return t}())}}}));
2
+ //# sourceMappingURL=p-580a72d1.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/official-account/official-account.tsx"],"names":["OfficialAccount","exports","class_1","prototype","componentDidLoad","notSupport","this","render","h","Host"],"mappings":"gOAOaA,EAAeC,EAAA,6BAAA,mCAC1BC,EAAAC,UAAAC,iBAAA,WACEC,EAAW,kBAAmBC,OAGhCJ,EAAAC,UAAAI,OAAA,WACE,OACEC,EAACC,EAAI,gBAPiB","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-official-account-core'\n})\nexport class OfficialAccount implements ComponentInterface {\n componentDidLoad () {\n notSupport('OfficialAccount', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -1 +1,2 @@
1
- System.register(["./p-44cbb351.system.js","./p-15e45ed6.system.js","@tarojs/taro"],(function(t){"use strict";var n,e,o,r;return{setters:[function(t){n=t.r;e=t.h;o=t.H},function(t){r=t.n},function(){}],execute:function(){var s=t("taro_open_data_core",function(){function t(t){n(this,t)}t.prototype.componentDidLoad=function(){r("OpenData",this)};t.prototype.render=function(){return e(o,null)};return t}())}}}));
1
+ System.register(["./p-8a8f286f.system.js","./p-15e45ed6.system.js","@tarojs/taro"],(function(t){"use strict";var n,e,o,r;return{setters:[function(t){n=t.r;e=t.h;o=t.H},function(t){r=t.n},function(){}],execute:function(){var s=t("taro_open_data_core",function(){function t(t){n(this,t)}t.prototype.componentDidLoad=function(){r("OpenData",this)};t.prototype.render=function(){return e(o,null)};return t}())}}}));
2
+ //# sourceMappingURL=p-59418be7.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/open-data/open-data.tsx"],"names":["OpenData","exports","class_1","prototype","componentDidLoad","notSupport","this","render","h","Host"],"mappings":"gOAOaA,EAAQC,EAAA,sBAAA,mCACnBC,EAAAC,UAAAC,iBAAA,WACEC,EAAW,WAAYC,OAGzBJ,EAAAC,UAAAI,OAAA,WACE,OACEC,EAACC,EAAI,gBAPU","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-open-data-core'\n})\nexport class OpenData implements ComponentInterface {\n componentDidLoad () {\n notSupport('OpenData', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-8a8f286f.system.js"],(function(r){"use strict";var t,o,e;return{setters:[function(r){t=r.r;o=r.c;e=r.h}],execute:function(){var n="iframe{border:none}.taro-webview{position:fixed;top:0;bottom:0;z-index:999;width:100%;height:100%}";var i=r("taro_web_view_core",function(){function r(r){t(this,r);this.onLoad=o(this,"load",7);this.onError=o(this,"error",7);this.src=undefined}r.prototype.render=function(){var r=this,t=r.src,o=r.onLoad,n=r.onError;return e("iframe",{class:"taro-webview",onLoad:function(r){r.stopPropagation();o.emit({src:t})},onError:function(r){r.stopPropagation();n.emit({src:t})},src:t})};return r}());i.style=n}}}));
2
+ //# sourceMappingURL=p-59e02aca.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/web-view/style/index.scss?tag=taro-web-view-core","src/components/web-view/web-view.tsx"],"names":["indexCss","WebView","exports","class_1","prototype","render","_a","this","src","onLoad","onError","h","class","e","stopPropagation","emit"],"mappings":"kJAAA,IAAMA,EAAW,yGCMJC,EAAOC,EAAA,qBAAA,kHAalBC,EAAAC,UAAAC,OAAA,WACQ,IAAAC,EAIFC,KAHFC,EAAGF,EAAAE,IACHC,EAAMH,EAAAG,OACNC,EAAOJ,EAAAI,QAET,OACEC,EAAA,SAAA,CACEC,MAAM,eACNH,OAAQ,SAACI,GACPA,EAAEC,kBACFL,EAAOM,KAAK,CAAEP,IAAGA,KAEnBE,QAAS,SAACG,GACRA,EAAEC,kBACFJ,EAAQK,KAAK,CAAEP,IAAGA,KAEpBA,IAAKA,cA9BO","sourcesContent":["iframe {\n border: none;\n}\n\n.taro-webview {\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 999;\n width: 100%;\n height: 100%;\n}\n","import { Component, h, ComponentInterface, Prop, Event, EventEmitter } from '@stencil/core'\n\n@Component({\n tag: 'taro-web-view-core',\n styleUrl: './style/index.scss'\n})\nexport class WebView implements ComponentInterface {\n @Prop() src: string\n\n @Event({\n eventName: 'load'\n })\n onLoad: EventEmitter\n\n @Event({\n eventName: 'error'\n })\n onError: EventEmitter\n\n render () {\n const {\n src,\n onLoad,\n onError\n } = this\n return (\n <iframe\n class='taro-webview'\n onLoad={(e: Event) => {\n e.stopPropagation()\n onLoad.emit({ src })\n }}\n onError={(e: Event) => {\n e.stopPropagation()\n onError.emit({ src })\n }}\n src={src}\n />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as o,H as e}from"./p-5bfefd19.js";import{c as s}from"./p-76724e58.js";const a='img[src=""]{opacity:0}taro-image-core{display:inline-block;overflow:hidden;position:relative;width:auto;height:auto;font-size:0}.taro-img.taro-img__widthfix{height:100%}.taro-img__mode-scaletofill{width:100%;height:100%}.taro-img__mode-aspectfit{max-width:100%;max-height:100%}.taro-img__mode-aspectfill{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.taro-img__mode-aspectfill--width{min-width:100%;height:100%}.taro-img__mode-aspectfill--height{width:100%;min-height:100%}.taro-img__mode-widthfix{width:100%}.taro-img__mode-heightfix{height:100%}.taro-img__mode-top{width:100%}.taro-img__mode-bottom{position:absolute;bottom:0;width:100%}.taro-img__mode-left{height:100%}.taro-img__mode-right{position:absolute;right:0;height:100%}.taro-img__mode-topright{position:absolute;right:0}.taro-img__mode-bottomleft{position:absolute;bottom:0}.taro-img__mode-bottomright{position:absolute;right:0;bottom:0}';import("./p-72f327e1.js");const h=class{constructor(o){t(this,o);this.onLoad=i(this,"load",7);this.onError=i(this,"error",7);this.src=undefined;this.mode="scaleToFill";this.lazyLoad=false;this.nativeProps={};this.aspectFillMode="width"}componentDidLoad(){if(!this.lazyLoad)return;const t=new IntersectionObserver((i=>{if(i[i.length-1].isIntersecting){t.unobserve(this.imgRef);this.imgRef.src=this.src}}),{rootMargin:"300px 0px"});t.observe(this.imgRef)}imageOnLoad(){const{width:t,height:i,naturalWidth:o,naturalHeight:e}=this.imgRef;this.onLoad.emit({width:t,height:i});this.aspectFillMode=o>e?"width":"height"}imageOnError(t){this.onError.emit(t)}render(){const{src:t,mode:i="scaleToFill",lazyLoad:a=false,aspectFillMode:h="width",imageOnLoad:r,imageOnError:m,nativeProps:d}=this;const g=s({"taro-img__widthfix":i==="widthFix"});const l=s(`taro-img__mode-${i.toLowerCase().replace(/\s/g,"")}`,{[`taro-img__mode-aspectfill--${h}`]:i==="aspectFill"});return o(e,{class:g},a?o("img",Object.assign({ref:t=>this.imgRef=t,class:l,onLoad:r.bind(this),onError:m.bind(this)},d)):o("img",Object.assign({ref:t=>this.imgRef=t,class:l,src:t,onLoad:r.bind(this),onError:m.bind(this)},d)))}};h.style=a;export{h as taro_image_core};
2
+ //# sourceMappingURL=p-5b552407.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/image/style/index.scss?tag=taro-image-core","src/components/image/image.tsx"],"names":["indexCss","import","Image","[object Object]","this","lazyLoad","lazyImg","IntersectionObserver","entries","length","isIntersecting","unobserve","imgRef","src","rootMargin","observe","width","height","naturalWidth","naturalHeight","onLoad","emit","aspectFillMode","e","onError","mode","imageOnLoad","imageOnError","nativeProps","cls","classNames","taro-img__widthfix","imgCls","toLowerCase","replace","h","Host","class","Object","assign","ref","img","bind"],"mappings":"6FAAA,MAAMA,EAAW,o8BCGjBC,OAAO,yBAsBMC,EAAK,wHAEK,4BACF,uBACG,uBAEI,QAY1BC,mBACE,IAAKC,KAAKC,SAAU,OAEpB,MAAMC,EAAU,IAAIC,sBAAqBC,IAEvC,GAAIA,EAAQA,EAAQC,OAAS,GAAGC,eAAgB,CAC9CJ,EAAQK,UAAUP,KAAKQ,QACvBR,KAAKQ,OAAOC,IAAMT,KAAKS,OAExB,CACDC,WAAY,cAGdR,EAAQS,QAAQX,KAAKQ,QAGvBT,cACE,MAAMa,MACJA,EAAKC,OACLA,EAAMC,aACNA,EAAYC,cACZA,GACEf,KAAKQ,OAETR,KAAKgB,OAAOC,KAAK,CACfL,MAAAA,EACAC,OAAAA,IAGFb,KAAKkB,eAAiBJ,EAAeC,EAAgB,QAAU,SAGjEhB,aAAcoB,GACZnB,KAAKoB,QAAQH,KAAKE,GAGpBpB,SACE,MAAMU,IACJA,EAAGY,KACHA,EAAO,cAAapB,SACpBA,EAAW,MAAKiB,eAChBA,EAAiB,QAAOI,YACxBA,EAAWC,aACXA,EAAYC,YACZA,GACExB,KAEJ,MAAMyB,EAAMC,EAAW,CACrBC,qBAAsBN,IAAS,aAEjC,MAAMO,EAASF,EACb,kBAAkBL,EAAKQ,cAAcC,QAAQ,MAAO,MACpD,CACE/B,CAAC,8BAA8BmB,KAAmBG,IAAS,eAI/D,OACEU,EAACC,EAAI,CAACC,MAAOR,GACVxB,EACC8B,EAAA,MAAAG,OAAAC,OAAA,CACEC,IAAKC,GAAQrC,KAAKQ,OAAS6B,EAC3BJ,MAAOL,EACPZ,OAAQM,EAAYgB,KAAKtC,MACzBoB,QAASG,EAAae,KAAKtC,OACvBwB,IAGNO,EAAA,MAAAG,OAAAC,OAAA,CACEC,IAAKC,GAAQrC,KAAKQ,OAAS6B,EAC3BJ,MAAOL,EACPnB,IAAKA,EACLO,OAAQM,EAAYgB,KAAKtC,MACzBoB,QAASG,EAAae,KAAKtC,OACvBwB","sourcesContent":["img[src=\"\"] {\n opacity: 0;\n}\n\ntaro-image-core {\n display: inline-block;\n overflow: hidden;\n position: relative;\n width: auto;\n height: auto;\n font-size: 0;\n}\n\n.taro-img {\n &.taro-img__widthfix {\n height: 100%;\n }\n\n &__mode {\n &-scaletofill {\n width: 100%;\n height: 100%;\n }\n\n &-aspectfit {\n max-width: 100%;\n max-height: 100%;\n }\n\n &-aspectfill {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n &--width {\n min-width: 100%;\n height: 100%;\n }\n\n &--height {\n width: 100%;\n min-height: 100%;\n }\n }\n\n &-widthfix {\n width: 100%;\n }\n\n &-heightfix {\n height: 100%;\n }\n\n &-top {\n width: 100%;\n }\n\n &-bottom {\n position: absolute;\n bottom: 0;\n width: 100%;\n }\n\n &-left {\n height: 100%;\n }\n\n &-right {\n position: absolute;\n right: 0;\n height: 100%;\n }\n\n // &-topleft {\n // }\n\n &-topright {\n position: absolute;\n right: 0;\n }\n\n &-bottomleft {\n position: absolute;\n bottom: 0;\n }\n\n &-bottomright {\n position: absolute;\n right: 0;\n bottom: 0;\n }\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter } from '@stencil/core'\nimport classNames from 'classnames'\n\nimport('intersection-observer')\n\nexport type Mode =\n 'scaleToFill'\n | 'aspectFit'\n | 'aspectFill'\n | 'widthFix'\n | 'heightFix'\n | 'top'\n | 'bottom'\n | 'center'\n | 'left'\n | 'right'\n | 'top left'\n | 'top right'\n | 'bottom left'\n | 'bottom right'\n\n@Component({\n tag: 'taro-image-core',\n styleUrl: './style/index.scss'\n})\nexport class Image implements ComponentInterface {\n @Prop() src: string\n @Prop() mode: Mode = 'scaleToFill'\n @Prop() lazyLoad = false\n @Prop() nativeProps = {}\n\n @State() aspectFillMode = 'width'\n\n @Event({\n eventName: 'load'\n }) onLoad: EventEmitter\n\n @Event({\n eventName: 'error'\n }) onError: EventEmitter\n\n private imgRef: HTMLImageElement\n\n componentDidLoad () {\n if (!this.lazyLoad) return\n\n const lazyImg = new IntersectionObserver(entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n lazyImg.unobserve(this.imgRef)\n this.imgRef.src = this.src\n }\n }, {\n rootMargin: '300px 0px'\n })\n\n lazyImg.observe(this.imgRef)\n }\n\n imageOnLoad () {\n const {\n width,\n height,\n naturalWidth,\n naturalHeight\n } = this.imgRef\n\n this.onLoad.emit({\n width,\n height\n })\n\n this.aspectFillMode = naturalWidth > naturalHeight ? 'width' : 'height'\n }\n\n imageOnError (e: Event) {\n this.onError.emit(e)\n }\n\n render () {\n const {\n src,\n mode = 'scaleToFill',\n lazyLoad = false,\n aspectFillMode = 'width',\n imageOnLoad,\n imageOnError,\n nativeProps\n } = this\n\n const cls = classNames({\n 'taro-img__widthfix': mode === 'widthFix'\n })\n const imgCls = classNames(\n `taro-img__mode-${mode.toLowerCase().replace(/\\s/g, '')}`,\n {\n [`taro-img__mode-aspectfill--${aspectFillMode}`]: mode === 'aspectFill'\n }\n )\n\n return (\n <Host class={cls}>\n {lazyLoad ? (\n <img\n ref={img => (this.imgRef = img!)}\n class={imgCls}\n onLoad={imageOnLoad.bind(this)}\n onError={imageOnError.bind(this)}\n {...nativeProps}\n />\n ) : (\n <img\n ref={img => (this.imgRef = img!)}\n class={imgCls}\n src={src}\n onLoad={imageOnLoad.bind(this)}\n onError={imageOnError.bind(this)}\n {...nativeProps}\n />\n )}\n </Host>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as t,H as r}from"./p-5bfefd19.js";import{n as s}from"./p-6a96da58.js";import"@tarojs/taro";const a=class{constructor(t){o(this,t)}componentDidLoad(){s("CommentList",this)}render(){return t(r,null)}};export{a as taro_comment_list_core};
2
+ //# sourceMappingURL=p-5bd1c1a1.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/comment/comment-list.tsx"],"names":["CommentList","[object Object]","notSupport","this","h","Host"],"mappings":"iHAOaA,EAAW,+BACtBC,mBACEC,EAAW,cAAeC,MAG5BF,SACE,OACEG,EAACC,EAAI","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-comment-list-core'\n})\nexport class CommentList implements ComponentInterface {\n componentDidLoad () {\n notSupport('CommentList', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}