yootd 0.0.11 → 0.0.13

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.
@@ -28,6 +28,8 @@ export var Preview = function Preview(_ref) {
28
28
  panOnDrag = _ref.panOnDrag,
29
29
  zoomOnScroll = _ref.zoomOnScroll,
30
30
  content = _ref.content,
31
+ _ref$fitView = _ref.fitView,
32
+ fitView = _ref$fitView === void 0 ? true : _ref$fitView,
31
33
  _ref$modes = _ref.modes,
32
34
  modes = _ref$modes === void 0 ? ['phone', 'web'] : _ref$modes,
33
35
  _ref$width = _ref.width,
@@ -52,6 +54,7 @@ export var Preview = function Preview(_ref) {
52
54
  useEffect(function () {
53
55
  setMode(modes === null || modes === void 0 ? void 0 : modes[0]);
54
56
  }, [modes]);
57
+ console.log('modes');
55
58
  return /*#__PURE__*/React.createElement("div", {
56
59
  className: "".concat(mb),
57
60
  style: _objectSpread(_objectSpread({}, style), {}, {
@@ -77,7 +80,7 @@ export var Preview = function Preview(_ref) {
77
80
  minZoom: minZoom,
78
81
  panOnDrag: panOnDrag,
79
82
  zoomOnScroll: zoomOnScroll,
80
- fitView: true,
83
+ fitView: fitView,
81
84
  preventScrolling: false
82
85
  }, controls && /*#__PURE__*/React.createElement(Controls, {
83
86
  defaultZoom: defaultZoom
@@ -1,35 +1,35 @@
1
- .yot-preview {
2
- &-controls {
3
- display: flex;
4
- justify-content: center;
5
- align-items: center;
6
- z-index: 100;
7
- position: absolute;
8
- bottom: 10px;
9
- right: 10px;
10
- background-color: #ffffff;
11
- border-radius: 8px;
12
- box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
13
- .ant-btn.css-var-yootd.ant-btn-default.ant-btn-color-default.ant-btn-variant-outlined {
14
- background-color: transparent;
15
- border: none;
16
- &:hover .ant-btn-icon svg path {
17
- fill: var(--ant-color-primary);
18
- }
19
- &:hover .ant-btn-icon svg #rect-stroke {
20
- stroke: var(--ant-color-primary);
21
- }
22
- &:hover .ant-btn-icon svg #reset-icon-rect {
23
- fill: var(--ant-color-primary);
24
- }
25
- }
26
- &--zoom {
27
- width: 64px;
28
- background-color: transparent;
29
- border: none;
30
- }
31
- }
32
- .react-flow__panel.center {
33
- transform: translateX(-63%);
34
- }
35
- }
1
+ .yot-preview {
2
+ &-controls {
3
+ display: flex;
4
+ justify-content: center;
5
+ align-items: center;
6
+ z-index: 100;
7
+ position: absolute;
8
+ bottom: 10px;
9
+ right: 10px;
10
+ background-color: #ffffff;
11
+ border-radius: 8px;
12
+ box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
13
+ .ant-btn.css-var-yootd.ant-btn-default.ant-btn-color-default.ant-btn-variant-outlined {
14
+ background-color: transparent;
15
+ border: none;
16
+ &:hover .ant-btn-icon svg path {
17
+ fill: var(--ant-color-primary);
18
+ }
19
+ &:hover .ant-btn-icon svg #rect-stroke {
20
+ stroke: var(--ant-color-primary);
21
+ }
22
+ &:hover .ant-btn-icon svg #reset-icon-rect {
23
+ fill: var(--ant-color-primary);
24
+ }
25
+ }
26
+ &--zoom {
27
+ width: 64px;
28
+ background-color: transparent;
29
+ border: none;
30
+ }
31
+ }
32
+ .react-flow__panel.center {
33
+ transform: translateX(-63%);
34
+ }
35
+ }
@@ -1,21 +1,22 @@
1
- export interface PrevewProps {
2
- controls?: boolean; // 是否显示右下角的放大缩小组件
3
- defaultZoom?: number; // 初始化放大倍数
4
- maxZoom?: number; // 最大放大倍数
5
- minZoom?: number; // 最小放大倍数
6
- panOnDrag?: boolean; // 是否可以拖拽
7
- zoomOnScroll?: boolean; // 是否可以滚动
8
- modes?: ['phone', 'web'] | ['phone'] | ['web']; // 预览模式
9
- content?: ReactNode; // 数据
10
- width?: number | string; // 宽度
11
- height?: number | string; // 高度
12
- style?: React.CSSProperties; // 样式
13
- }
14
-
15
- export interface TopPreviewProps {
16
- mode: string;
17
- onChange: (value: string) => void;
18
- }
19
- export interface ControlsProps {
20
- defaultZoom?: number; // 初始化放大倍数
21
- }
1
+ export interface PrevewProps {
2
+ controls?: boolean; // 是否显示右下角的放大缩小组件
3
+ defaultZoom?: number; // 初始化放大倍数
4
+ maxZoom?: number; // 最大放大倍数
5
+ minZoom?: number; // 最小放大倍数
6
+ panOnDrag?: boolean; // 是否可以拖拽
7
+ zoomOnScroll?: boolean; // 是否可以滚动
8
+ modes?: ['phone', 'web'] | ['phone'] | ['web']; // 预览模式
9
+ fitView?: boolean; // 是否自动适应视图
10
+ content?: ReactNode; // 数据
11
+ width?: number | string; // 宽度
12
+ height?: number | string; // 高度
13
+ style?: React.CSSProperties; // 样式
14
+ }
15
+
16
+ export interface TopPreviewProps {
17
+ mode: string;
18
+ onChange: (value: string) => void;
19
+ }
20
+ export interface ControlsProps {
21
+ defaultZoom?: number; // 初始化放大倍数
22
+ }
@@ -4,5 +4,6 @@ export interface IGlobalConfig {
4
4
  request?: AxiosInstance;
5
5
  baseURL?: string;
6
6
  assetsURL?: string;
7
+ ossURL?: string;
7
8
  }
8
9
  export declare const ConfigContext: import("react").Context<IGlobalConfig>;
@@ -7,6 +7,7 @@ export type ConfigProviderProps = AntConfigProviderProps & {
7
7
  request?: AxiosInstance;
8
8
  baseURL?: string;
9
9
  assetsURL?: string;
10
+ ossURL?: string;
10
11
  theme?: AntConfigProviderProps['theme'] & {
11
12
  yotToken: {
12
13
  colorModalPrimary: string;
@@ -1,4 +1,4 @@
1
- var _excluded = ["request", "baseURL", "assetsURL"];
1
+ var _excluded = ["request", "baseURL", "assetsURL", "ossURL"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  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; }
4
4
  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; }
@@ -12,6 +12,7 @@ export var ConfigProvider = function ConfigProvider(_ref) {
12
12
  var request = _ref.request,
13
13
  baseURL = _ref.baseURL,
14
14
  assetsURL = _ref.assetsURL,
15
+ ossURL = _ref.ossURL,
15
16
  props = _objectWithoutProperties(_ref, _excluded);
16
17
  if (((_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : _props$theme.yotToken) != null) {
17
18
  // 生成 css 变量
@@ -22,6 +23,7 @@ export var ConfigProvider = function ConfigProvider(_ref) {
22
23
  value: {
23
24
  request: request,
24
25
  baseURL: baseURL,
26
+ ossURL: ossURL,
25
27
  assetsURL: assetsURL
26
28
  }
27
29
  }, /*#__PURE__*/React.createElement(AntConfigProvider, _extends({}, props, {
@@ -0,0 +1 @@
1
+ export declare const useOSS: () => string;
@@ -0,0 +1,11 @@
1
+ import _ from 'lodash';
2
+ import { useContext } from 'react';
3
+ import { ConfigContext } from "../config-provider/context";
4
+ export var useOSS = function useOSS() {
5
+ var _useContext = useContext(ConfigContext),
6
+ ossURL = _useContext.ossURL;
7
+ if (_.isNil(ossURL)) {
8
+ throw new Error('ossURL is not found');
9
+ }
10
+ return ossURL;
11
+ };
package/dist/index.d.ts CHANGED
@@ -158,4 +158,6 @@ export type { UserDropdownProps } from './user-dropdown/types/types';
158
158
  export { ConfigProvider } from './config-provider';
159
159
  export type { ConfigProviderProps } from './config-provider';
160
160
  export { Zone } from './zones';
161
+ export { VideoPlayer } from './video-player';
162
+ export type { VideoPlayerProps } from './video-player';
161
163
  export type { GetProp, GetProps, GetRef } from './utils/utils';
package/dist/index.js CHANGED
@@ -85,4 +85,5 @@ export { DateRange } from "./date-range";
85
85
  export { Teacher } from "./teacher";
86
86
  export { UserDropdown } from "./user-dropdown";
87
87
  export { ConfigProvider } from "./config-provider";
88
- export { Zone } from "./zones";
88
+ export { Zone } from "./zones";
89
+ export { VideoPlayer } from "./video-player";
@@ -1,5 +1,10 @@
1
- import type { TagProps } from 'antd';
1
+ import type { TagProps as AntTagProps } from 'antd';
2
+ import { Tag as AntTag } from 'antd';
2
3
  import React from 'react';
3
4
  import './index.scss';
4
- export type { TagProps };
5
- export declare const Tag: React.FC<TagProps>;
5
+ export type TagProps = AntTagProps;
6
+ type AntTagType = typeof AntTag;
7
+ type TagType = typeof AntTag & Pick<AntTagType, 'CheckableTag'>;
8
+ export declare const TagComponent: React.FC<TagProps>;
9
+ export declare const Tag: TagType;
10
+ export {};
package/dist/tag/index.js CHANGED
@@ -4,10 +4,12 @@ import { Tag as AntTag } from 'antd';
4
4
  import React from 'react';
5
5
  import { useBem } from "../hooks/useBem";
6
6
  import "./index.scss";
7
- export var Tag = function Tag(_ref) {
7
+ export var TagComponent = function TagComponent(_ref) {
8
8
  var props = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));
9
9
  var mb = useBem('tag');
10
10
  return /*#__PURE__*/React.createElement(AntTag, _extends({
11
11
  className: "".concat(mb.e('text'))
12
12
  }, props));
13
- };
13
+ };
14
+ export var Tag = TagComponent;
15
+ Tag.CheckableTag = AntTag.CheckableTag;
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1698128671512" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="906" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M177.26002244 1020.68826978c-8.39476931 0-16.78529945-2.08703457-24.36334146-6.21023633-16.33313206-8.95150085-26.50548539-26.04060047-26.50548539-44.65859052L126.39119559 54.20316557c0-18.61799004 10.17235194-35.76219902 26.50548539-44.66565629 16.27661148-8.95291345 36.21436639-8.18564235 51.88479014 1.88214681L916.92809291 469.23344724c14.54989766 9.35562463 23.34737815 25.48528291 23.34737816 42.77785771 0 17.29257478-8.79748049 33.42081908-23.34737816 42.78209687L204.78147112 1012.60153981C196.38528784 1017.94559264 186.82618801 1020.68826978 177.26002244 1020.68826978L177.26002244 1020.68826978zM177.26002244 1020.68826978" fill="#ffffff" p-id="907"></path></svg>
@@ -0,0 +1,70 @@
1
+ import { CSSProperties, FC } from 'react';
2
+ import './index.scss';
3
+ export interface VideoPlayerProps {
4
+ /**
5
+ * 视频地址
6
+ */
7
+ src: string;
8
+ /**
9
+ * 是否为直播视频
10
+ */
11
+ isLive?: boolean;
12
+ /**
13
+ * 是否展示控制面板
14
+ */
15
+ controls?: boolean;
16
+ /**
17
+ * 是否自动播放
18
+ */
19
+ autoPlay?: boolean;
20
+ /**
21
+ * 是否获取视频流
22
+ */
23
+ videoEnable?: boolean;
24
+ /**
25
+ * 是否获取音频流
26
+ */
27
+ audioEnable?: boolean;
28
+ /**
29
+ * 是否静音
30
+ */
31
+ muted?: boolean;
32
+ /**
33
+ * 是否在微信小程序中使用
34
+ */
35
+ miniProgram?: boolean;
36
+ /**
37
+ * 是否旋转全屏
38
+ */
39
+ rotateWhenFullScreen?: boolean;
40
+ /**
41
+ * 视频封面
42
+ */
43
+ poster?: string;
44
+ /**
45
+ * 截图回调
46
+ */
47
+ onCapture?: (base64: string) => void;
48
+ /**
49
+ * 是否重试
50
+ */
51
+ retry?: boolean;
52
+ /**
53
+ * 重试间隔
54
+ */
55
+ retryInterval?: number;
56
+ /**
57
+ * 额外样式
58
+ */
59
+ style?: CSSProperties;
60
+ /**
61
+ * 类名,用于覆盖默认样式
62
+ */
63
+ className?: string;
64
+ /**
65
+ * 播放状态变化回调
66
+ * @param isPlaying
67
+ */
68
+ onPlayStateChange?: (isPlaying: boolean) => void;
69
+ }
70
+ export declare const VideoPlayer: FC<VideoPlayerProps>;