@cloud-app-dev/vidc 4.0.19 → 4.0.21

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 (410) hide show
  1. package/es/AppContext/Sync.d.ts +8 -0
  2. package/es/AppContext/Sync.js +42 -0
  3. package/es/AppContext/index.d.ts +10 -0
  4. package/es/AppContext/index.js +141 -0
  5. package/es/AppContext/interface.d.ts +41 -0
  6. package/es/AppContext/static.d.ts +8 -0
  7. package/es/AppContext/static.js +9 -0
  8. package/es/Auth/index.d.ts +8 -0
  9. package/es/Auth/index.js +14 -0
  10. package/es/AutoExit/index.d.ts +6 -0
  11. package/es/AutoExit/index.js +19 -0
  12. package/es/CheckGroupFixed/demo.d.ts +3 -0
  13. package/es/CheckGroupFixed/demo.js +22 -0
  14. package/es/CheckGroupFixed/index.d.ts +24 -0
  15. package/es/CheckGroupFixed/index.js +140 -0
  16. package/es/CheckGroupFixed/index.less +56 -0
  17. package/es/Config/index.d.ts +4 -0
  18. package/es/Config/index.js +77 -0
  19. package/es/Config/interface.d.ts +65 -0
  20. package/es/Config/utils.d.ts +4 -0
  21. package/es/Config/utils.js +33 -0
  22. package/es/ConfigContext/index.d.ts +17 -0
  23. package/es/ConfigContext/index.js +21 -0
  24. package/es/CustomRenderSelect/index.d.ts +12 -0
  25. package/es/CustomRenderSelect/index.js +73 -0
  26. package/es/CustomRenderSelect/index.less +25 -0
  27. package/es/DBTools/index.d.ts +25 -0
  28. package/es/DBTools/index.js +336 -0
  29. package/es/DisableMark/index.d.ts +9 -0
  30. package/es/DisableMark/index.js +19 -0
  31. package/es/DisableMark/index.less +9 -0
  32. package/es/DomMove/demo.d.ts +2 -0
  33. package/es/DomMove/demo.js +16 -0
  34. package/es/DomMove/index.d.ts +16 -0
  35. package/es/DomMove/index.js +139 -0
  36. package/es/DomMove/utils.d.ts +8 -0
  37. package/es/DomMove/utils.js +32 -0
  38. package/es/Drag/DragAndDropItem.d.ts +4 -0
  39. package/es/Drag/DragAndDropItem.js +134 -0
  40. package/es/Drag/DropItem.d.ts +4 -0
  41. package/es/Drag/DropItem.js +50 -0
  42. package/es/Drag/index.d.ts +7 -0
  43. package/es/Drag/index.js +7 -0
  44. package/es/Drag/interface.d.ts +16 -0
  45. package/es/DynamicGridList/Demo.d.ts +3 -0
  46. package/es/DynamicGridList/Demo.js +77 -0
  47. package/es/DynamicGridList/index.d.ts +24 -0
  48. package/es/DynamicGridList/index.js +67 -0
  49. package/es/DynamicList/demo.d.ts +2 -0
  50. package/es/DynamicList/demo.js +44 -0
  51. package/es/DynamicList/index.d.ts +22 -0
  52. package/es/DynamicList/index.js +86 -0
  53. package/es/DynamicList/index.less +17 -0
  54. package/es/DynamicList/interface.d.ts +19 -0
  55. package/es/DynamicList/utils.d.ts +4 -0
  56. package/es/DynamicList/utils.js +6 -0
  57. package/es/ErrorFallback/index.d.ts +9 -0
  58. package/es/ErrorFallback/index.js +31 -0
  59. package/es/ErrorFallback/inerface.d.ts +48 -0
  60. package/es/EventTools/index.d.ts +3 -0
  61. package/es/EventTools/index.js +12 -0
  62. package/es/FrontendPlayer/index.d.ts +4 -0
  63. package/es/FrontendPlayer/index.js +2 -0
  64. package/es/FullScreen/index.d.ts +22 -0
  65. package/es/FullScreen/index.js +33 -0
  66. package/es/FullScreen/index.less +18 -0
  67. package/es/GridList/Demo.d.ts +3 -0
  68. package/es/GridList/Demo.js +80 -0
  69. package/es/GridList/data.d.ts +16 -0
  70. package/es/GridList/data.js +609 -0
  71. package/es/GridList/hook.d.ts +13 -0
  72. package/es/GridList/hook.js +270 -0
  73. package/es/GridList/index.d.ts +15 -0
  74. package/es/GridList/index.js +44 -0
  75. package/es/GridList/index.less +8 -0
  76. package/es/GridList/interface.d.ts +59 -0
  77. package/es/GridList/utils.d.ts +9 -0
  78. package/es/GridList/utils.js +42 -0
  79. package/es/HightLevel/index.d.ts +9 -0
  80. package/es/HightLevel/index.js +18 -0
  81. package/es/HightLevel/index.less +3 -0
  82. package/es/IconFont/index.d.ts +12 -0
  83. package/es/IconFont/index.js +54 -0
  84. package/es/ImageView/index.d.ts +20 -0
  85. package/es/ImageView/index.js +51 -0
  86. package/es/ImageView/index.less +11 -0
  87. package/es/InstanceHistory/index.d.ts +3 -0
  88. package/es/InstanceHistory/index.js +7 -0
  89. package/es/LabelPlayer/111.png +0 -0
  90. package/es/LabelPlayer/demo.d.ts +2 -0
  91. package/es/LabelPlayer/demo.js +115 -0
  92. package/es/LabelPlayer/index.d.ts +21 -0
  93. package/es/LabelPlayer/index.js +160 -0
  94. package/es/LabelPlayer/index.less +24 -0
  95. package/es/LabelValue/index.d.ts +15 -0
  96. package/es/LabelValue/index.js +27 -0
  97. package/es/LabelValue/index.less +23 -0
  98. package/es/List/demo.d.ts +3 -0
  99. package/es/List/demo.js +23 -0
  100. package/es/List/index.d.ts +28 -0
  101. package/es/List/index.js +28 -0
  102. package/es/List/index.less +20 -0
  103. package/es/ListWithSizeAnimate/demo.d.ts +2 -0
  104. package/es/ListWithSizeAnimate/demo.js +98 -0
  105. package/es/ListWithSizeAnimate/index.d.ts +14 -0
  106. package/es/ListWithSizeAnimate/index.js +85 -0
  107. package/es/ListWithSizeAnimate/index.less +23 -0
  108. package/es/LoaderScript/index.d.ts +47 -0
  109. package/es/LoaderScript/index.js +34 -0
  110. package/es/LoaderScript/utils.d.ts +13 -0
  111. package/es/LoaderScript/utils.js +179 -0
  112. package/es/Map/AMap.d.ts +7109 -0
  113. package/es/Map/BasicMap/AMapInstance.d.ts +19 -0
  114. package/es/Map/BasicMap/AMapInstance.js +98 -0
  115. package/es/Map/BasicMap/LeafletInstance.d.ts +18 -0
  116. package/es/Map/BasicMap/LeafletInstance.js +111 -0
  117. package/es/Map/BasicMap/index.d.ts +9 -0
  118. package/es/Map/BasicMap/index.js +90 -0
  119. package/es/Map/BasicMap/index.less +29 -0
  120. package/es/Map/ClusterLayer/demo.d.ts +3 -0
  121. package/es/Map/ClusterLayer/demo.js +18 -0
  122. package/es/Map/ClusterLayer/hook.d.ts +5 -0
  123. package/es/Map/ClusterLayer/hook.js +123 -0
  124. package/es/Map/ClusterLayer/index.d.ts +6 -0
  125. package/es/Map/ClusterLayer/index.js +28 -0
  126. package/es/Map/ClusterLayer/index.less +29 -0
  127. package/es/Map/ClusterLayer/props.d.ts +8 -0
  128. package/es/Map/Config/index.d.ts +9 -0
  129. package/es/Map/Config/index.js +48 -0
  130. package/es/Map/Config/utils.d.ts +2 -0
  131. package/es/Map/Config/utils.js +65 -0
  132. package/es/Map/Context/index.d.ts +11 -0
  133. package/es/Map/Context/index.js +51 -0
  134. package/es/Map/FindPio/index.d.ts +4 -0
  135. package/es/Map/FindPio/index.js +13 -0
  136. package/es/Map/FindPio/index.less +7 -0
  137. package/es/Map/InfoWindow/MakerLikeWindow.d.ts +4 -0
  138. package/es/Map/InfoWindow/MakerLikeWindow.js +112 -0
  139. package/es/Map/InfoWindow/demo.d.ts +3 -0
  140. package/es/Map/InfoWindow/demo.js +70 -0
  141. package/es/Map/InfoWindow/index.d.ts +11 -0
  142. package/es/Map/InfoWindow/index.js +66 -0
  143. package/es/Map/LevelCenter/DragMarker/index.d.ts +10 -0
  144. package/es/Map/LevelCenter/DragMarker/index.js +42 -0
  145. package/es/Map/LevelCenter/demo.d.ts +3 -0
  146. package/es/Map/LevelCenter/demo.js +38 -0
  147. package/es/Map/LevelCenter/index.d.ts +15 -0
  148. package/es/Map/LevelCenter/index.js +66 -0
  149. package/es/Map/LoaderMap/index.d.ts +7 -0
  150. package/es/Map/LoaderMap/index.js +62 -0
  151. package/es/Map/MapDrawSelect/demo.d.ts +3 -0
  152. package/es/Map/MapDrawSelect/demo.js +71 -0
  153. package/es/Map/MapDrawSelect/index.d.ts +15 -0
  154. package/es/Map/MapDrawSelect/index.js +56 -0
  155. package/es/Map/MouseTool/index.d.ts +10 -0
  156. package/es/Map/MouseTool/index.js +40 -0
  157. package/es/Map/MouseTool/useMouseTools.d.ts +7 -0
  158. package/es/Map/MouseTool/useMouseTools.js +83 -0
  159. package/es/Map/ResetTools/index.d.ts +10 -0
  160. package/es/Map/ResetTools/index.js +57 -0
  161. package/es/Map/ResetTools/index.less +39 -0
  162. package/es/Map/SinglePoint/demo.d.ts +3 -0
  163. package/es/Map/SinglePoint/demo.js +14 -0
  164. package/es/Map/SinglePoint/index.d.ts +27 -0
  165. package/es/Map/SinglePoint/index.js +52 -0
  166. package/es/Map/SinglePoint/index.less +41 -0
  167. package/es/Map/hook/useMapEvent.d.ts +2 -0
  168. package/es/Map/hook/useMapEvent.js +19 -0
  169. package/es/Map/hook/useMapType.d.ts +4 -0
  170. package/es/Map/hook/useMapType.js +12 -0
  171. package/es/Map/icon.d.ts +2 -0
  172. package/es/Map/icon.js +10 -0
  173. package/es/Map/index.d.ts +24 -0
  174. package/es/Map/index.js +25 -0
  175. package/es/Map/interface.d.ts +74 -0
  176. package/es/Map/points.d.ts +50 -0
  177. package/es/Map/points.js +1 -0
  178. package/es/Map/useMarker/index.d.ts +10 -0
  179. package/es/Map/useMarker/index.js +71 -0
  180. package/es/Map/withMap/index.d.ts +3 -0
  181. package/es/Map/withMap/index.js +10 -0
  182. package/es/Picture/component/DefaultRects/RectInfo.d.ts +8 -0
  183. package/es/Picture/component/DefaultRects/RectInfo.js +80 -0
  184. package/es/Picture/component/DefaultRects/index.d.ts +13 -0
  185. package/es/Picture/component/DefaultRects/index.js +52 -0
  186. package/es/Picture/component/DefaultRects/index.less +211 -0
  187. package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
  188. package/es/Picture/component/DefaultRects/utils.js +11 -0
  189. package/es/Picture/component/DrawRect/index.d.ts +13 -0
  190. package/es/Picture/component/DrawRect/index.js +46 -0
  191. package/es/Picture/component/DrawRect/index.less +8 -0
  192. package/es/Picture/component/RectMenu/index.d.ts +12 -0
  193. package/es/Picture/component/RectMenu/index.js +76 -0
  194. package/es/Picture/component/RectMenu/index.less +36 -0
  195. package/es/Picture/component/RectMenu/utils.d.ts +12 -0
  196. package/es/Picture/component/RectMenu/utils.js +19 -0
  197. package/es/Picture/component/Tools/index.d.ts +12 -0
  198. package/es/Picture/component/Tools/index.js +73 -0
  199. package/es/Picture/component/Tools/index.less +49 -0
  200. package/es/Picture/component/WheelScale/index.d.ts +7 -0
  201. package/es/Picture/component/WheelScale/index.js +27 -0
  202. package/es/Picture/demo.d.ts +2 -0
  203. package/es/Picture/demo.js +105 -0
  204. package/es/Picture/index.d.ts +5 -0
  205. package/es/Picture/index.js +341 -0
  206. package/es/Picture/index.less +20 -0
  207. package/es/Picture/interface.d.ts +196 -0
  208. package/es/Picture/loadCaptureRectImage.d.ts +3 -0
  209. package/es/Picture/loadCaptureRectImage.js +99 -0
  210. package/es/Picture/useDraw.d.ts +1 -0
  211. package/es/Picture/useDraw.js +103 -0
  212. package/es/Picture/utils.d.ts +26 -0
  213. package/es/Picture/utils.js +143 -0
  214. package/es/Player/api/index.d.ts +68 -0
  215. package/es/Player/api/index.js +309 -0
  216. package/es/Player/context.d.ts +17 -0
  217. package/es/Player/context.js +24 -0
  218. package/es/Player/contraller_bar/bar.d.ts +8 -0
  219. package/es/Player/contraller_bar/bar.js +20 -0
  220. package/es/Player/contraller_bar/contraller_event.d.ts +6 -0
  221. package/es/Player/contraller_bar/contraller_event.js +50 -0
  222. package/es/Player/contraller_bar/index.d.ts +14 -0
  223. package/es/Player/contraller_bar/index.js +27 -0
  224. package/es/Player/contraller_bar/left_bar.d.ts +10 -0
  225. package/es/Player/contraller_bar/left_bar.js +83 -0
  226. package/es/Player/contraller_bar/right_bar.d.ts +8 -0
  227. package/es/Player/contraller_bar/right_bar.js +32 -0
  228. package/es/Player/contraller_bar/time.d.ts +3 -0
  229. package/es/Player/contraller_bar/time.js +19 -0
  230. package/es/Player/contraller_bar/useBarStatus.d.ts +2 -0
  231. package/es/Player/contraller_bar/useBarStatus.js +43 -0
  232. package/es/Player/contraller_bar/volume.d.ts +9 -0
  233. package/es/Player/contraller_bar/volume.js +62 -0
  234. package/es/Player/demo.d.ts +3 -0
  235. package/es/Player/demo.js +266 -0
  236. package/es/Player/empty.d.ts +2 -0
  237. package/es/Player/empty.js +4 -0
  238. package/es/Player/event/errorEvent.d.ts +14 -0
  239. package/es/Player/event/errorEvent.js +88 -0
  240. package/es/Player/event/eventName.d.ts +18 -0
  241. package/es/Player/event/eventName.js +29 -0
  242. package/es/Player/event/index.d.ts +24 -0
  243. package/es/Player/event/index.js +205 -0
  244. package/es/Player/fps_play.d.ts +11 -0
  245. package/es/Player/fps_play.js +83 -0
  246. package/es/Player/frontend_player.d.ts +8 -0
  247. package/es/Player/frontend_player.js +64 -0
  248. package/es/Player/frontend_timeline.d.ts +10 -0
  249. package/es/Player/frontend_timeline.js +132 -0
  250. package/es/Player/iconfont.d.ts +5 -0
  251. package/es/Player/iconfont.js +16 -0
  252. package/es/Player/index.d.ts +2 -0
  253. package/es/Player/index.js +2 -0
  254. package/es/Player/live_heart.d.ts +8 -0
  255. package/es/Player/live_heart.js +45 -0
  256. package/es/Player/message.d.ts +5 -0
  257. package/es/Player/message.js +137 -0
  258. package/es/Player/player.d.ts +233 -0
  259. package/es/Player/segment_player.d.ts +9 -0
  260. package/es/Player/segment_player.js +228 -0
  261. package/es/Player/segment_timeline.d.ts +12 -0
  262. package/es/Player/segment_timeline.js +173 -0
  263. package/es/Player/single_player.d.ts +5 -0
  264. package/es/Player/single_player.js +262 -0
  265. package/es/Player/style/bar.less +43 -0
  266. package/es/Player/style/iconfont.js +43 -0
  267. package/es/Player/style/index.less +34 -0
  268. package/es/Player/style/message.less +56 -0
  269. package/es/Player/style/slider.less +106 -0
  270. package/es/Player/style/timeline.less +117 -0
  271. package/es/Player/style/volume.less +24 -0
  272. package/es/Player/timeline.d.ts +5 -0
  273. package/es/Player/timeline.js +95 -0
  274. package/es/Player/util.d.ts +43 -0
  275. package/es/Player/util.js +189 -0
  276. package/es/PlayerExt/demo.d.ts +3 -0
  277. package/es/PlayerExt/demo.js +154 -0
  278. package/es/PlayerExt/index.d.ts +48 -0
  279. package/es/PlayerExt/index.js +188 -0
  280. package/es/PlayerExt/index.less +10 -0
  281. package/es/Progress/index.d.ts +7 -0
  282. package/es/Progress/index.js +53 -0
  283. package/es/Progress/index.less +21 -0
  284. package/es/ROI/demo.d.ts +3 -0
  285. package/es/ROI/demo.js +16 -0
  286. package/es/ROI/index.d.ts +33 -0
  287. package/es/ROI/index.js +54 -0
  288. package/es/ROI/index.less +33 -0
  289. package/es/RefDrawer/Footer.d.ts +9 -0
  290. package/es/RefDrawer/Footer.js +22 -0
  291. package/es/RefDrawer/demo.d.ts +3 -0
  292. package/es/RefDrawer/demo.js +18 -0
  293. package/es/RefDrawer/index.d.ts +26 -0
  294. package/es/RefDrawer/index.js +71 -0
  295. package/es/RefModal/demo.d.ts +3 -0
  296. package/es/RefModal/demo.js +18 -0
  297. package/es/RefModal/index.d.ts +17 -0
  298. package/es/RefModal/index.js +70 -0
  299. package/es/ScreenPlayer/Live.d.ts +5 -0
  300. package/es/ScreenPlayer/Live.js +212 -0
  301. package/es/ScreenPlayer/LiveTools.d.ts +29 -0
  302. package/es/ScreenPlayer/LiveTools.js +151 -0
  303. package/es/ScreenPlayer/PlayerWithExt.d.ts +34 -0
  304. package/es/ScreenPlayer/PlayerWithExt.js +231 -0
  305. package/es/ScreenPlayer/RatePick.d.ts +8 -0
  306. package/es/ScreenPlayer/RatePick.js +29 -0
  307. package/es/ScreenPlayer/Record.d.ts +10 -0
  308. package/es/ScreenPlayer/Record.js +442 -0
  309. package/es/ScreenPlayer/RecordTools.d.ts +38 -0
  310. package/es/ScreenPlayer/RecordTools.js +197 -0
  311. package/es/ScreenPlayer/ScreenSelect.d.ts +7 -0
  312. package/es/ScreenPlayer/ScreenSelect.js +46 -0
  313. package/es/ScreenPlayer/SegmentTimeLine.d.ts +17 -0
  314. package/es/ScreenPlayer/SegmentTimeLine.js +36 -0
  315. package/es/ScreenPlayer/TimeMode.d.ts +7 -0
  316. package/es/ScreenPlayer/TimeMode.js +26 -0
  317. package/es/ScreenPlayer/TimeSelect.d.ts +7 -0
  318. package/es/ScreenPlayer/TimeSelect.js +88 -0
  319. package/es/ScreenPlayer/demo.d.ts +2 -0
  320. package/es/ScreenPlayer/demo.js +21 -0
  321. package/es/ScreenPlayer/demo2.d.ts +2 -0
  322. package/es/ScreenPlayer/demo2.js +194 -0
  323. package/es/ScreenPlayer/index.d.ts +6 -0
  324. package/es/ScreenPlayer/index.js +9 -0
  325. package/es/ScreenPlayer/index.less +335 -0
  326. package/es/ScreenPlayer/interface.d.ts +216 -0
  327. package/es/ScreenPlayer/useTimeSlider.d.ts +25 -0
  328. package/es/ScreenPlayer/useTimeSlider.js +451 -0
  329. package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
  330. package/es/ScreenPlayer/useVideoFit.js +35 -0
  331. package/es/ScreenPlayer/utils.d.ts +17 -0
  332. package/es/ScreenPlayer/utils.js +85 -0
  333. package/es/SegmentPlayer/index.d.ts +2 -0
  334. package/es/SegmentPlayer/index.js +2 -0
  335. package/es/Service/http.d.ts +6 -0
  336. package/es/Service/http.js +133 -0
  337. package/es/Service/index.d.ts +3 -0
  338. package/es/Service/index.js +11 -0
  339. package/es/Service/interface.d.ts +23 -0
  340. package/es/Service/middleware.d.ts +8 -0
  341. package/es/Service/middleware.js +22 -0
  342. package/es/SocketEmitter/eventEmitter.d.ts +27 -0
  343. package/es/SocketEmitter/eventEmitter.js +88 -0
  344. package/es/SocketEmitter/index.d.ts +24 -0
  345. package/es/SocketEmitter/index.js +125 -0
  346. package/es/SocketEmitter/interface.d.ts +4 -0
  347. package/es/TableLayout/index.d.ts +10 -0
  348. package/es/TableLayout/index.js +27 -0
  349. package/es/TableLayout/index.less +4 -0
  350. package/es/ThemeAntd/demo.d.ts +4 -0
  351. package/es/ThemeAntd/demo.js +81 -0
  352. package/es/ThemeAntd/demo.less +20 -0
  353. package/es/ThemeAntd/index.d.ts +7 -0
  354. package/es/ThemeAntd/index.js +21 -0
  355. package/es/ThemeAntd/index.less +4 -0
  356. package/es/Timeout/index.d.ts +26 -0
  357. package/es/Timeout/index.js +65 -0
  358. package/es/bigNumberTransformCN/index.d.ts +5 -0
  359. package/es/bigNumberTransformCN/index.js +58 -0
  360. package/es/cache/index.d.ts +34 -0
  361. package/es/cache/index.js +94 -0
  362. package/es/copy/index.d.ts +1 -0
  363. package/es/copy/index.js +9 -0
  364. package/es/core.d.ts +0 -0
  365. package/es/getThemeStyle/index.d.ts +2 -0
  366. package/es/getThemeStyle/index.js +5 -0
  367. package/es/index.d.ts +62 -0
  368. package/es/index.js +62 -0
  369. package/es/likeGo/index.d.ts +2 -0
  370. package/es/likeGo/index.js +31 -0
  371. package/es/likeGoSync/index.d.ts +2 -0
  372. package/es/likeGoSync/index.js +10 -0
  373. package/es/logger/index.d.ts +7 -0
  374. package/es/logger/index.js +30 -0
  375. package/es/nextTick/index.d.ts +1 -0
  376. package/es/nextTick/index.js +3 -0
  377. package/es/recorder/demo.d.ts +3 -0
  378. package/es/recorder/demo.js +181 -0
  379. package/es/recorder/index.d.ts +294 -0
  380. package/es/recorder/index.js +992 -0
  381. package/es/submidstr/index.d.ts +5 -0
  382. package/es/submidstr/index.js +14 -0
  383. package/es/treeHelper/index.d.ts +11 -0
  384. package/es/treeHelper/index.js +188 -0
  385. package/es/typings.d.ts +2 -0
  386. package/es/useDrawROI/index.d.ts +16 -0
  387. package/es/useDrawROI/index.js +318 -0
  388. package/es/useEventEmitterHandle/index.d.ts +2 -0
  389. package/es/useEventEmitterHandle/index.js +17 -0
  390. package/es/useFullscreen/demo.d.ts +2 -0
  391. package/es/useFullscreen/demo.js +43 -0
  392. package/es/useFullscreen/index.d.ts +12 -0
  393. package/es/useFullscreen/index.js +76 -0
  394. package/es/useHistory/index.d.ts +3 -0
  395. package/es/useHistory/index.js +9 -0
  396. package/es/useHistory/interface.d.ts +3 -0
  397. package/es/useInfiniteScroll/index.d.ts +16 -0
  398. package/es/useInfiniteScroll/index.js +102 -0
  399. package/es/useRafInterval/index.d.ts +5 -0
  400. package/es/useRafInterval/index.js +71 -0
  401. package/es/useSimpleState/index.d.ts +3 -0
  402. package/es/useSimpleState/index.js +35 -0
  403. package/es/useVirtualList/index.d.ts +13 -0
  404. package/es/useVirtualList/index.js +136 -0
  405. package/es/utils.d.ts +14 -0
  406. package/es/utils.js +46 -0
  407. package/es/uuid/index.d.ts +5 -0
  408. package/es/uuid/index.js +6 -0
  409. package/package.json +1 -1
  410. package/tsconfig.json +1 -1
