@opendesign-plus/components 0.0.1-rc.34 → 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 +15 -5
  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,615 +0,0 @@
1
- <script setup lang="ts">
2
- import {
3
- OCol,
4
- ODivider,
5
- OIcon,
6
- OInput,
7
- ORow,
8
- OScroller,
9
- OTab,
10
- OTabPane,
11
- } from '@opensig/opendesign';
12
- import { ElSelect, ElCheckbox, ElOption, type CheckboxValueType } from 'element-plus';
13
- import IconPlaying from '~icons/meeting/icon-playing.svg';
14
- import IconSearch from '~icons/components/icon-search.svg';
15
- import IconChevronDown from '~icons/components/icon-chevron-down.svg';
16
- import IconChevronUp from '~icons/components/icon-chevron-up.svg';
17
- import IconClose from '~icons/components/icon-close.svg';
18
- import IconSpeaker from '~icons/meeting/icon-speaker.svg';
19
- import { useDebounceFn } from '@vueuse/core';
20
- import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue';
21
- import { useI18n } from '@/i18n';
22
- import { buildVueDompurifyHTMLDirective } from 'vue-dompurify-html';
23
- import { CaptionItemT, MeetingPlaybackSubtitlesPropsT } from '@/components/meeting';
24
-
25
- // 局部注册 v-dompurify-html 指令
26
- const vDompurifyHtml = buildVueDompurifyHTMLDirective();
27
-
28
- const props = withDefaults(
29
- defineProps<MeetingPlaybackSubtitlesPropsT>(),
30
- {
31
- captions: () => [],
32
- },
33
- );
34
-
35
- const { t } = useI18n();
36
- const currentIndex = computed(() => props.trackIdx);
37
-
38
-
39
- // -------------------- 右侧字幕原文鼠标滚动事件 --------------------
40
- const scrollContainer = ref();
41
- const wheelVisible = ref(false);
42
- const handleScroll = () => {
43
- wheelVisible.value = true;
44
- };
45
- const debounceFn = useDebounceFn(() => {
46
- wheelVisible.value = false;
47
- }, 3000);
48
-
49
- watch(
50
- () => wheelVisible.value,
51
- (val) => {
52
- if (val) {
53
- debounceFn();
54
- }
55
- },
56
- );
57
-
58
- // -------------------- 右侧的字幕原文 --------------------
59
- const computedCaptions = ref<CaptionItemT[]>([]);
60
- watch(
61
- () => props.captions,
62
- () => {
63
- computedCaptions.value = props.captions || [];
64
- nextTick(() => {
65
- if (scrollContainer.value) {
66
- scrollContainer.value?.scrollTo({
67
- top: 0,
68
- behavior: 'smooth',
69
- });
70
- }
71
- });
72
- },
73
- {
74
- immediate: true,
75
- deep: true,
76
- },
77
- );
78
-
79
- // 处理时间
80
- const formatTime = (num: string) => {
81
- const time = num.split('.')[0];
82
- return (`00:${ time }`).slice(-8);
83
- };
84
-
85
- // 时分秒 转换成 以秒为单位的格式 - xx秒
86
- const transformTime = (time: string) => {
87
- const arr = time.split(':');
88
- const hh = arr[arr.length - 3] ? parseInt(arr[arr.length - 3]) : 0;
89
- const mm = parseInt(arr[arr.length - 2]);
90
- const ss = parseFloat(arr[arr.length - 1]);
91
-
92
- return hh * 60 * 60 + mm * 60 + ss;
93
- };
94
-
95
- onMounted(() => {
96
- scrollContainer.value = document.querySelector('#captionsScrollDom > .o-scroller-container');
97
- scrollContainer.value?.addEventListener('wheel', handleScroll);
98
- });
99
-
100
- watch(
101
- () => computedCaptions.value,
102
- () => {
103
- scrollContainer.value = document.querySelector('#captionsScrollDom > .o-scroller-container');
104
- scrollContainer.value?.addEventListener('wheel', handleScroll);
105
- },
106
- );
107
-
108
- const activeTab = ref(0);
109
- const changeTab = () => {
110
- };
111
- const videoPosition = (time: string) => {
112
- const player = props.instance;
113
- if (!player) {
114
- return;
115
- }
116
-
117
- const startTime = transformTime(time);
118
-
119
- player.currentTime(startTime);
120
- };
121
-
122
- // -------------------- 搜索 --------------------
123
- const searchValue = ref('');
124
- const total = ref(0);
125
- const current = ref(0);
126
-
127
- const speakers = ref<string[]>([]);
128
- const ALL = t('common.all');
129
- const options = computed(() => {
130
- return [
131
- ...new Set(
132
- props.captions
133
- .map((item) => item.speakerLabel)
134
- .sort()
135
- .reverse(),
136
- ),
137
- ];
138
- });
139
- watch(
140
- () => currentIndex.value,
141
- () => {
142
- if (wheelVisible.value && searchValue.value) {
143
- return;
144
- }
145
- const captionActive = scrollContainer.value?.querySelectorAll('.captions-item')[currentIndex.value - 1];
146
-
147
- scrollContainer.value?.scrollTo({
148
- top: captionActive?.offsetTop - 16,
149
- behavior: 'smooth',
150
- });
151
- },
152
- );
153
-
154
- onUnmounted(() => {
155
- if (scrollContainer.value) {
156
- scrollContainer.value.removeEventListener('wheel', handleScroll);
157
- }
158
- });
159
-
160
- // 搜索定位
161
- const searchLocate = (step: number, val: number) => {
162
- const currentLight = document.getElementsByClassName('light-keyword')[step - 1] as HTMLDivElement;
163
- const nextLight = document.getElementsByClassName('light-keyword')[step - val];
164
- nextLight?.classList.remove('light-keyword-active');
165
- currentLight?.classList.add('light-keyword-active');
166
-
167
- // 定位
168
- const aboveVisible = currentLight.offsetTop + currentLight.offsetHeight < scrollContainer.value?.scrollTop; // 是否未到屏幕显示区域
169
- const exceedVisible = currentLight.offsetTop > scrollContainer.value?.offsetHeight + scrollContainer.value?.scrollTop; // 是否超出屏幕
170
- if (aboveVisible || exceedVisible) {
171
- scrollContainer.value?.scrollTo({
172
- top: currentLight.parentElement?.parentElement?.offsetTop,
173
- behavior: 'smooth',
174
- });
175
- }
176
- };
177
-
178
-
179
- // 上一个
180
- const prevKeyword = () => {
181
- if (!total.value || current.value === 1) {
182
- return;
183
- }
184
-
185
- current.value--;
186
-
187
- searchLocate(current.value, 0);
188
- };
189
-
190
- // 下一个
191
- const nextKeyword = (e?: any) => {
192
- if (e?.shiftKey) {
193
- return;
194
- }
195
- if (!total.value || current.value === total.value) {
196
- return;
197
- }
198
-
199
- current.value++;
200
-
201
- searchLocate(current.value, 2);
202
- };
203
- // 高亮匹配
204
- const highlightText = (val: string) => {
205
- computedCaptions.value = props.captions!.filter((v) => {
206
- return speakers.value.includes(v.speakerLabel);
207
- })
208
- .map((item) => {
209
- return {
210
- ...item,
211
- contentHtml: val ? item.contentHtml.replaceAll(val, `<span class="light-keyword">${ val }</span>`) : item.contentHtml,
212
- };
213
- });
214
-
215
- nextTick(() => {
216
- const lightAll = document.getElementsByClassName('light-keyword');
217
- total.value = lightAll.length;
218
- if (total.value) {
219
- nextKeyword();
220
- } else {
221
- scrollContainer.value?.scrollTo({
222
- top: 0,
223
- behavior: 'smooth',
224
- });
225
- }
226
- });
227
- };
228
-
229
- const debounceTextFn = useDebounceFn(highlightText, 300);
230
-
231
- // 监听搜索参数变化
232
- watch(
233
- () => searchValue.value,
234
- (val) => {
235
- current.value = 0;
236
- debounceTextFn(val);
237
- },
238
- );
239
-
240
- // 监听 options 变化,同步更新 speakers
241
- watch(
242
- () => options.value,
243
- (newVal) => {
244
- speakers.value = newVal;
245
- },
246
- { immediate: true },
247
- );
248
-
249
- const checkAll = ref(false);
250
- const indeterminate = ref(false);
251
- const handleCheckAll = (checked: CheckboxValueType) => {
252
- indeterminate.value = false;
253
- if (checked) {
254
- speakers.value = options.value;
255
- } else {
256
- speakers.value = [];
257
- }
258
- };
259
-
260
- watch(
261
- () => speakers.value,
262
- (val) => {
263
- if (val.length === 0) {
264
- checkAll.value = false;
265
- indeterminate.value = false;
266
- } else if (val.length === options.value.length) {
267
- checkAll.value = true;
268
- indeterminate.value = false;
269
- } else {
270
- indeterminate.value = true;
271
- }
272
- debounceTextFn(searchValue.value);
273
- },
274
- { deep: true },
275
- );
276
- </script>
277
-
278
- <template>
279
- <div class="o-meeting-playback-subtitles">
280
- <div class="search-captions">
281
- <OInput
282
- v-model="searchValue"
283
- @keydown.enter="nextKeyword"
284
- @keydown.shift.enter.stop="prevKeyword"
285
- :placeholder="t('meeting.searchSubtitlePlaceholder')"
286
- size="large"
287
- class="input-captions"
288
- >
289
- <template #prefix>
290
- <OIcon>
291
- <IconSearch />
292
- </OIcon>
293
- </template>
294
- <template #suffix>
295
- <div v-if="searchValue" class="suffix-box">
296
- <span>{{ current }}/{{ total }}</span>
297
- <OIcon @click="prevKeyword">
298
- <IconChevronUp />
299
- </OIcon>
300
- <OIcon @click="nextKeyword">
301
- <IconChevronDown />
302
- </OIcon>
303
- <ODivider direction="v" />
304
- <OIcon class="hover-close" @click="searchValue = ''">
305
- <IconClose />
306
- </OIcon>
307
- </div>
308
- </template>
309
- </OInput>
310
- <div class="right-handle">
311
- <ElSelect
312
- multiple
313
- v-model="speakers"
314
- popper-class="speakers-selector-popper"
315
- class="speakers-selector"
316
- placement="bottom">
317
- <template #prefix>
318
- <OIcon>
319
- <IconSpeaker />
320
- </OIcon>
321
- </template>
322
- <template #header>
323
- <ElCheckbox v-model="checkAll" :indeterminate="indeterminate" @change="handleCheckAll">{{ ALL }}
324
- </ElCheckbox>
325
- </template>
326
- <ElOption v-for="t in options" :key="t" :label="t" :value="t">
327
- <ElCheckbox :model-value="speakers.includes(t)">{{ t }}</ElCheckbox>
328
- </ElOption>
329
- </ElSelect>
330
- </div>
331
- </div>
332
- <OTab v-model="activeTab" variant="text" class="captions-tab" @change="changeTab" :max-show="9999">
333
- <OTabPane :value="0" :label="t('meeting.audioToText')">
334
- <OScroller v-if="computedCaptions.length" id="captionsScrollDom" class="captions-scroller" show-type="hover"
335
- size="small" disabled-x>
336
- <ORow gap="0 8px" wrap="wrap">
337
- <OCol flex="0 0 100%" v-for="(item, i) in computedCaptions" :key="i">
338
- <div class="captions-item" :class="{ 'captions-item-active': currentIndex === i + 1 }"
339
- @click="videoPosition(item.start_time)">
340
- <div class="info">
341
- <div class="num">{{ item.speakerIdx }}</div>
342
- <div class="speaker">{{ item.speakerLabel }}</div>
343
- <div class="start-time">{{ formatTime(item.start_time) }}</div>
344
- <OIcon v-if="currentIndex === i + 1" class="playing initial-fill">
345
- <IconPlaying />
346
- </OIcon>
347
- </div>
348
- <div class="text" v-dompurify-html="item.contentHtml"></div>
349
- </div>
350
- </OCol>
351
- </ORow>
352
- </OScroller>
353
- <div v-else>
354
- <slot name="empty"></slot>
355
- </div>
356
- </OTabPane>
357
- </OTab>
358
- </div>
359
- </template>
360
-
361
- <style lang="scss">
362
- .o-meeting-playback-subtitles {
363
- width: 100%;
364
- height: 100%;
365
- min-height: calc(var(--layout-content-min-height) - 104px);
366
- background-color: var(--o-color-fill2);
367
- border-radius: var(--meeting-card-radius);
368
-
369
- .search-captions {
370
- display: flex;
371
- align-items: center;
372
- gap: var(--o-gap-4);
373
-
374
- .input-captions {
375
- --input-radius: var(--meeting-input-radius);
376
- --_box-radius: var(--meeting-input-radius);
377
- flex-grow: 1;
378
-
379
- .o-icon {
380
- font-size: 24px;
381
- }
382
-
383
- .suffix-box {
384
- display: flex;
385
- align-items: center;
386
- gap: var(--o-gap-2);
387
-
388
- .o-icon {
389
- font-size: 20px;
390
- cursor: pointer;
391
- @include hover {
392
- color: var(--o-color-primary1);
393
- }
394
- }
395
-
396
- .o-divider {
397
- --o-divider-label-gap: 0;
398
- }
399
-
400
- .hover-close {
401
- width: 24px;
402
- height: 24px;
403
- transition: all var(--o-duration-m1) var(--o-easing-standard-in);
404
- @include hover {
405
- transform: rotate(-180deg);
406
- }
407
- }
408
- }
409
- }
410
-
411
- .right-handle {
412
- flex-shrink: 0;
413
- display: flex;
414
- align-items: center;
415
- gap: var(--o-gap-4);
416
-
417
- .o-icon {
418
- font-size: 16px;
419
- cursor: pointer;
420
- color: var(--o-color-info2);
421
- @include hover {
422
- color: var(--o-color-primary1);
423
- }
424
- }
425
-
426
- .speakers-selector {
427
- --select-height: 16px;
428
- height: fit-content;
429
- width: fit-content;
430
-
431
- .el-select__wrapper {
432
- box-shadow: none;
433
- padding: 0;
434
- }
435
-
436
- .el-select__selection,
437
- .el-select__suffix {
438
- display: none;
439
- }
440
- }
441
- }
442
- }
443
-
444
- .o-tab {
445
- margin-top: var(--o-gap-5);
446
- height: calc(100% - 64px);
447
- --tab-nav-justify: flex-start;
448
-
449
- .o-tab-nav-list {
450
- width: 100%;
451
- }
452
- .o-tab-navs {
453
-
454
- .o-tab-nav {
455
- padding-bottom: var(--o-gap-4);
456
- }
457
- }
458
-
459
- .o-tab-body {
460
- height: calc(100% - var(--o-line_height-text2) - var(--o-gap-4));
461
- .o-tab-pane {
462
- height: 100%;
463
- padding-top: var(--o-gap-5);
464
-
465
- .o-scroller {
466
- height: 100%;
467
-
468
- .o-scrollbar {
469
- width: calc(100% + 16px);
470
- }
471
- }
472
- }
473
- }
474
-
475
- .o-row {
476
- margin-top: var(--o-gap-5);
477
- }
478
- }
479
-
480
- .captions-tab {
481
- .captions-scroller {
482
- @include respond('<=pad_v') {
483
- max-height: 600px;
484
- }
485
- }
486
-
487
- .captions-item {
488
- padding: 4px 8px;
489
- cursor: pointer;
490
- border-radius: var(--meeting-cell-radius);
491
- @include hover {
492
- background-color: rgba(var(--o-blue-6), 0.1);
493
- }
494
-
495
- &.captions-item-active {
496
- background-color: rgba(var(--o-blue-6), 0.1);
497
- }
498
-
499
- .info {
500
- display: flex;
501
- align-items: center;
502
-
503
- .num {
504
- width: 18px;
505
- height: 18px;
506
- border-radius: 50%;
507
- background-color: var(--o-color-primary1);
508
- color: var(--o-color-info1-inverse);
509
- display: flex;
510
- justify-content: center;
511
- align-items: center;
512
- @include tip2;
513
- }
514
-
515
- .speaker {
516
- color: var(--o-color-info3);
517
- margin-left: 4px;
518
- @include tip2;
519
- }
520
-
521
- .start-time {
522
- color: var(--o-color-info3);
523
- margin-left: 16px;
524
- @include tip2;
525
- }
526
-
527
- .playing {
528
- margin-left: 16px;
529
- color: var(--o-color-primary1);
530
-
531
- svg {
532
- width: 16px;
533
- height: 16px;
534
- }
535
- }
536
- }
537
-
538
- .text {
539
- color: var(--o-color-info2);
540
- margin-top: 8px;
541
- @include text1;
542
-
543
- .light-keyword {
544
- background-color: rgba(var(--o-blue-6), 0.2);
545
- }
546
-
547
- .light-keyword-active {
548
- background-color: rgba(var(--o-blue-6), 0.4);
549
- }
550
- }
551
- }
552
- }
553
- }
554
- </style>
555
-
556
- <style lang="scss">
557
- .speakers-selector-popper {
558
- border: none;
559
- --item-height: 40px;
560
- --el-color-primary: var(--o-color-primary1);
561
-
562
- .el-select-dropdown {
563
- padding: 4px;
564
- }
565
-
566
- .el-checkbox {
567
- width: 100%;
568
- cursor: pointer;
569
- display: flex;
570
- align-items: center;
571
- }
572
- .el-select-dropdown__header {
573
- height: var(--item-height);
574
- display: flex;
575
- align-items: center;
576
- padding: 0 12px;
577
- border-bottom: 0;
578
- cursor: pointer;
579
-
580
- &:hover {
581
- background-color: var(--o-color-control2-light);
582
- }
583
- }
584
-
585
- .el-select-dropdown__list {
586
- padding: 2px 0 0;
587
-
588
- .el-select-dropdown__item {
589
- padding: 0 12px;
590
- height: var(--item-height);
591
- display: flex;
592
- align-items: center;
593
- cursor: pointer;
594
-
595
- &.is-selected,
596
- &.is-hovering {
597
- background-color: transparent;
598
- }
599
-
600
- &.is-selected::after {
601
- content: none;
602
- display: none;
603
- }
604
-
605
- &:hover {
606
- background-color: var(--o-color-control2-light);
607
- }
608
- }
609
-
610
- .el-select-dropdown__item + .el-select-dropdown__item {
611
- margin-top: 2px;
612
- }
613
- }
614
- }
615
- </style>