@agentscope-ai/design 1.0.9 → 1.0.11

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 (140) hide show
  1. package/lib/antd/styles/alert.style.js +1 -1
  2. package/lib/antd/styles/breadcrumb.style.js +1 -1
  3. package/lib/antd/styles/button.style.js +1 -1
  4. package/lib/antd/styles/dropdown.style.js +1 -1
  5. package/lib/antd/styles/floatButton.style.js +1 -1
  6. package/lib/antd/styles/index.style.js +1 -1
  7. package/lib/antd/styles/inputNumber.style.js +1 -1
  8. package/lib/antd/styles/message.style.js +1 -1
  9. package/lib/antd/styles/notification.style.js +1 -1
  10. package/lib/antd/styles/popover.style.js +1 -1
  11. package/lib/antd/styles/radio.style.js +1 -1
  12. package/lib/antd/styles/segment.style.js +1 -1
  13. package/lib/antd/styles/select.style.js +1 -1
  14. package/lib/antd/styles/slider.style.js +1 -1
  15. package/lib/antd/styles/table.style.js +1 -1
  16. package/lib/antd/styles/tooltip.style.js +1 -1
  17. package/lib/antd/themes/bailianTheme.json +1 -1
  18. package/lib/antd/themes/generateThemeByToken.js +7 -1
  19. package/lib/components/commonComponents/AlertDialog/index.style.js +1 -1
  20. package/lib/components/commonComponents/Anchor/index.style.js +1 -1
  21. package/lib/components/commonComponents/Avatar/index.style.js +1 -1
  22. package/lib/components/commonComponents/Breadcrumb/index.style.js +1 -1
  23. package/lib/components/commonComponents/Button/index.d.ts +1 -1
  24. package/lib/components/commonComponents/Button/index.js +7 -7
  25. package/lib/components/commonComponents/Card/index.style.js +1 -1
  26. package/lib/components/commonComponents/Checkbox/index.style.js +1 -1
  27. package/lib/components/commonComponents/CodeBlock/index.js +2 -1
  28. package/lib/components/commonComponents/CodeBlock/index.style.js +1 -1
  29. package/lib/components/commonComponents/Collapse/index.style.js +1 -1
  30. package/lib/components/commonComponents/CollapsePanel/index.style.js +1 -1
  31. package/lib/components/commonComponents/ConfigProvider/index.js +10 -7
  32. package/lib/components/commonComponents/DatePicker/index.style.js +1 -1
  33. package/lib/components/commonComponents/Descriptions/index.style.js +1 -1
  34. package/lib/components/commonComponents/Drawer/index.style.js +1 -1
  35. package/lib/components/commonComponents/Dropdown/index.style.js +1 -1
  36. package/lib/components/commonComponents/EllipsisTip/index.style.js +1 -1
  37. package/lib/components/commonComponents/Empty/index.style.js +1 -1
  38. package/lib/components/commonComponents/FileIcon/index.style.js +1 -1
  39. package/lib/components/commonComponents/Form/index.style.js +1 -1
  40. package/lib/components/commonComponents/HelpIcon/index.style.js +1 -1
  41. package/lib/components/commonComponents/IconButton/index.style.js +1 -1
  42. package/lib/components/commonComponents/IconFont/index.style.js +1 -1
  43. package/lib/components/commonComponents/Image/index.style.js +1 -1
  44. package/lib/components/commonComponents/Input/index.style.js +1 -1
  45. package/lib/components/commonComponents/Modal/index.js +0 -1
  46. package/lib/components/commonComponents/Modal/index.style.js +1 -1
  47. package/lib/components/commonComponents/Pagination/index.js +75 -20
  48. package/lib/components/commonComponents/Pagination/index.style.js +1 -1
  49. package/lib/components/commonComponents/PromptsEditor/demo/basic.js +5 -4
  50. package/lib/components/commonComponents/PromptsEditor/index.d.ts +8 -2
  51. package/lib/components/commonComponents/PromptsEditor/index.js +16 -10
  52. package/lib/components/commonComponents/RadioButton/index.style.js +1 -1
  53. package/lib/components/commonComponents/Result/index.style.js +1 -1
  54. package/lib/components/commonComponents/SlateEditor/elements/index.style.js +1 -1
  55. package/lib/components/commonComponents/SlateEditor/index.style.js +1 -1
  56. package/lib/components/commonComponents/Slider/Input/index.js +6 -4
  57. package/lib/components/commonComponents/Slider/Input/index.style.js +2 -2
  58. package/lib/components/commonComponents/Slider/index.style.js +1 -1
  59. package/lib/components/commonComponents/SliderSelector/index.style.js +1 -1
  60. package/lib/components/commonComponents/Spinner/index.style.js +1 -1
  61. package/lib/components/commonComponents/Statistic/index.style.js +1 -1
  62. package/lib/components/commonComponents/Steps/index.style.js +1 -1
  63. package/lib/components/commonComponents/Switch/index.js +3 -3
  64. package/lib/components/commonComponents/Switch/index.style.js +1 -1
  65. package/lib/components/commonComponents/Table/demo/demo1.js +1 -9
  66. package/lib/components/commonComponents/Table/demo/demo2.js +1 -9
  67. package/lib/components/commonComponents/Table/demo/demo3.js +1 -9
  68. package/lib/components/commonComponents/Table/demo/demo4.js +1 -9
  69. package/lib/components/commonComponents/Table/index.d.ts +1 -1
  70. package/lib/components/commonComponents/Table/index.js +1 -1
  71. package/lib/components/commonComponents/Table/index.style.js +18 -2
  72. package/lib/components/commonComponents/Tabs/index.js +3 -1
  73. package/lib/components/commonComponents/Tabs/index.style.js +1 -1
  74. package/lib/components/commonComponents/Tag/index.style.js +1 -1
  75. package/lib/components/commonComponents/TimePicker/index.style.js +1 -1
  76. package/lib/components/commonComponents/Tooltip/index.style.js +1 -1
  77. package/lib/components/commonComponents/Upload/index.style.js +1 -1
  78. package/lib/components/commonComponents/Video/Control.d.ts +19 -0
  79. package/lib/components/commonComponents/Video/Control.js +104 -0
  80. package/lib/components/commonComponents/Video/demo/demo1.d.ts +2 -0
  81. package/lib/components/commonComponents/Video/demo/demo1.js +12 -0
  82. package/lib/components/commonComponents/Video/index.d.ts +18 -0
  83. package/lib/components/commonComponents/Video/index.js +222 -0
  84. package/lib/components/commonComponents/Video/index.style.d.ts +1 -0
  85. package/lib/components/commonComponents/Video/index.style.js +40 -0
  86. package/lib/i18n/strings/en-US.json +3 -1
  87. package/lib/i18n/strings/zh-CN.json +3 -1
  88. package/lib/index.d.ts +2 -1
  89. package/lib/index.js +1 -0
  90. package/lib/libs/createStyle/index.d.ts +7 -1
  91. package/lib/libs/createStyle/index.js +24 -72
  92. package/lib/libs/generateCssVars/index.js +1 -1
  93. package/package.json +12 -12
  94. package/lib/libs/newCreateStyle/index.d.ts +0 -7
  95. package/lib/libs/newCreateStyle/index.js +0 -26
  96. package/llms/all.llms.txt +0 -4235
  97. package/llms/components/commonComponents/Alert/index.zh-CN.llms.txt +0 -74
  98. package/llms/components/commonComponents/Anchor/index.zh-CN.llms.txt +0 -71
  99. package/llms/components/commonComponents/Avatar/index.zh-CN.llms.txt +0 -61
  100. package/llms/components/commonComponents/Breadcrumb/index.zh-CN.llms.txt +0 -89
  101. package/llms/components/commonComponents/Button/index.zh-CN.llms.txt +0 -99
  102. package/llms/components/commonComponents/Card/index.zh-CN.llms.txt +0 -79
  103. package/llms/components/commonComponents/Checkbox/index.zh-CN.llms.txt +0 -88
  104. package/llms/components/commonComponents/CodeBlock/index.zh-CN.llms.txt +0 -34
  105. package/llms/components/commonComponents/Collapse/index.zh-CN.llms.txt +0 -76
  106. package/llms/components/commonComponents/CollapsePanel/index.zh-CN.llms.txt +0 -75
  107. package/llms/components/commonComponents/DatePicker/index.zh-CN.llms.txt +0 -227
  108. package/llms/components/commonComponents/Descriptions/index.zh-CN.llms.txt +0 -60
  109. package/llms/components/commonComponents/Drawer/index.zh-CN.llms.txt +0 -87
  110. package/llms/components/commonComponents/Dropdown/index.zh-CN.llms.txt +0 -87
  111. package/llms/components/commonComponents/Empty/index.zh-CN.llms.txt +0 -100
  112. package/llms/components/commonComponents/FloatButton/index.zh-CN.llms.txt +0 -70
  113. package/llms/components/commonComponents/Form/index.zh-CN.llms.txt +0 -383
  114. package/llms/components/commonComponents/IconButton/index.zh-CN.llms.txt +0 -68
  115. package/llms/components/commonComponents/Image/index.zh-CN.llms.txt +0 -118
  116. package/llms/components/commonComponents/Input/index.zh-CN.llms.txt +0 -168
  117. package/llms/components/commonComponents/InputNumber/index.zh-CN.llms.txt +0 -66
  118. package/llms/components/commonComponents/Message/index.zh-CN.llms.txt +0 -114
  119. package/llms/components/commonComponents/Modal/index.zh-CN.llms.txt +0 -154
  120. package/llms/components/commonComponents/Notification/index.zh-CN.llms.txt +0 -118
  121. package/llms/components/commonComponents/Pagination/index.zh-CN.llms.txt +0 -62
  122. package/llms/components/commonComponents/Popover/index.zh-CN.llms.txt +0 -56
  123. package/llms/components/commonComponents/Progress/index.zh-CN.llms.txt +0 -64
  124. package/llms/components/commonComponents/Radio/index.zh-CN.llms.txt +0 -75
  125. package/llms/components/commonComponents/RadioButton/index.zh-CN.llms.txt +0 -94
  126. package/llms/components/commonComponents/Result/index.zh-CN.llms.txt +0 -63
  127. package/llms/components/commonComponents/Select/index.zh-CN.llms.txt +0 -120
  128. package/llms/components/commonComponents/Skeleton/index.zh-CN.llms.txt +0 -71
  129. package/llms/components/commonComponents/Slider/index.zh-CN.llms.txt +0 -83
  130. package/llms/components/commonComponents/Spinner/index.zh-CN.llms.txt +0 -38
  131. package/llms/components/commonComponents/Statistic/index.zh-CN.llms.txt +0 -77
  132. package/llms/components/commonComponents/Steps/index.zh-CN.llms.txt +0 -82
  133. package/llms/components/commonComponents/Switch/index.zh-CN.llms.txt +0 -58
  134. package/llms/components/commonComponents/Table/index.zh-CN.llms.txt +0 -228
  135. package/llms/components/commonComponents/Tabs/index.zh-CN.llms.txt +0 -95
  136. package/llms/components/commonComponents/Tag/index.zh-CN.llms.txt +0 -57
  137. package/llms/components/commonComponents/TimePicker/index.zh-CN.llms.txt +0 -104
  138. package/llms/components/commonComponents/Tooltip/index.zh-CN.llms.txt +0 -63
  139. package/llms/components/commonComponents/Upload/index.zh-CN.llms.txt +0 -105
  140. package/llms/index.llms.txt +0 -45