@@ -0,0 +1,233 @@
1
+ import type Flvjs from '@cloud-app-dev/mpegts.js';
2
+ import type Hls from 'hls.js';
3
+ import type { HlsConfig } from 'hls.js';
4
+ import type React from 'react';
5
+ import type Api from './api';
6
+ import type VideoEventInstance from './event';
7
+
8
+ export type FlvPlayerConfig = {
9
+ mediaDataSource: Flvjs.MediaDataSource;
10
+ config: Flvjs.Config;
11
+ };
12
+
13
+ export interface ISinglePlayerProps {
14
+ /**
15
+ * 视频播放地址
16
+ */
17
+ url?: string;
18
+
19
+ /**
20
+ * 容器类名
21
+ */
22
+ className?: string;
23
+ children?: React.ReactNode;
24
+
25
+ /**
26
+ * 同html video muted 静音
27
+ * @default true
28
+ */
29
+ muted?: boolean;
30
+ /**
31
+ * 同html video autoplay 自动播放
32
+ * @default true
33
+ */
34
+ autoPlay?: boolean;
35
+
36
+ /**
37
+ * 同html video playsinline 自动播放
38
+ * @default false
39
+ */
40
+ playsInline?: boolean;
41
+ /**
42
+ *同html video preload 预加载
43
+ */
44
+ preload?: string;
45
+ /**
46
+ * 视频封面
47
+ */
48
+ poster?: string;
49
+
50
+ /**
51
+ * 同html video loop 循环
52
+ * @default false
53
+ */
54
+ loop?: boolean;
55
+
56
+ /**
57
+ * 视频格式
58
+ * @default 'native'
59
+ */
60
+ type?: 'flv' | 'hls' | 'native';
61
+
62
+ /**
63
+ * 隐藏工具栏
64
+ * @default false
65
+ */
66
+ hideContrallerBar?: boolean;
67
+
68
+ /**
69
+ * 直播模式
70
+ * @default true
71
+ */
72
+ isLive?: boolean;
73
+
74
+ /**
75
+ * 工具栏右外侧拓展
76
+ */
77
+ rightExtContents?: React.ReactNode;
78
+ /**
79
+ * 工具栏右内侧拓展
80
+ */
81
+ rightMidExtContents?: React.ReactNode;
82
+ /**
83
+ * 工具栏左外侧拓展
84
+ */
85
+ leftExtContents?: React.ReactNode;
86
+ /**
87
+ * 工具栏左内侧拓展
88
+ */
89
+ leftMidExtContents?: React.ReactNode;
90
+
91
+ /**
92
+ * 自定义时间轴
93
+ */
94
+ customTimeLine?: React.ReactNode;
95
+
96
+ /**
97
+ * 错误重试次数
98
+ * @default 5
99
+ */
100
+ errorReloadTimer?: number;
101
+
102
+ /**
103
+ * 自定义flv参数配置
104
+ * @type FlvPlayerConfig
105
+ */
106
+ flvConfig?: FlvPlayerConfig;
107
+
108
+ /**
109
+ * 自定义hls参数配置
110
+ * @type HlsConfig
111
+ */
112
+ hlsConfig?: HlsConfig;
113
+
114
+ /**
115
+ * 自定义reload函数
116
+ */
117
+ reload?: () => void;
118
+
119
+ /**
120
+ * extaction
121
+ */
122
+ extActions?: { [key: string]: (...args: any) => void };
123
+
124
+ /**
125
+ * 视频可播放时执行钩子
126
+ */
127
+ onCanPlayerInit?: () => void;
128
+
129
+ /**
130
+ * 自定义video事件
131
+ */
132
+ videoEvents?: CustomEvent[];
133
+
134
+ /**
135
+ * 自定义播放器的事件
136
+ */
137
+ playerEvents?: CustomEvent[];
138
+
139
+ /**
140
+ * 开启单帧播放
141
+ */
142
+ oneFpsPlay?: boolean;
143
+
144
+ /**
145
+ * 获取视频针的频次 (ms)
146
+ */
147
+ fpsDelay?: number;
148
+
149
+ /**
150
+ * 视频每秒多少帧,用于控制逐帧播放
151
+ */
152
+ fps?: number;
153
+ }
154
+
155
+ export interface IFrontendPlayerProps extends Omit<ISinglePlayerProps, 'isLive' | 'reload'> {
156
+ /**
157
+ * 前端录像开始时间
158
+ */
159
+ begin?: number;
160
+
161
+ /**
162
+ * 前端录像结束时间
163
+ */
164
+ end?: number;
165
+
166
+ /**
167
+ * 录像时间轴发生变化回调
168
+ */
169
+ onSeek?: (time: number) => void;
170
+
171
+ forwordRef?: React.MutableRefObject<ExportPlayerType>;
172
+ }
173
+
174
+ export interface ISegmentPlayerProps extends Omit<ISinglePlayerProps, 'url'> {
175
+ /**
176
+ * 云录像片段信息
177
+ */
178
+ segments?: ISegmentType[];
179
+
180
+ /**
181
+ * 云录像开始时间
182
+ */
183
+ begin?: number;
184
+
185
+ forwordRef?: React.MutableRefObject<ExportPlayerType>;
186
+
187
+ defaultIndex?: number;
188
+ }
189
+
190
+ export const SinglePlayer: React.FunctionComponent<ISinglePlayerProps>;
191
+ export const FrontendPlayer: React.FunctionComponent<IFrontendPlayerProps>;
192
+ export const SegmentPlayer: React.FunctionComponent<ISegmentPlayerProps>;
193
+
194
+ export type EventInfo = {
195
+ type: string;
196
+ listener: ((...args: any) => void)[];
197
+ };
198
+
199
+ export type ExportPlayerType = {
200
+ video: HTMLVideoElement;
201
+ container: HTMLElement;
202
+ api: Api;
203
+ event: VideoEventInstance;
204
+ plugins: [Flvjs.Player, Hls];
205
+ fit?: string;
206
+ setIndex?: (i: number) => void;
207
+ seekTo?: (i: number) => void;
208
+ reload?: () => void;
209
+ };
210
+
211
+ export interface ISegmentType {
212
+ id?: string;
213
+ /**
214
+ * 视频片段地址
215
+ */
216
+ url?: string;
217
+
218
+ /**
219
+ * 片段开始时间
220
+ */
221
+ beginTime: number;
222
+
223
+ /**
224
+ * 片段结束时间
225
+ */
226
+ endTime: number;
227
+
228
+ style?: any;
229
+ }
230
+
231
+ export const ISegmentTypeDemo: React.FC<ISegmentType>;
232
+
233
+ export type CustomEvent = [string, () => void];
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { ISegmentPlayerProps } from './player';
3
+ /**
4
+ * @desc 主组件,负责片段整体逻辑控制
5
+ * @param param0
6
+ * @returns
7
+ */
8
+ declare function SegmentPlayer({ segments, begin, forwordRef, defaultIndex, onCanPlayerInit, customTimeLine, ...props }: ISegmentPlayerProps): React.JSX.Element;
9
+ export default SegmentPlayer;
@@ -0,0 +1,228 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["segments", "begin", "forwordRef", "defaultIndex", "onCanPlayerInit", "customTimeLine"];
3
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
5
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ import { useLatest, useUpdate } from 'ahooks';
18
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
19
+ import { useRegisterPlayerEvent, useVideoEvent } from "./event";
20
+ import Events from "./event/eventName";
21
+ import SegmentTimeLine from "./segment_timeline";
22
+ import SinglePlayer from "./single_player";
23
+
24
+ /**
25
+ * @desc 计算第一个url
26
+ * @param segments
27
+ * @param defaultIndex
28
+ * @returns
29
+ */
30
+ function getFirstUrlIndex(segments) {
31
+ var defaultIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
32
+ if (!(Array.isArray(segments) && segments.length > 0)) {
33
+ return defaultIndex;
34
+ }
35
+ if (segments[defaultIndex].url) {
36
+ return defaultIndex;
37
+ } else {
38
+ var i = defaultIndex + 1;
39
+ if (i > segments.length) {
40
+ return i;
41
+ }
42
+ return getFirstUrlIndex(segments, i);
43
+ }
44
+ }
45
+
46
+ /**
47
+ * @desc 片段索引控制
48
+ * @param event
49
+ * @param segments
50
+ * @returns
51
+ */
52
+ function usePlayIndex(event, segments) {
53
+ var defaultIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
54
+ var _useState = useState({
55
+ index: getFirstUrlIndex(segments !== null && segments !== void 0 ? segments : [], defaultIndex)
56
+ }),
57
+ _useState2 = _slicedToArray(_useState, 2),
58
+ state = _useState2[0],
59
+ setState = _useState2[1];
60
+ // 片段发生变化重新开始计算索引
61
+ useEffect(function () {
62
+ var index = getFirstUrlIndex(segments !== null && segments !== void 0 ? segments : [], 0);
63
+ setState(function (old) {
64
+ return _objectSpread(_objectSpread({}, old), {}, {
65
+ index: index
66
+ });
67
+ });
68
+ }, [segments]);
69
+
70
+ // 索引不存在播放地址,自动跳转下一段
71
+ useEffect(function () {
72
+ var _segments$state$index, _segments$length;
73
+ if (!(segments !== null && segments !== void 0 && (_segments$state$index = segments[state.index]) !== null && _segments$state$index !== void 0 && _segments$state$index.url) && state.index < ((_segments$length = segments === null || segments === void 0 ? void 0 : segments.length) !== null && _segments$length !== void 0 ? _segments$length : 0) - 1) {
74
+ setState(function (old) {
75
+ return _objectSpread(_objectSpread({}, old), {}, {
76
+ index: old.index + 1
77
+ });
78
+ });
79
+ }
80
+ }, [segments, state.index]);
81
+
82
+ // 监听片段播放状态,自动跳转下一个片段
83
+ var endHandle = function endHandle() {
84
+ return setState(function (old) {
85
+ var _segments$length2;
86
+ return _objectSpread(_objectSpread({}, old), {}, {
87
+ index: old.index + 1 < ((_segments$length2 = segments === null || segments === void 0 ? void 0 : segments.length) !== null && _segments$length2 !== void 0 ? _segments$length2 : 0) ? old.index + 1 : old.index
88
+ });
89
+ });
90
+ };
91
+ useVideoEvent('ended', endHandle, event);
92
+ useRegisterPlayerEvent(Events.PLAY_ENDED, endHandle, event);
93
+ return {
94
+ index: state.index,
95
+ setIndex: function setIndex(i) {
96
+ return setState(function (old) {
97
+ return _objectSpread(_objectSpread({}, old), {}, {
98
+ index: i
99
+ });
100
+ });
101
+ }
102
+ };
103
+ }
104
+
105
+ /**
106
+ * @desc 主组件,负责片段整体逻辑控制
107
+ * @param param0
108
+ * @returns
109
+ */
110
+ function SegmentPlayer(_ref) {
111
+ var segments = _ref.segments,
112
+ begin = _ref.begin,
113
+ forwordRef = _ref.forwordRef,
114
+ defaultIndex = _ref.defaultIndex,
115
+ onCanPlayerInit = _ref.onCanPlayerInit,
116
+ customTimeLine = _ref.customTimeLine,
117
+ props = _objectWithoutProperties(_ref, _excluded);
118
+ var _useState3 = useState({
119
+ seekTime: 0
120
+ }),
121
+ _useState4 = _slicedToArray(_useState3, 2),
122
+ state = _useState4[0],
123
+ setState = _useState4[1];
124
+ var latestSegmentsRef = useLatest(segments);
125
+ var update = useUpdate();
126
+ var ref = useRef(null);
127
+ var playRef = forwordRef ? forwordRef : ref;
128
+ var _ref2 = playRef.current || {},
129
+ api = _ref2.api,
130
+ event = _ref2.event;
131
+ var duration = useMemo(function () {
132
+ return segments === null || segments === void 0 ? void 0 : segments.map(function (v) {
133
+ return (v.endTime - v.beginTime) / 1000;
134
+ }).reduce(function (a, b) {
135
+ return a + b;
136
+ }, 0);
137
+ }, [segments]);
138
+ var _usePlayIndex = usePlayIndex(event, segments, defaultIndex),
139
+ index = _usePlayIndex.index,
140
+ setIndex = _usePlayIndex.setIndex;
141
+ var url = useMemo(function () {
142
+ return segments !== null && segments !== void 0 && segments[index] ? segments[index].url : undefined;
143
+ }, [segments, index]);
144
+ // 重置reload
145
+ var reload = function reload() {
146
+ var _playRef$current$plug, _playRef$current, _playRef$current2, _playRef$current3, _playRef$current4;
147
+ var _ref3 = (_playRef$current$plug = (_playRef$current = playRef.current) === null || _playRef$current === void 0 ? void 0 : _playRef$current.plugins) !== null && _playRef$current$plug !== void 0 ? _playRef$current$plug : [],
148
+ _ref4 = _slicedToArray(_ref3, 2),
149
+ hls = _ref4[1];
150
+ if (hls) {
151
+ hls.swapAudioCodec();
152
+ hls.recoverMediaError();
153
+ }
154
+ (_playRef$current2 = playRef.current) === null || _playRef$current2 === void 0 || _playRef$current2.event.emit(Events.RELOAD);
155
+ (_playRef$current3 = playRef.current) === null || _playRef$current3 === void 0 || _playRef$current3.event.emit(Events.CLEAR_ERROR_TIMER);
156
+ setIndex(0);
157
+ (_playRef$current4 = playRef.current) === null || _playRef$current4 === void 0 || _playRef$current4.api.reload();
158
+ };
159
+
160
+ // time 毫秒的时间戳
161
+ var seekTo = function seekTo(time) {
162
+ var _latestSegmentsRef$cu, _playRef$current$plug2, _playRef$current5, _cSegments$index;
163
+ var cSegments = (_latestSegmentsRef$cu = latestSegmentsRef.current) !== null && _latestSegmentsRef$cu !== void 0 ? _latestSegmentsRef$cu : [];
164
+ var index = cSegments.findIndex(function (v) {
165
+ return time >= v.beginTime && time < v.endTime;
166
+ });
167
+ if (index === -1) {
168
+ return;
169
+ }
170
+ var _ref5 = (_playRef$current$plug2 = (_playRef$current5 = playRef.current) === null || _playRef$current5 === void 0 ? void 0 : _playRef$current5.plugins) !== null && _playRef$current$plug2 !== void 0 ? _playRef$current$plug2 : [],
171
+ _ref6 = _slicedToArray(_ref5, 2),
172
+ hls = _ref6[1];
173
+ if (hls) {
174
+ hls.swapAudioCodec();
175
+ hls.recoverMediaError();
176
+ }
177
+ var currentTime = time - ((_cSegments$index = cSegments[index]) === null || _cSegments$index === void 0 ? void 0 : _cSegments$index.beginTime);
178
+ setIndex(index);
179
+ setState(function (old) {
180
+ return _objectSpread(_objectSpread({}, old), {}, {
181
+ seekTime: currentTime / 1000
182
+ });
183
+ });
184
+ };
185
+
186
+ // 处理seek 后index变化后 cuurenttime变化的过程
187
+ useEffect(function () {
188
+ var _playRef$current6;
189
+ if (state.seekTime === 0) {
190
+ return;
191
+ }
192
+ setState(function (old) {
193
+ return _objectSpread(_objectSpread({}, old), {}, {
194
+ seekTime: 0
195
+ });
196
+ });
197
+ if ((_playRef$current6 = playRef.current) !== null && _playRef$current6 !== void 0 && _playRef$current6.video) {
198
+ playRef.current.video.currentTime = state.seekTime;
199
+ }
200
+ // eslint-disable-next-line react-hooks/exhaustive-deps
201
+ }, [state.seekTime]);
202
+ var hasReady = api && event;
203
+ var timeline = customTimeLine !== null && customTimeLine !== void 0 ? customTimeLine : /*#__PURE__*/React.createElement(SegmentTimeLine, {
204
+ begin: begin !== null && begin !== void 0 ? begin : 0,
205
+ seekTo: seekTo,
206
+ index: index,
207
+ segments: segments !== null && segments !== void 0 ? segments : [],
208
+ duration: duration !== null && duration !== void 0 ? duration : 0
209
+ });
210
+ var onInit = useCallback(function () {
211
+ update();
212
+ onCanPlayerInit === null || onCanPlayerInit === void 0 || onCanPlayerInit();
213
+ // eslint-disable-next-line react-hooks/exhaustive-deps
214
+ }, []);
215
+ return /*#__PURE__*/React.createElement(SinglePlayer, _extends({
216
+ ref: playRef,
217
+ url: url,
218
+ isLive: false,
219
+ onCanPlayerInit: onInit,
220
+ reload: reload,
221
+ extActions: {
222
+ setIndex: setIndex,
223
+ seekTo: seekTo
224
+ },
225
+ customTimeLine: hasReady ? timeline : /*#__PURE__*/React.createElement(React.Fragment, null)
226
+ }, props));
227
+ }
228
+ export default SegmentPlayer;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { ISegmentType } from './player';
3
+ import './style/timeline.less';
4
+ interface ITimeLineProps {
5
+ index: number;
6
+ segments: ISegmentType[];
7
+ duration: number;
8
+ begin: number;
9
+ seekTo: (time: number) => void;
10
+ }
11
+ declare function SegmentTimeLine({ index, segments, duration, begin, seekTo }: ITimeLineProps): React.JSX.Element;
12
+ export default SegmentTimeLine;
@@ -0,0 +1,173 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import { Tooltip } from 'antd';
14
+ import moment from 'dayjs';
15
+ import React, { startTransition, useMemo, useState } from 'react';
16
+ import useBarStatus from "./contraller_bar/useBarStatus";
17
+ import "./style/timeline.less";
18
+ import { useTimes } from "./timeline";
19
+ import { FMT } from "./util";
20
+ function TipTitle(_ref) {
21
+ var index = _ref.index,
22
+ segments = _ref.segments,
23
+ begin = _ref.begin,
24
+ current = _ref.current,
25
+ markTime = _ref.markTime;
26
+ var _useMemo = useMemo(function () {
27
+ if (index === 0) {
28
+ var _start = begin;
29
+ var _end = begin + (segments[0].endTime - segments[0].beginTime);
30
+ return {
31
+ start: moment(_start).format(FMT),
32
+ end: moment(_end).format(FMT)
33
+ };
34
+ }
35
+ var indexDuration = segments.map(function (v) {
36
+ return v.endTime - v.beginTime;
37
+ }).reduce(function (a, b, i) {
38
+ return i >= index ? a : a + b;
39
+ }, 0);
40
+ var start = begin + indexDuration;
41
+ var end = start + (segments[index].endTime - segments[index].beginTime);
42
+ return {
43
+ start: moment(start).format(FMT),
44
+ end: moment(end).format(FMT)
45
+ };
46
+ }, [index, segments, begin]),
47
+ start = _useMemo.start,
48
+ end = _useMemo.end;
49
+ var hasUrl = useMemo(function () {
50
+ var _segments$index;
51
+ return (_segments$index = segments[index]) !== null && _segments$index !== void 0 && _segments$index.url ? true : false;
52
+ }, [index, segments]);
53
+ return /*#__PURE__*/React.createElement("div", {
54
+ className: "segment-line-tip-box"
55
+ }, /*#__PURE__*/React.createElement("div", {
56
+ style: {
57
+ fontWeight: 600
58
+ }
59
+ }, "\u5F55\u50CF\u7247\u6BB5\u4FE1\u606F"), /*#__PURE__*/React.createElement("div", null, "\u5F00\u59CB\uFF1A", start), /*#__PURE__*/React.createElement("div", null, "\u7ED3\u675F\uFF1A", end), /*#__PURE__*/React.createElement("div", null, "\u523B\u5EA6\uFF1A", moment(markTime).format(FMT)), /*#__PURE__*/React.createElement("div", null, "\u5F53\u524D\uFF1A", moment(current).format(FMT)), /*#__PURE__*/React.createElement("div", null, "\u72B6\u6001\uFF1A", /*#__PURE__*/React.createElement("span", {
60
+ style: {
61
+ color: hasUrl ? 'green' : 'red'
62
+ }
63
+ }, hasUrl ? '正常' : '缺失')));
64
+ }
65
+ function SegmentTimeLine(_ref2) {
66
+ var index = _ref2.index,
67
+ segments = _ref2.segments,
68
+ duration = _ref2.duration,
69
+ begin = _ref2.begin,
70
+ seekTo = _ref2.seekTo;
71
+ var _useState = useState({
72
+ time: 0,
73
+ markTime: 0,
74
+ left: -1,
75
+ visible: false
76
+ }),
77
+ _useState2 = _slicedToArray(_useState, 2),
78
+ state = _useState2[0],
79
+ setState = _useState2[1];
80
+ var status = useBarStatus();
81
+ var _useTimes = useTimes(),
82
+ _useTimes2 = _slicedToArray(_useTimes, 2),
83
+ currentTime = _useTimes2[0],
84
+ buffered = _useTimes2[1];
85
+ var indexDuration = useMemo(function () {
86
+ return segments.map(function (v) {
87
+ return (v.endTime - v.beginTime) / 1000;
88
+ }).reduce(function (a, b, i) {
89
+ return i >= index ? a : a + b;
90
+ }, 0);
91
+ }, [index, segments]);
92
+ var playPercent = useMemo(function () {
93
+ return (currentTime + indexDuration) / duration * 100;
94
+ }, [currentTime, duration, indexDuration]);
95
+ var bufferedPercent = useMemo(function () {
96
+ return (buffered + indexDuration) / duration * 100;
97
+ }, [buffered, duration, indexDuration]);
98
+ var seekWithLine = function seekWithLine(e, i) {
99
+ if (!segments[i].url) {
100
+ return;
101
+ }
102
+ var ele = e.currentTarget;
103
+ var rect = ele.getBoundingClientRect();
104
+ var current = e.pageX - rect.left;
105
+ var item = segments[i - 1];
106
+ var pTime = item ? item.endTime : begin;
107
+ var duration = segments[i].endTime - segments[i].beginTime;
108
+ var currentTime = current / rect.width * duration;
109
+ seekTo(Math.round(currentTime + pTime));
110
+ };
111
+ var onLineMouseOver = function onLineMouseOver(e) {
112
+ var rect = e.currentTarget.getBoundingClientRect();
113
+ var left = e.pageX - rect.left;
114
+ var mTime = left / rect.width * duration;
115
+ setState(function (old) {
116
+ return _objectSpread(_objectSpread({}, old), {}, {
117
+ left: left,
118
+ markTime: begin + mTime * 1000
119
+ });
120
+ });
121
+ };
122
+ var onLineMouseOut = function onLineMouseOut() {
123
+ return startTransition(function () {
124
+ return setState(function (old) {
125
+ return _objectSpread(_objectSpread({}, old), {}, {
126
+ left: -1
127
+ });
128
+ });
129
+ });
130
+ };
131
+ return /*#__PURE__*/React.createElement("div", {
132
+ className: "player-timeline-layout player-segment-timeline-layout ".concat(status === 0 ? 'hide-time-line' : ''),
133
+ onMouseMove: onLineMouseOver,
134
+ onMouseOut: onLineMouseOut
135
+ }, /*#__PURE__*/React.createElement("div", {
136
+ className: "segment-line-box"
137
+ }, segments.map(function (v, i) {
138
+ return /*#__PURE__*/React.createElement(Tooltip, {
139
+ key: "time-line-".concat(i),
140
+ title: /*#__PURE__*/React.createElement(TipTitle, {
141
+ segments: segments,
142
+ index: i,
143
+ begin: begin,
144
+ current: currentTime * 1000 + begin,
145
+ markTime: state.markTime
146
+ })
147
+ }, /*#__PURE__*/React.createElement("div", {
148
+ className: "segment-line-item ".concat(!v.url ? 'segment-line-item-none' : '', " ").concat(i === segments.length - 1 ? 'last-segment-line-item' : ''),
149
+ onClick: function onClick(e) {
150
+ return seekWithLine(e, i);
151
+ },
152
+ style: {
153
+ width: "".concat((v.endTime / 1000 - v.beginTime / 1000) / duration * 100, "%")
154
+ }
155
+ }));
156
+ }), /*#__PURE__*/React.createElement("div", {
157
+ className: "buffer-line",
158
+ style: {
159
+ width: "".concat(bufferedPercent, "%")
160
+ }
161
+ }), /*#__PURE__*/React.createElement("div", {
162
+ className: "current-line",
163
+ style: {
164
+ width: "".concat(playPercent, "%")
165
+ }
166
+ }), state.left !== -1 && /*#__PURE__*/React.createElement("span", {
167
+ className: "segment-line-mark",
168
+ style: {
169
+ left: state.left
170
+ }
171
+ })));
172
+ }
173
+ export default SegmentTimeLine;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { ExportPlayerType, ISinglePlayerProps } from './player';
3
+ import './style/index.less';
4
+ declare const SinglePlayer: React.ForwardRefExoticComponent<ISinglePlayerProps & React.RefAttributes<ExportPlayerType>>;
5
+ export default SinglePlayer;