@cmstops/pro-compo 0.3.71 → 0.3.73

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 (29) hide show
  1. package/dist/index.css +14 -7
  2. package/dist/index.min.css +1 -1
  3. package/es/index.css +14 -7
  4. package/es/selectResourceModal/component.js +66 -23
  5. package/es/selectResourceModal/components/List/ListVideo/index.js +25 -4
  6. package/es/selectResourceModal/components/List/ListWraper.js +7 -1
  7. package/es/selectResourceModal/scripts/useCompoLf.d.ts +9 -3
  8. package/es/selectResourceModal/scripts/useCompoLf.js +14 -5
  9. package/es/selectResourceModal/scripts/useTabFilter.js +0 -1
  10. package/es/selectResourceModal/style/index.css +1 -1
  11. package/es/selectResourceModal/style/list.less +1 -1
  12. package/es/videoThumb/component.js +28 -27
  13. package/es/videoThumb/scripts/useVideoThumbs.d.ts +4 -0
  14. package/es/videoThumb/scripts/useVideoThumbs.js +28 -1
  15. package/es/videoThumb/style/index.css +13 -6
  16. package/es/videoThumb/style/index.less +14 -6
  17. package/lib/index.css +14 -7
  18. package/lib/selectResourceModal/component.js +65 -22
  19. package/lib/selectResourceModal/components/List/ListVideo/index.js +24 -3
  20. package/lib/selectResourceModal/components/List/ListWraper.js +7 -1
  21. package/lib/selectResourceModal/scripts/useCompoLf.js +14 -5
  22. package/lib/selectResourceModal/scripts/useTabFilter.js +0 -1
  23. package/lib/selectResourceModal/style/index.css +1 -1
  24. package/lib/selectResourceModal/style/list.less +1 -1
  25. package/lib/videoThumb/component.js +27 -26
  26. package/lib/videoThumb/scripts/useVideoThumbs.js +28 -0
  27. package/lib/videoThumb/style/index.css +13 -6
  28. package/lib/videoThumb/style/index.less +14 -6
  29. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, createBlock, resolveDynamicComponent, unref, mergeProps, withCtx, createElementVNode, createCommentVNode, createVNode, isRef, createTextVNode } from "vue";
1
+ import { defineComponent, watch, openBlock, createElementBlock, createBlock, resolveDynamicComponent, unref, mergeProps, withCtx, createElementVNode, createCommentVNode, createVNode, isRef, Fragment, createTextVNode } from "vue";
2
2
  import { Drawer, Modal, Button } from "@arco-design/web-vue";
3
3
  import emptyData from "../emptyData/index.js";
4
4
  import _sfc_main$1 from "./components/ListTabs/index.js";
@@ -13,10 +13,6 @@ const _hoisted_3 = {
13
13
  key: 0,
14
14
  class: "resource-select-container"
15
15
  };