@@ -1,6 +1,6 @@
1
1
  var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
- import createGlobalStyle from "../../../libs/newCreateStyle";
3
+ import createGlobalStyle from "../../../libs/createStyle";
4
4
  export var useStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.", "-upload.", "-upload-wrapper {\n .", "-upload.", "-upload-select {\n border: var(--", "-line-width) dashed var(--", "-color-border-secondary);\n background-color: var(--", "-color-fill-tertiary);\n }\n \n .", "-upload-drag {\n border: var(--", "-line-width) dashed var(--", "-color-border-secondary);\n background-color: var(--", "-color-fill-tertiary);\n \n .", "-upload-btn {\n padding: 32px 48px;\n }\n \n .", "-upload-drag-container {\n text-align: center;\n \n .", "-upload-icon {\n display: inline-grid;\n place-items: center;\n width: 40px;\n height: 40px;\n border-radius: 8px;\n background: var(--", "-color-bg-base);\n }\n \n .", "-upload-text {\n margin-top: 8px;\n margin-bottom: 0;\n color: var(--", "-color-text);\n font-weight: 500;\n line-height: 24px;\n }\n \n .", "-upload-hint {\n margin-top: 4px;\n margin-bottom: 0;\n color: var(--", "-color-text-secondary);\n line-height: 20px;\n }\n }\n }\n}\n\n.", "-upload.", "-custom-uploaded {\n .", "-upload-list {\n &:first-child {\n margin-top: 0;\n width: 242px;\n }\n \n .", "-upload-list-item {\n display: flex;\n align-items: center;\n height: 60px;\n padding: 9px 12px;\n margin-top: 20px;\n border-color: var(--", "-color-border-secondary);\n border-style: solid;\n \n .", "-upload-list-item-thumbnail {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 40px;\n height: 40px;\n }\n \n .", "-upload-list-item-name {\n width: 150px;\n color: var(--", "-color-text);\n line-height: 24px;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n \n .", "-upload-list-item-actions {\n .", "-btn {\n width: 32px;\n height: 32px;\n color: var(--", "-color-text-tertiary);\n }\n }\n \n .", "-upload-list-item-progress {\n bottom: 6px;\n padding-left: 48px;\n \n .", "-progress {\n display: flex;\n align-items: center;\n height: 20px;\n }\n }\n \n &.", "-upload-list-item-error {\n border-color: var(--", "-color-border-secondary);\n \n .", "-upload-list-item-name {\n color: var(--", "-color-error);\n }\n \n .", "-btn-icon .anticon {\n color: var(--", "-color-text-tertiary);\n }\n }\n }\n }\n}\n"])), function (p) {
5
5
  return p.sparkPrefix;
6
6
  }, function (p) {
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ interface VideoPlayerControllerProps {
3
+ isPlaying: boolean;
4
+ className?: string;
5
+ currentTime?: number;
6
+ duration?: number;
7
+ enableAudio?: boolean;
8
+ muted?: boolean;
9
+ onMute?: () => void;
10
+ onPlayPause?: () => void;
11
+ onFullscreen?: () => void;
12
+ onProgressClick?: (time: number) => void;
13
+ }
14
+ /**
15
+ * 视频播放器控制器组件
16
+ * 包含播放/暂停、音量控制、进度条、时间显示和全屏按钮
17
+ */
18
+ declare const VideoPlayerController: React.FC<VideoPlayerControllerProps>;
19
+ export default VideoPlayerController;
@@ -0,0 +1,104 @@
1
+ import { getCommonConfig } from "../../../config";
2
+ import { IconButton, Progress } from "../../..";
3
+ import { SparkEnlargeLine, SparkMuteLine, SparkPauseFill, SparkPlayFill, SparkVolumeLine } from '@agentscope-ai/icons';
4
+ import React, { useMemo } from 'react';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
+ import { Fragment as _Fragment } from "react/jsx-runtime";
8
+ /**
9
+ * 将秒数转换为 mm:ss 格式
10
+ * @param seconds 秒数
11
+ * @returns mm:ss 格式字符串
12
+ */
13
+ var formatTime = function formatTime(seconds) {
14
+ var minutes = Math.floor(seconds / 60);
15
+ var remainingSeconds = Math.floor(seconds % 60);
16
+ return "".concat(minutes.toString().padStart(2, '0'), ":").concat(remainingSeconds.toString().padStart(2, '0'));
17
+ };
18
+
19
+ /**
20
+ * 视频播放器控制器组件
21
+ * 包含播放/暂停、音量控制、进度条、时间显示和全屏按钮
22
+ */
23
+ var VideoPlayerController = function VideoPlayerController(props) {
24
+ var className = props.className,
25
+ isPlaying = props.isPlaying,
26
+ onPlayPause = props.onPlayPause,
27
+ onFullscreen = props.onFullscreen,
28
+ onProgressClick = props.onProgressClick,
29
+ _props$enableAudio = props.enableAudio,
30
+ enableAudio = _props$enableAudio === void 0 ? false : _props$enableAudio,
31
+ _props$muted = props.muted,
32
+ muted = _props$muted === void 0 ? true : _props$muted,
33
+ onMute = props.onMute;
34
+ var commonConfig = getCommonConfig();
35
+ var sparkPrefix = commonConfig.sparkPrefix;
36
+ var currentTime = useMemo(function () {
37
+ return formatTime(props.currentTime || 0);
38
+ }, [props.currentTime]);
39
+ var duration = useMemo(function () {
40
+ return formatTime(props.duration || 0);
41
+ }, [props.duration]);
42
+ var progress = useMemo(function () {
43
+ return Math.min((props.currentTime || 0) / (props.duration || 0.01) * 100, 100);
44
+ }, [props.currentTime, props.duration]);
45
+
46
+ /**
47
+ * 处理进度条点击事件
48
+ * @param event 鼠标点击事件
49
+ */
50
+ var handleProgressClick = function handleProgressClick(event) {
51
+ if (!onProgressClick || !props.duration) return;
52
+ var rect = event.currentTarget.getBoundingClientRect();
53
+ var clickX = event.clientX - rect.left;
54
+ var progressWidth = rect.width;
55
+ var clickPercent = clickX / progressWidth;
56
+ var targetTime = clickPercent * props.duration;
57
+
58
+ // 确保时间在有效范围内
59
+ var clampedTime = Math.max(0, Math.min(targetTime, props.duration));
60
+ onProgressClick(clampedTime);
61
+ };
62
+ return /*#__PURE__*/_jsx(_Fragment, {
63
+ children: /*#__PURE__*/_jsxs("div", {
64
+ className: "".concat(sparkPrefix, "-video-player-controller ").concat(className || ''),
65
+ children: [/*#__PURE__*/_jsx(IconButton, {
66
+ bordered: false,
67
+ size: "small",
68
+ shape: "default",
69
+ disabled: false,
70
+ icon: isPlaying ? /*#__PURE__*/_jsx(SparkPauseFill, {}) : /*#__PURE__*/_jsx(SparkPlayFill, {}),
71
+ onClick: onPlayPause
72
+ }), /*#__PURE__*/_jsx(IconButton, {
73
+ bordered: false,
74
+ size: "small",
75
+ shape: "default",
76
+ disabled: !enableAudio,
77
+ icon: enableAudio && muted ? /*#__PURE__*/_jsx(SparkMuteLine, {}) : /*#__PURE__*/_jsx(SparkVolumeLine, {}),
78
+ onClick: onMute
79
+ }), /*#__PURE__*/_jsx("span", {
80
+ className: "".concat(sparkPrefix, "-video-time-text"),
81
+ children: currentTime
82
+ }), /*#__PURE__*/_jsx("div", {
83
+ className: "".concat(sparkPrefix, "-video-progress-container"),
84
+ onClick: handleProgressClick,
85
+ children: /*#__PURE__*/_jsx(Progress, {
86
+ className: "".concat(sparkPrefix, "-video-progress-bar"),
87
+ percent: progress,
88
+ showInfo: false
89
+ })
90
+ }), /*#__PURE__*/_jsx("span", {
91
+ className: "".concat(sparkPrefix, "-video-time-text"),
92
+ children: duration
93
+ }), /*#__PURE__*/_jsx(IconButton, {
94
+ bordered: false,
95
+ size: "small",
96
+ shape: "default",
97
+ disabled: false,
98
+ icon: /*#__PURE__*/_jsx(SparkEnlargeLine, {}),
99
+ onClick: onFullscreen
100
+ })]
101
+ })
102
+ });
103
+ };
104
+ export default VideoPlayerController;
@@ -0,0 +1,2 @@
1
+ declare const _default: () => import("react/jsx-runtime").JSX.Element;
2
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { Video } from "../../../..";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export default (function () {
4
+ return /*#__PURE__*/_jsx(Video, {
5
+ src: "https://cloud.video.taobao.com/vod/ObvVc91XA3OJXnFHl0KVhBo_60LrKAROCojWxB_EAYs.mp4",
6
+ controls: true,
7
+ style: {
8
+ width: '100%',
9
+ height: '100%'
10
+ }
11
+ });
12
+ });
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ type NativeVideoProps = React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>;
3
+ interface IProps extends NativeVideoProps {
4
+ /**
5
+ * @description 视频地址
6
+ */
7
+ src?: string;
8
+ /**
9
+ * @description 鼠标进入时是否自动播放
10
+ */
11
+ mouseEnterAutoPlay?: boolean;
12
+ /**
13
+ * @description video内部设置了按钮在暗色背景下的样式,如果有一些操作按钮想继承这个样式可以在这里传入
14
+ */
15
+ children?: React.ReactNode;
16
+ }
17
+ declare const Video: React.ForwardRefExoticComponent<Omit<IProps, "ref"> & React.RefAttributes<HTMLVideoElement>>;
18
+ export default Video;
@@ -0,0 +1,222 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["controls", "mouseEnterAutoPlay", "children", "className", "style"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
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(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
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(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
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 React, { forwardRef, useEffect, useState, useRef } from 'react';
17
+ import classNames from 'classnames';
18
+ import VideoPlayerController from "./Control";
19
+ import { useControllableValue } from 'ahooks';
20
+ import { getCommonConfig } from "../../../config";
21
+ import { useStyle } from "./index.style";
22
+ import { jsx as _jsx } from "react/jsx-runtime";
23
+ import { jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { Fragment as _Fragment } from "react/jsx-runtime";
25
+ var Video = /*#__PURE__*/forwardRef(function (props, ref) {
26
+ var controls = props.controls,
27
+ _props$mouseEnterAuto = props.mouseEnterAutoPlay,
28
+ mouseEnterAutoPlay = _props$mouseEnterAuto === void 0 ? false : _props$mouseEnterAuto,
29
+ children = props.children,
30
+ className = props.className,
31
+ style = props.style,
32
+ videoProps = _objectWithoutProperties(props, _excluded);
33
+ var commonConfig = getCommonConfig();
34
+ var sparkPrefix = commonConfig.sparkPrefix;
35
+ var Style = useStyle();
36
+ var _useState = useState(0),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ currentTime = _useState2[0],
39
+ setCurrentTime = _useState2[1];
40
+ var _useState3 = useState(0),
41
+ _useState4 = _slicedToArray(_useState3, 2),
42
+ duration = _useState4[0],
43
+ setDuration = _useState4[1];
44
+ var _useState5 = useState(false),
45
+ _useState6 = _slicedToArray(_useState5, 2),
46
+ isPlaying = _useState6[0],
47
+ setIsPlaying = _useState6[1];
48
+ var _useControllableValue = useControllableValue(props, {
49
+ valuePropName: 'muted',
50
+ trigger: 'onMutedChange',
51
+ defaultValue: true
52
+ }),
53
+ _useControllableValue2 = _slicedToArray(_useControllableValue, 2),
54
+ muted = _useControllableValue2[0],
55
+ setMuted = _useControllableValue2[1];
56
+ var _useState7 = useState(false),
57
+ _useState8 = _slicedToArray(_useState7, 2),
58
+ enableAudio = _useState8[0],
59
+ setEnableAudio = _useState8[1];
60
+ var videoRef = useRef(null);
61
+ var lockMouseEnterAutoPlayRef = useRef(false);
62
+
63
+ // 合并refs
64
+ var combinedRef = function combinedRef(element) {
65
+ videoRef.current = element;
66
+ if (ref) {
67
+ if (typeof ref === 'function') {
68
+ ref(element);
69
+ } else {
70
+ ref.current = element;
71
+ }
72
+ }
73
+ };
74
+
75
+ // 监听isPlaying状态来控制定时器
76
+ useEffect(function () {
77
+ var clock;
78
+ if (isPlaying) {
79
+ // 启动定时器
80
+ clock = setInterval(function () {
81
+ if (videoRef.current) {
82
+ setCurrentTime(videoRef.current.currentTime);
83
+ }
84
+ }, 16); // 每100ms更新一次,提供流畅的时间显示
85
+ }
86
+
87
+ // 清理函数
88
+ return function () {
89
+ if (clock) {
90
+ clearInterval(clock);
91
+ }
92
+ };
93
+ }, [isPlaying]);
94
+
95
+ // 检测视频是否有音频通道
96
+ var checkAudioTracks = function checkAudioTracks() {
97
+ // @ts-ignore
98
+ window.videoRef = videoRef.current;
99
+ if (videoRef.current) {
100
+ // 方法1: 检查mozHasAudio属性 (Firefox)
101
+ if ('mozHasAudio' in videoRef.current) {
102
+ // @ts-ignore
103
+ setEnableAudio(videoRef.current.mozHasAudio);
104
+ return true;
105
+ }
106
+ // 方法2: 检查webkitAudioDecodedByteCount属性 (WebKit)
107
+ if ('webkitAudioDecodedByteCount' in videoRef.current) {
108
+ // @ts-ignore
109
+ setEnableAudio(videoRef.current.webkitAudioDecodedByteCount > 0);
110
+ return true;
111
+ }
112
+ setEnableAudio(false);
113
+ return false;
114
+ }
115
+ return false;
116
+ };
117
+
118
+ // 视频加载完成处理
119
+ var handleLoadedMetadata = function handleLoadedMetadata() {
120
+ if (videoRef.current) {
121
+ setDuration(videoRef.current.duration);
122
+ }
123
+ };
124
+
125
+ // 播放/暂停切换
126
+ var handlePlayPause = function handlePlayPause() {
127
+ if (videoRef.current) {
128
+ if (isPlaying) {
129
+ videoRef.current.pause();
130
+ } else {
131
+ videoRef.current.play();
132
+ }
133
+ setIsPlaying(!isPlaying);
134
+ }
135
+ };
136
+
137
+ // 处理播放事件
138
+ var handlePlay = function handlePlay() {
139
+ setIsPlaying(true);
140
+ };
141
+
142
+ // 处理暂停事件
143
+ var handlePause = function handlePause() {
144
+ setIsPlaying(false);
145
+ };
146
+
147
+ // 全屏切换
148
+ var handleFullscreen = function handleFullscreen() {
149
+ if (videoRef.current) {
150
+ if (videoRef.current.requestFullscreen) {
151
+ videoRef.current.requestFullscreen();
152
+ }
153
+ }
154
+ };
155
+
156
+ // 处理播放结束事件
157
+ var handleEnded = function handleEnded() {
158
+ var _videoRef$current;
159
+ setIsPlaying(false);
160
+ setCurrentTime((_videoRef$current = videoRef.current) === null || _videoRef$current === void 0 ? void 0 : _videoRef$current.duration);
161
+ };
162
+
163
+ // 处理鼠标进入事件
164
+ var handleMouseEnter = function handleMouseEnter() {
165
+ if (mouseEnterAutoPlay && !lockMouseEnterAutoPlayRef.current) {
166
+ if (!isPlaying) {
167
+ videoRef.current.play();
168
+ lockMouseEnterAutoPlayRef.current = true;
169
+ }
170
+ }
171
+ };
172
+ var handleMouseLeave = function handleMouseLeave() {
173
+ if (mouseEnterAutoPlay && lockMouseEnterAutoPlayRef.current) {
174
+ lockMouseEnterAutoPlayRef.current = false;
175
+ }
176
+ };
177
+
178
+ // 处理进度条点击事件
179
+ var handleProgressClick = function handleProgressClick(time) {
180
+ if (videoRef.current) {
181
+ videoRef.current.currentTime = time;
182
+ setCurrentTime(time);
183
+ }
184
+ };
185
+ return /*#__PURE__*/_jsxs(_Fragment, {
186
+ children: [/*#__PURE__*/_jsx(Style, {}), /*#__PURE__*/_jsx("div", {
187
+ className: classNames("".concat(sparkPrefix, "-video-container"), className),
188
+ style: style,
189
+ children: /*#__PURE__*/_jsxs("div", {
190
+ className: "".concat(sparkPrefix, "-video-content"),
191
+ onMouseEnter: handleMouseEnter,
192
+ onMouseLeave: handleMouseLeave,
193
+ children: [/*#__PURE__*/_jsx("video", _objectSpread(_objectSpread({
194
+ ref: combinedRef
195
+ }, videoProps), {}, {
196
+ muted: muted,
197
+ className: "".concat(sparkPrefix, "-video-element"),
198
+ crossOrigin: "anonymous",
199
+ onLoadedMetadata: handleLoadedMetadata,
200
+ onCanPlayThrough: checkAudioTracks,
201
+ onPlay: handlePlay,
202
+ onPause: handlePause,
203
+ onEnded: handleEnded
204
+ })), controls && /*#__PURE__*/_jsx(VideoPlayerController, {
205
+ className: "".concat(sparkPrefix, "-video-controller-wrapper"),
206
+ isPlaying: isPlaying,
207
+ currentTime: currentTime,
208
+ duration: duration,
209
+ enableAudio: enableAudio,
210
+ muted: muted,
211
+ onMute: function onMute() {
212
+ return setMuted(!muted);
213
+ },
214
+ onPlayPause: handlePlayPause,
215
+ onFullscreen: handleFullscreen,
216
+ onProgressClick: handleProgressClick
217
+ }), children]
218
+ })
219
+ })]
220
+ });
221
+ });
222
+ export default Video;
@@ -0,0 +1 @@
1
+ export declare const useStyle: () => () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,40 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
+ import createGlobalStyle from "../../../libs/createStyle";
4
+ export var useStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n// Video \u4E3B\u5BB9\u5668\u6837\u5F0F\n.", "-video-container {\n position: relative;\n width: 100%;\n height: 100%;\n background: #000;\n\n button {\n --", "-color-text-disabled: rgba(231, 231, 237, 0.25) !important;\n --", "-button-text-text-color: rgba(231, 231, 237, 0.88) !important;\n --", "-button-text-text-hover-color: rgba(231, 231, 237, 0.88) !important;\n --", "-button-text-hover-bg: rgba(231, 231, 237, 0.08) !important;\n }\n}\n\n.", "-video-content {\n width: 100%;\n height: 100%;\n}\n\n.", "-video-element {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n.", "-video-controller-wrapper {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(0deg, #000000 2%, rgba(0, 0, 0, 0) 94%);\n transition: opacity 0.3s;\n}\n\n// VideoPlayerController \u7EC4\u4EF6\u5185\u90E8\u6837\u5F0F\n.", "-video-player-controller {\n display: flex;\n padding: 8px;\n gap: 8px;\n align-items: center;\n width: 100%;\n height: 40px;\n overflow: hidden;\n}\n\n// \u65F6\u95F4\u6587\u672C\u6837\u5F0F\n.", "-video-time-text {\n flex-grow: 0;\n font-size: 12px;\n line-height: 20px;\n color: var(--", "-color-text-white);\n}\n\n// \u8FDB\u5EA6\u6761\u5BB9\u5668\u6837\u5F0F\n.", "-video-progress-container {\n flex-grow: 1;\n cursor: pointer;\n}\n\n// \u8FDB\u5EA6\u6761\u6837\u5F0F\n.", "-video-progress-bar {\n width: 100%;\n\n .", "-progress-inner {\n --", "-progress-remaining-color: var(--", "-color-fill);\n }\n \n .", "-progress-bg {\n background: var(--", "-color-text-white) !important;\n transition-duration: 0s;\n }\n}\n"])), function (p) {
5
+ return p.sparkPrefix;
6
+ }, function (p) {
7
+ return p.antPrefix;
8
+ }, function (p) {
9
+ return p.antPrefix;
10
+ }, function (p) {
11
+ return p.antPrefix;
12
+ }, function (p) {
13
+ return p.antPrefix;
14
+ }, function (p) {
15
+ return p.sparkPrefix;
16
+ }, function (p) {
17
+ return p.sparkPrefix;
18
+ }, function (p) {
19
+ return p.sparkPrefix;
20
+ }, function (p) {
21
+ return p.sparkPrefix;
22
+ }, function (p) {
23
+ return p.sparkPrefix;
24
+ }, function (p) {
25
+ return p.antPrefix;
26
+ }, function (p) {
27
+ return p.sparkPrefix;
28
+ }, function (p) {
29
+ return p.sparkPrefix;
30
+ }, function (p) {
31
+ return p.antPrefix;
32
+ }, function (p) {
33
+ return p.antPrefix;
34
+ }, function (p) {
35
+ return p.antPrefix;
36
+ }, function (p) {
37
+ return p.antPrefix;
38
+ }, function (p) {
39
+ return p.antPrefix;
40
+ });
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "components.commonComponents.AlertDialog.Prompt": "Prompt",
3
3
  "components.commonComponents.Pagination.PreviousPage": "Previous Page",
4
+ "components.commonComponents.Pagination.Items": "Items",
5
+ "components.commonComponents.Pagination.Page": "Page",
4
6
  "components.commonComponents.Pagination.NextPage": "Next page",
5
7
  "components.commonComponents.SlateEditor.TheNumberOfWordsCannot": "The number of words cannot exceed {wordLimit}.",
6
8
  "components.commonComponents.SlateEditor.EnterHere": "Enter here",
@@ -11,4 +13,4 @@
11
13
  "components.SlateEditor.utils.editor.WraptagnameCannotBeNestedIn": "[{wrapTagName}] cannot be nested in [{tagName}]]",
12
14
  "components.SlateEditor.utils.withEditor.YouCanEnterAMaximum": "You can enter a maximum of {maxLen} characters.",
13
15
  "components.commonComponents.Image.Preview": "Preview"
14
- }
16
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "components.commonComponents.AlertDialog.Prompt": "提示",
3
3
  "components.commonComponents.Pagination.PreviousPage": "上一页",
4
+ "components.commonComponents.Pagination.Items": "条",
5
+ "components.commonComponents.Pagination.Page": "页",
4
6
  "components.commonComponents.Pagination.NextPage": "下一页",
5
7
  "components.commonComponents.SlateEditor.TheNumberOfWordsCannot": "字数不能超过{wordLimit}字",
6
8
  "components.commonComponents.SlateEditor.EnterHere": "在这里输入",
@@ -11,4 +13,4 @@
11
13
  "components.SlateEditor.utils.editor.WraptagnameCannotBeNestedIn": "【{wrapTagName}】中不能嵌套【{tagName}】",
12
14
  "components.SlateEditor.utils.withEditor.YouCanEnterAMaximum": "最多可输入{maxLen}字",
13
15
  "components.commonComponents.Image.Preview": "预览"
14
- }
16
+ }
package/lib/index.d.ts CHANGED
@@ -47,6 +47,7 @@ export { default as Tag, type SparkTagProps as TagProps, } from './components/co
47
47
  export { default as TimePicker } from './components/commonComponents/TimePicker';
