@cloud-app-dev/vidc 2.1.0-alpha.8 → 2.2.0-alpha.2

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 (166) hide show
  1. package/.umirc.ts +4 -3
  2. package/es/Api/index.js +1 -1
  3. package/es/AppContext/Sync.d.ts +1 -0
  4. package/es/AppContext/interface.d.ts +4 -1
  5. package/es/CheckGroupFixed/index.d.ts +1 -0
  6. package/es/DeviceSelect/TreeType.d.ts +1 -0
  7. package/es/DeviceSelect/demo.d.ts +1 -0
  8. package/es/DeviceSelect/index.d.ts +1 -0
  9. package/es/DeviceSelect/index.js +1 -1
  10. package/es/Drag/DragAndDropItem.js +2 -2
  11. package/es/Drag/DropItem.js +2 -2
  12. package/es/Drawer/Demo.js +24 -3
  13. package/es/Drawer/Footer.d.ts +1 -0
  14. package/es/Drawer/index.d.ts +29 -3
  15. package/es/Drawer/index.js +155 -4
  16. package/es/FrontendPlayer/index.d.ts +2 -0
  17. package/es/FrontendPlayer/index.js +2 -0
  18. package/es/FullScreen/index.d.ts +2 -3
  19. package/es/FullScreen/index.js +14 -41
  20. package/es/InitialConfig/utils.d.ts +5 -5
  21. package/es/InitialConfig/utils.js +19 -19
  22. package/es/Input/index.d.ts +1 -0
  23. package/es/List/CheckExt.d.ts +1 -0
  24. package/es/List/DeviceList/index.js +1 -1
  25. package/es/List/DynamicDeviceList/Demo.d.ts +1 -0
  26. package/es/List/DynamicDeviceList/index.d.ts +1 -0
  27. package/es/List/GridList/index.js +0 -1
  28. package/es/List/VList/index.d.ts +1 -0
  29. package/es/List/index.d.ts +1 -0
  30. package/es/LoaderApp/index.js +26 -22
  31. package/es/LoaderApp/loader.js +2 -6
  32. package/es/LoaderApp/utils.d.ts +1 -0
  33. package/es/LoaderApp/utils.js +37 -0
  34. package/es/Modal/index.d.ts +27 -0
  35. package/es/Modal/index.js +155 -1
  36. package/es/Picture/component/DefaultRects/RectInfo.d.ts +1 -0
  37. package/es/Picture/component/DefaultRects/index.d.ts +2 -1
  38. package/es/Picture/component/DrawRect/index.d.ts +3 -4
  39. package/es/Picture/component/MoveContent/index.js +16 -12
  40. package/es/Picture/component/RectMenu/index.d.ts +2 -3
  41. package/es/Picture/component/Tools/index.js +0 -5
  42. package/es/Picture/component/WheelScale/index.d.ts +1 -0
  43. package/es/Picture/component/WheelScale/index.js +3 -3
  44. package/es/Picture/index.d.ts +1 -0
  45. package/es/Picture/index.js +4 -2
  46. package/es/Picture/interface.d.ts +4 -2
  47. package/es/Picture/utils.d.ts +1 -0
  48. package/es/Player/api/index.d.ts +71 -0
  49. package/es/Player/api/index.js +284 -0
  50. package/es/Player/contraller_bar/bar.d.ts +8 -0
  51. package/es/Player/contraller_bar/bar.js +21 -0
  52. package/es/Player/contraller_bar/contraller_event.d.ts +9 -0
  53. package/es/{RefModal/index.js → Player/contraller_bar/contraller_event.js} +39 -54
  54. package/es/Player/contraller_bar/index.d.ts +19 -0
  55. package/es/Player/contraller_bar/index.js +37 -0
  56. package/es/Player/contraller_bar/left_bar.d.ts +15 -0
  57. package/es/Player/contraller_bar/left_bar.js +91 -0
  58. package/es/Player/contraller_bar/right_bar.d.ts +13 -0
  59. package/es/Player/contraller_bar/right_bar.js +55 -0
  60. package/es/Player/contraller_bar/useBarStatus.d.ts +3 -0
  61. package/es/{RefDrawer/index.js → Player/contraller_bar/useBarStatus.js} +27 -46
  62. package/es/Player/demo.d.ts +2 -0
  63. package/es/Player/demo.js +269 -0
  64. package/es/Player/event/browserTabEvent.d.ts +9 -0
  65. package/es/Player/event/browserTabEvent.js +57 -0
  66. package/es/Player/event/errorEvent.d.ts +16 -0
  67. package/es/Player/event/errorEvent.js +120 -0
  68. package/es/Player/event/eventName.d.ts +3 -0
  69. package/es/Player/event/eventName.js +15 -0
  70. package/es/Player/event/index.d.ts +22 -0
  71. package/es/Player/event/index.js +175 -0
  72. package/es/Player/frontend_player.d.ts +15 -0
  73. package/es/Player/frontend_player.js +90 -0
  74. package/es/Player/frontend_timeline.d.ts +14 -0
  75. package/es/Player/frontend_timeline.js +138 -0
  76. package/es/Player/iconfont.d.ts +13 -0
  77. package/es/Player/iconfont.js +18 -0
  78. package/es/Player/index.d.ts +8 -0
  79. package/es/Player/index.js +8 -0
  80. package/es/Player/live_heart.d.ts +6 -0
  81. package/es/Player/live_heart.js +29 -0
  82. package/es/Player/message.d.ts +11 -0
  83. package/es/Player/message.js +150 -0
  84. package/es/Player/player.d.ts +75 -0
  85. package/es/Player/segment_player.d.ts +13 -0
  86. package/es/Player/segment_player.js +191 -0
  87. package/es/Player/segment_timeline.d.ts +16 -0
  88. package/es/Player/segment_timeline.js +154 -0
  89. package/es/Player/single_player.d.ts +5 -0
  90. package/es/Player/single_player.js +185 -0
  91. package/es/Player/style/bar.css +37 -0
  92. package/es/Player/style/iconfont.css +62 -0
  93. package/es/Player/style/index.css +22 -0
  94. package/es/Player/style/message.css +49 -0
  95. package/es/Player/style/slider.css +96 -0
  96. package/es/Player/style/timeline.css +92 -0
  97. package/es/Player/timeline.d.ts +11 -0
  98. package/es/Player/timeline.js +104 -0
  99. package/es/Player/util.d.ts +48 -0
  100. package/es/Player/util.js +172 -0
  101. package/es/Progress/index.d.ts +1 -0
  102. package/es/SegmentPlayer/index.d.ts +2 -0
  103. package/es/SegmentPlayer/index.js +2 -0
  104. package/es/Service/fetch-adapter.d.ts +12 -0
  105. package/es/Service/fetch-adapter.js +184 -0
  106. package/es/Service/http.d.ts +1 -1
  107. package/es/Service/http.js +4 -2
  108. package/es/Service/interface.d.ts +2 -1
  109. package/es/Tree/BaseTree/demo.d.ts +1 -0
  110. package/es/Tree/BaseTree/demo.js +3 -1
  111. package/es/Tree/BaseTree/index.d.ts +2 -2
  112. package/es/Tree/demo.d.ts +1 -0
  113. package/es/Tree/index.js +1 -1
  114. package/es/UserSelect/demo.d.ts +1 -0
  115. package/es/WorkerFlow/Form/Approver.d.ts +1 -0
  116. package/es/WorkerFlow/Form/Condition.d.ts +1 -0
  117. package/es/WorkerFlow/Form/Condition.js +2 -1
  118. package/es/WorkerFlow/Form/EmptyUserSet.d.ts +1 -0
  119. package/es/WorkerFlow/Form/EmptyUserSet.js +2 -1
  120. package/es/WorkerFlow/Form/FormAuth.d.ts +1 -0
  121. package/es/WorkerFlow/Form/GroupList.d.ts +1 -0
  122. package/es/WorkerFlow/Form/GroupSelect.d.ts +1 -0
  123. package/es/WorkerFlow/Form/GroupSelect.js +2 -1
  124. package/es/WorkerFlow/Form/Handle.d.ts +1 -0
  125. package/es/WorkerFlow/Form/LevelGroupSelect.d.ts +1 -0
  126. package/es/WorkerFlow/Form/LevelGroupSelect.js +2 -1
  127. package/es/WorkerFlow/Form/Notifier.d.ts +1 -0
  128. package/es/WorkerFlow/Form/UserAndGroupSelect.d.ts +1 -0
  129. package/es/WorkerFlow/Form/UserAndGroupSelect.js +2 -1
  130. package/es/WorkerFlow/Form/UserSelect.d.ts +1 -0
  131. package/es/WorkerFlow/Form/UserSelect.js +2 -1
  132. package/es/WorkerFlow/Form/UserSet.d.ts +1 -0
  133. package/es/WorkerFlow/Form/UsersHandleType.d.ts +1 -0
  134. package/es/WorkerFlow/Nodes/Add.d.ts +1 -0
  135. package/es/WorkerFlow/Nodes/Add.js +1 -1
  136. package/es/WorkerFlow/Nodes/AddOption.d.ts +1 -0
  137. package/es/WorkerFlow/Nodes/AddOptionList.d.ts +1 -0
  138. package/es/WorkerFlow/Nodes/Approver.d.ts +1 -0
  139. package/es/WorkerFlow/Nodes/Condition.d.ts +1 -0
  140. package/es/WorkerFlow/Nodes/End.d.ts +1 -0
  141. package/es/WorkerFlow/Nodes/Handle.d.ts +1 -0
  142. package/es/WorkerFlow/Nodes/Node.d.ts +1 -0
  143. package/es/WorkerFlow/Nodes/Notifier.d.ts +1 -0
  144. package/es/WorkerFlow/Nodes/Render.d.ts +1 -0
  145. package/es/WorkerFlow/Nodes/Start.d.ts +1 -0
  146. package/es/WorkerFlow/Nodes/TitleElement.d.ts +1 -0
  147. package/es/WorkerFlow/Nodes/TitleElement.js +6 -2
  148. package/es/WorkerFlow/index.js +2 -1
  149. package/es/index.d.ts +5 -8
  150. package/es/index.js +6 -9
  151. package/es/typings.d.ts +1 -0
  152. package/package.json +15 -10
  153. package/tsconfig.json +3 -2
  154. package/typings/global.d.ts +4 -0
  155. package/es/AppRedirect/index.css +0 -0
  156. package/es/AppRedirect/index.d.ts +0 -16
  157. package/es/AppRedirect/index.js +0 -33
  158. package/es/AppRouter/index.d.ts +0 -8
  159. package/es/AppRouter/index.js +0 -17
  160. package/es/RefDrawer/index.d.ts +0 -15
  161. package/es/RefModal/index.d.ts +0 -15
  162. package/es/useDrawer/index.d.ts +0 -14
  163. package/es/useDrawer/index.js +0 -91
  164. package/es/useModal/index.d.ts +0 -14
  165. package/es/useModal/index.js +0 -93
  166. package/typings.d.ts +0 -2
