@fangzhongya/fang-ui 0.0.96 → 0.0.98

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 (327) hide show
  1. package/dist/components/alert/style/element.scss +2 -0
  2. package/dist/components/alert/style/index2.scss +0 -2
  3. package/dist/components/audios/index.cjs +9 -0
  4. package/dist/components/audios/index.css +52 -0
  5. package/dist/components/audios/index.d.ts +4 -0
  6. package/dist/components/audios/index.js +9 -0
  7. package/dist/components/audios/index.scss +49 -0
  8. package/dist/components/audios/src/data.cjs +27 -0
  9. package/dist/components/audios/src/data.d.ts +46 -0
  10. package/dist/components/audios/src/data.js +27 -0
  11. package/dist/components/audios/src/index.cjs +4 -0
  12. package/dist/components/audios/src/index.js +4 -0
  13. package/dist/components/audios/src/index2.cjs +238 -0
  14. package/dist/components/audios/src/index2.js +238 -0
  15. package/dist/components/audios/style/index2.scss +3 -0
  16. package/dist/components/autocomplete/style/element.scss +3 -1
  17. package/dist/components/autocomplete/style/index2.scss +0 -2
  18. package/dist/components/button/style/element.scss +2 -0
  19. package/dist/components/button/style/index2.scss +0 -2
  20. package/dist/components/card/style/element.scss +2 -0
  21. package/dist/components/card/style/index2.scss +0 -2
  22. package/dist/components/cascader/style/element.scss +3 -1
  23. package/dist/components/cascader/style/index2.scss +0 -2
  24. package/dist/components/cascader-panel/style/element.scss +3 -1
  25. package/dist/components/cascader-panel/style/index2.scss +0 -2
  26. package/dist/components/checkbox/style/element.scss +2 -0
  27. package/dist/components/checkbox/style/index2.scss +0 -2
  28. package/dist/components/checkbox-button/style/element.scss +2 -0
  29. package/dist/components/checkbox-button/style/index2.scss +0 -3
  30. package/dist/components/checkbox-group/style/element.scss +3 -1
  31. package/dist/components/checkbox-group/style/index2.scss +0 -3
  32. package/dist/components/collapse/style/element.scss +2 -0
  33. package/dist/components/collapse/style/index2.scss +0 -2
  34. package/dist/components/collapse-item/style/element.scss +2 -0
  35. package/dist/components/collapse-item/style/index2.scss +0 -3
  36. package/dist/components/color-picker/style/element.scss +3 -1
  37. package/dist/components/color-picker/style/index2.scss +0 -2
  38. package/dist/components/common/compons.cjs +46 -44
  39. package/dist/components/common/compons.js +3 -1
  40. package/dist/components/common/compons.scss +2 -0
  41. package/dist/components/common/compons2.scss +2 -0
  42. package/dist/components/config-provider/style/element.scss +2 -0
  43. package/dist/components/config-provider/style/index2.scss +0 -2
  44. package/dist/components/date-picker/style/element.scss +2 -0
  45. package/dist/components/date-picker/style/index2.scss +0 -2
  46. package/dist/components/date-picker-panel/style/element.scss +3 -1
  47. package/dist/components/date-picker-panel/style/index2.scss +0 -2
  48. package/dist/components/dates2/index.css +1 -1
  49. package/dist/components/dialog/style/element.scss +3 -1
  50. package/dist/components/dialog/style/index2.scss +0 -2
  51. package/dist/components/divider/style/element.scss +2 -0
  52. package/dist/components/divider/style/index2.scss +0 -2
  53. package/dist/components/drawer/style/element.scss +3 -1
  54. package/dist/components/drawer/style/index2.scss +0 -2
  55. package/dist/components/dropdown/style/element.scss +3 -1
  56. package/dist/components/dropdown/style/index2.scss +0 -2
  57. package/dist/components/dropdown-item/style/element.scss +2 -0
  58. package/dist/components/dropdown-item/style/index2.scss +0 -3
  59. package/dist/components/dropdown-menu/style/element.scss +2 -0
  60. package/dist/components/dropdown-menu/style/index2.scss +0 -3
  61. package/dist/components/form/style/element.scss +2 -0
  62. package/dist/components/form/style/index2.scss +0 -2
  63. package/dist/components/form-item/style/element.scss +2 -0
  64. package/dist/components/form-item/style/index2.scss +0 -3
  65. package/dist/components/forms/index.css +86 -1
  66. package/dist/components/forms/style/index2.scss +2 -2
  67. package/dist/components/full-screen/index.cjs +9 -0
  68. package/dist/components/full-screen/index.css +25 -0
  69. package/dist/components/full-screen/index.d.ts +4 -0
  70. package/dist/components/full-screen/index.js +9 -0
  71. package/dist/components/full-screen/index.scss +14 -0
  72. package/dist/components/full-screen/src/data.cjs +29 -0
  73. package/dist/components/full-screen/src/data.d.ts +35 -0
  74. package/dist/components/full-screen/src/data.js +29 -0
  75. package/dist/components/full-screen/src/index.cjs +4 -0
  76. package/dist/components/full-screen/src/index.js +4 -0
  77. package/dist/components/full-screen/src/index2.cjs +54 -0
  78. package/dist/components/full-screen/src/index2.js +54 -0
  79. package/dist/components/image/style/element.scss +3 -1
  80. package/dist/components/image/style/index2.scss +0 -2
  81. package/dist/components/image-viewer/index.cjs +9 -0
  82. package/dist/components/image-viewer/index.d.ts +4 -0
  83. package/dist/components/image-viewer/index.js +9 -0
  84. package/dist/components/image-viewer/index.scss +5 -0
  85. package/dist/components/image-viewer/src/data.cjs +11 -0
  86. package/dist/components/image-viewer/src/data.d.ts +14 -0
  87. package/dist/components/image-viewer/src/data.js +11 -0
  88. package/dist/components/image-viewer/src/index.cjs +4 -0
  89. package/dist/components/image-viewer/src/index.js +4 -0
  90. package/dist/components/image-viewer/src/index2.cjs +45 -0
  91. package/dist/components/image-viewer/src/index2.js +45 -0
  92. package/dist/components/image-viewer/style/element.scss +2 -0
  93. package/dist/components/image-viewer/style/index2.scss +2 -0
  94. package/dist/components/images/index.css +18 -0
  95. package/dist/components/images/index.scss +4 -0
  96. package/dist/components/images/src/data.cjs +9 -2
  97. package/dist/components/images/src/data.d.ts +12 -7
  98. package/dist/components/images/src/data.js +9 -2
  99. package/dist/components/images/src/index2.cjs +14 -15
  100. package/dist/components/images/src/index2.js +14 -15
  101. package/dist/components/index.cjs +264 -252
  102. package/dist/components/index.d.ts +8 -2
  103. package/dist/components/index.js +14 -2
  104. package/dist/components/index.scss +8 -2
  105. package/dist/components/index2.scss +8 -2
  106. package/dist/components/input/style/element.scss +2 -0
  107. package/dist/components/input/style/index2.scss +0 -2
  108. package/dist/components/input-number/style/element.scss +3 -1
  109. package/dist/components/input-number/style/index2.scss +0 -2
  110. package/dist/components/input-tag/style/element.scss +3 -1
  111. package/dist/components/input-tag/style/index2.scss +0 -2
  112. package/dist/components/labels/index.css +1 -1
  113. package/dist/components/loading/style/element.scss +2 -0
  114. package/dist/components/mention/style/element.scss +3 -1
  115. package/dist/components/mention/style/index2.scss +0 -2
  116. package/dist/components/menu/style/element.scss +3 -1
  117. package/dist/components/menu/style/index2.scss +0 -2
  118. package/dist/components/menu-item/style/element.scss +2 -0
  119. package/dist/components/menu-item/style/index2.scss +0 -3
  120. package/dist/components/menu-item-group/style/element.scss +2 -0
  121. package/dist/components/menu-item-group/style/index2.scss +0 -3
  122. package/dist/components/message/style/element.scss +3 -1
  123. package/dist/components/message-box/style/element.scss +3 -1
  124. package/dist/components/option/style/element.scss +2 -0
  125. package/dist/components/option-group/style/element.scss +2 -0
  126. package/dist/components/option-group/style/index2.scss +0 -3
  127. package/dist/components/page/index.css +86 -1
  128. package/dist/components/pagination/style/element.scss +3 -1
  129. package/dist/components/pagination/style/index2.scss +0 -2
  130. package/dist/components/players/common/util.cjs +25 -0
  131. package/dist/components/players/common/util.d.ts +8 -0
  132. package/dist/components/players/common/util.js +25 -0
  133. package/dist/components/popconfirm/style/element.scss +3 -1
  134. package/dist/components/popconfirm/style/index2.scss +0 -2
  135. package/dist/components/popover/style/element.scss +3 -1
  136. package/dist/components/popover/style/index2.scss +0 -2
  137. package/dist/components/radio/style/element.scss +2 -0
  138. package/dist/components/radio/style/index2.scss +0 -2
  139. package/dist/components/radio-button/style/element.scss +2 -0
  140. package/dist/components/radio-button/style/index2.scss +0 -3
  141. package/dist/components/radio-group/style/element.scss +3 -1
  142. package/dist/components/radio-group/style/index2.scss +0 -3
  143. package/dist/components/scrollbar/style/element.scss +2 -0
  144. package/dist/components/scrollbar/style/index2.scss +0 -2
  145. package/dist/components/scss/function.scss +4 -0
  146. package/dist/components/select/style/element.scss +3 -1
  147. package/dist/components/select/style/index2.scss +0 -2
  148. package/dist/components/selects/index.css +1 -1
  149. package/dist/components/selects/index.scss +1 -1
  150. package/dist/components/selects/src/index2.cjs +13 -11
  151. package/dist/components/selects/src/index2.js +3 -1
  152. package/dist/components/slider/style/element.scss +3 -1
  153. package/dist/components/slider/style/index2.scss +0 -2
  154. package/dist/components/sliders/index.cjs +9 -0
  155. package/dist/components/sliders/index.css +42 -0
  156. package/dist/components/sliders/index.d.ts +4 -0
  157. package/dist/components/sliders/index.js +9 -0
  158. package/dist/components/sliders/index.scss +34 -0
  159. package/dist/components/sliders/src/data.cjs +42 -0
  160. package/dist/components/sliders/src/data.d.ts +45 -0
  161. package/dist/components/sliders/src/data.js +42 -0
  162. package/dist/components/sliders/src/index.cjs +4 -0
  163. package/dist/components/sliders/src/index.js +4 -0
  164. package/dist/components/sliders/src/index2.cjs +67 -0
  165. package/dist/components/sliders/src/index2.js +67 -0
  166. package/dist/components/sliders/style/index2.scss +2 -0
  167. package/dist/components/sub-menu/style/element.scss +2 -0
  168. package/dist/components/switch/style/element.scss +2 -0
  169. package/dist/components/switch/style/index2.scss +0 -2
  170. package/dist/components/tab-pane/style/element.scss +2 -0
  171. package/dist/components/tab-pane/style/index2.scss +0 -3
  172. package/dist/components/table/style/element.scss +3 -1
  173. package/dist/components/table/style/index2.scss +0 -2
  174. package/dist/components/table-column/style/element.scss +3 -1
  175. package/dist/components/table-column/style/index2.scss +0 -3
  176. package/dist/components/tabs/style/element.scss +2 -0
  177. package/dist/components/tabs/style/index2.scss +0 -2
  178. package/dist/components/tag/style/element.scss +2 -0
  179. package/dist/components/tag/style/index2.scss +0 -2
  180. package/dist/components/text/style/element.scss +2 -0
  181. package/dist/components/text/style/index2.scss +0 -2
  182. package/dist/components/time-picker/style/element.scss +3 -1
  183. package/dist/components/time-picker/style/index2.scss +0 -2
  184. package/dist/components/time-select/style/element.scss +3 -1
  185. package/dist/components/time-select/style/index2.scss +0 -2
  186. package/dist/components/tooltip/style/element.scss +3 -1
  187. package/dist/components/tooltip/style/index2.scss +0 -2
  188. package/dist/components/transfer/style/element.scss +3 -1
  189. package/dist/components/transfer/style/index2.scss +0 -2
  190. package/dist/components/tree/style/element.scss +3 -1
  191. package/dist/components/tree/style/index2.scss +0 -2
  192. package/dist/components/tree-select/style/element.scss +2 -1
  193. package/dist/components/tree-select/style/index2.scss +0 -2
  194. package/dist/components/upload/style/element.scss +3 -1
  195. package/dist/components/upload/style/index2.scss +0 -2
  196. package/dist/components/uploads/index.cjs +9 -0
  197. package/dist/components/uploads/index.css +93 -0
  198. package/dist/components/uploads/index.d.ts +4 -0
  199. package/dist/components/uploads/index.js +9 -0
  200. package/dist/components/uploads/index.scss +84 -0
  201. package/dist/components/uploads/src/data.cjs +111 -0
  202. package/dist/components/uploads/src/data.d.ts +142 -0
  203. package/dist/components/uploads/src/data.js +111 -0
  204. package/dist/components/uploads/src/index.cjs +4 -0
  205. package/dist/components/uploads/src/index.js +4 -0
  206. package/dist/components/uploads/src/index2.cjs +417 -0
  207. package/dist/components/uploads/src/index2.js +417 -0
  208. package/dist/components/uploads/style/index2.scss +7 -0
  209. package/dist/components/videos/index.cjs +9 -0
  210. package/dist/components/videos/index.css +122 -0
  211. package/dist/components/videos/index.d.ts +4 -0
  212. package/dist/components/videos/index.js +9 -0
  213. package/dist/components/videos/index.scss +115 -0
  214. package/dist/components/videos/src/data.cjs +30 -0
  215. package/dist/components/videos/src/data.d.ts +49 -0
  216. package/dist/components/videos/src/data.js +30 -0
  217. package/dist/components/videos/src/index.cjs +4 -0
  218. package/dist/components/videos/src/index.js +4 -0
  219. package/dist/components/videos/src/index2.cjs +399 -0
  220. package/dist/components/videos/src/index2.js +399 -0
  221. package/dist/components/videos/style/index2.scss +5 -0
  222. package/dist/css/audios.css +52 -0
  223. package/dist/css/dates2.css +1 -1
  224. package/dist/css/forms.css +86 -1
  225. package/dist/css/full-screen.css +25 -0
  226. package/dist/css/images.css +18 -0
  227. package/dist/css/index.css +275 -1
  228. package/dist/css/labels.css +1 -1
  229. package/dist/css/page.css +86 -1
  230. package/dist/css/selects.css +1 -1
  231. package/dist/css/sliders.css +42 -0
  232. package/dist/css/uploads.css +93 -0
  233. package/dist/css/videos.css +122 -0
  234. package/dist/directives/index.cjs +10 -8
  235. package/dist/directives/index.d.ts +1 -0
  236. package/dist/directives/index.js +8 -6
  237. package/dist/directives/inserted/index.cjs +22 -0
  238. package/dist/directives/inserted/index.d.ts +7 -0
  239. package/dist/directives/inserted/index.js +22 -0
  240. package/dist/expand/{chunk-YQJPHB3B.cjs → chunk-IEODUGVJ.cjs} +17 -4
  241. package/dist/expand/{chunk-BPL5WRRH.js → chunk-XY53LCPN.js} +17 -4
  242. package/dist/expand/components.cjs +5 -5
  243. package/dist/expand/components.js +1 -1
  244. package/dist/expand/config.cjs +2 -2
  245. package/dist/expand/config.js +1 -1
  246. package/dist/hooks/full-screen/index.cjs +79 -0
  247. package/dist/hooks/full-screen/index.d.ts +7 -0
  248. package/dist/hooks/full-screen/index.js +79 -0
  249. package/dist/hooks/index.cjs +16 -12
  250. package/dist/hooks/index.d.ts +3 -1
  251. package/dist/hooks/index.js +5 -1
  252. package/dist/icons/index.css +155 -31
  253. package/dist/icons/index.json +65 -5
  254. package/dist/icons/vue/below.cjs +1 -2
  255. package/dist/icons/vue/below.js +1 -2
  256. package/dist/icons/vue/catalogue.cjs +25 -0
  257. package/dist/icons/vue/catalogue.js +25 -0
  258. package/dist/icons/vue/catalogue2.cjs +6 -0
  259. package/dist/icons/vue/catalogue2.js +6 -0
  260. package/dist/icons/vue/clear.cjs +1 -2
  261. package/dist/icons/vue/clear.js +1 -2
  262. package/dist/icons/vue/delete.cjs +20 -0
  263. package/dist/icons/vue/delete.js +20 -0
  264. package/dist/icons/vue/delete2.cjs +6 -0
  265. package/dist/icons/vue/delete2.js +6 -0
  266. package/dist/icons/vue/document.cjs +25 -0
  267. package/dist/icons/vue/document.js +25 -0
  268. package/dist/icons/vue/document2.cjs +6 -0
  269. package/dist/icons/vue/document2.js +6 -0
  270. package/dist/icons/vue/down.cjs +20 -0
  271. package/dist/icons/vue/down.js +20 -0
  272. package/dist/icons/vue/down2.cjs +6 -0
  273. package/dist/icons/vue/down2.js +6 -0
  274. package/dist/icons/vue/download.cjs +20 -0
  275. package/dist/icons/vue/download.js +20 -0
  276. package/dist/icons/vue/download2.cjs +6 -0
  277. package/dist/icons/vue/download2.js +6 -0
  278. package/dist/icons/vue/enter.cjs +21 -0
  279. package/dist/icons/vue/enter.js +21 -0
  280. package/dist/icons/vue/enter2.cjs +6 -0
  281. package/dist/icons/vue/enter2.js +6 -0
  282. package/dist/icons/vue/index.cjs +28 -0
  283. package/dist/icons/vue/index.d.ts +14 -0
  284. package/dist/icons/vue/index.js +42 -14
  285. package/dist/icons/vue/left.cjs +1 -2
  286. package/dist/icons/vue/left.js +1 -2
  287. package/dist/icons/vue/mute.cjs +20 -0
  288. package/dist/icons/vue/mute.js +20 -0
  289. package/dist/icons/vue/mute2.cjs +6 -0
  290. package/dist/icons/vue/mute2.js +6 -0
  291. package/dist/icons/vue/pause.cjs +26 -0
  292. package/dist/icons/vue/pause.js +26 -0
  293. package/dist/icons/vue/pause2.cjs +6 -0
  294. package/dist/icons/vue/pause2.js +6 -0
  295. package/dist/icons/vue/play.cjs +21 -0
  296. package/dist/icons/vue/play.js +21 -0
  297. package/dist/icons/vue/play2.cjs +6 -0
  298. package/dist/icons/vue/play2.js +6 -0
  299. package/dist/icons/vue/plus.cjs +20 -0
  300. package/dist/icons/vue/plus.js +20 -0
  301. package/dist/icons/vue/plus2.cjs +6 -0
  302. package/dist/icons/vue/plus2.js +6 -0
  303. package/dist/icons/vue/retreat.cjs +21 -0
  304. package/dist/icons/vue/retreat.js +21 -0
  305. package/dist/icons/vue/retreat2.cjs +6 -0
  306. package/dist/icons/vue/retreat2.js +6 -0
  307. package/dist/icons/vue/sound.cjs +24 -0
  308. package/dist/icons/vue/sound.js +24 -0
  309. package/dist/icons/vue/sound2.cjs +6 -0
  310. package/dist/icons/vue/sound2.js +6 -0
  311. package/dist/icons/vue/up.cjs +20 -0
  312. package/dist/icons/vue/up.js +20 -0
  313. package/dist/icons/vue/up2.cjs +6 -0
  314. package/dist/icons/vue/up2.js +6 -0
  315. package/dist/icons/vue/views.cjs +20 -0
  316. package/dist/icons/vue/views.js +20 -0
  317. package/dist/icons/vue/views2.cjs +6 -0
  318. package/dist/icons/vue/views2.js +6 -0
  319. package/dist/index.cjs +285 -271
  320. package/dist/index.css +275 -1
  321. package/dist/index.js +22 -8
  322. package/dist/locale/zh-cn.cjs +17 -0
  323. package/dist/locale/zh-cn.d.ts +17 -0
  324. package/dist/locale/zh-cn.js +17 -0
  325. package/package.json +12 -12
  326. /package/dist/components/{checkbox → alert}/index.css +0 -0
  327. /package/dist/css/{checkbox.css → alert.css} +0 -0