48
48
  export { default as Tooltip, type SparkTooltipProps as TooltipProps, } from './components/commonComponents/Tooltip';
49
49
  export { default as Upload } from './components/commonComponents/Upload';
50
+ export { default as Video } from './components/commonComponents/Video';
50
51
  export { default as staticRenderer } from './libs/staticRenderer';
51
52
  /**
52
53
  * hooks
@@ -57,7 +58,7 @@ export { default as useGlobalStyle } from './hooks/useGlobalStyle';
57
58
  */
58
59
  export { default as delay } from './libs/delay';
59
60
  export { safeHtml } from './libs/dom';
60
- export { generateCssVars, generateCssVarsByMap, insertMetaCssVars, } from './libs/generateCssVars';
61
+ export { generateCssVars, generateCssVarsByMap, insertMetaCssVars, } from "./libs/generateCssVars";
61
62
  export { copy, renderTooltip } from './libs/utils';
62
63
  export { waitForDom, waitForFunc } from './libs/waitFor';
63
64
  export { getRegionName } from './libs/region';
package/lib/index.js CHANGED
@@ -52,6 +52,7 @@ export { default as Tag } from "./components/commonComponents/Tag";
52
52
  export { default as TimePicker } from "./components/commonComponents/TimePicker";
53
53
  export { default as Tooltip } from "./components/commonComponents/Tooltip";
