@opendesign-plus/components 0.0.1-rc.35 → 0.0.1-rc.36

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 (527) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +6 -6
  3. package/dist/components/activity/index.d.ts +9 -9
  4. package/dist/components/banner/index.d.ts +6 -6
  5. package/dist/components/events/index.d.ts +20 -20
  6. package/dist/components/header/OHeaderMobile.vue.d.ts +22 -22
  7. package/dist/components/header/components/HeaderNavMobile.vue.d.ts +3 -3
  8. package/dist/components/header/index.d.ts +27 -27
  9. package/dist/components/header-search/index.d.ts +13 -13
  10. package/dist/components/meeting/OMeetingPlayback.vue.d.ts +6 -6
  11. package/dist/components/meeting/components/OMeetingCalendarSelector.vue.d.ts +664 -0
  12. package/dist/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +1 -1
  13. package/dist/components/meeting/index.d.ts +31 -31
  14. package/dist/components/search/index.d.ts +11 -11
  15. package/dist/components.cjs.js +1 -1
  16. package/dist/components.css +1 -1
  17. package/dist/components.es.js +139 -131
  18. package/dist/treeshaking/_virtual/@babel/runtime/helpers/esm/extends.js.mjs +12 -0
  19. package/dist/treeshaking/_virtual/@babel/runtime/helpers/extends.js.mjs +22 -0
  20. package/dist/treeshaking/_virtual/@babel/runtime/helpers/extends.js2.mjs +4 -0
  21. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/byte-helpers.js.mjs +141 -0
  22. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/codecs.js.mjs +158 -0
  23. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/containers.js.mjs +161 -0
  24. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js.mjs +15 -0
  25. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/ebml-helpers.js.mjs +126 -0
  26. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/id3-helpers.js.mjs +32 -0
  27. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/media-groups.js.mjs +13 -0
  28. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/media-types.js.mjs +17 -0
  29. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/mp4-helpers.js.mjs +57 -0
  30. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/nal-helpers.js.mjs +78 -0
  31. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/resolve-url.js.mjs +23 -0
  32. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/stream.js.mjs +51 -0
  33. package/dist/treeshaking/_virtual/@videojs/xhr/lib/http-handler.js.mjs +55 -0
  34. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js.mjs +7 -0
  35. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js2.mjs +300 -0
  36. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js3.mjs +4 -0
  37. package/dist/treeshaking/_virtual/@videojs/xhr/lib/interceptors.js.mjs +109 -0
  38. package/dist/treeshaking/_virtual/@videojs/xhr/lib/retry.js.mjs +104 -0
  39. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/conventions.js.mjs +142 -0
  40. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/conventions.js2.mjs +4 -0
  41. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom-parser.js.mjs +224 -0
  42. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom-parser.js2.mjs +4 -0
  43. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom.js.mjs +1449 -0
  44. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom.js2.mjs +4 -0
  45. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/entities.js.mjs +2149 -0
  46. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/entities.js2.mjs +4 -0
  47. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js.mjs +5 -0
  48. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js2.mjs +16 -0
  49. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js3.mjs +4 -0
  50. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/sax.js.mjs +594 -0
  51. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/sax.js2.mjs +4 -0
  52. package/dist/treeshaking/_virtual/___vite-browser-external.mjs +6 -0
  53. package/dist/treeshaking/_virtual/__vite-browser-external.mjs +4 -0
  54. package/dist/treeshaking/_virtual/_commonjsHelpers.mjs +33 -0
  55. package/dist/treeshaking/_virtual/_plugin-vue_export-helper.mjs +10 -0
  56. package/dist/treeshaking/_virtual/global/document.js.mjs +7 -0
  57. package/dist/treeshaking/_virtual/global/document.js2.mjs +24 -0
  58. package/dist/treeshaking/_virtual/global/window.js.mjs +7 -0
  59. package/dist/treeshaking/_virtual/global/window.js2.mjs +22 -0
  60. package/dist/treeshaking/_virtual/icon-all.mjs +20 -0
  61. package/dist/treeshaking/_virtual/icon-avatar-line.mjs +21 -0
  62. package/dist/treeshaking/_virtual/icon-caret-left.mjs +20 -0
  63. package/dist/treeshaking/_virtual/icon-caret-right.mjs +20 -0
  64. package/dist/treeshaking/_virtual/icon-checked.mjs +20 -0
  65. package/dist/treeshaking/_virtual/icon-chevron-down.mjs +20 -0
  66. package/dist/treeshaking/_virtual/icon-chevron-right.mjs +17 -0
  67. package/dist/treeshaking/_virtual/icon-chevron-up.mjs +20 -0
  68. package/dist/treeshaking/_virtual/icon-close.mjs +20 -0
  69. package/dist/treeshaking/_virtual/icon-competition.mjs +31 -0
  70. package/dist/treeshaking/_virtual/icon-copy.mjs +21 -0
  71. package/dist/treeshaking/_virtual/icon-delete-hover.mjs +24 -0
  72. package/dist/treeshaking/_virtual/icon-delete.mjs +17 -0
  73. package/dist/treeshaking/_virtual/icon-event.mjs +21 -0
  74. package/dist/treeshaking/_virtual/icon-events.mjs +31 -0
  75. package/dist/treeshaking/_virtual/icon-filter.mjs +21 -0
  76. package/dist/treeshaking/_virtual/icon-header-back.mjs +20 -0
  77. package/dist/treeshaking/_virtual/icon-header-menu.mjs +20 -0
  78. package/dist/treeshaking/_virtual/icon-header-search.mjs +26 -0
  79. package/dist/treeshaking/_virtual/icon-help.mjs +21 -0
  80. package/dist/treeshaking/_virtual/icon-image-upload.mjs +20 -0
  81. package/dist/treeshaking/_virtual/icon-image-zoomin.mjs +20 -0
  82. package/dist/treeshaking/_virtual/icon-locale.mjs +21 -0
  83. package/dist/treeshaking/_virtual/icon-meet.mjs +21 -0
  84. package/dist/treeshaking/_virtual/icon-moon.mjs +21 -0
  85. package/dist/treeshaking/_virtual/icon-playing.mjs +33 -0
  86. package/dist/treeshaking/_virtual/icon-refresh.mjs +21 -0
  87. package/dist/treeshaking/_virtual/icon-release.mjs +31 -0
  88. package/dist/treeshaking/_virtual/icon-search.mjs +17 -0
  89. package/dist/treeshaking/_virtual/icon-speaker.mjs +17 -0
  90. package/dist/treeshaking/_virtual/icon-summit.mjs +21 -0
  91. package/dist/treeshaking/_virtual/icon-summit2.mjs +31 -0
  92. package/dist/treeshaking/_virtual/icon-sun.mjs +21 -0
  93. package/dist/treeshaking/_virtual/icon-tip.mjs +21 -0
  94. package/dist/treeshaking/_virtual/icon-tips.mjs +17 -0
  95. package/dist/treeshaking/_virtual/is-function/index.js.mjs +20 -0
  96. package/dist/treeshaking/_virtual/m3u8-parser/dist/m3u8-parser.es.js.mjs +1390 -0
  97. package/dist/treeshaking/_virtual/mpd-parser/dist/mpd-parser.es.js.mjs +1693 -0
  98. package/dist/treeshaking/_virtual/mux.js/lib/tools/parse-sidx.js.mjs +7 -0
  99. package/dist/treeshaking/_virtual/mux.js/lib/tools/parse-sidx.js2.mjs +45 -0
  100. package/dist/treeshaking/_virtual/mux.js/lib/utils/clock.js.mjs +5 -0
  101. package/dist/treeshaking/_virtual/mux.js/lib/utils/clock.js2.mjs +42 -0
  102. package/dist/treeshaking/_virtual/mux.js/lib/utils/numbers.js.mjs +27 -0
  103. package/dist/treeshaking/_virtual/video.js/dist/video-js.css +2018 -0
  104. package/dist/treeshaking/_virtual/video.js/dist/video.es.js.mjs +40111 -0
  105. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js.mjs +7 -0
  106. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js2.mjs +37 -0
  107. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js3.mjs +4 -0
  108. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vtt.js.mjs +1082 -0
  109. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vttcue.js.mjs +235 -0
  110. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vttregion.js.mjs +122 -0
  111. package/dist/treeshaking/assets/meeting/empty.png.mjs +4 -0
  112. package/dist/treeshaking/assets/meeting/transparent.png.mjs +4 -0
  113. package/dist/treeshaking/components/activity/OActivityApproval.css +638 -0
  114. package/dist/treeshaking/components/activity/OActivityApproval.vue.d.ts +273 -0
  115. package/dist/treeshaking/components/activity/OActivityApproval.vue.mjs +718 -0
  116. package/dist/treeshaking/components/activity/OActivityApproval.vue4.mjs +6 -0
  117. package/dist/treeshaking/components/activity/OActivityApproval2.css +331 -0
  118. package/dist/treeshaking/components/activity/OActivityForm.css +367 -0
  119. package/dist/treeshaking/components/activity/OActivityForm.vue.d.ts +138 -0
  120. package/dist/treeshaking/components/activity/OActivityForm.vue.mjs +628 -0
  121. package/dist/treeshaking/components/activity/OActivityForm.vue4.mjs +6 -0
  122. package/dist/treeshaking/components/activity/OActivityForm2.css +330 -0
  123. package/dist/treeshaking/components/activity/OActivityMyCalendar.css +1237 -0
  124. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue.d.ts +636 -0
  125. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue.mjs +856 -0
  126. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue4.mjs +6 -0
  127. package/dist/treeshaking/components/activity/OActivityMyCalendar2.css +314 -0
  128. package/dist/treeshaking/components/activity/composables/useActivityConfig.d.ts +17 -0
  129. package/dist/treeshaking/components/activity/composables/useActivityConfig.mjs +139 -0
  130. package/dist/treeshaking/components/activity/config.d.ts +1 -0
  131. package/dist/treeshaking/components/activity/config.mjs +4 -0
  132. package/dist/treeshaking/components/activity/index.d.ts +648 -0
  133. package/dist/treeshaking/components/activity/index.mjs +29 -0
  134. package/dist/treeshaking/components/activity/types.d.ts +88 -0
  135. package/dist/treeshaking/components/banner/OBanner.css +151 -0
  136. package/dist/treeshaking/components/banner/OBanner.vue.d.ts +13 -0
  137. package/dist/treeshaking/components/banner/OBanner.vue.mjs +8 -0
  138. package/dist/treeshaking/components/banner/OBanner.vue2.mjs +141 -0
  139. package/dist/treeshaking/components/banner/OBanner2.css +39 -0
  140. package/dist/treeshaking/components/banner/OBannerContent.css +113 -0
  141. package/dist/treeshaking/components/banner/OBannerContent.vue.d.ts +7 -0
  142. package/dist/treeshaking/components/banner/OBannerContent.vue.mjs +7 -0
  143. package/dist/treeshaking/components/banner/OBannerContent.vue2.mjs +102 -0
  144. package/dist/treeshaking/components/banner/index.d.ts +68 -0
  145. package/dist/treeshaking/components/banner/index.mjs +16 -0
  146. package/dist/treeshaking/components/banner/types.d.ts +31 -0
  147. package/dist/treeshaking/components/common/AppAvatar.css +20 -0
  148. package/dist/treeshaking/components/common/AppAvatar.vue.mjs +7 -0
  149. package/dist/treeshaking/components/common/AppAvatar.vue2.mjs +83 -0
  150. package/dist/treeshaking/components/common/ClientOnly.vue.mjs +16 -0
  151. package/dist/treeshaking/components/common/ClientOnly.vue2.mjs +4 -0
  152. package/dist/treeshaking/components/common/ContentWrapper.css +36 -0
  153. package/dist/treeshaking/components/common/ContentWrapper.vue.mjs +7 -0
  154. package/dist/treeshaking/components/common/ContentWrapper.vue2.mjs +50 -0
  155. package/dist/treeshaking/components/common/MoreText.css +69 -0
  156. package/dist/treeshaking/components/common/MoreText.vue.mjs +7 -0
  157. package/dist/treeshaking/components/common/MoreText.vue2.mjs +88 -0
  158. package/dist/treeshaking/components/common/ThFilter.css +146 -0
  159. package/dist/treeshaking/components/common/ThFilter.vue.mjs +270 -0
  160. package/dist/treeshaking/components/common/ThFilter.vue3.mjs +5 -0
  161. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue.d.ts +24 -0
  162. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue.mjs +33 -0
  163. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue2.mjs +4 -0
  164. package/dist/treeshaking/components/config-provider/index.d.ts +30 -0
  165. package/dist/treeshaking/components/config-provider/index.mjs +9 -0
  166. package/dist/treeshaking/components/cookie-notice/OCookieNotice.css +35 -0
  167. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue.d.ts +17 -0
  168. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue.mjs +8 -0
  169. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue2.mjs +367 -0
  170. package/dist/treeshaking/components/cookie-notice/OCookieNotice2.css +309 -0
  171. package/dist/treeshaking/components/cookie-notice/index.d.ts +53 -0
  172. package/dist/treeshaking/components/cookie-notice/index.mjs +9 -0
  173. package/dist/treeshaking/components/element-plus/OElCookieNotice.css +306 -0
  174. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue.d.ts +34 -0
  175. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue.mjs +8 -0
  176. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue2.mjs +384 -0
  177. package/dist/treeshaking/components/element-plus/OElCookieNotice2.css +691 -0
  178. package/dist/treeshaking/components/element-plus/index.d.ts +2 -0
  179. package/dist/treeshaking/components/events/OEventsApply.css +583 -0
  180. package/dist/treeshaking/components/events/OEventsApply.vue.d.ts +16 -0
  181. package/dist/treeshaking/components/events/OEventsApply.vue.mjs +98 -0
  182. package/dist/treeshaking/components/events/OEventsApply.vue3.mjs +5 -0
  183. package/dist/treeshaking/components/events/OEventsCalendar.css +501 -0
  184. package/dist/treeshaking/components/events/OEventsCalendar.vue.d.ts +5 -0
  185. package/dist/treeshaking/components/events/OEventsCalendar.vue.mjs +289 -0
  186. package/dist/treeshaking/components/events/OEventsCalendar.vue3.mjs +5 -0
  187. package/dist/treeshaking/components/events/OEventsList.css +470 -0
  188. package/dist/treeshaking/components/events/OEventsList.vue.d.ts +26 -0
  189. package/dist/treeshaking/components/events/OEventsList.vue.mjs +237 -0
  190. package/dist/treeshaking/components/events/OEventsList.vue3.mjs +5 -0
  191. package/dist/treeshaking/components/events/config.d.ts +14 -0
  192. package/dist/treeshaking/components/events/config.mjs +37 -0
  193. package/dist/treeshaking/components/events/index.d.ts +78 -0
  194. package/dist/treeshaking/components/events/index.mjs +26 -0
  195. package/dist/treeshaking/components/events/types.d.ts +73 -0
  196. package/dist/treeshaking/components/events/types.mjs +9 -0
  197. package/{src/components/events/utils.ts → dist/treeshaking/components/events/utils.d.ts} +7 -9
  198. package/dist/treeshaking/components/events/utils.mjs +6 -0
  199. package/dist/treeshaking/components/footer/OFooter.css +617 -0
  200. package/dist/treeshaking/components/footer/OFooter.vue.d.ts +46 -0
  201. package/dist/treeshaking/components/footer/OFooter.vue.mjs +7 -0
  202. package/dist/treeshaking/components/footer/OFooter.vue2.mjs +348 -0
  203. package/dist/treeshaking/components/footer/index.d.ts +89 -0
  204. package/dist/treeshaking/components/footer/index.mjs +9 -0
  205. package/dist/treeshaking/components/header/OHeader.css +65 -0
  206. package/dist/treeshaking/components/header/OHeader.vue.d.ts +30 -0
  207. package/dist/treeshaking/components/header/OHeader.vue.mjs +7 -0
  208. package/dist/treeshaking/components/header/OHeader.vue2.mjs +118 -0
  209. package/dist/treeshaking/components/header/OHeaderMobile.css +106 -0
  210. package/dist/treeshaking/components/header/OHeaderMobile.vue.d.ts +178 -0
  211. package/dist/treeshaking/components/header/OHeaderMobile.vue.mjs +7 -0
  212. package/dist/treeshaking/components/header/OHeaderMobile.vue2.mjs +141 -0
  213. package/dist/treeshaking/components/header/components/HeaderContent.css +1062 -0
  214. package/dist/treeshaking/components/header/components/HeaderContent.vue.d.ts +13 -0
  215. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +7 -0
  216. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +235 -0
  217. package/dist/treeshaking/components/header/components/HeaderNav.css +141 -0
  218. package/dist/treeshaking/components/header/components/HeaderNav.vue.d.ts +19 -0
  219. package/dist/treeshaking/components/header/components/HeaderNav.vue.mjs +7 -0
  220. package/dist/treeshaking/components/header/components/HeaderNav.vue2.mjs +207 -0
  221. package/dist/treeshaking/components/header/components/HeaderNavMobile.css +419 -0
  222. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.d.ts +36 -0
  223. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.mjs +7 -0
  224. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue2.mjs +229 -0
  225. package/dist/treeshaking/components/header/index.d.ts +153 -0
  226. package/dist/treeshaking/components/header/index.mjs +16 -0
  227. package/dist/treeshaking/components/header/types.d.ts +85 -0
  228. package/dist/treeshaking/components/header/types.mjs +9 -0
  229. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.css +140 -0
  230. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts +58 -0
  231. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.mjs +8 -0
  232. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue2.mjs +125 -0
  233. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher2.css +11 -0
  234. package/dist/treeshaking/components/header-language-switcher/index.d.ts +105 -0
  235. package/dist/treeshaking/components/header-language-switcher/index.mjs +9 -0
  236. package/dist/treeshaking/components/header-search/OHeaderSearch.css +199 -0
  237. package/dist/treeshaking/components/header-search/OHeaderSearch.vue.d.ts +1032 -0
  238. package/dist/treeshaking/components/header-search/OHeaderSearch.vue.mjs +7 -0
  239. package/dist/treeshaking/components/header-search/OHeaderSearch.vue2.mjs +419 -0
  240. package/dist/treeshaking/components/header-search/index.d.ts +607 -0
  241. package/dist/treeshaking/components/header-search/index.mjs +9 -0
  242. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.css +133 -0
  243. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue.d.ts +18 -0
  244. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue.mjs +7 -0
  245. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue2.mjs +88 -0
  246. package/dist/treeshaking/components/header-source-code/index.d.ts +23 -0
  247. package/dist/treeshaking/components/header-source-code/index.mjs +9 -0
  248. package/dist/treeshaking/components/header-theme/OHeaderTheme.css +48 -0
  249. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue.d.ts +25 -0
  250. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue.mjs +7 -0
  251. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue2.mjs +86 -0
  252. package/dist/treeshaking/components/header-theme/index.d.ts +50 -0
  253. package/dist/treeshaking/components/header-theme/index.mjs +9 -0
  254. package/dist/treeshaking/components/header-user/OHeaderUser.css +135 -0
  255. package/dist/treeshaking/components/header-user/OHeaderUser.vue.d.ts +40 -0
  256. package/dist/treeshaking/components/header-user/OHeaderUser.vue.mjs +8 -0
  257. package/dist/treeshaking/components/header-user/OHeaderUser.vue2.mjs +121 -0
  258. package/dist/treeshaking/components/header-user/OHeaderUser2.css +80 -0
  259. package/dist/treeshaking/components/header-user/index.d.ts +53 -0
  260. package/dist/treeshaking/components/header-user/index.mjs +9 -0
  261. package/dist/treeshaking/components/meeting/OMeetingCalendar.css +978 -0
  262. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.d.ts +297 -0
  263. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.mjs +510 -0
  264. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue3.mjs +5 -0
  265. package/dist/treeshaking/components/meeting/OMeetingForm.css +767 -0
  266. package/dist/treeshaking/components/meeting/OMeetingForm.vue.d.ts +141 -0
  267. package/dist/treeshaking/components/meeting/OMeetingForm.vue.mjs +1020 -0
  268. package/dist/treeshaking/components/meeting/OMeetingForm.vue4.mjs +6 -0
  269. package/dist/treeshaking/components/meeting/OMeetingForm2.css +361 -0
  270. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.css +1342 -0
  271. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue.d.ts +644 -0
  272. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue.mjs +890 -0
  273. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue4.mjs +6 -0
  274. package/dist/treeshaking/components/meeting/OMeetingMyCalendar2.css +325 -0
  275. package/dist/treeshaking/components/meeting/OMeetingPlayback.css +256 -0
  276. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue.d.ts +94 -0
  277. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue.mjs +328 -0
  278. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue3.mjs +5 -0
  279. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.css +224 -0
  280. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.d.ts +26 -0
  281. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.mjs +396 -0
  282. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue3.mjs +5 -0
  283. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.css +421 -0
  284. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.d.ts +29 -0
  285. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.mjs +395 -0
  286. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue3.mjs +5 -0
  287. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.css +382 -0
  288. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue.d.ts +664 -0
  289. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue.mjs +132 -0
  290. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue4.mjs +6 -0
  291. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector2.css +346 -0
  292. package/dist/treeshaking/components/meeting/components/OMeetingDetail.css +113 -0
  293. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue.d.ts +13 -0
  294. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue.mjs +189 -0
  295. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue3.mjs +5 -0
  296. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.css +564 -0
  297. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue.d.ts +20 -0
  298. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue.mjs +426 -0
  299. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue4.mjs +6 -0
  300. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles2.css +347 -0
  301. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.css +431 -0
  302. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +17 -0
  303. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue.mjs +244 -0
  304. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue3.mjs +5 -0
  305. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.css +171 -0
  306. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue.d.ts +16 -0
  307. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue.mjs +112 -0
  308. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue3.mjs +5 -0
  309. package/dist/treeshaking/components/meeting/composables/useMeetingConfig.d.ts +14 -0
  310. package/dist/treeshaking/components/meeting/composables/useMeetingConfig.mjs +97 -0
  311. package/dist/treeshaking/components/meeting/config.d.ts +12 -0
  312. package/dist/treeshaking/components/meeting/config.mjs +19 -0
  313. package/dist/treeshaking/components/meeting/index.d.ts +829 -0
  314. package/dist/treeshaking/components/meeting/index.mjs +44 -0
  315. package/dist/treeshaking/components/meeting/types.d.ts +237 -0
  316. package/dist/treeshaking/components/meeting/types.mjs +17 -0
  317. package/dist/treeshaking/components/meeting/utils.d.ts +9 -0
  318. package/dist/treeshaking/components/meeting/utils.mjs +68 -0
  319. package/dist/treeshaking/components/search/OSearchInput.css +155 -0
  320. package/dist/treeshaking/components/search/OSearchInput.vue.d.ts +1025 -0
  321. package/dist/treeshaking/components/search/OSearchInput.vue.mjs +7 -0
  322. package/dist/treeshaking/components/search/OSearchInput.vue2.mjs +382 -0
  323. package/dist/treeshaking/components/search/composables/useImageSearch.d.ts +48 -0
  324. package/dist/treeshaking/components/search/composables/useImageSearch.mjs +134 -0
  325. package/dist/treeshaking/components/search/composables/useKeywordHighlight.d.ts +2 -0
  326. package/{src/components/search/composables/useKeywordHighlight.ts → dist/treeshaking/components/search/composables/useKeywordHighlight.mjs} +28 -30
  327. package/dist/treeshaking/components/search/composables/useSearchHistory.d.ts +14 -0
  328. package/{src/components/search/composables/useSearchHistory.ts → dist/treeshaking/components/search/composables/useSearchHistory.mjs} +58 -75
  329. package/dist/treeshaking/components/search/index.d.ts +600 -0
  330. package/dist/treeshaking/components/search/index.mjs +9 -0
  331. package/dist/treeshaking/components/search/internal/HighlightText.css +12 -0
  332. package/dist/treeshaking/components/search/internal/HighlightText.vue.d.ts +9 -0
  333. package/dist/treeshaking/components/search/internal/HighlightText.vue.mjs +7 -0
  334. package/dist/treeshaking/components/search/internal/HighlightText.vue2.mjs +33 -0
  335. package/dist/treeshaking/components/search/internal/SearchImageInput.css +213 -0
  336. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.d.ts +736 -0
  337. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.mjs +8 -0
  338. package/dist/treeshaking/components/search/internal/SearchImageInput.vue2.mjs +305 -0
  339. package/dist/treeshaking/components/search/internal/SearchImageInput2.css +38 -0
  340. package/dist/treeshaking/components/search/internal/SearchPanel.css +547 -0
  341. package/dist/treeshaking/components/search/internal/SearchPanel.vue.d.ts +100 -0
  342. package/dist/treeshaking/components/search/internal/SearchPanel.vue.mjs +7 -0
  343. package/dist/treeshaking/components/search/internal/SearchPanel.vue2.mjs +249 -0
  344. package/{src/components/search/types.ts → dist/treeshaking/components/search/types.d.ts} +20 -25
  345. package/dist/treeshaking/components/section/OSection.css +173 -0
  346. package/dist/treeshaking/components/section/OSection.vue.d.ts +37 -0
  347. package/dist/treeshaking/components/section/OSection.vue.mjs +7 -0
  348. package/dist/treeshaking/components/section/OSection.vue2.mjs +93 -0
  349. package/dist/treeshaking/components/section/index.d.ts +47 -0
  350. package/dist/treeshaking/components/section/index.mjs +9 -0
  351. package/dist/treeshaking/i18n/en.mjs +281 -0
  352. package/{src/i18n/index.ts → dist/treeshaking/i18n/index.mjs} +49 -56
  353. package/dist/treeshaking/i18n/zh.mjs +271 -0
  354. package/{src/index.ts → dist/treeshaking/index.d.ts} +1 -3
  355. package/dist/treeshaking/index.mjs +51 -0
  356. package/dist/treeshaking/shared/provide.mjs +4 -0
  357. package/package.json +13 -3
  358. package/docs/design.md +0 -27
  359. package/docs/design_banner.md +0 -41
  360. package/docs/design_section.md +0 -27
  361. package/scripts/generate-components-index.js +0 -62
  362. package/src/assets/events/svg-icons/icon-checked.svg +0 -3
  363. package/src/assets/events/svg-icons/icon-competition.svg +0 -7
  364. package/src/assets/events/svg-icons/icon-events.svg +0 -4
  365. package/src/assets/events/svg-icons/icon-release.svg +0 -4
  366. package/src/assets/events/svg-icons/icon-summit.svg +0 -4
  367. package/src/assets/meeting/empty.png +0 -0
  368. package/src/assets/meeting/svg-icons/icon-all.svg +0 -4
  369. package/src/assets/meeting/svg-icons/icon-backward.svg +0 -4
  370. package/src/assets/meeting/svg-icons/icon-calendar.svg +0 -3
  371. package/src/assets/meeting/svg-icons/icon-cancel.svg +0 -4
  372. package/src/assets/meeting/svg-icons/icon-captions.svg +0 -4
  373. package/src/assets/meeting/svg-icons/icon-close-captions.svg +0 -6
  374. package/src/assets/meeting/svg-icons/icon-close-fullscreen.svg +0 -6
  375. package/src/assets/meeting/svg-icons/icon-copy.svg +0 -4
  376. package/src/assets/meeting/svg-icons/icon-create.svg +0 -5
  377. package/src/assets/meeting/svg-icons/icon-delete.svg +0 -7
  378. package/src/assets/meeting/svg-icons/icon-empty.svg +0 -65
  379. package/src/assets/meeting/svg-icons/icon-event.svg +0 -4
  380. package/src/assets/meeting/svg-icons/icon-export.svg +0 -3
  381. package/src/assets/meeting/svg-icons/icon-forward.svg +0 -4
  382. package/src/assets/meeting/svg-icons/icon-fullscreen.svg +0 -6
  383. package/src/assets/meeting/svg-icons/icon-help.svg +0 -3
  384. package/src/assets/meeting/svg-icons/icon-important.svg +0 -4
  385. package/src/assets/meeting/svg-icons/icon-info.svg +0 -3
  386. package/src/assets/meeting/svg-icons/icon-meet.svg +0 -4
  387. package/src/assets/meeting/svg-icons/icon-meeting-message.svg +0 -5
  388. package/src/assets/meeting/svg-icons/icon-meeting.svg +0 -4
  389. package/src/assets/meeting/svg-icons/icon-play.svg +0 -5
  390. package/src/assets/meeting/svg-icons/icon-playing-tip.svg +0 -7
  391. package/src/assets/meeting/svg-icons/icon-playing.svg +0 -5
  392. package/src/assets/meeting/svg-icons/icon-question.svg +0 -4
  393. package/src/assets/meeting/svg-icons/icon-sound.svg +0 -5
  394. package/src/assets/meeting/svg-icons/icon-speaker.svg +0 -3
  395. package/src/assets/meeting/svg-icons/icon-summit.svg +0 -4
  396. package/src/assets/meeting/svg-icons/icon-telligent.svg +0 -3
  397. package/src/assets/meeting/svg-icons/icon-tip.svg +0 -3
  398. package/src/assets/meeting/svg-icons/icon-todo.svg +0 -4
  399. package/src/assets/meeting/transparent.png +0 -0
  400. package/src/assets/styles/element-plus.scss +0 -277
  401. package/src/assets/svg-icons/icon-arrow-left.svg +0 -3
  402. package/src/assets/svg-icons/icon-avatar-line.svg +0 -3
  403. package/src/assets/svg-icons/icon-caret-left.svg +0 -3
  404. package/src/assets/svg-icons/icon-caret-right.svg +0 -3
  405. package/src/assets/svg-icons/icon-chevron-down.svg +0 -3
  406. package/src/assets/svg-icons/icon-chevron-right.svg +0 -3
  407. package/src/assets/svg-icons/icon-chevron-up.svg +0 -3
  408. package/src/assets/svg-icons/icon-close.svg +0 -3
  409. package/src/assets/svg-icons/icon-delete-hover.svg +0 -4
  410. package/src/assets/svg-icons/icon-delete.svg +0 -7
  411. package/src/assets/svg-icons/icon-filter.svg +0 -3
  412. package/src/assets/svg-icons/icon-header-back.svg +0 -3
  413. package/src/assets/svg-icons/icon-header-delete.svg +0 -3
  414. package/src/assets/svg-icons/icon-header-menu.svg +0 -3
  415. package/src/assets/svg-icons/icon-header-person.svg +0 -3
  416. package/src/assets/svg-icons/icon-header-search.svg +0 -4
  417. package/src/assets/svg-icons/icon-image-close.svg +0 -4
  418. package/src/assets/svg-icons/icon-image-upload.svg +0 -3
  419. package/src/assets/svg-icons/icon-image-zoomin.svg +0 -3
  420. package/src/assets/svg-icons/icon-loading.svg +0 -4
  421. package/src/assets/svg-icons/icon-locale.svg +0 -3
  422. package/src/assets/svg-icons/icon-log-off.svg +0 -3
  423. package/src/assets/svg-icons/icon-message.svg +0 -3
  424. package/src/assets/svg-icons/icon-moon.svg +0 -3
  425. package/src/assets/svg-icons/icon-outlink.svg +0 -3
  426. package/src/assets/svg-icons/icon-overview.svg +0 -3
  427. package/src/assets/svg-icons/icon-refresh.svg +0 -3
  428. package/src/assets/svg-icons/icon-search.svg +0 -3
  429. package/src/assets/svg-icons/icon-setting.svg +0 -3
  430. package/src/assets/svg-icons/icon-sun.svg +0 -3
  431. package/src/assets/svg-icons/icon-tips.svg +0 -3
  432. package/src/components/activity/OActivityApproval.vue +0 -868
  433. package/src/components/activity/OActivityForm.vue +0 -548
  434. package/src/components/activity/OActivityMyCalendar.vue +0 -1540
  435. package/src/components/activity/composables/useActivityConfig.ts +0 -141
  436. package/src/components/activity/config.ts +0 -1
  437. package/src/components/activity/index.ts +0 -24
  438. package/src/components/activity/types.ts +0 -95
  439. package/src/components/banner/OBanner.vue +0 -288
  440. package/src/components/banner/OBannerContent.vue +0 -175
  441. package/src/components/banner/index.ts +0 -18
  442. package/src/components/banner/types.ts +0 -39
  443. package/src/components/common/AppAvatar.vue +0 -83
  444. package/src/components/common/ClientOnly.vue +0 -13
  445. package/src/components/common/ContentWrapper.vue +0 -85
  446. package/src/components/common/MoreText.vue +0 -124
  447. package/src/components/common/ThFilter.vue +0 -330
  448. package/src/components/config-provider/OPlusConfigProvider.vue +0 -32
  449. package/src/components/config-provider/index.ts +0 -10
  450. package/src/components/cookie-notice/OCookieNotice.vue +0 -575
  451. package/src/components/cookie-notice/index.ts +0 -10
  452. package/src/components/element-plus/OElCookieNotice.vue +0 -603
  453. package/src/components/element-plus/index.ts +0 -3
  454. package/src/components/events/OEventsApply.vue +0 -509
  455. package/src/components/events/OEventsCalendar.vue +0 -600
  456. package/src/components/events/OEventsList.vue +0 -461
  457. package/src/components/events/config.ts +0 -35
  458. package/src/components/events/index.ts +0 -24
  459. package/src/components/events/types.ts +0 -84
  460. package/src/components/footer/OFooter.vue +0 -577
  461. package/src/components/footer/index.ts +0 -10
  462. package/src/components/header/OHeader.vue +0 -157
  463. package/src/components/header/OHeaderMobile.vue +0 -184
  464. package/src/components/header/components/HeaderContent.vue +0 -1125
  465. package/src/components/header/components/HeaderNav.vue +0 -278
  466. package/src/components/header/components/HeaderNavMobile.vue +0 -380
  467. package/src/components/header/index.ts +0 -18
  468. package/src/components/header/types.ts +0 -96
  469. package/src/components/header-language-switcher/OHeaderLanguageSwitcher.vue +0 -253
  470. package/src/components/header-language-switcher/index.ts +0 -10
  471. package/src/components/header-search/OHeaderSearch.vue +0 -628
  472. package/src/components/header-search/index.ts +0 -10
  473. package/src/components/header-source-code/OHeaderSourceCode.vue +0 -151
  474. package/src/components/header-source-code/index.ts +0 -10
  475. package/src/components/header-theme/OHeaderTheme.vue +0 -132
  476. package/src/components/header-theme/index.ts +0 -10
  477. package/src/components/header-user/OHeaderUser.vue +0 -238
  478. package/src/components/header-user/index.ts +0 -10
  479. package/src/components/meeting/OMeetingCalendar.vue +0 -943
  480. package/src/components/meeting/OMeetingForm.vue +0 -1131
  481. package/src/components/meeting/OMeetingMyCalendar.vue +0 -1601
  482. package/src/components/meeting/OMeetingPlayback.vue +0 -469
  483. package/src/components/meeting/OMeetingSigCalendar.vue +0 -500
  484. package/src/components/meeting/components/OMeetingCalendarList.vue +0 -626
  485. package/src/components/meeting/components/OMeetingCalendarSelector.vue +0 -213
  486. package/src/components/meeting/components/OMeetingDetail.vue +0 -285
  487. package/src/components/meeting/components/OMeetingPlaybackSubtitles.vue +0 -615
  488. package/src/components/meeting/components/OMeetingPlaybackVideo.vue +0 -741
  489. package/src/components/meeting/components/OMeetingSigAside.vue +0 -205
  490. package/src/components/meeting/composables/useMeetingConfig.ts +0 -108
  491. package/src/components/meeting/config.ts +0 -48
  492. package/src/components/meeting/index.ts +0 -45
  493. package/src/components/meeting/types.ts +0 -270
  494. package/src/components/meeting/utils.ts +0 -70
  495. package/src/components/search/OSearchInput.vue +0 -526
  496. package/src/components/search/composables/useImageSearch.ts +0 -157
  497. package/src/components/search/index.ts +0 -23
  498. package/src/components/search/internal/HighlightText.vue +0 -37
  499. package/src/components/search/internal/SearchImageInput.vue +0 -498
  500. package/src/components/search/internal/SearchPanel.vue +0 -431
  501. package/src/components/section/OSection.vue +0 -178
  502. package/src/components/section/index.ts +0 -10
  503. package/src/draft/Banner.vue +0 -265
  504. package/src/draft/ButtonCards.vue +0 -106
  505. package/src/draft/Feature.vue +0 -134
  506. package/src/draft/Footer.vue +0 -519
  507. package/src/draft/HorizontalAnchor.vue +0 -165
  508. package/src/draft/ItemSwiper.vue +0 -133
  509. package/src/draft/Logo.vue +0 -141
  510. package/src/draft/LogoCard.vue +0 -75
  511. package/src/draft/LogoV2.vue +0 -19
  512. package/src/draft/MainCard.vue +0 -38
  513. package/src/draft/MultiCard.vue +0 -95
  514. package/src/draft/MultiIconCard.vue +0 -74
  515. package/src/draft/OInfoCard.vue +0 -176
  516. package/src/draft/Process.vue +0 -81
  517. package/src/draft/Section.vue +0 -167
  518. package/src/draft/SingleTabCard.vue +0 -85
  519. package/src/draft/SliderCard.vue +0 -111
  520. package/src/env.d.ts +0 -16
  521. package/src/i18n/en.ts +0 -278
  522. package/src/i18n/zh.ts +0 -268
  523. package/src/shared/provide.ts +0 -6
  524. package/src/shims-vue-dompurify-html.d.ts +0 -17
  525. package/src/vue.d.ts +0 -10
  526. package/tsconfig.json +0 -37
  527. package/vite.config.ts +0 -123
