@cloud-app-dev/vidc 3.0.34 → 3.0.35

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.
@@ -5,6 +5,8 @@ interface ICustomRenderSelectProps extends SelectProps {
5
5
  children?: React.ReactNode;
6
6
  value: any;
7
7
  customRender: (value: any) => JSX.Element;
8
+ onChange: (value: any) => void;
9
+ selectAotoClose?: boolean;
8
10
  }
9
- declare function CustomRenderSelect({ children, value, customRender, popupClassName, getPopupContainer, ...props }: ICustomRenderSelectProps): JSX.Element;
11
+ declare function CustomRenderSelect({ children, value, customRender, popupClassName, getPopupContainer, onChange, selectAotoClose, ...props }: ICustomRenderSelectProps): JSX.Element;
10
12
  export default CustomRenderSelect;
@@ -26,7 +26,10 @@ function CustomRenderSelect(_a) {
26
26
  customRender = _a.customRender,
27
27
  popupClassName = _a.popupClassName,
28
28
  getPopupContainer = _a.getPopupContainer,
29
- props = __rest(_a, ["children", "value", "customRender", "popupClassName", "getPopupContainer"]);
29
+ onChange = _a.onChange,
30
+ _a$selectAotoClose = _a.selectAotoClose,
31
+ selectAotoClose = _a$selectAotoClose === void 0 ? true : _a$selectAotoClose,
32
+ props = __rest(_a, ["children", "value", "customRender", "popupClassName", "getPopupContainer", "onChange", "selectAotoClose"]);
30
33
 
31
34
  var classname = useMemo(function () {
32
35
  return "custom-render-select-dropdown-".concat(_uuid());
@@ -52,6 +55,14 @@ function CustomRenderSelect(_a) {
52
55
  return set(false);
53
56
  }, getDoms, ['click']);
54
57
 
58
+ var onSelectChange = function onSelectChange(v) {
59
+ onChange && onChange(v);
60
+
61
+ if (selectAotoClose) {
62
+ set(false);
63
+ }
64
+ };
65
+
55
66
  return /*#__PURE__*/React.createElement("div", {
56
67
  className: "custom-render-select",
57
68
  ref: domRef
@@ -61,7 +72,8 @@ function CustomRenderSelect(_a) {
61
72
  getPopupContainer: getPopupContainer ? getPopupContainer : function () {
62
73
  return domRef.current.parentElement.parentElement;
63
74
  },
64
- open: open
75
+ open: open,
76
+ onChange: onSelectChange
65
77
  }), children), /*#__PURE__*/React.createElement("div", {
66
78
  className: "custom-render-box",
67
79
  onClick: toggle
@@ -4,7 +4,13 @@ export default function DisableMark(_ref) {
4
4
  var children = _ref.children,
5
5
  disabled = _ref.disabled,
6
6
  width = _ref.width;
7
- return /*#__PURE__*/React.createElement(React.Fragment, null, disabled ? /*#__PURE__*/React.createElement("div", {
7
+ return /*#__PURE__*/React.createElement("div", {
8
+ style: {
9
+ width: '100%',
10
+ height: 'max-content',
11
+ position: 'relative'
12
+ }
13
+ }, disabled ? /*#__PURE__*/React.createElement("div", {
8
14
  className: "disable-mark",
9
15
  style: {
10
16
  width: width
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface IRatePick {
3
+ onChange: (rate: number) => void;
4
+ }
5
+ declare function RatePick({ onChange }: IRatePick): JSX.Element;
6
+ export default RatePick;
@@ -0,0 +1,59 @@
1
+ import "antd/lib/select/style";
2
+ import _Select from "antd/lib/select";
3
+ import _useUpdateEffect from "ahooks/es/useUpdateEffect";
4
+
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+
7
+ 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."); }
8
+
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+
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
+
13
+ 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; }
14
+
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+
17
+ import React, { useState } from 'react';
18
+ import CustomRenderSelect from '../CustomRenderSelect';
19
+
20
+ function RatePick(_ref) {
21
+ var onChange = _ref.onChange;
22
+
23
+ var _useState = useState({
24
+ rate: 1
25
+ }),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ state = _useState2[0],
28
+ setState = _useState2[1];
29
+
30
+ _useUpdateEffect(function () {
31
+ return onChange(state.rate);
32
+ }, []);
33
+
34
+ return /*#__PURE__*/React.createElement(CustomRenderSelect, {
35
+ value: state.rate,
36
+ popupClassName: "rate-select-dropdown ",
37
+ customRender: function customRender() {
38
+ return /*#__PURE__*/React.createElement("span", {
39
+ className: "select-current-rate-item"
40
+ }, "\u500D\u901F x".concat(state.rate));
41
+ },
42
+ onChange: function onChange(v) {
43
+ return setState({
44
+ rate: v
45
+ });
46
+ },
47
+ placement: "topLeft"
48
+ }, /*#__PURE__*/React.createElement(_Select.Option, {
49
+ value: 2
50
+ }, "x2"), /*#__PURE__*/React.createElement(_Select.Option, {
51
+ value: 1.5
52
+ }, "x1.5"), /*#__PURE__*/React.createElement(_Select.Option, {
53
+ value: 1
54
+ }, "x1"), /*#__PURE__*/React.createElement(_Select.Option, {
55
+ value: 0.5
56
+ }, "x0.5"));
57
+ }
58
+
59
+ export default RatePick;
@@ -22,6 +22,7 @@ import TimeSelect from './TimeSelect';
22
22
  import TimeMode from './TimeMode';
23
23
  import useFullscreen from '../useFullscreen';
24
24
  import Volume from '../Player/contraller_bar/volume';
25
+ import RatePick from './RatePick';
25
26
 
26
27
  function RecordTools(_ref) {
27
28
  var containerRef = _ref.containerRef,
@@ -73,6 +74,11 @@ function RecordTools(_ref) {
73
74
  snapshot === null || snapshot === void 0 ? void 0 : snapshot(player === null || player === void 0 ? void 0 : player.api.snapshot());
74
75
  };
75
76
 
77
+ var ratechange = function ratechange(value) {
78
+ var player = getPlayerItem();
79
+ player === null || player === void 0 ? void 0 : player.api.setPlaybackRate(value);
80
+ };
81
+
76
82
  var player = getPlayerItem();
77
83
 
78
84
  _useUpdateEffect(function () {
@@ -137,7 +143,9 @@ function RecordTools(_ref) {
137
143
  color: 'var(--primary)'
138
144
  } : null,
139
145
  title: "\u9010\u5E27\u64AD\u653E"
140
- })), oneWinExtTools), /*#__PURE__*/React.createElement("div", {
146
+ })), /*#__PURE__*/React.createElement(RatePick, {
147
+ onChange: ratechange
148
+ }), oneWinExtTools), /*#__PURE__*/React.createElement("div", {
141
149
  className: "player-tools-mid"
142
150
  }, /*#__PURE__*/React.createElement("div", {
143
151
  className: "player-tools-item",
@@ -43,7 +43,7 @@
43
43
  }
44
44
  .split-screen-player-wrapper .player-tools {
45
45
  height: 42px;
46
- background-color: var(--gray12);
46
+ background-color: #242c3d;
47
47
  padding: 0 10px;
48
48
  display: flex;
49
49
  align-items: center;
@@ -151,3 +151,16 @@
151
151
  .custom-select-dropdown .cloudapp-select-item {
152
152
  font-size: var(--fs-small);
153
153
  }
154
+ .select-current-rate-item {
155
+ color: var(--gray1);
156
+ font-size: 12px;
157
+ border: 1px solid var(--gray1);
158
+ padding: 2px 0;
159
+ display: inline-block;
160
+ width: 64px;
161
+ border-radius: 2px;
162
+ cursor: pointer;
163
+ text-align: center;
164
+ position: relative;
165
+ top: 4px;
166
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "@cloud-app-dev/vidc",
4
4
  "description": "Video Image Data Componennts",
5
- "version": "3.0.34",
5
+ "version": "3.0.35",
6
6
  "scripts": {
7
7
  "start": "dumi dev",
8
8
  "docs:build": "dumi build",