@@ -0,0 +1,399 @@
1
+ import { defineComponent, ref, computed, nextTick, onMounted, onUnmounted, createElementBlock, openBlock, normalizeClass, unref, createElementVNode, withDirectives, createCommentVNode, toDisplayString, createVNode, createBlock, Fragment, renderList, vShow } from "vue";
2
+ import Enter from "../../../icons/vue/enter.js";
3
+ import Retreat from "../../../icons/vue/retreat.js";
4
+ import Catalogue from "../../../icons/vue/catalogue.js";
5
+ import Frame from "../../../icons/vue/frame.js";
6
+ import Star from "../../../icons/vue/star.js";
7
+ import Up from "../../../icons/vue/up.js";
8
+ import Down from "../../../icons/vue/down.js";
9
+ import Play from "../../../icons/vue/play.js";
10
+ import Pause from "../../../icons/vue/pause.js";
11
+ import Sound from "../../../icons/vue/sound.js";
12
+ import Mute from "../../../icons/vue/mute.js";
13
+ import { Sliders } from "../../sliders/index.js";
14
+ import { Button } from "../../button/index.js";
15
+ import { Selects } from "../../selects/index.js";
16
+ import { dataExpose, dataEmits, dataProps } from "./data.js";
17
+ import { useCssName } from "../../../hooks/cssname/index.js";
18
+ import { useLocale } from "../../../hooks/locale/index.js";
19
+ import "../../loading/index.js";
20
+ import { hourFormat } from "@fangzhongya/utils/date/hourFormat";
21
+ import { useFullscreen } from "../../../hooks/full-screen/index.js";
22
+ import { getListValue } from "../../players/common/util.js";
23
+ import { vLoading } from "../../loading/src/index.js";
24
+ const _hoisted_1 = ["src"];
25
+ const _hoisted_2 = { class: "end-content" };
26
+ const _hoisted_3 = { class: "end-buttons" };
27
+ const _hoisted_4 = ["onClick"];
28
+ const _sfc_main = /* @__PURE__ */ defineComponent({
29
+ __name: "index",
30
+ props: dataProps,
31
+ emits: dataEmits,
32
+ setup(__props, { expose: __expose, emit: __emit }) {
33
+ const { getLocale } = useLocale();
34
+ const cs = useCssName("videos");
35
+ const props = __props;
36
+ const emit = __emit;
37
+ const { isFullscreen, toggle } = useFullscreen();
38
+ const videoRef = ref(null);
39
+ const domRef = ref();
40
+ const current = ref(0);
41
+ const list = computed(() => {
42
+ return getListValue(props.list);
43
+ });
44
+ const value = computed(() => {
45
+ return list.value[current.value];
46
+ });
47
+ const currentTime = ref(0);
48
+ const duration = ref(0);
49
+ const isLoading = ref(false);
50
+ const buffered = ref(0);
51
+ const showControls = ref(false);
52
+ const showEndOverlay = ref(false);
53
+ const optionsRate = [
54
+ {
55
+ label: "2.0",
56
+ value: 2
57
+ },
58
+ {
59
+ label: "1.5",
60
+ value: 1.5
61
+ },
62
+ {
63
+ label: "1.25",
64
+ value: 1.25
65
+ },
66
+ {
67
+ label: "1.0",
68
+ value: 1
69
+ },
70
+ {
71
+ label: "0.75",
72
+ value: 0.75
73
+ },
74
+ {
75
+ label: "0.5",
76
+ value: 0.5
77
+ }
78
+ ];
79
+ const playbackRate = ref(1);
80
+ const isPlaying = ref(false);
81
+ const isList = ref(false);
82
+ const onShowList = () => {
83
+ isList.value = !isList.value;
84
+ };
85
+ const slider = ref(0);
86
+ const formatTooltip = (number) => {
87
+ return hourFormat(number * duration.value / 100);
88
+ };
89
+ const volume = ref(50);
90
+ const isMuted = ref(false);
91
+ const isMouse = ref(true);
92
+ const onMousedown = () => {
93
+ isMouse.value = false;
94
+ };
95
+ const onFullscreen = () => {
96
+ toggle(domRef.value);
97
+ };
98
+ const toggleMute = () => {
99
+ if (!videoRef.value) return;
100
+ isMuted.value = !isMuted.value;
101
+ videoRef.value.muted = isMuted.value;
102
+ };
103
+ const onChange = () => {
104
+ if (videoRef.value) {
105
+ videoRef.value.volume = volume.value / 100;
106
+ }
107
+ };
108
+ const onSkip = (is) => {
109
+ if (videoRef.value) {
110
+ if (is) {
111
+ videoRef.value.currentTime -= 10;
112
+ } else {
113
+ videoRef.value.currentTime += 10;
114
+ }
115
+ }
116
+ };
117
+ const onChangeSlider = () => {
118
+ if (videoRef.value) {
119
+ const v = slider.value * duration.value / 100;
120
+ console.log("v", v);
121
+ videoRef.value.currentTime = v;
122
+ }
123
+ isMouse.value = true;
124
+ };
125
+ const togglePlay = () => {
126
+ if (!videoRef.value) return;
127
+ if (isPlaying.value) {
128
+ videoRef.value.pause();
129
+ } else {
130
+ videoRef.value.play();
131
+ }
132
+ isPlaying.value = !isPlaying.value;
133
+ showEndOverlay.value = false;
134
+ };
135
+ const setPlaybackRate = () => {
136
+ if (videoRef.value) {
137
+ videoRef.value.playbackRate = playbackRate.value;
138
+ }
139
+ };
140
+ const handleTimeUpdate = () => {
141
+ if (videoRef.value) {
142
+ currentTime.value = videoRef.value.currentTime;
143
+ if (videoRef.value.buffered.length > 0) {
144
+ buffered.value = videoRef.value.buffered.end(0) / duration.value * 100 || 0;
145
+ }
146
+ if (isMouse.value) {
147
+ slider.value = currentTime.value / duration.value * 100;
148
+ }
149
+ }
150
+ };
151
+ const handleLoadedMetadata = () => {
152
+ if (videoRef.value) {
153
+ duration.value = videoRef.value.duration;
154
+ }
155
+ };
156
+ const handleEnded = () => {
157
+ isPlaying.value = false;
158
+ };
159
+ const handleWaiting = () => {
160
+ isLoading.value = true;
161
+ };
162
+ const handleCanPlay = () => {
163
+ isLoading.value = false;
164
+ };
165
+ const oncanplaythrough = () => {
166
+ };
167
+ const onReplay = () => {
168
+ };
169
+ const onTrack = (is) => {
170
+ if (is) {
171
+ current.value--;
172
+ } else {
173
+ current.value++;
174
+ }
175
+ playTrack(current.value);
176
+ };
177
+ const playTrack = (i) => {
178
+ current.value = i;
179
+ nextTick(() => {
180
+ if (videoRef.value) {
181
+ buffered.value = 0;
182
+ videoRef.value.load();
183
+ if (isPlaying.value) {
184
+ videoRef.value.play();
185
+ }
186
+ }
187
+ });
188
+ };
189
+ onMounted(() => {
190
+ if (videoRef.value) {
191
+ videoRef.value.volume = volume.value / 100;
192
+ videoRef.value.muted = isMuted.value;
193
+ videoRef.value.load();
194
+ if (props.autoplay) {
195
+ videoRef.value.play();
196
+ isPlaying.value = true;
197
+ }
198
+ }
199
+ });
200
+ onUnmounted(() => {
201
+ });
202
+ __expose({
203
+ ...dataExpose
204
+ });
205
+ return (_ctx, _cache) => {
206
+ var _a, _b;
207
+ return openBlock(), createElementBlock("div", {
208
+ class: normalizeClass([
209
+ unref(cs).z(),
210
+ unref(cs).is("fullscreen", unref(isFullscreen)),
211
+ unref(cs).is("list", isList.value)
212
+ ]),
213
+ ref_key: "domRef",
214
+ ref: domRef
215
+ }, [
216
+ createElementVNode("div", {
217
+ class: normalizeClass(unref(cs).z("videos"))
218
+ }, [
219
+ createElementVNode("div", {
220
+ class: normalizeClass(unref(cs).z("controls-top"))
221
+ }, [
222
+ createElementVNode("div", {
223
+ class: normalizeClass(unref(cs).z("name"))
224
+ }, toDisplayString((_a = value.value) == null ? void 0 : _a.name), 3)
225
+ ], 2),
226
+ withDirectives((openBlock(), createElementBlock("div", {
227
+ class: normalizeClass(unref(cs).z("video"))
228
+ }, [
229
+ createElementVNode("video", {
230
+ ref_key: "videoRef",
231
+ ref: videoRef,
232
+ src: (_b = value.value) == null ? void 0 : _b.url,
233
+ onClick: togglePlay,
234
+ onTimeupdate: handleTimeUpdate,
235
+ onLoadedmetadata: handleLoadedMetadata,
236
+ onEnded: handleEnded,
237
+ onWaiting: handleWaiting,
238
+ onCanplay: handleCanPlay,
239
+ onCanplaythrough: oncanplaythrough
240
+ }, " 您的浏览器不支持视频播放 ", 40, _hoisted_1),
241
+ showEndOverlay.value ? (openBlock(), createElementBlock("div", {
242
+ key: 0,
243
+ class: normalizeClass(unref(cs).z("video-end"))
244
+ }, [
245
+ createElementVNode("div", _hoisted_2, [
246
+ _cache[8] || (_cache[8] = createElementVNode("h3", null, "播放结束", -1)),
247
+ createElementVNode("p", null, toDisplayString(value.value.name), 1),
248
+ createElementVNode("div", _hoisted_3, [
249
+ createElementVNode("button", {
250
+ class: "replay-btn",
251
+ onClick: onReplay
252
+ }, " 重新播放 "),
253
+ current.value + 1 < list.value.length ? (openBlock(), createElementBlock("button", {
254
+ key: 0,
255
+ class: "next-btn",
256
+ onClick: _cache[0] || (_cache[0] = ($event) => onTrack(false))
257
+ }, " 下一个 ")) : createCommentVNode("", true)
258
+ ])
259
+ ])
260
+ ], 2)) : createCommentVNode("", true)
261
+ ], 2)), [
262
+ [unref(vLoading), isLoading.value]
263
+ ]),
264
+ createElementVNode("div", {
265
+ class: normalizeClass(unref(cs).z("controls-bottom"))
266
+ }, [
267
+ createElementVNode("div", {
268
+ class: normalizeClass(unref(cs).z("slider"))
269
+ }, [
270
+ createVNode(unref(Sliders), {
271
+ class: normalizeClass(unref(cs).z("slider-slider")),
272
+ onChange: onChangeSlider,
273
+ onMousedown,
274
+ "format-tooltip": formatTooltip,
275
+ advance: buffered.value,
276
+ modelValue: slider.value,
277
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => slider.value = $event)
278
+ }, null, 8, ["class", "advance", "modelValue"]),
279
+ createElementVNode("div", {
280
+ class: normalizeClass(unref(cs).z("duration"))
281
+ }, [
282
+ createElementVNode("span", {
283
+ class: normalizeClass(unref(cs).z("duration-began"))
284
+ }, toDisplayString(unref(hourFormat)(currentTime.value)), 3),
285
+ _cache[9] || (_cache[9] = createElementVNode("span", null, "/", -1)),
286
+ createElementVNode("span", {
287
+ class: normalizeClass(unref(cs).z("duration-end"))
288
+ }, toDisplayString(unref(hourFormat)(duration.value)), 3)
289
+ ], 2)
290
+ ], 2),
291
+ createElementVNode("div", {
292
+ class: normalizeClass(unref(cs).z("control"))
293
+ }, [
294
+ createElementVNode("div", {
295
+ class: normalizeClass(unref(cs).z("control-buts"))
296
+ }, [
297
+ list.value.length > 1 ? (openBlock(), createBlock(unref(Button), {
298
+ key: 0,
299
+ size: "small",
300
+ icon: Up,
301
+ disabled: current.value == 0,
302
+ circle: "",
303
+ onClick: _cache[2] || (_cache[2] = ($event) => onTrack(true))
304
+ }, null, 8, ["disabled"])) : createCommentVNode("", true),
305
+ createVNode(unref(Button), {
306
+ size: "small",
307
+ icon: Retreat,
308
+ circle: "",
309
+ onClick: _cache[3] || (_cache[3] = ($event) => onSkip(true))
310
+ }),
311
+ createVNode(unref(Button), {
312
+ icon: isPlaying.value ? Pause : Play,
313
+ circle: "",
314
+ onClick: togglePlay
315
+ }, null, 8, ["icon"]),
316
+ createVNode(unref(Button), {
317
+ size: "small",
318
+ icon: Enter,
319
+ circle: "",
320
+ onClick: _cache[4] || (_cache[4] = ($event) => onSkip(false))
321
+ }),
322
+ list.value.length > 1 ? (openBlock(), createBlock(unref(Button), {
323
+ key: 1,
324
+ size: "small",
325
+ icon: Down,
326
+ circle: "",
327
+ disabled: current.value + 1 == list.value.length,
328
+ onClick: _cache[5] || (_cache[5] = ($event) => onTrack(false))
329
+ }, null, 8, ["disabled"])) : createCommentVNode("", true)
330
+ ], 2),
331
+ createElementVNode("div", {
332
+ class: normalizeClass(unref(cs).z("control-volume"))
333
+ }, [
334
+ createVNode(unref(Button), {
335
+ class: normalizeClass(unref(cs).z("control-volume-but")),
336
+ icon: isMuted.value ? Mute : Sound,
337
+ circle: "",
338
+ onClick: toggleMute,
339
+ size: "small"
340
+ }, null, 8, ["class", "icon"]),
341
+ createVNode(unref(Sliders), {
342
+ size: "small",
343
+ class: normalizeClass(unref(cs).z("control-volume-slider")),
344
+ onChange,
345
+ modelValue: volume.value,
346
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => volume.value = $event)
347
+ }, null, 8, ["class", "modelValue"])
348
+ ], 2),
349
+ createElementVNode("div", {
350
+ class: normalizeClass(unref(cs).z("control-more"))
351
+ }, [
352
+ createVNode(unref(Selects), {
353
+ size: "small",
354
+ class: normalizeClass(unref(cs).z("control-more-rate")),
355
+ options: optionsRate,
356
+ onChange: setPlaybackRate,
357
+ modelValue: playbackRate.value,
358
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => playbackRate.value = $event)
359
+ }, null, 8, ["class", "modelValue"]),
360
+ list.value.length > 1 ? (openBlock(), createBlock(unref(Button), {
361
+ key: 0,
362
+ size: "small",
363
+ icon: Catalogue,
364
+ circle: "",
365
+ onClick: onShowList
366
+ })) : createCommentVNode("", true),
367
+ createVNode(unref(Button), {
368
+ size: "small",
369
+ icon: unref(isFullscreen) ? Star : Frame,
370
+ circle: "",
371
+ onClick: onFullscreen
372
+ }, null, 8, ["icon"])
373
+ ], 2)
374
+ ], 2)
375
+ ], 2)
376
+ ], 2),
377
+ list.value.length > 1 ? withDirectives((openBlock(), createElementBlock("div", {
378
+ key: 0,
379
+ class: normalizeClass(unref(cs).z("list"))
380
+ }, [
381
+ (openBlock(true), createElementBlock(Fragment, null, renderList(list.value, (item, index) => {
382
+ return openBlock(), createElementBlock("div", {
383
+ class: normalizeClass([unref(cs).z("list-li"), unref(cs).is("active", current.value === index)]),
384
+ key: index,
385
+ onClick: ($event) => playTrack(index)
386
+ }, [
387
+ createElementVNode("div", null, toDisplayString(item.name), 1)
388
+ ], 10, _hoisted_4);
389
+ }), 128))
390
+ ], 2)), [
391
+ [vShow, isList.value]
392
+ ]) : createCommentVNode("", true)
393
+ ], 2);
394
+ };
395
+ }
396
+ });
397
+ export {
398
+ _sfc_main as default
399
+ };
@@ -0,0 +1,5 @@
1
+ @use '../../slider/style/index2.scss' as *;
2
+ @use '../../button/style/index2.scss' as *;
3
+ @use '../../loading/style/index2.scss' as *;
4
+ @use '../../selects/style/index2.scss' as *;
5
+ @use '../index.scss' as *;
@@ -0,0 +1,52 @@
1
+ :root {
2
+ --on: rgb(91, 189, 246);
3
+ --color-primary: #409eff;
4
+ --bag-primary: #409eff;
5
+ --bag-primary-text: #fff;
6
+ --border: #eee;
7
+ --layout-panel-gap: 10px;
8
+ --layout-panel-padding: 20px;
9
+ --layout-form-item-padding-right: var(
10
+ --layout-panel-gap
11
+ );
12
+ --g-main-bg: var(--bg-color-page);
13
+ }
14
+
15
+ .audios.is-playing .audios-name {
16
+ background-color: antiquewhite;
17
+ }
18
+ .audios-slider {
19
+ display: flex;
20
+ align-items: center;
21
+ }
22
+ .audios-duration {
23
+ margin-left: 20px;
24
+ display: flex;
25
+ align-items: center;
26
+ }
27
+ .audios-control {
28
+ display: flex;
29
+ align-items: center;
30
+ }
31
+ .audios-control-buts {
32
+ flex: 1;
33
+ display: flex;
34
+ align-items: center;
35
+ }
36
+ .audios-control-volume {
37
+ flex: 1;
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: flex-end;
41
+ }
42
+ .audios-control-volume-but {
43
+ margin-left: 10px;
44
+ margin-right: 15px;
45
+ }
46
+ .audios-control-volume-slider {
47
+ min-width: 40px;
48
+ max-width: 160px;
49
+ }
50
+ .audios-list-li.is-active {
51
+ background-color: aqua;
52
+ }
@@ -22,7 +22,7 @@
22
22
 