@@ -0,0 +1,175 @@
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
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
+
15
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16
+
17
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
18
+
19
+ import { useEffect, useState } from 'react';
20
+
21
+ var VideoEventInstance = /*#__PURE__*/function () {
22
+ function VideoEventInstance(video) {
23
+ _classCallCheck(this, VideoEventInstance);
24
+
25
+ this.video = video;
26
+ this.events = {};
27
+ this.playerEvents = {};
28
+ }
29
+
30
+ _createClass(VideoEventInstance, [{
31
+ key: "on",
32
+ value: function on(eventName, handle) {
33
+ this.events && this.events[eventName] ? this.events[eventName].listener.push(handle) : this.events[eventName] = {
34
+ type: eventName,
35
+ listener: [handle]
36
+ };
37
+ }
38
+ }, {
39
+ key: "addEventListener",
40
+ value: function addEventListener(eventName, handle) {
41
+ if (this.video) {
42
+ this.playerEvents[eventName] ? this.playerEvents[eventName].push(handle) : this.playerEvents[eventName] = [handle];
43
+ this.video.addEventListener(eventName, handle, false);
44
+ }
45
+ }
46
+ }, {
47
+ key: "removeEventListener",
48
+ value: function removeEventListener(eventName, handle) {
49
+ if (this.video) {
50
+ if (!this.playerEvents || !this.playerEvents[eventName]) {
51
+ return;
52
+ }
53
+
54
+ var index = this.playerEvents[eventName].findIndex(function (v) {
55
+ return v === handle;
56
+ });
57
+ index > -1 && this.playerEvents[eventName].splice(index, 1);
58
+ this.video.removeEventListener(eventName, handle, false);
59
+ }
60
+ }
61
+ }, {
62
+ key: "emit",
63
+ value: function emit(eventName) {
64
+ for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
65
+ data[_key - 1] = arguments[_key];
66
+ }
67
+
68
+ if (!this.events || !this.events[eventName]) {
69
+ return;
70
+ }
71
+
72
+ this.events[eventName].listener.forEach(function (v) {
73
+ v.apply(void 0, data);
74
+ });
75
+ }
76
+ }, {
77
+ key: "off",
78
+ value: function off(eventName, handle) {
79
+ if (!this.events || !this.events.eventName) {
80
+ return;
81
+ }
82
+
83
+ var index = this.events[eventName].listener.findIndex(function (v) {
84
+ return v === handle;
85
+ });
86
+ index > -1 && this.events[eventName].listener.splice(index, 1);
87
+ }
88
+ }, {
89
+ key: "destroy",
90
+ value: function destroy() {
91
+ var _this = this;
92
+
93
+ Object.keys(this.playerEvents).forEach(function (key) {
94
+ _this.playerEvents[key].forEach(function (fn) {
95
+ _this.removeEventListener(key, fn);
96
+ });
97
+ });
98
+ this.playerEvents = {};
99
+ this.events = {};
100
+ this.video = null;
101
+ }
102
+ }]);
103
+
104
+ return VideoEventInstance;
105
+ }();
106
+
107
+ export function usePlayerEvent(video) {
108
+ var _useState = useState(null),
109
+ _useState2 = _slicedToArray(_useState, 2),
110
+ event = _useState2[0],
111
+ setEvent = _useState2[1];
112
+
113
+ useEffect(function () {
114
+ if (!video) {
115
+ console.debug('wait create event...');
116
+ return undefined;
117
+ }
118
+
119
+ var event = new VideoEventInstance(video);
120
+ setEvent(event);
121
+ return function () {
122
+ return event.destroy();
123
+ };
124
+ }, [video]);
125
+ return event;
126
+ }
127
+ export function useVideoEvents(event, events) {
128
+ useEffect(function () {
129
+ if (!event || !events) {
130
+ return undefined;
131
+ }
132
+
133
+ events.forEach(function (_ref) {
134
+ var _ref2 = _slicedToArray(_ref, 2),
135
+ eventName = _ref2[0],
136
+ handle = _ref2[1];
137
+
138
+ event.addEventListener(eventName, handle);
139
+ });
140
+ return function () {
141
+ events.forEach(function (_ref3) {
142
+ var _ref4 = _slicedToArray(_ref3, 2),
143
+ eventName = _ref4[0],
144
+ handle = _ref4[1];
145
+
146
+ event.removeEventListener(eventName, handle);
147
+ });
148
+ };
149
+ }, [event]);
150
+ }
151
+ export function useRegisterPlayerEvents(event, events) {
152
+ useEffect(function () {
153
+ if (!event || !events) {
154
+ return undefined;
155
+ }
156
+
157
+ events.forEach(function (_ref5) {
158
+ var _ref6 = _slicedToArray(_ref5, 2),
159
+ eventName = _ref6[0],
160
+ handle = _ref6[1];
161
+
162
+ event.on(eventName, handle);
163
+ });
164
+ return function () {
165
+ events.forEach(function (_ref7) {
166
+ var _ref8 = _slicedToArray(_ref7, 2),
167
+ eventName = _ref8[0],
168
+ handle = _ref8[1];
169
+
170
+ event.off(eventName, handle);
171
+ });
172
+ };
173
+ }, [event]);
174
+ }
175
+ export default VideoEventInstance;
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import type { ISinglePlayerProps } from './player';
3
+ declare type OmitPlayerProps = 'customTimeLine' | 'onCanPlayerInit' | 'isLive' | 'reload' | 'type';
4
+ interface IFrontendPlayerProps extends Omit<ISinglePlayerProps, OmitPlayerProps> {
5
+ begin?: number;
6
+ end?: number;
7
+ onSeek(time: number): void;
8
+ }
9
+ /**
10
+ * @desc 主组件,负责片段整体逻辑控制
11
+ * @param param0
12
+ * @returns
13
+ */
14
+ declare function FrontendPlayer({ url, begin, end, onSeek, ...props }: IFrontendPlayerProps): JSX.Element;
15
+ export default FrontendPlayer;
@@ -0,0 +1,90 @@
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 { __rest } from "tslib";
14
+ import React, { useMemo, useRef, useState } from 'react';
15
+ import SinglePlayer from './single_player';
16
+ import FrontendTimeLine from './frontend_timeline';
17
+ /**
18
+ * @desc 主组件,负责片段整体逻辑控制
19
+ * @param param0
20
+ * @returns
21
+ */
22
+
23
+ function FrontendPlayer(_a) {
24
+ var url = _a.url,
25
+ begin = _a.begin,
26
+ end = _a.end,
27
+ onSeek = _a.onSeek,
28
+ props = __rest(_a, ["url", "begin", "end", "onSeek"]);
29
+
30
+ var _useState = useState({
31
+ forceKey: Date.now()
32
+ }),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ state = _useState2[0],
35
+ setState = _useState2[1];
36
+
37
+ var playerRef = useRef(null);
38
+
39
+ var _ref = playerRef.current || {},
40
+ api = _ref.api,
41
+ event = _ref.event; // 秒级别转换毫秒
42
+
43
+
44
+ var beginTemp = useMemo(function () {
45
+ return begin ? String(begin).length === 10 ? Math.floor(begin * 1000) : begin : begin;
46
+ }, []);
47
+ var endTemp = useMemo(function () {
48
+ return end ? String(end).length === 10 ? Math.floor(end * 1000) : end : end;
49
+ }, []);
50
+ var duration = useMemo(function () {
51
+ return (endTemp - beginTemp) / 1000;
52
+ }, [beginTemp, endTemp]); //单位s 秒
53
+ // 重置reload
54
+
55
+ var reload = function reload() {
56
+ onSeek(beginTemp);
57
+ playerRef.current.api.reload();
58
+ setState(function (old) {
59
+ return Object.assign(Object.assign({}, old), {
60
+ forceKey: Date.now()
61
+ });
62
+ });
63
+ };
64
+
65
+ return /*#__PURE__*/React.createElement(SinglePlayer, Object.assign({
66
+ ref: playerRef,
67
+ url: url,
68
+ type: "flv",
69
+ reload: reload,
70
+ isLive: false,
71
+ onCanPlayerInit: function onCanPlayerInit() {
72
+ return setState(function (old) {
73
+ return Object.assign(Object.assign({}, old), {
74
+ forceKey: Date.now()
75
+ });
76
+ });
77
+ },
78
+ customTimeLine: api && event ? /*#__PURE__*/React.createElement(FrontendTimeLine, {
79
+ end: endTemp,
80
+ onSeek: onSeek,
81
+ key: state.forceKey,
82
+ begin: beginTemp,
83
+ api: api,
84
+ event: event,
85
+ duration: duration
86
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null)
87
+ }, props));
88
+ }
89
+
90
+ export default FrontendPlayer;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import type Api from './api';
3
+ import type VideoEventInstance from './event';
4
+ import './style/timeline.less';
5
+ interface ITimeLineProps {
6
+ api: Api;
7
+ event: VideoEventInstance;
8
+ duration: number;
9
+ begin: number;
10
+ end: number;
11
+ onSeek(time: number): void;
12
+ }
13
+ declare function FrontendTimeLine({ api, event, duration, begin, end, onSeek }: ITimeLineProps): JSX.Element;
14
+ export default FrontendTimeLine;
@@ -0,0 +1,138 @@
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, { useCallback, useEffect, useMemo, useState, startTransition } from 'react';
14
+ import useBarStatus from './contraller_bar/useBarStatus';
15
+ import { useTimes } from './timeline';
16
+ import { dateFormat } from './util';
17
+ import "./style/timeline.css";
18
+
19
+ function FrontendTimeLine(_ref) {
20
+ var api = _ref.api,
21
+ event = _ref.event,
22
+ duration = _ref.duration,
23
+ begin = _ref.begin,
24
+ end = _ref.end,
25
+ onSeek = _ref.onSeek;
26
+
27
+ var _useState = useState({
28
+ time: 0,
29
+ markTime: 0,
30
+ left: -1,
31
+ visible: false
32
+ }),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ state = _useState2[0],
35
+ setState = _useState2[1];
36
+
37
+ var status = useBarStatus(event);
38
+
39
+ var _useTimes = useTimes(api, event),
40
+ _useTimes2 = _slicedToArray(_useTimes, 1),
41
+ currentTime = _useTimes2[0];
42
+
43
+ var rTime = useMemo(function () {
44
+ return state.time + currentTime;
45
+ }, [state.time, currentTime]);
46
+ useEffect(function () {
47
+ return setState(function (old) {
48
+ return Object.assign(Object.assign({}, old), {
49
+ time: 0
50
+ });
51
+ });
52
+ }, [begin]);
53
+ var playPercent = useMemo(function () {
54
+ return rTime / duration * 100;
55
+ }, [rTime]);
56
+ var cTime = useMemo(function () {
57
+ return begin + rTime * 1000;
58
+ }, [begin, rTime]);
59
+ var seekWithLine = useCallback(function (e) {
60
+ var rect = e.currentTarget.getBoundingClientRect();
61
+ var current = e.pageX - rect.left;
62
+ var cTime = current / rect.width * duration;
63
+ onSeek && onSeek(begin + cTime * 1000); //时间轴进度条rTime是要加上currentTime,这里要减去一下,包装交互一致性
64
+
65
+ setState(function (old) {
66
+ return Object.assign(Object.assign({}, old), {
67
+ time: cTime - currentTime
68
+ });
69
+ });
70
+ }, [api, duration, begin, onSeek, currentTime]);
71
+ var onLineMouseOver = useCallback(function (e) {
72
+ var rect = e.currentTarget.getBoundingClientRect();
73
+ var left = e.pageX - rect.left;
74
+ var mTime = left / rect.width * duration;
75
+ setState(function (old) {
76
+ return Object.assign(Object.assign({}, old), {
77
+ left: left,
78
+ markTime: begin + mTime * 1000
79
+ });
80
+ });
81
+ }, [begin]);
82
+ var onLineMouseOut = useCallback(function (e) {
83
+ startTransition(function () {
84
+ return setState(function (old) {
85
+ return Object.assign(Object.assign({}, old), {
86
+ left: -1
87
+ });
88
+ });
89
+ });
90
+ }, []);
91
+ return /*#__PURE__*/React.createElement("div", {
92
+ className: "player-timeline-layout frontend-player-timeline-layout ".concat(status === 0 ? 'hide-time-line' : ''),
93
+ onClick: seekWithLine,
94
+ onMouseMove: onLineMouseOver,
95
+ onMouseOut: onLineMouseOut
96
+ }, /*#__PURE__*/React.createElement("div", {
97
+ className: "current-line",
98
+ style: {
99
+ width: "".concat(playPercent, "%")
100
+ }
101
+ }), /*#__PURE__*/React.createElement(TipTitle, {
102
+ end: end,
103
+ begin: begin,
104
+ left: state.left,
105
+ current: cTime,
106
+ markTime: state.markTime
107
+ }), state.left !== -1 && /*#__PURE__*/React.createElement("span", {
108
+ className: "frontend-line-mark",
109
+ style: {
110
+ left: state.left
111
+ }
112
+ }));
113
+ }
114
+
115
+ function TipTitle(_ref2) {
116
+ var end = _ref2.end,
117
+ begin = _ref2.begin,
118
+ left = _ref2.left,
119
+ current = _ref2.current,
120
+ markTime = _ref2.markTime;
121
+
122
+ if (left === -1) {
123
+ return null;
124
+ }
125
+
126
+ return /*#__PURE__*/React.createElement("div", {
127
+ className: "frontend-line-tip-box",
128
+ style: {
129
+ left: left
130
+ }
131
+ }, /*#__PURE__*/React.createElement("div", {
132
+ style: {
133
+ fontWeight: 600
134
+ }
135
+ }, "\u5F55\u50CF\u4FE1\u606F"), /*#__PURE__*/React.createElement("div", null, "\u5F00\u59CB\uFF1A", dateFormat(begin)), /*#__PURE__*/React.createElement("div", null, "\u7ED3\u675F\uFF1A", dateFormat(end)), /*#__PURE__*/React.createElement("div", null, "\u523B\u5EA6\uFF1A", dateFormat(markTime)), /*#__PURE__*/React.createElement("div", null, "\u5F53\u524D\uFF1A", dateFormat(current)));
136
+ }
137
+
138
+ export default FrontendTimeLine;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import './style/iconfont.less';
3
+ interface IPlayerIconFontProps extends React.AllHTMLAttributes<HTMLLIElement> {
4
+ type: string;
5
+ className: string;
6
+ }
7
+ declare function IconFont({ type, className, ...props }: IPlayerIconFontProps): JSX.Element;
8
+ declare namespace IconFont {
9
+ var defaultProps: {
10
+ className: string;
11
+ };
12
+ }
13
+ export default IconFont;
@@ -0,0 +1,18 @@
1
+ import { __rest } from "tslib";
2
+ import React from 'react';
3
+ import "./style/iconfont.css";
4
+
5
+ function IconFont(_a) {
6
+ var type = _a.type,
7
+ className = _a.className,
8
+ props = __rest(_a, ["type", "className"]);
9
+
10
+ return /*#__PURE__*/React.createElement("i", Object.assign({
11
+ className: "lm-player-iconfont ".concat(type, " ").concat(className)
12
+ }, props));
13
+ }
14
+
15
+ IconFont.defaultProps = {
16
+ className: ''
17
+ };
18
+ export default IconFont;
@@ -0,0 +1,8 @@
1
+ import SegmentPlayer from './segment_player';
2
+ import FrontendPlayer from './frontend_player';
3
+ declare const _default: {
4
+ SinglePlayer: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./player").ISinglePlayerProps & import("react").RefAttributes<import("./player").ExportPlayerType>>>;
5
+ FrontendPlayer: typeof FrontendPlayer;
6
+ SegmentPlayer: typeof SegmentPlayer;
7
+ };
8
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import SinglePlayer from './single_player';
2
+ import SegmentPlayer from './segment_player';
3
+ import FrontendPlayer from './frontend_player';
4
+ export default {
5
+ SinglePlayer: SinglePlayer,
6
+ FrontendPlayer: FrontendPlayer,
7
+ SegmentPlayer: SegmentPlayer
8
+ };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import Api from './api';
3
+ declare function LiveHeart({ api }: {
4
+ api: Api;
5
+ }): JSX.Element;
6
+ export default LiveHeart;
@@ -0,0 +1,29 @@
1
+ import React, { useEffect } from 'react';
2
+ import BrowserTab from './event/browserTabEvent';
3
+
4
+ function LiveHeart(_ref) {
5
+ var api = _ref.api;
6
+ useEffect(function () {
7
+ var browserTabChange = function browserTabChange() {
8
+ if (BrowserTab.visibilityState() !== 'visible') {
9
+ return;
10
+ }
11
+
12
+ var current = api.getCurrentTime();
13
+ var buffered = api.getSecondsLoaded();
14
+
15
+ if (buffered - current > 5) {
16
+ console.warn("\u5F53\u524D\u5EF6\u65F6\u8FC7\u5927current->".concat(current, " buffered->").concat(buffered, ", \u57FA\u4E8E\u89C6\u9891\u5F53\u524D\u7F13\u5B58\u65F6\u95F4\u66F4\u65B0\u5F53\u524D\u64AD\u653E\u65F6\u95F4 updateTime -> ").concat(buffered - 2));
17
+ api.seekTo(buffered - 2 > 0 ? buffered - 2 : 0);
18
+ }
19
+ };
20
+
21
+ BrowserTab.addEventListener(browserTabChange);
22
+ return function () {
23
+ BrowserTab.removeEventListener(browserTabChange);
24
+ };
25
+ }, [api]);
26
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
27
+ }
28
+
29
+ export default LiveHeart;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import Api from './api';
3
+ import VideoEventInstance from './event';
4
+ import './style/message.less';
5
+ interface IVideoMessageProps {
6
+ event: VideoEventInstance;
7
+ api: Api;
8
+ }
9
+ declare function VideoMessage({ event, api }: IVideoMessageProps): JSX.Element;
10
+ export declare const NoSource: () => JSX.Element;
11
+ export default VideoMessage;