@cloud-app-dev/vidc 2.2.0-alpha.7 → 3.0.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 (339) hide show
  1. package/.eslintignore +1 -3
  2. package/.eslintrc +3 -0
  3. package/.prettierignore +1 -0
  4. package/.umirc.ts +74 -74
  5. package/es/AppContext/Sync.d.ts +3 -2
  6. package/es/AppContext/Sync.js +11 -2
  7. package/es/AppContext/index.js +63 -9
  8. package/es/AppContext/interface.d.ts +10 -1
  9. package/es/AppContext/static.d.ts +2 -0
  10. package/es/AppContext/static.js +5 -1
  11. package/es/Box/InfoBox/index.css +5 -6
  12. package/es/Box/TwoColumnBox/index.css +17 -24
  13. package/es/Box/TwoColumnBox/index.js +1 -4
  14. package/es/Box/index.css +1 -1
  15. package/es/Config/interface.d.ts +2 -1
  16. package/es/ConfigContext/index.d.ts +1 -1
  17. package/es/DomMove/demo.d.ts +2 -0
  18. package/es/DomMove/demo.js +16 -0
  19. package/es/DomMove/index.d.ts +16 -0
  20. package/es/DomMove/index.js +145 -0
  21. package/es/DomMove/utils.d.ts +8 -0
  22. package/es/{Picture/component/MoveContent → DomMove}/utils.js +19 -0
  23. package/es/Drawer/index.d.ts +2 -2
  24. package/es/Drawer/interface.d.ts +4 -174
  25. package/es/ErrorBoundary/index.d.ts +18 -0
  26. package/es/ErrorBoundary/index.js +84 -0
  27. package/es/List/DynamicGridList/Demo.js +40 -27
  28. package/es/List/DynamicGridList/index.d.ts +19 -18
  29. package/es/List/DynamicGridList/index.js +36 -36
  30. package/es/List/DynamicList/index.css +15 -0
  31. package/es/List/DynamicList/index.d.ts +14 -0
  32. package/es/List/DynamicList/index.js +105 -0
  33. package/es/List/DynamicList/interface.d.ts +19 -0
  34. package/es/List/DynamicList/utils.d.ts +4 -0
  35. package/es/List/DynamicList/utils.js +6 -0
  36. package/es/List/GridList/Demo.js +27 -4
  37. package/es/List/GridList/index.css +1 -0
  38. package/es/List/GridList/index.d.ts +2 -2
  39. package/es/List/GridList/index.js +8 -12
  40. package/es/List/GridList/interface.d.ts +1 -1
  41. package/es/List/VList/index.js +2 -3
  42. package/es/List/index.css +3 -55
  43. package/es/List/index.d.ts +5 -6
  44. package/es/List/index.js +15 -154
  45. package/es/List/interface.d.ts +3 -61
  46. package/es/LoaderApp/index.d.ts +1 -1
  47. package/es/LoaderApp/index.js +27 -46
  48. package/es/LoaderApp/interface.d.ts +3 -0
  49. package/es/LoaderApp/loader.d.ts +6 -7
  50. package/es/LoaderApp/loader.js +20 -30
  51. package/es/LoaderApp/sandbox.back.d.ts +18 -0
  52. package/es/LoaderApp/sandbox.back.js +356 -0
  53. package/es/LoaderApp/sandbox.d.ts +12 -0
  54. package/es/LoaderApp/sandbox.js +110 -0
  55. package/es/LoaderApp/utils.d.ts +5 -1
  56. package/es/LoaderApp/utils.js +98 -2
  57. package/es/Map/AMap.d.ts +1572 -0
  58. package/es/Map/BasicMap/AMapInstance.d.ts +15 -0
  59. package/es/Map/BasicMap/AMapInstance.js +66 -0
  60. package/es/Map/BasicMap/LeafletInstance.d.ts +15 -0
  61. package/es/Map/BasicMap/LeafletInstance.js +98 -0
  62. package/es/Map/BasicMap/index.css +24 -0
  63. package/es/Map/BasicMap/index.d.ts +9 -0
  64. package/es/Map/BasicMap/index.js +108 -0
  65. package/es/Map/ClusterLayer/hook.d.ts +5 -0
  66. package/es/Map/ClusterLayer/hook.js +144 -0
  67. package/es/Map/ClusterLayer/index.css +26 -0
  68. package/es/Map/ClusterLayer/index.d.ts +5 -0
  69. package/es/Map/ClusterLayer/index.js +31 -0
  70. package/es/Map/ClusterLayer/props.d.ts +8 -0
  71. package/es/Map/Config/index.d.ts +7 -0
  72. package/es/{InitialConfig → Map/Config}/index.js +35 -36
  73. package/es/Map/Config/utils.d.ts +2 -0
  74. package/es/{List/DynamicDeviceList → Map/Config}/utils.js +48 -45
  75. package/es/Map/Context/index.d.ts +11 -0
  76. package/es/Map/Context/index.js +66 -0
  77. package/es/Map/FindPio/index.css +7 -0
  78. package/es/Map/FindPio/index.d.ts +4 -0
  79. package/es/Map/FindPio/index.js +16 -0
  80. package/es/{WorkerFlow/Demo.d.ts → Map/InfoWindow/demo.d.ts} +0 -0
  81. package/es/{List/DynamicDeviceList/Demo.js → Map/InfoWindow/demo.js} +27 -25
  82. package/es/Map/InfoWindow/index.d.ts +8 -0
  83. package/es/Map/InfoWindow/index.js +74 -0
  84. package/es/Map/LevelCenter/DragMarker/index.d.ts +12 -0
  85. package/es/Map/LevelCenter/DragMarker/index.js +48 -0
  86. package/es/{List/DeviceList → Map/LevelCenter}/index.css +0 -0
  87. package/es/Map/LevelCenter/index.d.ts +13 -0
  88. package/es/Map/LevelCenter/index.js +42 -0
  89. package/es/Map/LoaderMap/index.d.ts +12 -0
  90. package/es/Map/LoaderMap/index.js +58 -0
  91. package/es/Map/ResetTools/index.css +32 -0
  92. package/es/Map/ResetTools/index.d.ts +9 -0
  93. package/es/Map/ResetTools/index.js +61 -0
  94. package/es/Map/SinglePoint/Marker/index.d.ts +7 -0
  95. package/es/Map/SinglePoint/Marker/index.js +29 -0
  96. package/es/Map/SinglePoint/icon/Place_icon_OnLine_Hover.svg +15 -0
  97. package/es/Map/SinglePoint/icon/Place_icon_OnLine_Normal.svg +15 -0
  98. package/es/Map/SinglePoint/icon/Place_icon_OutLine_Hover.svg +15 -0
  99. package/es/Map/SinglePoint/icon/Place_icon_OutLine_Normal.svg +15 -0
  100. package/es/Map/SinglePoint/index.css +29 -0
  101. package/es/Map/SinglePoint/index.d.ts +7 -0
  102. package/es/Map/SinglePoint/index.js +32 -0
  103. package/es/Map/hook/useMapType.d.ts +4 -0
  104. package/es/Map/hook/useMapType.js +13 -0
  105. package/es/Map/icon.d.ts +2 -0
  106. package/es/Map/icon.js +10 -0
  107. package/es/Map/index.d.ts +23 -0
  108. package/es/Map/index.js +25 -0
  109. package/es/Map/interface.d.ts +55 -0
  110. package/es/Map/points.json +61247 -0
  111. package/es/{Picture/component/MoveContent → Map/useMarker}/index.css +0 -0
  112. package/es/Map/useMarker/index.d.ts +11 -0
  113. package/es/{WorkerFlow/Form/FormAuth.js → Map/useMarker/index.js} +57 -80
  114. package/es/Map/withMap/index.d.ts +2 -0
  115. package/es/Map/withMap/index.js +12 -0
  116. package/es/Modal/index.css +1 -1
  117. package/es/Modal/index.d.ts +7 -7
  118. package/es/Picture/index.d.ts +1 -1
  119. package/es/Picture/index.js +2 -2
  120. package/es/Player/api/index.d.ts +1 -0
  121. package/es/Player/api/index.js +7 -1
  122. package/es/Player/demo.js +13 -21
  123. package/es/Player/event/index.js +5 -1
  124. package/es/Player/frontend_player.d.ts +1 -1
  125. package/es/Player/frontend_player.js +20 -13
  126. package/es/Player/frontend_timeline.d.ts +1 -1
  127. package/es/Player/live_heart.js +45 -12
  128. package/es/Player/message.js +23 -12
  129. package/es/Player/player.d.ts +31 -7
  130. package/es/Player/segment_player.d.ts +1 -1
  131. package/es/Player/segment_player.js +30 -18
  132. package/es/Player/segment_timeline.js +6 -6
  133. package/es/Player/single_player.js +50 -9
  134. package/es/Player/timeline.js +8 -6
  135. package/es/Player/util.d.ts +2 -1
  136. package/es/Player/util.js +4 -1
  137. package/es/PlayerExt/index.css +2 -2
  138. package/es/PlayerExt/index.d.ts +3 -1
  139. package/es/PlayerExt/index.js +19 -5
  140. package/es/ScreenPlayer/Live.d.ts +5 -0
  141. package/es/ScreenPlayer/Live.js +109 -0
  142. package/es/ScreenPlayer/LiveTools.d.ts +15 -0
  143. package/es/ScreenPlayer/LiveTools.js +95 -0
  144. package/es/ScreenPlayer/PlayerWithExt.d.ts +22 -0
  145. package/es/ScreenPlayer/PlayerWithExt.js +169 -0
  146. package/es/ScreenPlayer/Record.d.ts +5 -0
  147. package/es/{WorkerFlow/index.js → ScreenPlayer/Record.js} +290 -273
  148. package/es/ScreenPlayer/RecordTools.d.ts +17 -0
  149. package/es/ScreenPlayer/RecordTools.js +102 -0
  150. package/es/ScreenPlayer/SegmentTimeLine.d.ts +10 -0
  151. package/es/ScreenPlayer/SegmentTimeLine.js +40 -0
  152. package/es/ScreenPlayer/TimeSlider.d.ts +127 -0
  153. package/es/ScreenPlayer/TimeSlider.js +528 -0
  154. package/es/ScreenPlayer/demo.d.ts +2 -0
  155. package/es/ScreenPlayer/demo.js +25 -0
  156. package/es/ScreenPlayer/demo2.d.ts +2 -0
  157. package/es/ScreenPlayer/demo2.js +153 -0
  158. package/es/ScreenPlayer/index.css +50 -0
  159. package/es/ScreenPlayer/index.d.ts +6 -0
  160. package/es/ScreenPlayer/index.js +7 -0
  161. package/es/ScreenPlayer/interface.d.ts +81 -0
  162. package/es/ScreenPlayer/useRecordList.d.ts +3 -0
  163. package/es/{WorkerFlow/Form/UserAndGroupSelect.js → ScreenPlayer/useRecordList.js} +173 -176
  164. package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
  165. package/es/{Tree/BaseTree/demo.js → ScreenPlayer/useVideoFit.js} +30 -55
  166. package/es/ScreenPlayer/utils.d.ts +25 -0
  167. package/es/ScreenPlayer/utils.js +84 -0
  168. package/es/ThemeAntd/index.css +58 -58
  169. package/es/ThemeAntd/style/button.css +1 -1
  170. package/es/ThemeAntd/style/checkbox.css +8 -8
  171. package/es/ThemeAntd/style/input.css +13 -13
  172. package/es/ThemeAntd/style/pagination.css +5 -5
  173. package/es/ThemeAntd/style/picker.css +11 -11
  174. package/es/ThemeAntd/style/popover.css +1 -1
  175. package/es/ThemeAntd/style/radio.css +4 -4
  176. package/es/ThemeAntd/style/scrollbar.css +3 -3
  177. package/es/ThemeAntd/style/select.css +11 -11
  178. package/es/ThemeAntd/style/table.css +1 -1
  179. package/es/Tree/demo.js +9 -12
  180. package/es/Tree/index.css +55 -29
  181. package/es/Tree/index.d.ts +20 -19
  182. package/es/Tree/index.js +70 -185
  183. package/es/index.d.ts +7 -9
  184. package/es/index.js +7 -9
  185. package/es/useInfiniteScroll/index.d.ts +16 -0
  186. package/es/{useHttp → useInfiniteScroll}/index.js +79 -43
  187. package/es/useVirtualList/index.d.ts +13 -0
  188. package/es/useVirtualList/index.js +175 -0
  189. package/es/withErrorBoundary/index.d.ts +8 -0
  190. package/es/withErrorBoundary/index.js +43 -0
  191. package/package.json +19 -21
  192. package/test.js +48 -0
  193. package/es/DeviceIcon/icon.d.ts +0 -9
  194. package/es/DeviceIcon/icon.js +0 -138
  195. package/es/DeviceIcon/index.css +0 -8
  196. package/es/DeviceIcon/index.d.ts +0 -14
  197. package/es/DeviceIcon/index.js +0 -37
  198. package/es/DeviceSelect/TreeType.d.ts +0 -7
  199. package/es/DeviceSelect/TreeType.js +0 -36
  200. package/es/DeviceSelect/demo.d.ts +0 -3
  201. package/es/DeviceSelect/demo.js +0 -22
  202. package/es/DeviceSelect/index.css +0 -11
  203. package/es/DeviceSelect/index.d.ts +0 -13
  204. package/es/DeviceSelect/index.js +0 -191
  205. package/es/Dict/cache.d.ts +0 -3
  206. package/es/Dict/cache.js +0 -21
  207. package/es/Dict/device.d.ts +0 -28
  208. package/es/Dict/device.js +0 -117
  209. package/es/Dict/hook.d.ts +0 -3
  210. package/es/Dict/hook.js +0 -98
  211. package/es/Dict/index.d.ts +0 -9
  212. package/es/Dict/index.js +0 -10
  213. package/es/Dict/interface.d.ts +0 -16
  214. package/es/Dict/utils.d.ts +0 -10
  215. package/es/Dict/utils.js +0 -44
  216. package/es/InitialConfig/index.d.ts +0 -8
  217. package/es/InitialConfig/utils.d.ts +0 -20
  218. package/es/InitialConfig/utils.js +0 -110
  219. package/es/InitialRequest/index.d.ts +0 -9
  220. package/es/InitialRequest/index.js +0 -97
  221. package/es/InitialRequest/utils.d.ts +0 -10
  222. package/es/InitialRequest/utils.js +0 -116
  223. package/es/List/CheckExt.d.ts +0 -9
  224. package/es/List/CheckExt.js +0 -36
  225. package/es/List/DeviceList/index.d.ts +0 -11
  226. package/es/List/DeviceList/index.js +0 -50
  227. package/es/List/DynamicDeviceList/Demo.d.ts +0 -3
  228. package/es/List/DynamicDeviceList/index.css +0 -39
  229. package/es/List/DynamicDeviceList/index.d.ts +0 -12
  230. package/es/List/DynamicDeviceList/index.js +0 -205
  231. package/es/List/DynamicDeviceList/interface.d.ts +0 -37
  232. package/es/List/DynamicDeviceList/utils.d.ts +0 -16
  233. package/es/List/ListExt/index.css +0 -3
  234. package/es/List/ListExt/index.d.ts +0 -19
  235. package/es/List/ListExt/index.js +0 -44
  236. package/es/Picture/component/MoveContent/index.d.ts +0 -39
  237. package/es/Picture/component/MoveContent/index.js +0 -244
  238. package/es/Picture/component/MoveContent/utils.d.ts +0 -4
  239. package/es/Title/index.css +0 -25
  240. package/es/Title/index.d.ts +0 -12
  241. package/es/Title/index.js +0 -30
  242. package/es/Tree/BaseTree/demo.d.ts +0 -3
  243. package/es/Tree/BaseTree/index.css +0 -64
  244. package/es/Tree/BaseTree/index.d.ts +0 -24
  245. package/es/Tree/BaseTree/index.js +0 -83
  246. package/es/UserSelect/demo.d.ts +0 -3
  247. package/es/UserSelect/demo.js +0 -21
  248. package/es/UserSelect/index.css +0 -16
  249. package/es/UserSelect/index.d.ts +0 -18
  250. package/es/UserSelect/index.js +0 -194
  251. package/es/WorkerFlow/Demo.js +0 -57
  252. package/es/WorkerFlow/Form/Approver.d.ts +0 -10
  253. package/es/WorkerFlow/Form/Approver.js +0 -33
  254. package/es/WorkerFlow/Form/Condition.d.ts +0 -11
  255. package/es/WorkerFlow/Form/Condition.js +0 -235
  256. package/es/WorkerFlow/Form/EmptyUserSet.d.ts +0 -8
  257. package/es/WorkerFlow/Form/EmptyUserSet.js +0 -137
  258. package/es/WorkerFlow/Form/FormAuth.d.ts +0 -8
  259. package/es/WorkerFlow/Form/GroupList.d.ts +0 -12
  260. package/es/WorkerFlow/Form/GroupList.js +0 -44
  261. package/es/WorkerFlow/Form/GroupSelect.d.ts +0 -8
  262. package/es/WorkerFlow/Form/GroupSelect.js +0 -167
  263. package/es/WorkerFlow/Form/GroupSelectModalContent.d.ts +0 -6
  264. package/es/WorkerFlow/Form/GroupSelectModalContent.js +0 -177
  265. package/es/WorkerFlow/Form/Handle.d.ts +0 -10
  266. package/es/WorkerFlow/Form/Handle.js +0 -33
  267. package/es/WorkerFlow/Form/LevelGroupSelect.d.ts +0 -12
  268. package/es/WorkerFlow/Form/LevelGroupSelect.js +0 -208
  269. package/es/WorkerFlow/Form/Notifier.d.ts +0 -8
  270. package/es/WorkerFlow/Form/Notifier.js +0 -16
  271. package/es/WorkerFlow/Form/UserAndGroupSelect.d.ts +0 -8
  272. package/es/WorkerFlow/Form/UserSelect.d.ts +0 -8
  273. package/es/WorkerFlow/Form/UserSelect.js +0 -150
  274. package/es/WorkerFlow/Form/UserSelectModalContent.d.ts +0 -6
  275. package/es/WorkerFlow/Form/UserSelectModalContent.js +0 -166
  276. package/es/WorkerFlow/Form/UserSet.d.ts +0 -14
  277. package/es/WorkerFlow/Form/UserSet.js +0 -308
  278. package/es/WorkerFlow/Form/UsersHandleType.d.ts +0 -7
  279. package/es/WorkerFlow/Form/UsersHandleType.js +0 -32
  280. package/es/WorkerFlow/Form/utils.d.ts +0 -3
  281. package/es/WorkerFlow/Form/utils.js +0 -47
  282. package/es/WorkerFlow/Nodes/Add.d.ts +0 -7
  283. package/es/WorkerFlow/Nodes/Add.js +0 -97
  284. package/es/WorkerFlow/Nodes/AddOption.d.ts +0 -10
  285. package/es/WorkerFlow/Nodes/AddOption.js +0 -23
  286. package/es/WorkerFlow/Nodes/AddOptionList.d.ts +0 -8
  287. package/es/WorkerFlow/Nodes/AddOptionList.js +0 -46
  288. package/es/WorkerFlow/Nodes/Approver.d.ts +0 -11
  289. package/es/WorkerFlow/Nodes/Approver.js +0 -53
  290. package/es/WorkerFlow/Nodes/Condition.d.ts +0 -10
  291. package/es/WorkerFlow/Nodes/Condition.js +0 -140
  292. package/es/WorkerFlow/Nodes/Constants.d.ts +0 -35
  293. package/es/WorkerFlow/Nodes/Constants.js +0 -150
  294. package/es/WorkerFlow/Nodes/End.d.ts +0 -7
  295. package/es/WorkerFlow/Nodes/End.js +0 -16
  296. package/es/WorkerFlow/Nodes/Handle.d.ts +0 -11
  297. package/es/WorkerFlow/Nodes/Handle.js +0 -52
  298. package/es/WorkerFlow/Nodes/Node.d.ts +0 -8
  299. package/es/WorkerFlow/Nodes/Node.js +0 -26
  300. package/es/WorkerFlow/Nodes/Notifier.d.ts +0 -11
  301. package/es/WorkerFlow/Nodes/Notifier.js +0 -52
  302. package/es/WorkerFlow/Nodes/Render.d.ts +0 -8
  303. package/es/WorkerFlow/Nodes/Render.js +0 -16
  304. package/es/WorkerFlow/Nodes/Start.d.ts +0 -12
  305. package/es/WorkerFlow/Nodes/Start.js +0 -26
  306. package/es/WorkerFlow/Nodes/TitleElement.d.ts +0 -10
  307. package/es/WorkerFlow/Nodes/TitleElement.js +0 -127
  308. package/es/WorkerFlow/Nodes/Wrap.d.ts +0 -13
  309. package/es/WorkerFlow/Nodes/Wrap.js +0 -35
  310. package/es/WorkerFlow/OperatorContext.d.ts +0 -4
  311. package/es/WorkerFlow/OperatorContext.js +0 -3
  312. package/es/WorkerFlow/Tools.d.ts +0 -8
  313. package/es/WorkerFlow/Tools.js +0 -78
  314. package/es/WorkerFlow/XML/CanvasTag.d.ts +0 -3
  315. package/es/WorkerFlow/XML/CanvasTag.js +0 -142
  316. package/es/WorkerFlow/XML/EndEvent.d.ts +0 -1
  317. package/es/WorkerFlow/XML/EndEvent.js +0 -14
  318. package/es/WorkerFlow/XML/ExclusiveGateway.d.ts +0 -9
  319. package/es/WorkerFlow/XML/ExclusiveGateway.js +0 -101
  320. package/es/WorkerFlow/XML/Root.d.ts +0 -1
  321. package/es/WorkerFlow/XML/Root.js +0 -5
  322. package/es/WorkerFlow/XML/StartEvent.d.ts +0 -5
  323. package/es/WorkerFlow/XML/StartEvent.js +0 -28
  324. package/es/WorkerFlow/XML/UserTask.d.ts +0 -5
  325. package/es/WorkerFlow/XML/UserTask.js +0 -93
  326. package/es/WorkerFlow/XML/index.d.ts +0 -4
  327. package/es/WorkerFlow/XML/index.js +0 -100
  328. package/es/WorkerFlow/XML/utils.d.ts +0 -6
  329. package/es/WorkerFlow/XML/utils.js +0 -97
  330. package/es/WorkerFlow/data.json +0 -83
  331. package/es/WorkerFlow/index.css +0 -779
  332. package/es/WorkerFlow/index.d.ts +0 -13
  333. package/es/WorkerFlow/interface.d.ts +0 -93
  334. package/es/WorkerFlow/template.d.ts +0 -2
  335. package/es/WorkerFlow/template.js +0 -17
  336. package/es/WorkerFlow/utils.d.ts +0 -7
  337. package/es/WorkerFlow/utils.js +0 -197
  338. package/es/useHttp/index.d.ts +0 -8
  339. package/pnpm-lock.yaml +0 -13650