54
54
  export { default as Upload } from "./components/commonComponents/Upload";
55
+ export { default as Video } from "./components/commonComponents/Video";
55
56
  export { default as staticRenderer } from "./libs/staticRenderer";
56
57
 
57
58
  /**
@@ -1 +1,7 @@
1
- export default function createStyle(func: any): (props?: {}) => import("../../config").CommonConfig;
1
+ import { CSSStyle } from 'antd-style';
2
+ import { GlobalTheme } from 'antd-style/lib/factories/createGlobalStyle';
3
+ export default function createGlobalStyle(...styles: CSSStyle<GlobalTheme & {
4
+ sparkPrefix: string;
5
+ antPrefix: string;
6
+ blPrefix: string;
7
+ }>): () => () => import("react/jsx-runtime").JSX.Element;
@@ -1,76 +1,28 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- 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; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- /**
8
- * 参考资料
9
- * https://ntsim.uk/posts/how-to-update-or-remove-global-styles-in-emotion
10
- */
11
- import { css } from '@emotion/react';
12
- import { useLayoutEffect, useMemo } from 'react';
13
- import { compile, serialize, stringify } from 'stylis';
14
1
  import { useCommonConfig } from "../../config";
15
- var stylesMap = new Map();
16
- function applyStyle(styleId, styles) {
17
- if (!styles.styles) {
18
- return;
2
+ import { createGlobalStyle as originCreateGlobalStyle } from 'antd-style';
3
+ import { useRef } from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export default function createGlobalStyle() {
6
+ for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {
7
+ styles[_key] = arguments[_key];
19
8
  }
20
- // 避免相同样式被渲染多次
21
- var old = stylesMap.get(styleId);
22
- if (old === styles.styles) {
23
- return;
24
- }
25
- stylesMap.set(styleId, styles.styles);
26
- var result = serialize(compile(styles.styles), stringify);
27
- var oldDom = document.getElementById('bl-style-' + styleId);
28
- if (oldDom) {
29
- // 已经存在节点,则仅更新节点样式内容
30
- oldDom.innerHTML = result;
31
- } else {
32
- // 不存在节点,才创建节点
33
- var dom = document.createElement('style');
34
- dom.setAttribute('id', 'bl-style-' + styleId);
35
- dom.dataset.flag = 'bl-style';
36
- dom.setAttribute('name', styleId);
37
- dom.innerHTML = result;
38
- document.head.appendChild(dom);
39
- }
40
- }
41
- function removeStyle(styleId) {
42
- stylesMap.delete(styleId);
43
- var dom = document.getElementById('bl-style-' + styleId);
44
- if (dom) {
45
- dom.remove();
46
- }
47
- }
48
- var cacheUseStyles = {};
49
- export default function createStyle(func) {
50
- var localProps = {};
51
- return function useStyle() {
52
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : localProps;
53
- var config = useCommonConfig();
54
- var styles = useMemo(function () {
55
- return func(_objectSpread(_objectSpread(_objectSpread({}, config), props), {}, {
56
- css: css
57
- }));
58
- }, [config, props]);
59
- applyStyle(styles.name, styles);
60
- useLayoutEffect(function () {
61
- var cacheName = styles.name;
62
- cacheUseStyles[cacheName] = cacheUseStyles[cacheName] || 0;
63
- cacheUseStyles[cacheName] += 1;
64
- return function () {
65
- cacheUseStyles[cacheName] -= 1;
66
- setTimeout(function () {
67
- // 渲染样式已不使用,删除掉对应样式
68
- if (cacheUseStyles[cacheName] <= 0) {
69
- removeStyle(cacheName);
70
- }
71
- }, 100);
72
- };
73
- }, [styles.name]);
74
- return config;
9
+ return function () {
10
+ var _useCommonConfig = useCommonConfig(),
11
+ sparkPrefix = _useCommonConfig.sparkPrefix,
12
+ antPrefix = _useCommonConfig.antPrefix,
13
+ blPrefix = _useCommonConfig.blPrefix;
14
+ // @ts-ignore
15
+ var Style = originCreateGlobalStyle.apply(void 0, styles);
16
+ var ref = useRef(function () {
17
+ // @ts-ignore
18
+ return /*#__PURE__*/_jsx(Style
19
+ // @ts-ignore
20
+ , {
21
+ sparkPrefix: sparkPrefix,
22
+ antPrefix: antPrefix,
23
+ blPrefix: blPrefix
24
+ });
25
+ });
26
+ return ref.current;
75
27
  };
76
28
  }
@@ -31,7 +31,7 @@ export var insertMetaCssVars = function insertMetaCssVars(tokens) {
31
31
  tokens.forEach(function (item, index) {
32
32
  styleContent += " ".concat(item.name, ": ").concat(typeof item.value === 'string' ? item.value : "".concat(item.value, "px"), ";").concat(index < tokens.length - 1 ? '\n' : '');
33
33
  });
34
- styleContent = ":root{\n".concat(styleContent, "\n}");
34
+ styleContent = ":root{\n ".concat(styleContent, "\n }");
35
35
  var styleEle = document.createElement('style');
36
36
  styleEle.setAttribute('styleType', styleType);
37
37
  styleEle.textContent = styleContent;