@@ -1,741 +0,0 @@
1
- <script setup lang="ts">
2
- import videojs from 'video.js';
3
- import 'video.js/dist/video-js.css';
4
- import { transformTime } from '../utils.ts';
5
- import defaultPoster from '@/assets/meeting/transparent.png';
6
- import { nextTick, onMounted, onUnmounted, ref, watch } from 'vue';
7
- import type { MeetingPlaybackVideoPropsT } from '@/components/meeting';
8
-
9
- const props = withDefaults(
10
- defineProps<MeetingPlaybackVideoPropsT>(),
11
- {
12
- src: '',
13
- vtt: '',
14
- captions: () => [],
15
- },
16
- );
17
- const timer = ref();
18
- const colHeight = ref();
19
- const playerRef = ref();
20
-
21
- const emits = defineEmits(['getDuration', 'getInstance', 'setTrackIdx']);
22
-
23
- const speakerMenuVisible = ref(false);
24
-
25
- const closeSpeakerMenu = () => {
26
- speakerMenuVisible.value = false;
27
- };
28
-
29
- const handleCue = (textTrack: any, init = false) => {
30
- const player = props.instance;
31
- if (!player) return;
32
- // 修改字幕
33
- const activeCue = textTrack.activeCues?.[0];
34
- timer.value && clearInterval(timer.value);
35
- if (activeCue) {
36
- activeCue.text = activeCue?.text?.replace(/\[(SPEAKER_)\d+]: /g, '') || '';
37
- const arr = activeCue.text.split('\n');
38
- const captionLength = arr.length;
39
-
40
- const timeL = activeCue.endTime - activeCue.startTime;
41
- const interval = parseFloat((timeL / captionLength).toFixed(3));
42
-
43
- let index = 0;
44
- if (init) {
45
- const ratio = (player.currentTime() - activeCue.startTime) / (activeCue.endTime - activeCue.startTime);
46
- while ((index + 1) / captionLength < ratio) {
47
- index++;
48
- }
49
- }
50
- if (index < captionLength) {
51
- activeCue.text = arr.length ? arr[index] : activeCue?.text;
52
- } else {
53
- activeCue.text = arr.length ? arr[0] : activeCue?.text;
54
- }
55
-
56
- let timeInterval = interval * 1000;
57
-
58
- const startInterval = () => {
59
- timer.value = setInterval(() => {
60
- textTrack.mode = 'hidden';
61
- index++;
62
- if (index > arr.length - 1) {
63
- clearInterval(timer.value);
64
- } else if (index === arr.length - 1) {
65
- activeCue.text = arr[index];
66
- clearInterval(timer.value);
67
- timeInterval = interval * (captionLength - index) * 1000;
68
- startInterval();
69
- } else {
70
- activeCue.text = arr[index];
71
- }
72
- textTrack.mode = 'showing';
73
- }, timeInterval);
74
- };
75
- startInterval();
76
- }
77
- };
78
-
79
- const checkedSpeakers = ref([]);
80
- watch(
81
- () => checkedSpeakers.value,
82
- (val) => {
83
- const player = props.instance;
84
- if (player) {
85
- const tracks = player.textTracks();
86
- for (let i = 0; i < tracks.length; i++) {
87
- if (tracks[i].kind === 'subtitles') {
88
- // 修改按钮的状态和样式
89
- handleCue(tracks[i], true);
90
- tracks[i].mode = !val.length ? 'hidden' : 'showing';
91
- }
92
- }
93
- }
94
- },
95
- {
96
- deep: true,
97
- },
98
- );
99
- const loaded = ref(false);
100
- const playStatus = ref('init');
101
- // -------------------- 视频播放 --------------------
102
- const videoInit = async () => {
103
- if (!props.src) return;
104
- const player = videojs('playerId', {
105
- controls: true,
106
- autoplay: false,
107
- preload: 'auto',
108
- fluid: true,
109
- poster: props.poster || defaultPoster,
110
- // 控制栏
111
- playbackRates: [0.5, 0.75, 1, 1.25, 1.5, 2],
112
- controlBar: {
113
- skipButtons: {
114
- backward: 5,
115
- forward: 5,
116
- },
117
- children: {
118
- playToggle: true,
119
- SkipBackward: {
120
- backward: 5,
121
- },
122
- skipForward: {
123
- forward: 5,
124
- },
125
- currentTimeDisplay: true,
126
- timeDivider: true,
127
- durationDisplay: true,
128
- progressControl: true,
129
- PlaybackRateMenuButton: true,
130
- volumePanel: {
131
- inline: false,
132
- },
133
- FullscreenToggle: true,
134
- },
135
- },
136
- }) as unknown as any;
137
- emits('getInstance', player);
138
- // 加载视频
139
- player.src(props.src);
140
- // 加载字幕
141
- player.addRemoteTextTrack({
142
- kind: 'subtitles',
143
- src: props.vtt,
144
- srclang: 'zh',
145
- label: '中文',
146
- default: false,
147
- });
148
-
149
- loaded.value = true;
150
-
151
- // 添加自定义控制字幕的按钮
152
- class CustomSubsCapsButton extends videojs.getComponent('Button') {
153
- constructor(player: any, options: object) {
154
- super(player, options);
155
- this.addClass('vjs-subtitle-toggle-button', 'vjs-subtitle-hidden');
156
- (this as any).controlText('Toggle Subtitles');
157
- }
158
-
159
- buildCSSClass() {
160
- return `vjs-subtitle-toggle-button ${ super.buildCSSClass() }`;
161
- }
162
-
163
- handleClick() {
164
- const tracks = this.player().textTracks() as unknown as any[];
165
- for (let i = 0; i < tracks.length; i++) {
166
- if (tracks[i].kind === 'subtitles') {
167
- handleCue(tracks[i], true);
168
- // 修改按钮的状态和样式
169
- tracks[i].mode = tracks[i].mode === 'showing' ? 'hidden' : 'showing';
170
- if (tracks[i].mode === 'showing') {
171
- this.removeClass('vjs-subtitle-hidden');
172
- this.addClass('vjs-subtitle-showing');
173
- } else {
174
- this.removeClass('vjs-subtitle-showing');
175
- this.addClass('vjs-subtitle-hidden');
176
- }
177
- }
178
- }
179
- }
180
- }
181
-
182
- if (props.vtt) {
183
- videojs.registerComponent('SubtitleToggleButton', CustomSubsCapsButton);
184
- if (!player.controlBar.children_.some((v: any) => v.name_ === 'SubtitleToggleButton')) {
185
- player.controlBar.addChild('SubtitleToggleButton', {}, 8);
186
- }
187
- }
188
-
189
- // 动态修改字幕
190
- const textTracks = player?.textTracks().tracks_;
191
- textTracks.forEach((textTrack: any) => {
192
- textTrack?.addEventListener('cuechange', () => {
193
- handleCue(textTrack);
194
- });
195
- });
196
-
197
- player.on('play', () => {
198
- playStatus.value = 'playing';
199
- });
200
-
201
- // 当前播放时间
202
- player.on('timeupdate', () => {
203
- const currentTime = player.currentTime() || 0;
204
- const idx = props.captions.findIndex((item) => {
205
- const startTime = transformTime(item.start_time);
206
-
207
- return startTime > currentTime;
208
- });
209
- emits('setTrackIdx', idx);
210
- });
211
- player.one('loadedmetadata', () => {
212
- emits('getDuration', player.duration());
213
- });
214
-
215
- nextTick(() => {
216
- const container = document.getElementsByClassName('o-meeting-playback-video')[0] as HTMLDivElement;
217
- colHeight.value = container.offsetHeight;
218
- });
219
- playerRef.value = player;
220
- };
221
-
222
- onMounted(() => {
223
- videoInit();
224
- document.addEventListener('click', closeSpeakerMenu);
225
- });
226
- watch(
227
- () => props.src,
228
- () => {
229
- videoInit();
230
- },
231
- );
232
- onUnmounted(() => {
233
- props?.instance?.dispose();
234
- document.removeEventListener('click', closeSpeakerMenu);
235
- });
236
-
237
- defineExpose({
238
- changeTime: (time: number) => {
239
- playerRef.value?.currentTime(time);
240
- },
241
- });
242
- </script>
243
-
244
- <template>
245
- <div class="o-meeting-playback-video">
246
- <div
247
- class="video-placeholder"
248
- :class="{
249
- loaded: loaded,
250
- 'no-poster': !poster,
251
- [playStatus]: true,
252
- }"
253
- >
254
- <video class="video-js" id="playerId"></video>
255
- <div class="poster-title" v-if="posterTitle">{{ posterTitle }}</div>
256
- </div>
257
- </div>
258
- </template>
259
-
260
- <style lang="scss">
261
- .o-meeting-playback-video {
262
- width: 100%;
263
- height: 100%;
264
- min-height: calc(var(--layout-content-min-height) - 104px);
265
- background-color: var(--o-color-fill2);
266
- position: relative;
267
- border-radius: var(--meeting-card-radius);
268
- overflow: hidden;
269
-
270
- .video-placeholder {
271
- content: '';
272
- width: 100%;
273
- padding-top: 56.25%;
274
-
275
- &.loaded {
276
- padding-top: 0;
277
- }
278
-
279
- &.no-poster {
280
- .video-js {
281
- img {
282
- display: none;
283
- }
284
- }
285
- }
286
-
287
- .poster-title {
288
- display: none;
289
- }
290
-
291
- &.init {
292
- .poster-title {
293
- display: block;
294
- position: absolute;
295
- top: 25%;
296
- left: 10%;
297
- @include text-truncate(3);
298
- @include display2;
299
- }
300
- }
301
- }
302
-
303
- video {
304
- width: 100%;
305
- height: 100%;
306
- position: absolute;
307
- top: 0;
308
- left: 0;
309
- }
310
- }
311
-
312
- .video-js {
313
- --right-size: 32px;
314
- --right-icon-size: 24px;
315
- --right-gap: 24px;
316
-
317
- div.vjs-poster {
318
- position: absolute;
319
-
320
- img {
321
- object-fit: cover;
322
- }
323
-
324
- &::after {
325
- content: '';
326
- position: absolute;
327
- top: 0;
328
- bottom: 0;
329
- left: 0;
330
- right: 0;
331
- background-color: var(--o-color-mask1);
332
- z-index: 2;
333
- }
334
- }
335
-
336
- .vjs-control-bar {
337
- flex-wrap: wrap;
338
- height: 64px;
339
- z-index: 2;
340
-
341
- & > button,
342
- & > div {
343
- order: 2;
344
- }
345
-
346
- .vjs-control {
347
- height: 32px;
348
- }
349
-
350
- // 播放暂停
351
- .vjs-play-control {
352
- width: 32px;
353
- height: 32px;
354
- margin-left: var(--o-gap-5);
355
-
356
- .vjs-icon-placeholder {
357
- &::before {
358
- font-size: 24px;
359
- line-height: 32px;
360
- }
361
- }
362
- }
363
-
364
- // 后退5s
365
- .vjs-skip-backward-5 {
366
- width: 16px;
367
- margin-left: var(--o-gap-2);
368
-
369
- .vjs-icon-placeholder {
370
- height: 16px;
371
- width: 16px;
372
- background-image: url('@/assets/meeting/svg-icons/icon-backward.svg');
373
- background-repeat: no-repeat;
374
- background-size: 16px;
375
- background-position: center;
376
-
377
- &::before {
378
- content: none;
379
- }
380
- }
381
- }
382
-
383
- // 前进5s
384
- .vjs-skip-forward-5 {
385
- width: 16px;
386
- margin-left: var(--o-gap-2);
387
-
388
- .vjs-icon-placeholder {
389
- height: 16px;
390
- width: 16px;
391
- background-image: url('@/assets/meeting/svg-icons/icon-forward.svg');
392
- background-repeat: no-repeat;
393
- background-size: 16px;
394
- background-position: center;
395
-
396
- &::before {
397
- content: none;
398
- }
399
- }
400
- }
401
-
402
- // 时间显示
403
- .vjs-time-control {
404
- min-width: auto;
405
- display: flex;
406
- align-items: center;
407
- padding: 0;
408
- font-size: 16px;
409
- font-weight: 400;
410
- // 当前时间
411
- &.vjs-current-time {
412
- margin-left: var(--o-gap-4);
413
- }
414
-
415
- // 分隔符
416
- &.vjs-time-divider {
417
- margin-left: var(--o-gap-1);
418
- height: 32px;
419
- }
420
-
421
- // 总时间
422
- &.vjs-duration {
423
- margin-left: var(--o-gap-1);
424
- }
425
- }
426
-
427
- // 倍速播放
428
- .vjs-playback-rate {
429
- opacity: 0.8;
430
- margin-left: auto;
431
- min-width: var(--right-size);
432
-
433
- &:hover {
434
- opacity: 1;
435
- }
436
-
437
- .vjs-playback-rate-value {
438
- font-size: calc(var(--right-size) / 2);
439
- }
440
-
441
- .vjs-menu {
442
- .vjs-menu-content {
443
- width: calc(100% + 5em);
444
- max-height: 22em;
445
- padding: 8px 16px;
446
- border-radius: var(--meeting-cell-radius);
447
- margin-left: -2.5em;
448
- background-color: var(--o-color-info2);
449
- box-shadow: 0 3px 9px 0 rgba(var(--o-kleinblue-10), 0.08);
450
- backdrop-filter: blur(13.59);
451
- }
452
-
453
- li {
454
- background-color: transparent;
455
- justify-content: flex-start;
456
- padding: 0;
457
- font-size: 1.4em;
458
- line-height: 1.7em;
459
-
460
- &.vjs-selected {
461
- color: #497af8;
462
- }
463
- }
464
-
465
- li + li {
466
- margin-top: 8px;
467
- }
468
- }
469
- }
470
-
471
- // 字幕
472
- .vjs-subtitle-toggle-button {
473
- cursor: pointer;
474
- width: var(--right-size);
475
- margin-left: var(--o-gap-5);
476
- display: flex;
477
- justify-content: center;
478
- align-items: center;
479
- opacity: 0.8;
480
-
481
- &:hover {
482
- opacity: 1;
483
- }
484
-
485
- .vjs-icon-placeholder {
486
- width: var(--right-icon-size);
487
- height: var(--right-icon-size);
488
- background-position: center;
489
- background-size: var(--right-icon-size);
490
- background-repeat: no-repeat;
491
- }
492
-
493
- .vjs-menu-content {
494
- padding: 8px 16px;
495
- }
496
-
497
- .vjs-menu-item {
498
- display: flex;
499
- align-items: center;
500
- justify-content: flex-start;
501
- background-color: transparent;
502
- height: 32px;
503
-
504
- span {
505
- order: 2;
506
- @include text-truncate(1);
507
- }
508
-
509
- input {
510
- order: 1;
511
- margin-right: 12px;
512
- border-radius: var(--meeting-input-radius);
513
- cursor: inherit;
514
- position: relative;
515
- top: -1px;
516
- }
517
-
518
- &.vjs-selected {
519
- color: var(--o-color-primary1);
520
-
521
- input:checked {
522
- background: var(--o-color-primary1);
523
- }
524
- }
525
-
526
- &:hover {
527
- color: var(--o-color-primary1);
528
- }
529
- }
530
- }
531
-
532
- .vjs-subtitle-hidden {
533
- .vjs-icon-placeholder {
534
- background-image: url('@/assets/meeting/svg-icons/icon-close-captions.svg');
535
- }
536
- }
537
-
538
- .vjs-subtitle-showing {
539
- .vjs-icon-placeholder {
540
- background-image: url('@/assets/meeting/svg-icons/icon-captions.svg');
541
- }
542
- }
543
-
544
- // 替换音量icon
545
- .vjs-volume-panel {
546
- opacity: 0.8;
547
- margin-left: var(--o-gap-5);
548
- width: var(--right-size);
549
- position: relative;
550
-
551
- &:hover {
552
- opacity: 1;
553
- }
554
-
555
- .vjs-mute-control {
556
- width: var(--right-size);
557
- }
558
-
559
- .vjs-volume-control {
560
- height: fit-content;
561
- transform: translateX(4px);
562
- }
563
-
564
- .vjs-icon-placeholder {
565
- &::before {
566
- height: var(--right-size);
567
- display: block;
568
- font-size: calc(var(--right-size) / 2);
569
- }
570
- }
571
- }
572
-
573
- .vjs-mute-control {
574
- display: flex;
575
- justify-content: center;
576
- align-items: center;
577
-
578
- .vjs-icon-placeholder {
579
- width: var(--right-icon-size);
580
- height: var(--right-icon-size);
581
- background-position: center;
582
- background-size: var(--right-icon-size);
583
- background-repeat: no-repeat;
584
- background-image: url('@/assets/meeting/svg-icons/icon-sound.svg');
585
-
586
- &::before {
587
- content: none;
588
- }
589
- }
590
-
591
- &.vjs-vol-0,
592
- &.vjs-vol-1,
593
- &.vjs-vol-2 {
594
- .vjs-icon-placeholder::before {
595
- line-height: 1.67;
596
- }
597
- }
598
- }
599
-
600
- .vjs-volume-control {
601
- border-radius: var(--meeting-cell-radius);
602
- background-color: var(--o-color-info2);
603
- box-shadow: 0 3px 9px 0 rgba(var(--o-kleinblue-10), 0.08);
604
- backdrop-filter: blur(13.59);
605
- }
606
-
607
- // 替换全屏icon
608
- .vjs-fullscreen-control {
609
- opacity: 0.8;
610
- width: var(--right-size);
611
- margin-left: var(--o-gap-5);
612
- margin-right: var(--o-gap-5);
613
- display: flex;
614
- justify-content: center;
615
- align-items: center;
616
-
617
- &:hover {
618
- opacity: 1;
619
- }
620
-
621
- .vjs-icon-placeholder {
622
- width: var(--right-icon-size);
623
- height: var(--right-icon-size);
624
- background-position: center;
625
- background-size: var(--right-icon-size);
626
- background-repeat: no-repeat;
627
- background-image: url('@/assets/meeting/svg-icons/icon-fullscreen.svg');
628
-
629
- &::before {
630
- content: none;
631
- }
632
- }
633
- }
634
-
635
- .vjs-icon-fullscreen-enter {
636
- &::before {
637
- line-height: 1.67;
638
- }
639
- }
640
-
641
- // 调整进度条位置
642
- .vjs-progress-control {
643
- height: 16px;
644
- order: 1;
645
- padding: 0 8px;
646
- width: 100%;
647
- left: 0;
648
-
649
- div {
650
- border-radius: var(--meeting-cell-radius);
651
- }
652
-
653
- .vjs-progress-holder {
654
- margin: 0;
655
- background: rgba(var(--o-grey-1), 0.3);
656
- }
657
-
658
- .vjs-load-progress {
659
- div {
660
- background: rgba(var(--o-grey-1), 0.5);
661
- }
662
- }
663
-
664
- .vjs-slider-bar {
665
- &::before {
666
- cursor: pointer;
667
- }
668
- }
669
- }
670
- }
671
-
672
- &.vjs-fullscreen {
673
- .vjs-fullscreen-control {
674
- .vjs-icon-placeholder {
675
- background-image: url('@/assets/meeting/svg-icons/icon-close-fullscreen.svg');
676
- }
677
- }
678
- }
679
-
680
- // 字幕文字
681
- .vjs-text-track-display {
682
- bottom: 64px !important;
683
-
684
- .vjs-text-track-cue {
685
- height: fit-content !important;
686
- display: flex;
687
- align-items: center;
688
- justify-content: center;
689
- inset: auto 0 0 0 !important;
690
-
691
- div {
692
- width: fit-content !important;
693
- color: var(--o-color-info1-inverse) !important;
694
- background-color: rgba(0, 0, 0, 0.4) !important;
695
- border-radius: var(--meeting-cell-radius);
696
- display: block !important;
697
- padding: var(--o-gap-1) var(--o-gap-4);
698
- @include tip1;
699
- }
700
- }
701
- }
702
-
703
- // 中间播放暂停按钮
704
- .vjs-paused .vjs-big-play-button {
705
- display: block;
706
- }
707
-
708
- .vjs-error .vjs-big-play-button {
709
- display: none;
710
- }
711
-
712
- .vjs-big-play-button {
713
- width: 64px;
714
- height: 64px;
715
- top: 50%;
716
- left: 50%;
717
- transform: translateX(-50%) translateY(-50%);
718
- margin-left: 0;
719
- margin-top: 0;
720
- border-radius: 50%;
721
- z-index: 2;
722
- background-image: url('@/assets/meeting/svg-icons/icon-play.svg');
723
- background-position: center center;
724
- background-repeat: no-repeat;
725
- background-size: cover;
726
- border: 0.5px solid rgba(var(--o-white), 0.6);
727
- background-color: rgba(var(--o-grey-1), 0.2);
728
-
729
- .vjs-icon-placeholder::before {
730
- content: none;
731
- }
732
- }
733
-
734
- @include hover {
735
- .vjs-big-play-button {
736
- border: 0.5px solid rgba(var(--o-grey-1), 0.6);
737
- background-color: rgba(var(--o-grey-1), 0.2);
738
- }
739
- }
740
- }
741
- </style>