@@ -129,9 +129,7 @@ export interface ISinglePlayerProps {
129
129
  playerEvents?: CustomEvent[];
130
130
  }
131
131
 
132
- type OmitPlayerProps = 'customTimeLine' | 'onCanPlayerInit' | 'isLive' | 'reload' | 'type';
133
-
134
- export interface IFrontendPlayerProps extends Omit<ISinglePlayerProps, OmitPlayerProps> {
132
+ export interface IFrontendPlayerProps extends Omit<ISinglePlayerProps, 'isLive' | 'reload' | 'type'> {
135
133
  /**
136
134
  * 前端录像开始时间
137
135
  */
@@ -145,10 +143,19 @@ export interface IFrontendPlayerProps extends Omit<ISinglePlayerProps, OmitPlaye
145
143
  /**
146
144
  * 录像时间轴发生变化回调
147
145
  */
148
- onSeek(time: number): void;
146
+ onSeek?: (time: number) => void;
147
+
148
+ forwordRef?: React.MutableRefObject<ExportPlayerType>;
149
+
150
+ /**
151
+ * 视频可播放时执行钩子
152
+ */
153
+ onCanPlayerInit?: (data: any) => void;
149
154
  }
150
155
 
151
- export interface ISegmentPlayerProps extends Omit<ISinglePlayerProps, 'url' | 'customTimeLine' | 'onCanPlayerInit'> {
156
+ export interface ISegmentPlayerProps extends Omit<ISinglePlayerProps, 'url' | 'onCanPlayerInit'> {
157
+ onCanPlayerInit?: (ext: { [key: string]: any }) => void;
158
+
152
159
  /**
153
160
  * 云录像片段信息
154
161
  */
@@ -158,6 +165,10 @@ export interface ISegmentPlayerProps extends Omit<ISinglePlayerProps, 'url' | 'c
158
165
  * 云录像开始时间
159
166
  */
160
167
  begin?: number;
168
+
169
+ forwordRef?: React.MutableRefObject<ExportPlayerType>;
170
+
171
+ defaultIndex?: number;
161
172
  }
162
173
 
163
174
  export const SinglePlayer: React.FunctionComponent<ISinglePlayerProps>;
@@ -190,17 +201,30 @@ export type ExportPlayerType = {
190
201
  api: Api;
191
202
  event: VideoEventInstance;
192
203
  plugins: [FlvJs.Player, Hls];
204
+ fit?: string;
205
+ setIndex?: (i: number) => void;
206
+ seekTo?: (i: number) => void;
207
+ reload?: () => void;
193
208
  };
194
209
 
195
210
  export interface ISegmentType {
211
+ id?: string;
196
212
  /**
197
213
  * 视频片段地址
198
214
  */
199
215
  url?: string;
216
+
200
217
  /**
201
- * 视频片段长度 单位s(秒)
218
+ * 片段开始时间
202
219
  */
203
- duration: number;
220
+ beginTime: number;
221
+
222
+ /**
223
+ * 片段结束时间
224
+ */
225
+ endTime: number;
226
+
227
+ style?: any;
204
228
  }
205
229
 
206
230
  export const ISegmentTypeDemo: React.FC<ISegmentType>;
@@ -5,5 +5,5 @@ import type { ISegmentPlayerProps } from './player';
5
5
  * @param param0
6
6
  * @returns
7
7
  */
8
- declare function SegmentPlayer({ segments, begin, ...props }: ISegmentPlayerProps): JSX.Element;
8
+ declare function SegmentPlayer({ segments, begin, forwordRef, onCanPlayerInit, defaultIndex, customTimeLine, ...props }: ISegmentPlayerProps): JSX.Element;
9
9
  export default SegmentPlayer;
@@ -22,6 +22,7 @@ import { __rest } from "tslib";
22
22
  import React, { useEffect, useMemo, useRef, useState } from 'react';
23
23
  import SinglePlayer from './single_player';
24
24
  import SegmentTimeLine from './segment_timeline';
25
+ import Events from './event/eventName';
25
26
  /**
26
27
  * @desc 计算第一个url
27
28
  * @param segments
@@ -57,9 +58,12 @@ function getFirstUrlIndex(segments) {
57
58
  */
58
59
 
59
60
 
60
- function usePlayIndex(event, segments, deps) {
61
+ function usePlayIndex(event, segments) {
62
+ var defaultIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
63
+ var deps = arguments.length > 3 ? arguments[3] : undefined;
64
+
61
65
  var _useState = useState({
62
- index: getFirstUrlIndex(segments, 0)
66
+ index: getFirstUrlIndex(segments, defaultIndex)
63
67
  }),
64
68
  _useState2 = _slicedToArray(_useState, 2),
65
69
  state = _useState2[0],
@@ -124,11 +128,20 @@ function usePlayIndex(event, segments, deps) {
124
128
 
125
129
 
126
130
  function SegmentPlayer(_a) {
127
- var _b;
128
-
129
131
  var segments = _a.segments,
130
132
  begin = _a.begin,
131
- props = __rest(_a, ["segments", "begin"]);
133
+ forwordRef = _a.forwordRef,
134
+ _onCanPlayerInit = _a.onCanPlayerInit,
135
+ defaultIndex = _a.defaultIndex,
136
+ customTimeLine = _a.customTimeLine,
137
+ props = __rest(_a, ["segments", "begin", "forwordRef", "onCanPlayerInit", "defaultIndex", "customTimeLine"]);
138
+
139
+ var ref = useRef(null);
140
+ var playRef = forwordRef ? forwordRef : ref;
141
+
142
+ var _ref = playRef.current || {},
143
+ api = _ref.api,
144
+ event = _ref.event;
132
145
 
133
146
  var _useState3 = useState({
134
147
  forceKey: Date.now()
@@ -139,14 +152,13 @@ function SegmentPlayer(_a) {
139
152
 
140
153
  var duration = useMemo(function () {
141
154
  return segments === null || segments === void 0 ? void 0 : segments.map(function (v) {
142
- return v.duration;
155
+ return (v.endTime - v.beginTime) / 1000;
143
156
  }).reduce(function (a, b) {
144
157
  return a + b;
145
158
  }, 0);
146
159
  }, [segments]);
147
- var playerRef = useRef(null);
148
160
 
149
- var _usePlayIndex = usePlayIndex((_b = playerRef.current) === null || _b === void 0 ? void 0 : _b.event, segments, [state.forceKey]),
161
+ var _usePlayIndex = usePlayIndex(event, segments, defaultIndex, [state.forceKey]),
150
162
  index = _usePlayIndex.index,
151
163
  setIndex = _usePlayIndex.setIndex;
152
164
 
@@ -155,28 +167,28 @@ function SegmentPlayer(_a) {
155
167
  }, [segments, index]); // 重置reload
156
168
 
157
169
  var reload = function reload() {
170
+ playRef.current.event.emit(Events.RELOAD);
158
171
  setIndex(0);
159
- playerRef.current.api.reload();
160
- };
161
-
162
- var _ref = playerRef.current || {},
163
- api = _ref.api,
164
- event = _ref.event; // 秒级别转换
172
+ playRef.current.api.reload();
173
+ }; // 秒级别转换
165
174
 
166
175
 
167
176
  var beginTemp = useMemo(function () {
168
177
  return begin ? String(begin).length === 10 ? Math.floor(begin * 1000) : begin : begin;
169
178
  }, []);
170
179
  return /*#__PURE__*/React.createElement(SinglePlayer, Object.assign({
171
- ref: playerRef,
180
+ ref: playRef,
172
181
  url: url,
173
182
  reload: reload,
174
183
  onCanPlayerInit: function onCanPlayerInit() {
175
- return setState({
184
+ setState({
176
185
  forceKey: Date.now()
177
186
  });
187
+ _onCanPlayerInit && _onCanPlayerInit({
188
+ setIndex: setIndex
189
+ });
178
190
  },
179
- customTimeLine: api && event ? /*#__PURE__*/React.createElement(SegmentTimeLine, {
191
+ customTimeLine: api && event && (customTimeLine || /*#__PURE__*/React.createElement(SegmentTimeLine, {
180
192
  begin: beginTemp,
181
193
  api: api,
182
194
  event: event,
@@ -184,7 +196,7 @@ function SegmentPlayer(_a) {
184
196
  segments: segments,
185
197
  duration: duration,
186
198
  setIndex: setIndex
187
- }) : /*#__PURE__*/React.createElement(React.Fragment, null)
199
+ }))
188
200
  }, props));
189
201
  }
190
202
 
@@ -36,7 +36,7 @@ function SegmentTimeLine(_ref) {
36
36
 
37
37
  var indexDuration = useMemo(function () {
38
38
  return segments.map(function (v) {
39
- return v.duration;
39
+ return (v.endTime - v.beginTime) / 1000;
40
40
  }).reduce(function (a, b, i) {
41
41
  return i >= index ? a : a + b;
42
42
  }, 0);
@@ -85,7 +85,7 @@ function SegmentTimeLine(_ref) {
85
85
  return seekWithLine(e, i);
86
86
  },
87
87
  style: {
88
- width: "".concat(v.duration / duration * 100, "%")
88
+ width: "".concat((v.endTime / 1000 - v.beginTime / 1000) / duration * 100, "%")
89
89
  }
90
90
  }));
91
91
  }), /*#__PURE__*/React.createElement("div", {
@@ -110,7 +110,7 @@ function TipTitle(_ref2) {
110
110
  if (index === 0) {
111
111
  var _start = begin;
112
112
 
113
- var _end = begin + segments[0].duration * 1000;
113
+ var _end = begin + (segments[0].endTime - segments[0].beginTime);
114
114
 
115
115
  return {
116
116
  start: dateFormat(_start),
@@ -119,12 +119,12 @@ function TipTitle(_ref2) {
119
119
  }
120
120
 
121
121
  var indexDuration = segments.map(function (v) {
122
- return v.duration;
122
+ return v.endTime - v.beginTime;
123
123
  }).reduce(function (a, b, i) {
124
124
  return i >= index ? a : a + b;
125
125
  }, 0);
126
- var start = begin + indexDuration * 1000;
127
- var end = start + segments[index].duration * 1000;
126
+ var start = begin + indexDuration;
127
+ var end = start + (segments[index].endTime - segments[index].beginTime);
128
128
  return {
129
129
  start: dateFormat(start),
130
130
  end: dateFormat(end)
@@ -1,3 +1,5 @@
1
+ import _useToggle3 from "ahooks/es/useToggle";
2
+
1
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
4
 
3
5
  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."); }
@@ -55,7 +57,12 @@ var SinglePlayer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
55
57
  }),
56
58
  _useState2 = _slicedToArray(_useState, 2),
57
59
  state = _useState2[0],
58
- setState = _useState2[1]; // 视频格式判断,外部可以强制指定,也可以通过url自动判断
60
+ setState = _useState2[1];
61
+
62
+ var _useToggle = _useToggle3('contain', 'fill'),
63
+ _useToggle2 = _slicedToArray(_useToggle, 2),
64
+ fit = _useToggle2[0],
65
+ toggle = _useToggle2[1].toggle; // 视频格式判断,外部可以强制指定,也可以通过url自动判断
59
66
 
60
67
 
61
68
  var vType = useMemo(function () {
@@ -93,30 +100,61 @@ var SinglePlayer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
93
100
  }, []); // 特殊接口实现 reload是可能被重写的,但是API只暴露原生的方法
94
101
 
95
102
  var reload = function reload() {
96
- return playReload(video, flv, hls, url);
103
+ return playReload(video, event, flv, hls, url);
97
104
  };
98
105
 
99
106
  var unload = function unload() {
100
107
  return playUnload(video, flv, hls);
101
- }; // 合并api
108
+ }; // 合并api,加上代理
102
109
 
103
110
 
104
111
  var playApi = useMemo(function () {
105
- return Object.assign(Object.assign({}, api), {
112
+ if (!api) {
113
+ return undefined;
114
+ }
115
+
116
+ var map = {
106
117
  reload: reload,
107
- unload: unload
118
+ unload: unload,
119
+ toggleFit: toggle
120
+ };
121
+ return new Proxy(api, {
122
+ get: function get(target, key) {
123
+ var _a;
124
+
125
+ return (_a = map[key]) !== null && _a !== void 0 ? _a : target[key];
126
+ },
127
+ set: function set() {
128
+ return true;
129
+ }
108
130
  });
109
- }, [api]); // ref暴露接口
131
+ }, [api]); // 代理Event
132
+
133
+ var playEvent = useMemo(function () {
134
+ if (!event) {
135
+ return undefined;
136
+ }
137
+
138
+ return new Proxy(event, {
139
+ get: function get(target, key) {
140
+ return target[key];
141
+ },
142
+ set: function set() {
143
+ return true;
144
+ }
145
+ });
146
+ }, [event]); // ref暴露接口
110
147
 
111
148
  useImperativeHandle(ref, function () {
112
149
  return {
113
150
  video: video,
114
151
  container: state.container,
115
152
  api: playApi,
116
- event: event,
117
- plugins: [flv, hls]
153
+ event: playEvent,
154
+ plugins: [flv, hls],
155
+ fit: fit
118
156
  };
119
- }, [api, event, video]);
157
+ }, [api, event, video, fit]);
120
158
  useEffect(function () {
121
159
  if (api && event && video) {
122
160
  props.onCanPlayerInit && props.onCanPlayerInit();
@@ -128,6 +166,9 @@ var SinglePlayer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
128
166
  }, /*#__PURE__*/React.createElement("div", {
129
167
  className: "player-mask-layout"
130
168
  }, /*#__PURE__*/React.createElement("video", {
169
+ style: {
170
+ objectFit: fit
171
+ },
131
172
  autoPlay: autoPlay,
132
173
  preload: preload,
133
174
  muted: muted,
@@ -22,11 +22,11 @@ export function useTimes(api, event, isHide) {
22
22
  state = _useState2[0],
23
23
  setState = _useState2[1];
24
24
 
25
- if (isHide) {
26
- return [0, 0, 0];
27
- }
28
-
29
25
  useEffect(function () {
26
+ if (isHide) {
27
+ return undefined;
28
+ }
29
+
30
30
  var getCurrentTime = function getCurrentTime() {
31
31
  return setState(function (old) {
32
32
  return Object.assign(Object.assign({}, old), {
@@ -58,8 +58,10 @@ export function useTimes(api, event, isHide) {
58
58
  event.removeEventListener('suspend', getBuffered);
59
59
  event.removeEventListener('seeked', seekendPlay);
60
60
  };
61
- }, [event, api]);
62
- return [state.currentTime, state.buffered, api.getDuration()];
61
+ }, [event, api, isHide]);
62
+ return useMemo(function () {
63
+ return [state.currentTime, state.buffered, api.getDuration()];
64
+ }, [state.currentTime, state.buffered]);
63
65
  }
64
66
 
65
67
  function TimeLine(_ref) {
@@ -1,5 +1,6 @@
1
1
  import Flvjs from 'flv.zv.js';
2
2
  import Hls, { HlsConfig } from 'hls.js';
3
+ import type VideoEventInstance from './event';
3
4
  import type { FlvPlayerConfig } from './player';
4
5
  /**
5
6
  * 创建HLS对象
@@ -13,7 +14,7 @@ export declare function createHlsPlayer(video: HTMLVideoElement, url: string, hl
13
14
  * @param {*} options
14
15
  */
15
16
  export declare function createFlvPlayer(video: HTMLVideoElement, url: string, isLive?: boolean, flvConfig?: FlvPlayerConfig): Flvjs.Player;
16
- export declare const playReload: (video: HTMLVideoElement, flv?: Flvjs.Player, hls?: Hls, url?: string) => void;
17
+ export declare const playReload: (video: HTMLVideoElement, event: VideoEventInstance, flv?: Flvjs.Player, hls?: Hls, url?: string) => void;
17
18
  export declare const playUnload: (video: HTMLVideoElement, flv?: Flvjs.Player, hls?: Hls) => void;
18
19
  /**
19
20
  * 获取播放文件类型
package/es/Player/util.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import Flvjs from 'flv.zv.js';
2
2
  import Hls from 'hls.js';
3
+ import Events from './event/eventName';
3
4
  /**
4
5
  * 创建HLS对象
5
6
  * @param {*} video
@@ -54,7 +55,7 @@ export function createFlvPlayer(video, url, isLive, flvConfig) {
54
55
  player.load();
55
56
  return player;
56
57
  }
57
- export var playReload = function playReload(video, flv, hls, url) {
58
+ export var playReload = function playReload(video, event, flv, hls, url) {
58
59
  video.pause();
59
60
  video.removeAttribute('src');
60
61
 
@@ -77,6 +78,8 @@ export var playReload = function playReload(video, flv, hls, url) {
77
78
  video.setAttribute('src', url);
78
79
  video.play();
79
80
  }
81
+
82
+ event.emit(Events.RELOAD);
80
83
  };
81
84
  export var playUnload = function playUnload(video, flv, hls) {
82
85
  video.pause();
@@ -1,4 +1,4 @@
1
- .lm-player-ext-layput {
1
+ .lm-player-ext-layout {
2
2
  background-color: #000;
3
3
  width: 100%;
4
4
  height: 100%;
@@ -8,6 +8,6 @@
8
8
  align-items: center;
9
9
  justify-content: center;
10
10
  }
11
- .lm-player-ext-layput .lm-player-PlaySource {
11
+ .lm-player-ext-layout .lm-player-PlaySource {
12
12
  font-size: 66px;
13
13
  }
@@ -1,8 +1,10 @@
1
1
  /// <reference types="react" />
2
+ import { ISegmentType } from 'src/Player/player';
2
3
  import './index.less';
3
4
  export declare type PlayModeType = 1 | 2;
4
5
  export interface IPluginProps {
5
6
  url?: string;
7
+ segments?: ISegmentType[];
6
8
  children: JSX.Element;
7
9
  /**
8
10
  * @description 模式1浏览器模式,2插件模式
@@ -38,5 +40,5 @@ export declare function getLocalPlayPath(url: string, params?: string): string;
38
40
  export declare function usePlugin(mode: PlayModeType, key: any): {
39
41
  needInstall: boolean;
40
42
  };
41
- export declare function ExtModel({ url, children, mode, pluginDownloadUrl, pluginParams }: IPluginProps): JSX.Element;
43
+ export declare function ExtModel({ url, children, mode, pluginDownloadUrl, segments, pluginParams }: IPluginProps): JSX.Element;
42
44
  export { ExtModel as default };
@@ -77,6 +77,7 @@ export function ExtModel(_ref) {
77
77
  children = _ref.children,
78
78
  mode = _ref.mode,
79
79
  pluginDownloadUrl = _ref.pluginDownloadUrl,
80
+ segments = _ref.segments,
80
81
  pluginParams = _ref.pluginParams;
81
82
 
82
83
  var _useState3 = useState({
@@ -87,8 +88,10 @@ export function ExtModel(_ref) {
87
88
  setState = _useState4[1];
88
89
 
89
90
  var hasUrl = useMemo(function () {
90
- return !!url;
91
- }, [url]);
91
+ return !!url || Array.isArray(segments) && segments.find(function (v) {
92
+ return v.url;
93
+ });
94
+ }, [url, segments]);
92
95
 
93
96
  var _usePlugin = usePlugin(mode, state.forceKey),
94
97
  needInstall = _usePlugin.needInstall;
@@ -96,10 +99,17 @@ export function ExtModel(_ref) {
96
99
  var playUrl = useMemo(function () {
97
100
  return mode === 2 && url ? getLocalPlayPath(url, pluginParams) : url;
98
101
  }, [url, mode]);
102
+ var playSegments = useMemo(function () {
103
+ return mode === 2 && segments ? segments.map(function (v) {
104
+ return Object.assign(Object.assign({}, v), {
105
+ url: v.url ? getLocalPlayPath(v.url, pluginParams) : v.url
106
+ });
107
+ }) : segments;
108
+ }, [segments, mode]);
99
109
 
100
110
  if (needInstall) {
101
111
  return /*#__PURE__*/React.createElement("div", {
102
- className: "lm-player-ext-layput"
112
+ className: "lm-player-ext-layout"
103
113
  }, /*#__PURE__*/React.createElement("div", {
104
114
  style: {
105
115
  marginTop: -60,
@@ -132,14 +142,18 @@ export function ExtModel(_ref) {
132
142
 
133
143
  if (!hasUrl) {
134
144
  return /*#__PURE__*/React.createElement("div", {
135
- className: "lm-player-ext-layput"
145
+ className: "lm-player-ext-layout"
136
146
  }, /*#__PURE__*/React.createElement(IconFont, {
137
147
  type: "lm-player-PlaySource"
138
148
  }));
139
149
  }
140
150
 
141
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.cloneElement(children, {
151
+ return /*#__PURE__*/React.createElement("div", {
152
+ className: "lm-player-ext-layout"
153
+ }, /*#__PURE__*/React.cloneElement(children, url ? {
142
154
  url: playUrl
155
+ } : {
156
+ segments: playSegments
143
157
  }));
144
158
  }
145
159
  export { ExtModel as default };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import type { ILivePlayerProps } from './interface';
3
+ import './index.less';
4
+ declare function LivePlayer({ list, children }: ILivePlayerProps): JSX.Element;
5
+ export default LivePlayer;
@@ -0,0 +1,109 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+
3
+ 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."); }
4
+
5
+ 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); }
6
+
7
+ 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; }
8
+
9
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10
+
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+
13
+ import React, { useMemo, useRef, useState } from 'react';
14
+ import { ScreenType, mergeFill } from './utils';
15
+ import { LivePlayerWithExt } from './PlayerWithExt';
16
+ import Tools from './LiveTools';
17
+ import "./index.css";
18
+
19
+ function LivePlayer(_ref) {
20
+ var _ref$list = _ref.list,
21
+ list = _ref$list === void 0 ? [] : _ref$list,
22
+ children = _ref.children;
23
+
24
+ var _useState = useState({
25
+ screenNum: 4,
26
+ selectIndex: 0,
27
+ mode: 1
28
+ }),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ state = _useState2[0],
31
+ setState = _useState2[1];
32
+
33
+ var domRef = useRef(null); // 缓存所有player对象
34
+
35
+ var playerRef = useRef([]);
36
+ var screenType = useMemo(function () {
37
+ return ScreenType.find(function (v) {
38
+ return v.name === state.screenNum;
39
+ });
40
+ }, [state.screenNum]);
41
+ var screenList = useMemo(function () {
42
+ return mergeFill(state.screenNum, list, {});
43
+ }, [list, state.screenNum]); // 获取选中player对象
44
+
45
+ var getPlayerItem = function getPlayerItem() {
46
+ var _a;
47
+
48
+ return (_a = playerRef.current[state.selectIndex]) === null || _a === void 0 ? void 0 : _a.current;
49
+ }; // 更新状态
50
+
51
+
52
+ var updateState = function updateState(newState) {
53
+ var obj = {};
54
+
55
+ if (newState.hasOwnProperty('screenNum')) {
56
+ obj.screenNum = newState.screenNum;
57
+
58
+ if (obj.screenNum < state.selectIndex) {
59
+ obj.selectIndex = 0;
60
+ }
61
+ }
62
+
63
+ if (newState.hasOwnProperty('mode')) {
64
+ obj.mode = newState.mode;
65
+ }
66
+
67
+ setState(function (old) {
68
+ return Object.assign(Object.assign({}, old), obj);
69
+ });
70
+ };
71
+
72
+ return /*#__PURE__*/React.createElement("div", {
73
+ className: "split-screen-player-wrapper",
74
+ ref: domRef
75
+ }, /*#__PURE__*/React.createElement("div", {
76
+ className: "player-layout"
77
+ }, screenList.map(function (item, index) {
78
+ return /*#__PURE__*/React.createElement(LivePlayerWithExt, Object.assign({}, item, {
79
+ mode: state.mode,
80
+ isLive: true,
81
+ key: "".concat(item.url, "-").concat(index),
82
+ updatePlayer: function updatePlayer(player) {
83
+ return playerRef.current[index] = player;
84
+ },
85
+ className: state.selectIndex === index ? 'player-current-index' : '',
86
+ onClick: function onClick() {
87
+ return setState(function (old) {
88
+ return Object.assign(Object.assign({}, old), {
89
+ selectIndex: index
90
+ });
91
+ });
92
+ },
93
+ style: {
94
+ width: screenType.width,
95
+ height: screenType.height
96
+ }
97
+ }));
98
+ })), /*#__PURE__*/React.createElement(Tools, {
99
+ getPlayerItem: getPlayerItem,
100
+ screenNum: state.screenNum,
101
+ mode: state.mode,
102
+ containerRef: domRef,
103
+ updateState: updateState
104
+ }), children && /*#__PURE__*/React.cloneElement(children, {
105
+ selectIndex: state.selectIndex
106
+ }));
107
+ }
108
+
109
+ export default LivePlayer;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { ExportPlayerType } from '../Player/player';
3
+ import { PlayModeType } from '../PlayerExt';
4
+ interface IToolsProps {
5
+ containerRef: React.MutableRefObject<HTMLDivElement>;
6
+ updateState: (state: {
7
+ screenNum?: number;
8
+ mode?: PlayModeType;
9
+ }) => void;
10
+ screenNum: number;
11
+ mode: PlayModeType;
12
+ getPlayerItem: () => ExportPlayerType | undefined;
13
+ }
14
+ declare function LiveTools({ containerRef, updateState, screenNum, getPlayerItem, mode }: IToolsProps): JSX.Element;
15
+ export default LiveTools;