@cloud-app-dev/vidc 4.0.17 → 4.1.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 (299) hide show
  1. package/.dumirc.ts +1 -1
  2. package/.eslintrc.js +3 -0
  3. package/.fatherrc.ts +0 -6
  4. package/es/AppContext/Sync.d.ts +7 -0
  5. package/es/AppContext/Sync.js +44 -0
  6. package/es/AppContext/index.d.ts +17 -0
  7. package/es/AppContext/index.js +154 -0
  8. package/es/AppContext/interface.d.ts +42 -0
  9. package/es/AppContext/static.d.ts +8 -0
  10. package/es/AppContext/static.js +9 -0
  11. package/es/CheckGroupFixed/demo.d.ts +2 -0
  12. package/es/CheckGroupFixed/demo.js +20 -0
  13. package/es/CheckGroupFixed/index.d.ts +22 -0
  14. package/es/CheckGroupFixed/index.js +150 -0
  15. package/es/CheckGroupFixed/style.d.ts +6 -0
  16. package/es/CheckGroupFixed/style.js +9 -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/CustomRenderSelect/index.d.ts +13 -0
  23. package/es/CustomRenderSelect/index.js +86 -0
  24. package/es/DBTools/index.d.ts +25 -0
  25. package/es/DBTools/index.js +336 -0
  26. package/es/DisableMark/index.d.ts +8 -0
  27. package/es/DisableMark/index.js +25 -0
  28. package/es/DomMove/demo.d.ts +1 -0
  29. package/es/DomMove/demo.js +19 -0
  30. package/es/DomMove/index.d.ts +16 -0
  31. package/es/DomMove/index.js +148 -0
  32. package/es/DomMove/utils.d.ts +8 -0
  33. package/es/DomMove/utils.js +33 -0
  34. package/es/Drag/DragAndDropItem.d.ts +4 -0
  35. package/es/Drag/DragAndDropItem.js +133 -0
  36. package/es/Drag/DropItem.d.ts +4 -0
  37. package/es/Drag/DropItem.js +50 -0
  38. package/es/Drag/index.d.ts +7 -0
  39. package/es/Drag/index.js +7 -0
  40. package/es/Drag/interface.d.ts +16 -0
  41. package/es/DynamicGridList/demo.d.ts +2 -0
  42. package/es/DynamicGridList/demo.js +86 -0
  43. package/es/DynamicGridList/index.d.ts +27 -0
  44. package/es/DynamicGridList/index.js +71 -0
  45. package/es/DynamicList/demo.d.ts +1 -0
  46. package/es/DynamicList/demo.js +45 -0
  47. package/es/DynamicList/index.d.ts +30 -0
  48. package/es/DynamicList/index.js +98 -0
  49. package/es/DynamicList/interface.d.ts +19 -0
  50. package/es/DynamicList/utils.d.ts +4 -0
  51. package/es/DynamicList/utils.js +6 -0
  52. package/es/ErrorFallback/index.d.ts +8 -0
  53. package/es/ErrorFallback/index.js +38 -0
  54. package/es/ErrorFallback/inerface.d.ts +48 -0
  55. package/es/EventTools/index.d.ts +3 -0
  56. package/es/EventTools/index.js +12 -0
  57. package/es/FrontendPlayer/index.d.ts +4 -0
  58. package/es/FrontendPlayer/index.js +2 -0
  59. package/es/GridList/data.d.ts +16 -0
  60. package/es/GridList/data.js +609 -0
  61. package/es/GridList/demo.d.ts +2 -0
  62. package/es/GridList/demo.js +89 -0
  63. package/es/GridList/hook.d.ts +13 -0
  64. package/es/GridList/hook.js +270 -0
  65. package/es/GridList/index.d.ts +14 -0
  66. package/es/GridList/index.js +51 -0
  67. package/es/GridList/interface.d.ts +59 -0
  68. package/es/GridList/utils.d.ts +9 -0
  69. package/es/GridList/utils.js +42 -0
  70. package/es/HightLevel/index.d.ts +8 -0
  71. package/es/HightLevel/index.js +20 -0
  72. package/es/IconFont/index.d.ts +12 -0
  73. package/es/IconFont/index.js +63 -0
  74. package/es/InstanceHistory/index.d.ts +3 -0
  75. package/es/InstanceHistory/index.js +7 -0
  76. package/es/LabelValue/index.d.ts +14 -0
  77. package/es/LabelValue/index.js +35 -0
  78. package/es/List/demo.d.ts +2 -0
  79. package/es/List/demo.js +25 -0
  80. package/es/List/index.d.ts +27 -0
  81. package/es/List/index.js +38 -0
  82. package/es/ListWithSizeAnimate/demo.d.ts +1 -0
  83. package/es/ListWithSizeAnimate/demo.js +128 -0
  84. package/es/ListWithSizeAnimate/index.d.ts +13 -0
  85. package/es/ListWithSizeAnimate/index.js +106 -0
  86. package/es/LoaderScript/index.d.ts +47 -0
  87. package/es/LoaderScript/index.js +38 -0
  88. package/es/LoaderScript/utils.d.ts +13 -0
  89. package/es/LoaderScript/utils.js +179 -0
  90. package/es/Picture/component/DefaultRects/RectInfo.d.ts +7 -0
  91. package/es/Picture/component/DefaultRects/RectInfo.js +90 -0
  92. package/es/Picture/component/DefaultRects/index.d.ts +11 -0
  93. package/es/Picture/component/DefaultRects/index.js +58 -0
  94. package/es/Picture/component/DefaultRects/style.d.ts +10 -0
  95. package/es/Picture/component/DefaultRects/style.js +28 -0
  96. package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
  97. package/es/Picture/component/DefaultRects/utils.js +11 -0
  98. package/es/Picture/component/DrawRect/index.d.ts +11 -0
  99. package/es/Picture/component/DrawRect/index.js +54 -0
  100. package/es/Picture/component/RectMenu/index.d.ts +10 -0
  101. package/es/Picture/component/RectMenu/index.js +84 -0
  102. package/es/Picture/component/RectMenu/utils.d.ts +12 -0
  103. package/es/Picture/component/RectMenu/utils.js +19 -0
  104. package/es/Picture/component/Tools/index.d.ts +11 -0
  105. package/es/Picture/component/Tools/index.js +105 -0
  106. package/es/Picture/component/Tools/style.d.ts +2 -0
  107. package/es/Picture/component/Tools/style.js +5 -0
  108. package/es/Picture/component/WheelScale/index.d.ts +6 -0
  109. package/es/Picture/component/WheelScale/index.js +29 -0
  110. package/es/Picture/demo.d.ts +1 -0
  111. package/es/Picture/demo.js +114 -0
  112. package/es/Picture/index.d.ts +17 -0
  113. package/es/Picture/index.js +356 -0
  114. package/es/Picture/interface.d.ts +196 -0
  115. package/es/Picture/loadCaptureRectImage.d.ts +3 -0
  116. package/es/Picture/loadCaptureRectImage.js +99 -0
  117. package/es/Picture/useDraw.d.ts +1 -0
  118. package/es/Picture/useDraw.js +103 -0
  119. package/es/Picture/utils.d.ts +26 -0
  120. package/es/Picture/utils.js +143 -0
  121. package/es/Player/api/index.d.ts +68 -0
  122. package/es/Player/api/index.js +309 -0
  123. package/es/Player/context.d.ts +21 -0
  124. package/es/Player/context.js +25 -0
  125. package/es/Player/contraller_bar/bar.d.ts +8 -0
  126. package/es/Player/contraller_bar/bar.js +32 -0
  127. package/es/Player/contraller_bar/contraller_event.d.ts +6 -0
  128. package/es/Player/contraller_bar/contraller_event.js +52 -0
  129. package/es/Player/contraller_bar/index.d.ts +13 -0
  130. package/es/Player/contraller_bar/index.js +39 -0
  131. package/es/Player/contraller_bar/left_bar.d.ts +10 -0
  132. package/es/Player/contraller_bar/left_bar.js +97 -0
  133. package/es/Player/contraller_bar/right_bar.d.ts +8 -0
  134. package/es/Player/contraller_bar/right_bar.js +36 -0
  135. package/es/Player/contraller_bar/time.d.ts +2 -0
  136. package/es/Player/contraller_bar/time.js +24 -0
  137. package/es/Player/contraller_bar/useBarStatus.d.ts +2 -0
  138. package/es/Player/contraller_bar/useBarStatus.js +43 -0
  139. package/es/Player/contraller_bar/volume.d.ts +8 -0
  140. package/es/Player/contraller_bar/volume.js +70 -0
  141. package/es/Player/demo.d.ts +2 -0
  142. package/es/Player/demo.js +289 -0
  143. package/es/Player/empty.d.ts +1 -0
  144. package/es/Player/empty.js +5 -0
  145. package/es/Player/event/errorEvent.d.ts +14 -0
  146. package/es/Player/event/errorEvent.js +88 -0
  147. package/es/Player/event/eventName.d.ts +18 -0
  148. package/es/Player/event/eventName.js +30 -0
  149. package/es/Player/event/index.d.ts +24 -0
  150. package/es/Player/event/index.js +205 -0
  151. package/es/Player/fps_play.d.ts +10 -0
  152. package/es/Player/fps_play.js +88 -0
  153. package/es/Player/frontend_player.d.ts +7 -0
  154. package/es/Player/frontend_player.js +71 -0
  155. package/es/Player/frontend_timeline.d.ts +8 -0
  156. package/es/Player/frontend_timeline.js +153 -0
  157. package/es/Player/iconfont.d.ts +4 -0
  158. package/es/Player/iconfont.js +21 -0
  159. package/es/Player/index.d.ts +2 -0
  160. package/es/Player/index.js +2 -0
  161. package/es/Player/live_heart.d.ts +8 -0
  162. package/es/Player/live_heart.js +45 -0
  163. package/es/Player/message.d.ts +3 -0
  164. package/es/Player/message.js +147 -0
  165. package/es/Player/player.d.ts +233 -0
  166. package/es/Player/segment_player.d.ts +8 -0
  167. package/es/Player/segment_player.js +229 -0
  168. package/es/Player/segment_timeline.d.ts +10 -0
  169. package/es/Player/segment_timeline.js +200 -0
  170. package/es/Player/single_player.d.ts +4 -0
  171. package/es/Player/single_player.js +278 -0
  172. package/es/Player/style/iconfont.js +43 -0
  173. package/es/Player/timeline.d.ts +7 -0
  174. package/es/Player/timeline.js +104 -0
  175. package/es/Player/util.d.ts +43 -0
  176. package/es/Player/util.js +189 -0
  177. package/es/PlayerExt/demo.d.ts +2 -0
  178. package/es/PlayerExt/demo.js +170 -0
  179. package/es/PlayerExt/index.d.ts +47 -0
  180. package/es/PlayerExt/index.js +212 -0
  181. package/es/Progress/index.d.ts +10 -0
  182. package/es/Progress/index.js +60 -0
  183. package/es/ROI/demo.d.ts +2 -0
  184. package/es/ROI/demo.js +17 -0
  185. package/es/ROI/index.d.ts +32 -0
  186. package/es/ROI/index.js +67 -0
  187. package/es/RefDrawer/Footer.d.ts +9 -0
  188. package/es/RefDrawer/Footer.js +27 -0
  189. package/es/RefDrawer/demo.d.ts +3 -0
  190. package/es/RefDrawer/demo.js +32 -0
  191. package/es/RefDrawer/index.d.ts +26 -0
  192. package/es/RefDrawer/index.js +73 -0
  193. package/es/RefModal/demo.d.ts +2 -0
  194. package/es/RefModal/demo.js +32 -0
  195. package/es/RefModal/index.d.ts +17 -0
  196. package/es/RefModal/index.js +71 -0
  197. package/es/ScreenPlayer/Live.d.ts +8 -0
  198. package/es/ScreenPlayer/Live.js +219 -0
  199. package/es/ScreenPlayer/LiveTools.d.ts +33 -0
  200. package/es/ScreenPlayer/LiveTools.js +172 -0
  201. package/es/ScreenPlayer/PlayerWithExt.d.ts +34 -0
  202. package/es/ScreenPlayer/PlayerWithExt.js +241 -0
  203. package/es/ScreenPlayer/RatePick.d.ts +7 -0
  204. package/es/ScreenPlayer/RatePick.js +35 -0
  205. package/es/ScreenPlayer/Record.d.ts +8 -0
  206. package/es/ScreenPlayer/Record.js +452 -0
  207. package/es/ScreenPlayer/RecordTools.d.ts +38 -0
  208. package/es/ScreenPlayer/RecordTools.js +214 -0
  209. package/es/ScreenPlayer/ScreenSelect.d.ts +6 -0
  210. package/es/ScreenPlayer/ScreenSelect.js +59 -0
  211. package/es/ScreenPlayer/SegmentTimeLine.d.ts +16 -0
  212. package/es/ScreenPlayer/SegmentTimeLine.js +44 -0
  213. package/es/ScreenPlayer/TimeMode.d.ts +6 -0
  214. package/es/ScreenPlayer/TimeMode.js +34 -0
  215. package/es/ScreenPlayer/TimeSelect.d.ts +6 -0
  216. package/es/ScreenPlayer/TimeSelect.js +99 -0
  217. package/es/ScreenPlayer/containerStyle.d.ts +13 -0
  218. package/es/ScreenPlayer/containerStyle.js +32 -0
  219. package/es/ScreenPlayer/demo.d.ts +1 -0
  220. package/es/ScreenPlayer/demo.js +19 -0
  221. package/es/ScreenPlayer/demo2.d.ts +1 -0
  222. package/es/ScreenPlayer/demo2.js +196 -0
  223. package/es/ScreenPlayer/index.d.ts +6 -0
  224. package/es/ScreenPlayer/index.js +9 -0
  225. package/es/ScreenPlayer/interface.d.ts +216 -0
  226. package/es/ScreenPlayer/useTimeSlider.d.ts +25 -0
  227. package/es/ScreenPlayer/useTimeSlider.js +451 -0
  228. package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
  229. package/es/ScreenPlayer/useVideoFit.js +35 -0
  230. package/es/ScreenPlayer/utils.d.ts +17 -0
  231. package/es/ScreenPlayer/utils.js +85 -0
  232. package/es/SegmentPlayer/index.d.ts +2 -0
  233. package/es/SegmentPlayer/index.js +2 -0
  234. package/es/Service/http.d.ts +6 -0
  235. package/es/Service/http.js +125 -0
  236. package/es/Service/index.d.ts +3 -0
  237. package/es/Service/index.js +10 -0
  238. package/es/Service/interface.d.ts +22 -0
  239. package/es/Service/middleware.d.ts +5 -0
  240. package/es/Service/middleware.js +15 -0
  241. package/es/SocketEmitter/eventEmitter.d.ts +27 -0
  242. package/es/SocketEmitter/eventEmitter.js +88 -0
  243. package/es/SocketEmitter/index.d.ts +24 -0
  244. package/es/SocketEmitter/index.js +125 -0
  245. package/es/SocketEmitter/interface.d.ts +4 -0
  246. package/es/TableLayout/index.d.ts +9 -0
  247. package/es/TableLayout/index.js +32 -0
  248. package/es/Timeout/index.d.ts +31 -0
  249. package/es/Timeout/index.js +69 -0
  250. package/es/cache/index.d.ts +34 -0
  251. package/es/cache/index.js +94 -0
  252. package/es/copy/index.d.ts +1 -0
  253. package/es/copy/index.js +9 -0
  254. package/es/core.d.ts +0 -0
  255. package/es/getThemeStyle/index.d.ts +2 -0
  256. package/es/getThemeStyle/index.js +5 -0
  257. package/es/index.d.ts +52 -0
  258. package/es/index.js +52 -0
  259. package/es/likeGo/index.d.ts +2 -0
  260. package/es/likeGo/index.js +31 -0
  261. package/es/likeGoSync/index.d.ts +2 -0
  262. package/es/likeGoSync/index.js +10 -0
  263. package/es/logger/index.d.ts +7 -0
  264. package/es/logger/index.js +30 -0
  265. package/es/nextTick/index.d.ts +1 -0
  266. package/es/nextTick/index.js +3 -0
  267. package/es/recorder/demo.d.ts +2 -0
  268. package/es/recorder/demo.js +200 -0
  269. package/es/recorder/index.d.ts +294 -0
  270. package/es/recorder/index.js +991 -0
  271. package/es/submidstr/index.d.ts +5 -0
  272. package/es/submidstr/index.js +14 -0
  273. package/es/treeHelper/index.d.ts +11 -0
  274. package/es/treeHelper/index.js +189 -0
  275. package/es/typings.d.ts +2 -0
  276. package/es/useDrawROI/index.d.ts +16 -0
  277. package/es/useDrawROI/index.js +318 -0
  278. package/es/useEventEmitterHandle/index.d.ts +2 -0
  279. package/es/useEventEmitterHandle/index.js +17 -0
  280. package/es/useHistory/index.d.ts +3 -0
  281. package/es/useHistory/index.js +9 -0
  282. package/es/useHistory/interface.d.ts +3 -0
  283. package/es/useInfiniteScroll/index.d.ts +16 -0
  284. package/es/useInfiniteScroll/index.js +102 -0
  285. package/es/useRafInterval/index.d.ts +5 -0
  286. package/es/useRafInterval/index.js +70 -0
  287. package/es/useSimpleState/index.d.ts +3 -0
  288. package/es/useSimpleState/index.js +35 -0
  289. package/es/useVirtualList/index.d.ts +13 -0
  290. package/es/useVirtualList/index.js +136 -0
  291. package/es/utils.d.ts +14 -0
  292. package/es/utils.js +46 -0
  293. package/es/uuid/index.d.ts +5 -0
  294. package/es/uuid/index.js +6 -0
  295. package/package.json +16 -21
  296. package/release-build.sh +2 -0
  297. package/scripts/{entry.js → entry.mjs} +4 -6
  298. package/{icon-fix.js → scripts/icon-fix.mjs} +4 -3
  299. package/tsconfig.json +1 -1