23
23
  .selects-select {
24
24
  height: 100%;
25
- min-width: 100px;
25
+ min-width: 60px;
26
26
  width: 100%;
27
27
  }
28
28
  .selects-select > div {
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  :root {
2
3
  --on: rgb(91, 189, 246);
3
4
  --color-primary: #409eff;
@@ -108,7 +109,7 @@
108
109
 
109
110
  .selects-select {
110
111
  height: 100%;
111
- min-width: 100px;
112
+ min-width: 60px;
112
113
  width: 100%;
113
114
  }
114
115
  .selects-select > div {
@@ -201,6 +202,11 @@
201
202
  cursor: not-allowed;
202
203
  }
203
204
 
205
+ .images-img {
206
+ width: 100%;
207
+ height: 100%;
208
+ }
209
+
204
210
  .input-array {
205
211
  width: 100%;
206
212
  display: inline-flex;
@@ -446,6 +452,85 @@
446
452
  width: 100%;
447
453
  }
448
454
 
455
+ .uploads {
456
+ display: flex;
457
+ align-items: center;
458
+ }
459
+ .uploads-upload-trigger {
460
+ width: 60px;
461
+ height: 60px;
462
+ border: 1px dashed #ccc;
463
+ font-size: 24px;
464
+ display: flex;
465
+ align-items: center;
466
+ justify-content: center;
467
+ }
468
+ .uploads-list {
469
+ display: flex;
470
+ flex-wrap: wrap;
471
+ }
472
+ .uploads-list-li {
473
+ position: relative;
474
+ margin-right: 10px;
475
+ width: 60px;
476
+ height: 60px;
477
+ border: 1px solid #ccc;
478
+ }
479
+ .uploads-list-li:hover .uploads-list-li-operation {
480
+ display: flex;
481
+ }
482
+ .uploads-list-li-operation {
483
+ position: absolute;
484
+ background-color: rgba(0, 0, 0, 0.5);
485
+ inset: 0;
486
+ z-index: 100;
487
+ display: none;
488
+ align-items: center;
489
+ justify-content: center;
490
+ color: #fff;
491
+ }
492
+ .uploads-list-li-operation > span {
493
+ font-size: 16px;
494
+ padding: 3px;
495
+ line-height: 1;
496
+ cursor: pointer;
497
+ }
498
+ .uploads-list-li-operation-delete {
499
+ color: var(--el-color-danger);
500
+ }
501
+ .uploads-list-li-value {
502
+ height: 100%;
503
+ }
504
+ .uploads-list-li-value-img {
505
+ height: 100%;
506
+ width: 100%;
507
+ }
508
+ .uploads-list-li-value-document {
509
+ height: 100%;
510
+ width: 100%;
511
+ display: flex;
512
+ align-items: center;
513
+ justify-content: center;
514
+ }
515
+ .uploads-list-li-value-document-bg {
516
+ position: absolute;
517
+ inset: 0;
518
+ opacity: 0.1;
519
+ }
520
+ .uploads-list-li-value-document-text {
521
+ max-height: 100%;
522
+ /* 换行设置 */
523
+ white-space: normal;
524
+ word-wrap: break-word;
525
+ overflow-wrap: break-word;
526
+ /* 多行省略 */
527
+ display: -webkit-box;
528
+ -webkit-box-orient: vertical;
529
+ -webkit-line-clamp: 4;
530
+ overflow: hidden;
531
+ line-height: 1.1;
532
+ }
533
+
449
534
  .forms {
450
535
  --forms-inline-right: 16px;
451
536
  --forms-row-height: 32px;
@@ -0,0 +1,25 @@
1
+ :root {
2
+ --on: rgb(91, 189, 246);
3
+ --color-primary: #409eff;
4
+ --bag-primary: #409eff;
5
+ --bag-primary-text: #fff;
6
+ --border: #eee;
7
+ --layout-panel-gap: 10px;
8
+ --layout-panel-padding: 20px;
9
+ --layout-form-item-padding-right: var(
10
+ --layout-panel-gap
11
+ );
12
+ --g-main-bg: var(--bg-color-page);
13
+ }
14
+
15
+ .full-screen {
16
+ width: 100%;
17
+ height: 100%;
18
+ background-color: #fff;
19
+ position: relative;
20
+ }
21
+ .full-screen-buts {
22
+ position: absolute;
23
+ top: 5px;
24
+ right: 5px;
25
+ }
@@ -0,0 +1,18 @@
1
+ :root {
2
+ --on: rgb(91, 189, 246);
3
+ --color-primary: #409eff;
4
+ --bag-primary: #409eff;
5
+ --bag-primary-text: #fff;
6
+ --border: #eee;
7
+ --layout-panel-gap: 10px;
8
+ --layout-panel-padding: 20px;
9
+ --layout-form-item-padding-right: var(
10
+ --layout-panel-gap
11
+ );
12
+ --g-main-bg: var(--bg-color-page);
13
+ }
14
+
15
+ .images-img {
16
+ width: 100%;
17
+ height: 100%;
18
+ }