16
- const _hoisted_4 = {
17
- key: 0,
18
- class: "footer-right"
19
- };
20
16
  const _sfc_main = defineComponent({
21
17
  ...{ name: "selectResourceModal" },
22
18
  __name: "component",
@@ -37,7 +33,19 @@ const _sfc_main = defineComponent({
37
33
  const emits = __emit;
38
34
  const { selected, selectedKeys, disableSelect, handleSelect, handleClear } = useResourceSelect(props);
39
35
  const { activeKey, activeComponent, tabKeyList, handelChangeTab } = useTabFilter(props);
40
- const { wrapProps, close, submit } = useCompoentLifycycle(props, emits);
36
+ const { wrapProps, close, submit } = useCompoentLifycycle(props, emits, {
37
+ onClose: () => {
38
+ handleClear();
39
+ }
40
+ });
41
+ watch(
42
+ () => props.visible,
43
+ (val) => {
44
+ if (val)
45
+ activeKey.value = tabKeyList.value[0].key;
46
+ },
47
+ { immediate: true }
48
+ );
41
49
  const handleOptions = (options, handleOptions2) => {
42
50
  const { key, item } = options;
43
51
  if (key === "select-one") {
@@ -50,8 +58,15 @@ const _sfc_main = defineComponent({
50
58
  }
51
59
  handleOptions2 && handleOptions2(options);
52
60
  };
53
- function handleConfirm() {
54
- submit(selected.value);
61
+ function confirm(type, meta) {
62
+ let result = JSON.parse(JSON.stringify(selected.value));
63
+ if (meta && typeof meta === "function")
64
+ result = meta();
65
+ if (type === "crop") {
66
+ submit(result, "edit");
67
+ } else {
68
+ submit(result);
69
+ }
55
70
  }
56
71
  return (_ctx, _cache) => {
57
72
  return openBlock(), createElementBlock("div", _hoisted_1, [
@@ -67,7 +82,8 @@ const _sfc_main = defineComponent({
67
82
  onClose: unref(close)
68
83
  }, null, 8, ["model-value", "tabList", "onClose"]),
69
84
  createCommentVNode(" \u5217\u8868\u5206\u53D1\u5668 "),
70
- (openBlock(), createBlock(resolveDynamicComponent(unref(activeComponent)), {
85
+ _ctx.visible ? (openBlock(), createBlock(resolveDynamicComponent(unref(activeComponent)), {
86
+ key: 0,
71
87
  "active-key": unref(activeKey),
72
88
  onChangeTab: unref(handelChangeTab)
73
89
  }, {
@@ -80,14 +96,32 @@ const _sfc_main = defineComponent({
80
96
  onOptions: (e) => handleOptions(e, onOptions)
81
97
  }, null, 8, ["item", "select-keys", "disable", "onSelect", "onOptions"])
82
98
  ]),
83
- "footer-extra": withCtx(() => [
84
- unref(selected).length ? (openBlock(), createElementBlock("div", _hoisted_4, [
85
- createVNode(_sfc_main$3, {
86
- maxcount: _ctx.maxcount,
87
- selected: unref(selected),
88
- onRemove: unref(handleSelect),
89
- onClear: unref(handleClear)
90
- }, null, 8, ["maxcount", "selected", "onRemove", "onClear"]),
99
+ "footer-extra": withCtx(({ type, onConfirm }) => [
100
+ type !== "video" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
101
+ unref(selected).length ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
102
+ createVNode(_sfc_main$3, {
103
+ maxcount: _ctx.maxcount,
104
+ selected: unref(selected),
105
+ onRemove: unref(handleSelect),
106
+ onClear: unref(handleClear)
107
+ }, null, 8, ["maxcount", "selected", "onRemove", "onClear"]),
108
+ createVNode(unref(Button), { onClick: unref(close) }, {
109
+ default: withCtx(() => [
110
+ createTextVNode("\u53D6\u6D88")
111
+ ]),
112
+ _: 1
113
+ }, 8, ["onClick"]),
114
+ createVNode(unref(Button), {
115
+ type: "primary",
116
+ onClick: confirm
117
+ }, {
118
+ default: withCtx(() => [
119
+ createTextVNode(" \u786E\u5B9A ")
120
+ ]),
121
+ _: 1
122
+ })
123
+ ], 64)) : createCommentVNode("v-if", true)
124
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
91
125
  createVNode(unref(Button), { onClick: unref(close) }, {
92
126
  default: withCtx(() => [
93
127
  createTextVNode("\u53D6\u6D88")
@@ -96,17 +130,26 @@ const _sfc_main = defineComponent({
96
130
  }, 8, ["onClick"]),
97
131
  createVNode(unref(Button), {
98
132
  type: "primary",
99
- onClick: handleConfirm
133
+ onClick: ($event) => confirm("crop", onConfirm)
100
134
  }, {
101
135
  default: withCtx(() => [
102
- createTextVNode(" \u786E\u5B9A ")
136
+ createTextVNode(" \u88C1\u526A ")
103
137
  ]),
104
- _: 1
105
- })
106
- ])) : createCommentVNode("v-if", true)
138
+ _: 2
139
+ }, 1032, ["onClick"]),
140
+ createVNode(unref(Button), {
141
+ type: "primary",
142
+ onClick: ($event) => confirm("use", onConfirm)
143
+ }, {
144
+ default: withCtx(() => [
145
+ createTextVNode(" \u4F7F\u7528 ")
146
+ ]),
147
+ _: 2
148
+ }, 1032, ["onClick"])
149
+ ], 64))
107
150
  ]),
108
151
  _: 1
109
- }, 40, ["active-key", "onChangeTab"]))
152
+ }, 40, ["active-key", "onChangeTab"])) : createCommentVNode("v-if", true)
110
153
  ])) : (openBlock(), createBlock(unref(emptyData), {
111
154
  key: 1,
112
155
  type: "empty",
@@ -1,17 +1,38 @@
1
- import { defineComponent, inject, openBlock, createBlock, withCtx, unref, normalizeProps, mergeProps, createCommentVNode } from "vue";
1
+ import { defineComponent, inject, ref, openBlock, createBlock, withCtx, renderSlot, unref, mergeProps, createCommentVNode } from "vue";
2
2
  import videoThumb from "../../../../videoThumb/index.js";
3
3
  import _sfc_main$1 from "../ListWraper.js";
4
4
  const _sfc_main = defineComponent({
5
5
  __name: "index",
6
6
  setup(__props) {
7
7
  const videoThumbOptions = inject("videoThumbOptions");
8
+ const curSelect = ref("");
9
+ function handlerConfirm() {
10
+ const url = curSelect.value;
11
+ return [
12
+ {
13
+ url,
14
+ alias: url,
15
+ catalog: "image",
16
+ thumb: url
17
+ }
18
+ ];
19
+ }
8
20
  return (_ctx, _cache) => {
9
21
  return openBlock(), createBlock(_sfc_main$1, null, {
10
- "footer-extra": withCtx(() => []),
22
+ "footer-extra": withCtx(() => [
23
+ renderSlot(_ctx.$slots, "footer-extra", {
24
+ type: "video",
25
+ onConfirm: handlerConfirm
26
+ })
27
+ ]),
11
28
  default: withCtx(() => [
12
- unref(videoThumbOptions) ? (openBlock(), createBlock(unref(videoThumb), normalizeProps(mergeProps({ key: 0 }, unref(videoThumbOptions))), null, 16)) : createCommentVNode("v-if", true)
29
+ unref(videoThumbOptions) ? (openBlock(), createBlock(unref(videoThumb), mergeProps({
30
+ key: 0,
31
+ value: curSelect.value,
32
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => curSelect.value = $event)
33
+ }, unref(videoThumbOptions), { offset: 115 }), null, 16, ["value"])) : createCommentVNode("v-if", true)
13
34
  ]),
14
- _: 1
35
+ _: 3
15
36
  });
16
37
  };
17
38
  }
@@ -16,6 +16,10 @@ const _hoisted_5 = {
16
16
  class: "resource-list-content-empty"
17
17
  };
18
18
  const _hoisted_6 = { class: "resource-list-footer" };
19
+ const _hoisted_7 = {
20
+ key: 0,
21
+ class: "footer-right"
22
+ };
19
23
  const _sfc_main = defineComponent({
20
24
  __name: "ListWraper",
21
25
  props: {
@@ -51,7 +55,9 @@ const _sfc_main = defineComponent({
51
55
  ]),
52
56
  createElementVNode("div", _hoisted_6, [
53
57
  renderSlot(_ctx.$slots, "footer"),
54
- renderSlot(_ctx.$slots, "footer-extra")
58
+ _ctx.$slots["footer-extra"] ? (openBlock(), createElementBlock("div", _hoisted_7, [
59
+ renderSlot(_ctx.$slots, "footer-extra")
60
+ ])) : createCommentVNode("v-if", true)
55
61
  ])
56
62
  ]);
57
63
  };
@@ -1,9 +1,13 @@
1
- export default function useCompoentLifycycle(props: any, emits: any): {
1
+ declare type LifeCycleHandler = {
2
+ onClose: () => void;
3
+ };
4
+ export default function useCompoentLifycycle(props: any, emits: any, handler?: LifeCycleHandler): {
2
5
  wrapProps: import("vue").ComputedRef<{
3
6
  class: string;
4
7
  header: boolean;
5
8
  width: string;
6
9
  footer: boolean;
10
+ unmountOnClose: boolean;
7
11
  bodyClass?: undefined;
8
12
  closable?: undefined;
9
13
  hideTitle?: undefined;
@@ -13,9 +17,11 @@ export default function useCompoentLifycycle(props: any, emits: any): {
13
17
  closable: boolean;
14
18
  hideTitle: boolean;
15
19
  footer: boolean;
20
+ unmountOnClose: boolean;
16
21
  class?: undefined;
17
22
  header?: undefined;
18
23
  }>;
19
- close: () => any;
20
- submit: (data: any) => any;
24
+ close: () => void;
25
+ submit: (data: any, ...args: any) => void;
21
26
  };
27
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { computed, provide } from "vue";
2
2
  import { DEFAULT_BASE_API } from "../../config.js";
3
- function useCompoentLifycycle(props, emits) {
3
+ function useCompoentLifycycle(props, emits, handler) {
4
4
  const BASE_API = props.BASE_API || DEFAULT_BASE_API;
5
5
  const wrapProps = computed(() => {
6
6
  if (props.wrap === "drawer") {
@@ -8,7 +8,8 @@ function useCompoentLifycycle(props, emits) {
8
8
  class: "resource-select-drawer",
9
9
  header: false,
10
10
  width: "1024px",
11
- footer: false
11
+ footer: false,
12
+ unmountOnClose: true
12
13
  };
13
14
  }
14
15
  return {
@@ -16,7 +17,8 @@ function useCompoentLifycycle(props, emits) {
16
17
  width: "986px",
17
18
  closable: false,
18
19
  hideTitle: false,
19
- footer: false
20
+ footer: false,
21
+ unmountOnClose: true
20
22
  };
21
23
  });
22
24
  provide("baseAPI", BASE_API);
@@ -25,10 +27,17 @@ function useCompoentLifycycle(props, emits) {
25
27
  provide("mediaUseType", computed(() => props.mediaUseType));
26
28
  provide("aiThumbList", computed(() => props.aiThumbList));
27
29
  provide("videoThumbOptions", computed(() => props.videoThumbOptions));
30
+ function close() {
31
+ emits("update:visible", false);
32
+ handler == null ? void 0 : handler.onClose();
33
+ }
28
34
  return {
29
35
  wrapProps,
30
- close: () => emits("update:visible", false),
31
- submit: (data) => emits("submit", JSON.parse(JSON.stringify(data)))
36
+ close,
37
+ submit: (data, ...args) => {
38
+ emits("submit", JSON.parse(JSON.stringify(data)), ...args);
39
+ close();
40
+ }
32
41
  };
33
42
  }
34
43
  export { useCompoentLifycycle as default };
@@ -26,7 +26,6 @@ function useTabFilter(props) {
26
26
  keys.unshift("ai");
27
27
  if (videoThumbOptions)
28
28
  keys.unshift("video");
29
- [activeKey.value] = keys;
30
29
  return keys.map((key) => ({
31
30
  key,
32
31
  title: TAB_DICT[key].title
@@ -178,7 +178,7 @@
178
178
  .resource-list-footer {
179
179
  display: flex;
180
180
  justify-content: space-between;
181
- padding-bottom: 10px;
181
+ padding-bottom: 20px;
182
182
  }
183
183
  .resource-list-footer .footer-right {
184
184
  display: flex;
@@ -21,7 +21,7 @@
21
21
  &-footer {
22
22
  display: flex;
23
23
  justify-content: space-between;
24
- padding-bottom: 10px;
24
+ padding-bottom: 20px;
25
25
 
26
26
  .footer-right {
27
27
  display: flex;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, computed, watch, onMounted, openBlock, createElementBlock, createElementVNode, unref, createCommentVNode, Fragment, renderList, normalizeClass } from "vue";
2
2
  import { DEFAULT_BASE_API } from "../config.js";
3
- import { useVideoThumbs } from "./scripts/useVideoThumbs.js";
3
+ import { useVideoThumbs, useDragger } from "./scripts/useVideoThumbs.js";
4
4
  const _hoisted_1 = { class: "video-thumb" };
5
5
  const _hoisted_2 = { class: "video-player-container" };
6
6
  const _hoisted_3 = ["src"];
@@ -11,10 +11,12 @@ const _sfc_main = defineComponent({
11
11
  __name: "component",
12
12
  props: {
13
13
  BASE_API: {},
14
+ value: {},
14
15
  src: {},
15
- duration: {}
16
+ duration: {},
17
+ offset: {}
16
18
  },
17
- emits: ["select"],
19
+ emits: ["select", "update:value"],
18
20
  setup(__props, { emit: __emit }) {
19
21
  const props = __props;
20
22
  const emit = __emit;
@@ -22,46 +24,44 @@ const _sfc_main = defineComponent({
22
24
  const { thumbs, curThumb, getVideoThumbs, handleSelectThumb } = useVideoThumbs();
23
25
  const videoThumbRef = ref();
24
26
  const videoThumbDrager = ref();
25
- const isDrag = ref(false);
26
27
  const width = computed(() => {
27
28
  if (!videoThumbRef.value)
28
29
  return 0;
29
30
  const rect = videoThumbRef.value.getBoundingClientRect();
30
31
  return parseInt((rect.width / thumbs.value.length).toFixed(0), 10);
31
32
  });
33
+ const startPos = ref(0);
32
34
  function moveDragger(moveX) {
33
35
  if (!videoThumbDrager.value || !videoThumbRef.value)
34
36
  return;
35
37
  const rect = videoThumbRef.value.getBoundingClientRect();
36
- if (moveX < 0 || moveX > rect.width)
38
+ const pos = startPos.value + moveX;
39
+ if (pos < 0 || pos > rect.width - 5)
37
40
  return;
38
- videoThumbDrager.value.style.left = `${moveX}px`;
39
- const index = Math.floor(moveX / width.value);
40
- curThumb.value = thumbs.value[index];
41
+ videoThumbDrager.value.style.left = `${pos}px`;
42
+ const index = Math.floor(pos / width.value);
43
+ curThumb.value = thumbs.value[index < thumbs.value.length ? index : thumbs.value.length - 1];
41
44
  }
42
- const handleMousedown = () => {
43
- isDrag.value = true;
44
- window.onmouseup = handleMouseup;
45
- window.onmousemove = handleMousemove;
46
- };
47
- const handleMouseup = () => {
48
- isDrag.value = false;
49
- window.onmouseup = null;
50
- window.onmousemove = null;
51
- };
52
- const handleMousemove = (e) => {
53
- if (!isDrag.value)
45
+ function upDragger() {
46
+ startPos.value = 0;
47
+ }
48
+ function downDragger() {
49
+ if (!videoThumbDrager.value)
54
50
  return;
55
- const moveX = e.x - 30;
56
- moveDragger(moveX);
57
- };
51
+ const originX = parseInt(videoThumbDrager.value.style.left.replace("px", ""), 10) || 0;
52
+ startPos.value = originX;
53
+ }
58
54
  function handleSelect(idx) {
59
55
  handleSelectThumb(idx);
60
56
  moveDragger(idx * width.value + width.value / 2);
61
57
  }
58
+ const { handleMousedown } = useDragger(moveDragger, upDragger, downDragger);
62
59
  watch(
63
60
  () => curThumb.value,
64
- () => emit("select", curThumb.value),
61
+ () => {
62
+ emit("select", curThumb.value);
63
+ emit("update:value", curThumb.value);
64
+ },
65
65
  { immediate: true }
66
66
  );
67
67
  onMounted(() => {
@@ -78,12 +78,13 @@ const _sfc_main = defineComponent({
78
78
  ref: videoThumbRef,
79
79
  class: "video-thumb-list"
80
80
  }, [
81
- createElementVNode("div", {
81
+ unref(thumbs).length > 0 ? (openBlock(), createElementBlock("div", {
82
+ key: 0,
82
83
  ref_key: "videoThumbDrager",
83
84
  ref: videoThumbDrager,
84
85
  class: "video-thumb-list-drager",
85
- onMousedown: handleMousedown
86
- }, null, 544),
86
+ onMousedown: _cache[0] || (_cache[0] = (...args) => unref(handleMousedown) && unref(handleMousedown)(...args))
87
+ }, null, 544)) : createCommentVNode("v-if", true),
87
88
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(thumbs), (thumb, idx) => {
88
89
  return openBlock(), createElementBlock("div", {
89
90
  key: thumb,
@@ -5,3 +5,7 @@ export declare function useVideoThumbs(): {
5
5
  getVideoThumbs: (BASE_API: string, url: string, duration: number) => Promise<void>;
6
6
  handleSelectThumb: (idx: number) => void;
7
7
  };
8
+ export declare function useDragger(moveCallback: any, upCallback: any, downCallback: any): {
9
+ isDrag: import("vue").Ref<boolean>;
10
+ handleMousedown: (e: MouseEvent) => void;
11
+ };
@@ -45,4 +45,31 @@ function useVideoThumbs() {
45
45
  handleSelectThumb
46
46
  };
47
47
  }
48
- export { useVideoThumbs };
48
+ function useDragger(moveCallback, upCallback, downCallback) {
49
+ const x = ref(0);
50
+ const isDrag = ref(false);
51
+ const handleMousedown = (e) => {
52
+ isDrag.value = true;
53
+ x.value = e.x;
54
+ window.onmouseup = handleMouseup;
55
+ window.onmousemove = handleMousemove;
56
+ downCallback && downCallback();
57
+ };
58
+ const handleMouseup = () => {
59
+ isDrag.value = false;
60
+ x.value = 0;
61
+ window.onmouseup = null;
62
+ window.onmousemove = null;
63
+ upCallback && upCallback();
64
+ };
65
+ const handleMousemove = (e) => {
66
+ if (!isDrag.value)
67
+ return;
68
+ moveCallback && moveCallback(e.x - x.value);
69
+ };
70
+ return {
71
+ isDrag,
72
+ handleMousedown
73
+ };
74
+ }
75
+ export { useDragger, useVideoThumbs };
@@ -5,23 +5,25 @@
5
5
  box-sizing: border-box;
6
6
  width: 100%;
7
7
  height: 100%;
8
- padding: 10px;
9
8
  overflow: hidden;
10
9
  }
11
10
  .video-thumb .video-player-container {
12
11
  display: flex;
13
12
  flex: 1;
14
13
  flex-direction: column;
14
+ align-items: center;
15
+ justify-content: center;
15
16
  overflow: hidden;
16
17
  }
17
- .video-thumb .video-player-container video {
18
- height: 100%;
18
+ .video-thumb .video-player-container img {
19
+ max-width: 800px;
20
+ max-height: 100%;
19
21
  }
20
22
  .video-thumb .video-thumb-list {
21
23
  position: relative;
22
24
  display: flex;
23
25
  height: 80px;
24
- padding: 20px 0;
26
+ padding: 10px 0;
25
27
  }
26
28
  .video-thumb .video-thumb-list .video-thumb-list-item {
27
29
  flex: 1;
@@ -40,10 +42,15 @@
40
42
  }
41
43
  .video-thumb .video-thumb-list .video-thumb-list-drager {
42
44
  position: absolute;
43
- top: 20px;
45
+ top: 10px;
44
46
  left: 0;
47
+ z-index: 100;
45
48
  width: 6px;
46
- height: calc(100% - 40px);
49
+ height: calc(100% - 20px);
47
50
  background-color: rgb(var(--primary-5));
48
51
  cursor: pointer;
52
+ transition: transform 0.3s ease-in-out;
53
+ }
54
+ .video-thumb .video-thumb-list .video-thumb-list-drager:hover {
55
+ transform: scale(1.05);
49
56
  }
@@ -5,7 +5,6 @@
5
5
  box-sizing: border-box;
6
6
  width: 100%;
7
7
  height: 100%;
8
- padding: 10px;
9
8
  overflow: hidden;
10
9
 
11
10
  // 播放器
@@ -13,10 +12,13 @@
13
12
  display: flex;
14
13
  flex: 1;
15
14
  flex-direction: column;
15
+ align-items: center;
16
+ justify-content: center;
16
17
  overflow: hidden;
17
18
 
18
- video {
19
- height: 100%;
19
+ img {
20
+ max-width: 800px;
21
+ max-height: 100%;
20
22
  }
21
23
  }
22
24
 
@@ -25,7 +27,7 @@
25
27
  position: relative;
26
28
  display: flex;
27
29
  height: 80px;
28
- padding: 20px 0;
30
+ padding: 10px 0;
29
31
 
30
32
  .video-thumb-list-item {
31
33
  flex: 1;
@@ -50,12 +52,18 @@
50
52
 
51
53
  .video-thumb-list-drager {
52
54
  position: absolute;
53
- top: 20px;
55
+ top: 10px;
54
56
  left: 0;
57
+ z-index: 100;
55
58
  width: 6px;
56
- height: calc(100% - 40px);
59
+ height: calc(100% - 20px);
57
60
  background-color: rgb(var(--primary-5));
58
61
  cursor: pointer;
62
+ transition: transform 0.3s ease-in-out;
63
+
64
+ &:hover {
65
+ transform: scale(1.05);
66
+ }
59
67
  }
60
68
  }
61
69
  }
package/lib/index.css CHANGED
@@ -4530,7 +4530,7 @@
4530
4530
  .resource-list-footer {
4531
4531
  display: flex;
4532
4532
  justify-content: space-between;
4533
- padding-bottom: 10px;
4533
+ padding-bottom: 20px;
4534
4534
  }
4535
4535
  .resource-list-footer .footer-right {
4536
4536
  display: flex;
@@ -4926,23 +4926,25 @@
4926
4926
  box-sizing: border-box;
4927
4927
  width: 100%;
4928
4928
  height: 100%;
4929
- padding: 10px;
4930
4929
  overflow: hidden;
4931
4930
  }
4932
4931
  .video-thumb .video-player-container {
4933
4932
  display: flex;
4934
4933
  flex: 1;
4935
4934
  flex-direction: column;
4935
+ align-items: center;
4936
+ justify-content: center;
4936
4937
  overflow: hidden;
4937
4938
  }
4938
- .video-thumb .video-player-container video {
4939
- height: 100%;
4939
+ .video-thumb .video-player-container img {
4940
+ max-width: 800px;
4941
+ max-height: 100%;
4940
4942
  }
4941
4943
  .video-thumb .video-thumb-list {
4942
4944
  position: relative;
4943
4945
  display: flex;
4944
4946
  height: 80px;
4945
- padding: 20px 0;
4947
+ padding: 10px 0;
4946
4948
  }
4947
4949
  .video-thumb .video-thumb-list .video-thumb-list-item {
4948
4950
  flex: 1;
@@ -4961,10 +4963,15 @@
4961
4963
  }
4962
4964
  .video-thumb .video-thumb-list .video-thumb-list-drager {
4963
4965
  position: absolute;
4964
- top: 20px;
4966
+ top: 10px;
4965
4967
  left: 0;
4968
+ z-index: 100;
4966
4969
  width: 6px;
4967
- height: calc(100% - 40px);
4970
+ height: calc(100% - 20px);
4968
4971
  background-color: rgb(var(--primary-5));
4969
4972
  cursor: pointer;
4973
+ transition: transform 0.3s ease-in-out;
4974
+ }
4975
+ .video-thumb .video-thumb-list .video-thumb-list-drager:hover {
4976
+ transform: scale(1.05);
4970
4977
  }