@@ -0,0 +1,219 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ var _excluded = ["list", "children", "oneWinExtTools", "allWinExtTools"];
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ 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; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ 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."); }
10
+ 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); }
11
+ 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; }
12
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ 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; }
15
+ 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; }
16
+ import { useMemoizedFn, useUpdateEffect } from 'ahooks';
17
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
18
+ import DisableMark from "../DisableMark";
19
+ import Tools from "./LiveTools";
20
+ import { LivePlayerWithExt } from "./PlayerWithExt";
21
+ import containerStyle, { playerLayout, splitScreenPlayerWrapper } from "./containerStyle";
22
+ import useVideoFit from "./useVideoFit";
23
+ import { ScreenType, mergeFill } from "./utils";
24
+ import { createElement as _createElement } from "react";
25
+ import { jsx as _jsx } from "react/jsx-runtime";
26
+ import { jsxs as _jsxs } from "react/jsx-runtime";
27
+ function LivePlayer(_ref) {
28
+ var _props$defaultScreen, _props$defaultSelectI, _screenType$name;
29
+ var list = _ref.list,
30
+ children = _ref.children,
31
+ oneWinExtTools = _ref.oneWinExtTools,
32
+ allWinExtTools = _ref.allWinExtTools,
33
+ props = _objectWithoutProperties(_ref, _excluded);
34
+ var _useState = useState({
35
+ screenNum: (_props$defaultScreen = props.defaultScreen) !== null && _props$defaultScreen !== void 0 ? _props$defaultScreen : 4,
36
+ selectIndex: (_props$defaultSelectI = props.defaultSelectIndex) !== null && _props$defaultSelectI !== void 0 ? _props$defaultSelectI : 0,
37
+ modes: {}
38
+ }),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ state = _useState2[0],
41
+ setState = _useState2[1];
42
+ var domRef = useRef(null);
43
+ var _useVideoFit = useVideoFit(domRef, []),
44
+ fit = _useVideoFit.fit,
45
+ toggleFit = _useVideoFit.toggleFit;
46
+
47
+ // 若外部来控制screenNum 则由外部完全控制
48
+ var screenNum = useMemo(function () {
49
+ var _props$screenNum;
50
+ return (_props$screenNum = props.screenNum) !== null && _props$screenNum !== void 0 ? _props$screenNum : state.screenNum;
51
+ }, [props.screenNum, state.screenNum]);
52
+
53
+ // 缓存所有player对象
54
+ var playerRef = useRef({});
55
+ var screenType = useMemo(function () {
56
+ return ScreenType.find(function (v) {
57
+ return v.name === screenNum;
58
+ });
59
+ }, [screenNum]);
60
+ var screenList = useMemo(function () {
61
+ return mergeFill(screenNum, list, {});
62
+ }, [list, screenNum]);
63
+
64
+ // 获取选中player对象
65
+ var getPlayerItem = function getPlayerItem() {
66
+ var _playerRef$current, _playerRef$current$ci;
67
+ var item = list ? list[state.selectIndex] : {};
68
+ var cid = item === null || item === void 0 ? void 0 : item.cid;
69
+ return cid ? (_playerRef$current = playerRef.current) === null || _playerRef$current === void 0 ? void 0 : (_playerRef$current$ci = _playerRef$current[cid]) === null || _playerRef$current$ci === void 0 ? void 0 : _playerRef$current$ci.current : undefined;
70
+ };
71
+
72
+ // 更新状态
73
+ var updateState = function updateState(newState) {
74
+ var obj = {};
75
+ if (newState.hasOwnProperty('screenNum')) {
76
+ if (props.screenNum) {
77
+ var _props$screenChange;
78
+ // 若外部控制,不需要update state
79
+ (_props$screenChange = props.screenChange) === null || _props$screenChange === void 0 ? void 0 : _props$screenChange.call(props, newState.screenNum);
80
+ } else {
81
+ obj.screenNum = newState.screenNum;
82
+ }
83
+
84
+ // 修正选中索引
85
+ if (newState.screenNum && newState.screenNum < state.selectIndex) {
86
+ obj.selectIndex = 0;
87
+ }
88
+ }
89
+ if (newState.hasOwnProperty('mode')) {
90
+ var item = list === null || list === void 0 ? void 0 : list[state.selectIndex];
91
+ var newModes = _objectSpread({}, state.modes);
92
+ var cid = item === null || item === void 0 ? void 0 : item.cid;
93
+ if (cid) {
94
+ newModes[cid] = newState.mode;
95
+ obj.modes = newModes;
96
+ }
97
+ }
98
+ setState(function (old) {
99
+ return _objectSpread(_objectSpread({}, old), obj);
100
+ });
101
+ };
102
+
103
+ // 当前窗口信息
104
+ var segmentItem = useMemo(function () {
105
+ return (list === null || list === void 0 ? void 0 : list[state.selectIndex]) || {};
106
+ }, [state.selectIndex, list]);
107
+
108
+ /**
109
+ * 同步外部的selectIndex变化
110
+ */
111
+ useEffect(function () {
112
+ if (typeof props.defaultSelectIndex !== 'number') {
113
+ return;
114
+ }
115
+ setState(function (old) {
116
+ if (old.selectIndex !== props.defaultSelectIndex) {
117
+ return _objectSpread(_objectSpread({}, old), {}, {
118
+ selectIndex: props.defaultSelectIndex
119
+ });
120
+ }
121
+ return old;
122
+ });
123
+ }, [props.defaultSelectIndex]);
124
+
125
+ // index变化同步到父组件
126
+ // eslint-disable-next-line react-hooks/exhaustive-deps
127
+ useUpdateEffect(function () {
128
+ var _props$onIndexChange;
129
+ return (_props$onIndexChange = props.onIndexChange) === null || _props$onIndexChange === void 0 ? void 0 : _props$onIndexChange.call(props, state.selectIndex);
130
+ }, [state.selectIndex]);
131
+
132
+ /**
133
+ * 通知screenNum变化
134
+ */
135
+ useUpdateEffect(function () {
136
+ var _props$screenChange2;
137
+ return (_props$screenChange2 = props.screenChange) === null || _props$screenChange2 === void 0 ? void 0 : _props$screenChange2.call(props, state.screenNum);
138
+ }, [state.screenNum]);
139
+ var onClose = useMemoizedFn(function () {
140
+ var _props$onClose;
141
+ setState(function (old) {
142
+ var item = screenList[old.selectIndex];
143
+ if (item && item.cid) {
144
+ var modes = _objectSpread({}, old.modes);
145
+ delete modes["".concat(item.cid)];
146
+ return _objectSpread(_objectSpread({}, old), {}, {
147
+ modes: modes
148
+ });
149
+ } else {
150
+ return old;
151
+ }
152
+ });
153
+ (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
154
+ });
155
+ var onCloseAll = useMemoizedFn(function () {
156
+ var _props$onCloseAll;
157
+ setState(function (old) {
158
+ return _objectSpread(_objectSpread({}, old), {}, {
159
+ modes: {},
160
+ currentTimes: {}
161
+ });
162
+ });
163
+ (_props$onCloseAll = props.onCloseAll) === null || _props$onCloseAll === void 0 ? void 0 : _props$onCloseAll.call(props);
164
+ });
165
+ return /*#__PURE__*/_jsxs("div", {
166
+ className: "".concat(splitScreenPlayerWrapper),
167
+ children: [/*#__PURE__*/_jsx("div", {
168
+ className: "".concat(playerLayout, " ").concat(containerStyle["container".concat((_screenType$name = screenType === null || screenType === void 0 ? void 0 : screenType.name) !== null && _screenType$name !== void 0 ? _screenType$name : 1)]),
169
+ ref: domRef,
170
+ children: screenList.map(function (item, index) {
171
+ var _item$url;
172
+ var className = state.selectIndex === index ? "item".concat(screenType === null || screenType === void 0 ? void 0 : screenType.name, "-").concat(index + 1, " player-current-index") : "item".concat(screenType === null || screenType === void 0 ? void 0 : screenType.name, "-").concat(index + 1);
173
+ var itemClick = function itemClick() {
174
+ return setState(function (old) {
175
+ return _objectSpread(_objectSpread({}, old), {}, {
176
+ selectIndex: index
177
+ });
178
+ });
179
+ };
180
+ return /*#__PURE__*/_createElement(LivePlayerWithExt, _objectSpread(_objectSpread({}, item), {}, {
181
+ mode: item.cid && state.modes[item.cid] ? state.modes[item.cid] : item.mode,
182
+ key: (_item$url = item.url) !== null && _item$url !== void 0 ? _item$url : "".concat(index),
183
+ updatePlayer: function updatePlayer(player) {
184
+ if (item.cid) {
185
+ playerRef.current[item.cid] = player;
186
+ }
187
+ },
188
+ className: className,
189
+ onClick: itemClick,
190
+ pluginDownloadUrl: props.pluginDownloadUrl
191
+ }));
192
+ })
193
+ }), /*#__PURE__*/_jsxs(DisableMark, {
194
+ disabled: !segmentItem.url,
195
+ width: "70%",
196
+ children: [/*#__PURE__*/_jsx(Tools, {
197
+ onClose: onClose,
198
+ onCloseAll: onCloseAll,
199
+ fit: fit,
200
+ toggleFit: toggleFit,
201
+ getPlayerItem: getPlayerItem,
202
+ screenNum: screenNum,
203
+ mode: segmentItem !== null && segmentItem !== void 0 && segmentItem.cid ? state.modes[segmentItem === null || segmentItem === void 0 ? void 0 : segmentItem.cid] : segmentItem === null || segmentItem === void 0 ? void 0 : segmentItem.mode,
204
+ containerRef: domRef,
205
+ updateState: updateState,
206
+ snapshot: props.snapshot,
207
+ oneWinExtTools: oneWinExtTools,
208
+ allWinExtTools: allWinExtTools,
209
+ hasPlugin: !!props.pluginDownloadUrl
210
+ }), children && /*#__PURE__*/React.cloneElement(children, {
211
+ selectIndex: state.selectIndex
212
+ })]
213
+ })]
214
+ });
215
+ }
216
+ LivePlayer.defaultProps = {
217
+ list: []
218
+ };
219
+ export default LivePlayer;
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { ExportPlayerType } from '../Player/player';
3
+ import { PlayModeType } from '../PlayerExt';
4
+ export declare const playerToolsCss: string;
5
+ export declare const playerToolsLeftCss: string;
6
+ export declare const playerToolsRightCss: string;
7
+ export declare const playerToolsMid: string;
8
+ interface IToolsProps {
9
+ containerRef: React.RefObject<HTMLDivElement>;
10
+ updateState: (state: {
11
+ screenNum?: number;
12
+ mode?: PlayModeType;
13
+ }) => void;
14
+ screenNum: number;
15
+ mode?: PlayModeType;
16
+ getPlayerItem: () => ExportPlayerType | undefined;
17
+ fit?: string;
18
+ toggleFit?: () => void;
19
+ onClose?: () => void;
20
+ onCloseAll?: () => void;
21
+ snapshot?: (base64: string) => void;
22
+ /**
23
+ * 单窗口拓展工具条,左侧
24
+ */
25
+ oneWinExtTools?: JSX.Element;
26
+ /**
27
+ * 全局窗口工具条,右侧
28
+ */
29
+ allWinExtTools?: JSX.Element;
30
+ hasPlugin?: boolean;
31
+ }
32
+ declare function LiveTools({ containerRef, oneWinExtTools, allWinExtTools, screenNum, mode, fit, hasPlugin, ...props }: IToolsProps): import("react/jsx-runtime").JSX.Element;
33
+ export default LiveTools;
@@ -0,0 +1,172 @@
1
+ var _excluded = ["containerRef", "oneWinExtTools", "allWinExtTools", "screenNum", "mode", "fit", "hasPlugin"];
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ 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."); }
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
+ 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; }
7
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ 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; }
10
+ 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; }
11
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
12
+ import { css } from '@emotion/css';
13
+ import { useFullscreen, useInterval, useUpdate } from 'ahooks';
14
+ import React from 'react';
15
+ import Volume from "../Player/contraller_bar/volume";
16
+ import IconFont from "../Player/iconfont";
17
+ import ScreenSelect from "./ScreenSelect";
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ export var playerToolsCss = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n height: 42px;\n padding: 0 10px;\n background-color: #242c3d;\n align-items: center;\n justify-content: space-between;\n .player-tools-item {\n display: flex;\n width: 32px;\n height: 32px;\n margin: 0;\n font-size: 18px;\n color: var(--gray1);\n cursor: pointer;\n align-items: center;\n justify-content: center;\n\n .antion {\n font-size: 20px;\n }\n\n &:hover {\n background-color: var(--gray11);\n border-radius: var(--radius1);\n }\n }\n"])));
21
+ export var playerToolsLeftCss = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: grid;\n width: 35%;\n grid-template-columns: repeat(auto-fill, 32px);\n grid-gap: 10px;\n"])));
22
+ export var playerToolsRightCss = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 35%;\n display: flex;\n justify-content: flex-end;\n margin-right: 0;\n margin-left: 4px;\n align-items: center;\n"])));
23
+ export var playerToolsMid = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-self: center;\n height: 100%;\n"])));
24
+ function LiveTools(_ref) {
25
+ var containerRef = _ref.containerRef,
26
+ oneWinExtTools = _ref.oneWinExtTools,
27
+ allWinExtTools = _ref.allWinExtTools,
28
+ screenNum = _ref.screenNum,
29
+ _ref$mode = _ref.mode,
30
+ mode = _ref$mode === void 0 ? 1 : _ref$mode,
31
+ fit = _ref.fit,
32
+ hasPlugin = _ref.hasPlugin,
33
+ props = _objectWithoutProperties(_ref, _excluded);
34
+ var _useFullscreen = useFullscreen(containerRef),
35
+ _useFullscreen2 = _slicedToArray(_useFullscreen, 2),
36
+ isFullscreen = _useFullscreen2[0],
37
+ toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
38
+ var update = useUpdate();
39
+ // 播放状态控制
40
+ var playToggle = function playToggle() {
41
+ var player = props.getPlayerItem();
42
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
43
+ player ? player.video.paused ? player.api.play() : player.api.pause() : undefined;
44
+ update();
45
+ };
46
+
47
+ // 重连
48
+ var reload = function reload() {
49
+ var player = props.getPlayerItem();
50
+ player === null || player === void 0 ? void 0 : player.api.reload();
51
+ };
52
+ var snapshotaction = function snapshotaction() {
53
+ var player = props.getPlayerItem();
54
+ var base64 = player === null || player === void 0 ? void 0 : player.api.snapshot();
55
+ if (base64) {
56
+ var _props$snapshot;
57
+ (_props$snapshot = props.snapshot) === null || _props$snapshot === void 0 ? void 0 : _props$snapshot.call(props, base64);
58
+ }
59
+ };
60
+ var player = props.getPlayerItem();
61
+
62
+ /**
63
+ * 定时获取play状态
64
+ */
65
+ useInterval(function () {
66
+ return update();
67
+ }, 2000);
68
+ return /*#__PURE__*/_jsxs("div", {
69
+ className: playerToolsCss,
70
+ children: [/*#__PURE__*/_jsxs("div", {
71
+ className: playerToolsLeftCss,
72
+ children: [/*#__PURE__*/_jsx("span", {
73
+ className: "player-tools-item",
74
+ children: /*#__PURE__*/_jsx(Volume, {
75
+ api: player === null || player === void 0 ? void 0 : player.api
76
+ })
77
+ }), /*#__PURE__*/_jsx("span", {
78
+ className: "player-tools-item",
79
+ children: /*#__PURE__*/_jsx(IconFont, {
80
+ type: "lm-player-xiangji1fill",
81
+ title: "\u622A\u56FE",
82
+ onClick: snapshotaction
83
+ })
84
+ }), /*#__PURE__*/_jsx("span", {
85
+ className: "player-tools-item",
86
+ onClick: reload,
87
+ children: /*#__PURE__*/_jsx(IconFont, {
88
+ type: "lm-player-Refresh_Main",
89
+ title: "\u91CD\u8F7D"
90
+ })
91
+ }), hasPlugin && /*#__PURE__*/_jsx("span", {
92
+ className: "player-tools-item",
93
+ onClick: function onClick() {
94
+ return props.updateState({
95
+ mode: mode !== 2 ? 2 : 1
96
+ });
97
+ },
98
+ children: /*#__PURE__*/_jsx(IconFont, {
99
+ type: "lm-player-S_Device_shezhi",
100
+ className: "icon-chajian",
101
+ style: mode === 2 ? {
102
+ color: 'var(--primary)'
103
+ } : undefined,
104
+ title: "\u5207\u6362".concat(mode === 1 ? '插件' : '浏览器', "\u6A21\u5F0F")
105
+ })
106
+ }), /*#__PURE__*/_jsx("div", {
107
+ className: "player-tools-item",
108
+ onClick: props.onClose,
109
+ style: {
110
+ marginRight: 6
111
+ },
112
+ children: /*#__PURE__*/_jsx(IconFont, {
113
+ type: "lm-player-close",
114
+ title: "\u5173\u95ED"
115
+ })
116
+ }), oneWinExtTools]
117
+ }), /*#__PURE__*/_jsx("div", {
118
+ className: playerToolsMid,
119
+ children: /*#__PURE__*/_jsx("div", {
120
+ className: "player-tools-item",
121
+ onClick: playToggle,
122
+ style: {
123
+ marginLeft: 6
124
+ },
125
+ children: player && !player.video.paused ? /*#__PURE__*/_jsx(IconFont, {
126
+ type: "lm-player-Pause_Main",
127
+ title: "\u6682\u505C"
128
+ }) : /*#__PURE__*/_jsx(IconFont, {
129
+ type: "lm-player-bofang",
130
+ title: "\u64AD\u653E"
131
+ })
132
+ })
133
+ }), /*#__PURE__*/_jsxs("div", {
134
+ className: playerToolsRightCss,
135
+ children: [allWinExtTools, /*#__PURE__*/_jsx("span", {
136
+ className: "player-tools-item",
137
+ onClick: props.onCloseAll,
138
+ children: /*#__PURE__*/_jsx(IconFont, {
139
+ type: "lm-player-quanbuguanbi",
140
+ title: "\u5173\u95ED\u6240\u6709"
141
+ })
142
+ }), /*#__PURE__*/_jsx(ScreenSelect, {
143
+ screenNum: screenNum,
144
+ updateState: props.updateState
145
+ }), /*#__PURE__*/_jsx("span", {
146
+ className: "player-tools-item",
147
+ onClick: props.toggleFit,
148
+ children: fit === 'fill' ? /*#__PURE__*/_jsx(IconFont, {
149
+ type: "lm-player-huamianshiying",
150
+ title: "\u81EA\u9002\u5E94"
151
+ }) : /*#__PURE__*/_jsx(IconFont, {
152
+ type: "lm-player-huamianshiying",
153
+ title: "\u586B\u5145"
154
+ })
155
+ }), /*#__PURE__*/_jsx("span", {
156
+ className: "player-tools-item",
157
+ onClick: toggleFullscreen,
158
+ style: {
159
+ marginRight: 0
160
+ },
161
+ children: isFullscreen ? /*#__PURE__*/_jsx(IconFont, {
162
+ type: "lm-player-quanping",
163
+ title: "\u5168\u5C4F"
164
+ }) : /*#__PURE__*/_jsx(IconFont, {
165
+ type: "lm-player-quanping",
166
+ title: "\u5168\u5C4F"
167
+ })
168
+ })]
169
+ })]
170
+ });
171
+ }
172
+ export default LiveTools;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import type { ExportPlayerType, ISegmentType, ISinglePlayerProps } from '../Player/player';
3
+ import type { PlayModeType } from '../PlayerExt';
4
+ interface ILivePlayerWithExtProps extends ISinglePlayerProps {
5
+ mode?: PlayModeType;
6
+ style?: React.CSSProperties;
7
+ onClick?: () => void;
8
+ updatePlayer: (obj: React.MutableRefObject<ExportPlayerType>) => void;
9
+ pluginDownloadUrl?: string;
10
+ }
11
+ export declare function LivePlayerWithExt({ mode, url, type, style, className, updatePlayer, onClick, pluginDownloadUrl, ...props }: ILivePlayerWithExtProps): import("react/jsx-runtime").JSX.Element;
12
+ interface ISegmentPlayerWithExtProps extends Omit<ILivePlayerWithExtProps, 'url'> {
13
+ segments?: ISegmentType[];
14
+ begin?: number;
15
+ fpsDelay?: number;
16
+ fps?: number;
17
+ httpLoading: boolean;
18
+ screenIndex?: number;
19
+ }
20
+ export declare function SegmentPlayerWithExt({ begin, style, className, segments, mode, fpsDelay, fps, httpLoading, ...props }: ISegmentPlayerWithExtProps): import("react/jsx-runtime").JSX.Element;
21
+ interface IFrontendPlayerWithExtProps extends Omit<ILivePlayerWithExtProps, 'url'> {
22
+ segments?: ISegmentType[];
23
+ begin?: number;
24
+ httpLoading: boolean;
25
+ getLocalRecordUrl?: (options: {
26
+ url: URL;
27
+ begin: number;
28
+ end: number;
29
+ screenIndex: number;
30
+ }) => Promise<string>;
31
+ screenIndex: number;
32
+ }
33
+ export declare function FrontendPlayerWithExt({ mode, style, className, segments, pluginDownloadUrl, screenIndex, httpLoading, ...props }: IFrontendPlayerWithExtProps): import("react/jsx-runtime").JSX.Element;
34
+ export {};