@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,157 +0,0 @@
1
- import { ref, onBeforeUnmount, type Ref } from 'vue';
2
- import type { OSearchUploadImageFn } from '../types';
3
-
4
- export interface UseImageSearchOptions {
5
- uploadImage?: Ref<OSearchUploadImageFn | undefined>;
6
- maxImageSize: Ref<number>;
7
- allowedImageTypes?: Ref<string[]>;
8
- onUploadStart?: (file: File) => void;
9
- onUploadSuccess?: (url: string, file: File) => void;
10
- onUploadError?: (error: unknown, file: File) => void;
11
- onValidationError?: (reason: 'size' | 'type', file: File) => void;
12
- }
13
-
14
- export function useImageSearch(options: UseImageSearchOptions) {
15
- const previewUrl = ref('');
16
- const file = ref<File | null>(null);
17
- const uploadedUrl = ref('');
18
- const isUploading = ref(false);
19
- let uploadPromise: Promise<void> | null = null;
20
-
21
- const validate = (f: File) => {
22
- const allowed = options.allowedImageTypes?.value;
23
- const typeOk = allowed && allowed.length > 0 ? allowed.includes(f.type) : f.type?.startsWith('image/');
24
- if (!f.type || !typeOk) {
25
- options.onValidationError?.('type', f);
26
- return false;
27
- }
28
- if (options.maxImageSize.value > 0 && f.size > options.maxImageSize.value) {
29
- options.onValidationError?.('size', f);
30
- return false;
31
- }
32
- return true;
33
- };
34
-
35
- const reset = () => {
36
- if (previewUrl.value) {
37
- try {
38
- URL.revokeObjectURL(previewUrl.value);
39
- } catch {
40
- // ignore
41
- }
42
- }
43
- previewUrl.value = '';
44
- file.value = null;
45
- uploadedUrl.value = '';
46
- isUploading.value = false;
47
- uploadPromise = null;
48
- };
49
-
50
- const setExternalUrl = (url: string) => {
51
- if (!url) {
52
- if (!file.value) reset();
53
- return;
54
- }
55
- if (uploadedUrl.value === url) return;
56
- if (previewUrl.value && previewUrl.value.startsWith('blob:')) {
57
- try {
58
- URL.revokeObjectURL(previewUrl.value);
59
- } catch {
60
- // ignore
61
- }
62
- }
63
- uploadedUrl.value = url;
64
- previewUrl.value = url;
65
- file.value = null;
66
- };
67
-
68
- const handleImageFile = (f: File) => {
69
- if (!validate(f)) return;
70
-
71
- reset();
72
- file.value = f;
73
- previewUrl.value = URL.createObjectURL(f);
74
- options.onUploadStart?.(f);
75
-
76
- const fn = options.uploadImage?.value;
77
- if (!fn) {
78
- return;
79
- }
80
-
81
- isUploading.value = true;
82
- uploadPromise = Promise.resolve()
83
- .then(() => fn(f))
84
- .then((url) => {
85
- if (url && file.value === f) {
86
- uploadedUrl.value = url;
87
- options.onUploadSuccess?.(url, f);
88
- }
89
- })
90
- .catch((err) => {
91
- options.onUploadError?.(err, f);
92
- })
93
- .finally(() => {
94
- isUploading.value = false;
95
- });
96
- };
97
-
98
- const onPaste = (event: ClipboardEvent) => {
99
- const items = event.clipboardData?.items;
100
- if (!items) return;
101
- for (let i = 0; i < items.length; i++) {
102
- const item = items[i];
103
- if (item.type.startsWith('image/')) {
104
- const f = item.getAsFile();
105
- if (f) handleImageFile(f);
106
- break;
107
- }
108
- }
109
- };
110
-
111
- const onDragOver = (event: DragEvent) => {
112
- event.preventDefault();
113
- event.stopPropagation();
114
- };
115
-
116
- const onDrop = (event: DragEvent) => {
117
- event.preventDefault();
118
- event.stopPropagation();
119
- const f = event.dataTransfer?.files?.[0];
120
- if (f && f.type.startsWith('image/')) {
121
- handleImageFile(f);
122
- }
123
- };
124
-
125
- const onFileChange = (event: Event) => {
126
- const target = event.target as HTMLInputElement;
127
- const f = target.files?.[0];
128
- if (f) handleImageFile(f);
129
- if (target) target.value = '';
130
- };
131
-
132
- const pickFile = (input: HTMLInputElement | undefined) => {
133
- if (!input) return;
134
- input.value = '';
135
- input.click();
136
- };
137
-
138
- const awaitUpload = () => uploadPromise ?? Promise.resolve();
139
-
140
- onBeforeUnmount(reset);
141
-
142
- return {
143
- previewUrl,
144
- file,
145
- uploadedUrl,
146
- isUploading,
147
- onPaste,
148
- onDrop,
149
- onDragOver,
150
- onFileChange,
151
- pickFile,
152
- handleImageFile,
153
- reset,
154
- setExternalUrl,
155
- awaitUpload,
156
- };
157
- }
@@ -1,23 +0,0 @@
1
- import _OSearchInput from './OSearchInput.vue';
2
- import type { App } from 'vue';
3
-
4
- const OSearchInput = Object.assign(_OSearchInput, {
5
- install(app: App) {
6
- app.component('OSearchInput', _OSearchInput);
7
- },
8
- });
9
-
10
- export { OSearchInput };
11
-
12
- export type {
13
- OSearchRecommendItem,
14
- OSearchPayload,
15
- OSearchImageUploadErrorPayload,
16
- OSearchUploadImageFn,
17
- OSearchItemClickType,
18
- OSearchHighlightPart,
19
- } from './types';
20
-
21
- // Public prop type aliases (re-exported from .vue SFCs).
22
- // Vue SFC type shims don't always re-export named types, so consumers should rely on
23
- // ComponentProps<typeof Component> if they need props typing.
@@ -1,37 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue';
3
- import { highlightKeywordParts } from '../composables/useKeywordHighlight';
4
-
5
- const props = withDefaults(
6
- defineProps<{
7
- text: string;
8
- keyword: string;
9
- enabled?: boolean;
10
- }>(),
11
- {
12
- enabled: true,
13
- }
14
- );
15
-
16
- const parts = computed(() => {
17
- if (!props.enabled || !props.keyword) {
18
- return [{ text: props.text, match: false }];
19
- }
20
- return highlightKeywordParts(props.text, props.keyword);
21
- });
22
- </script>
23
-
24
- <template>
25
- <span class="o-search-highlight-text">
26
- <span v-for="(p, idx) in parts" :key="idx" :class="{ 'is-match': p.match }">{{ p.text }}</span>
27
- </span>
28
- </template>
29
-
30
- <style lang="scss" scoped>
31
- .o-search-highlight-text {
32
- .is-match {
33
- color: var(--o-color-primary1);
34
- font-weight: 600;
35
- }
36
- }
37
- </style>
@@ -1,498 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, nextTick, ref, watch } from 'vue';
3
- import { OFigure, OIcon, OInput, OPopover } from '@opensig/opendesign';
4
- import { useImageSearch } from '../composables/useImageSearch';
5
- import { useI18n } from '@/i18n';
6
- import type { OSearchUploadImageFn } from '../types';
7
-
8
- import IconSearch from '~icons/components/icon-header-search.svg';
9
- import IconClose from '~icons/components/icon-close.svg';
10
- import IconImageUpload from '~icons/components/icon-image-upload.svg';
11
- import IconImageClose from '~icons/components/icon-delete-hover.svg';
12
- import IconImageZoomin from '~icons/components/icon-image-zoomin.svg';
13
-
14
- export interface SearchImageInputPropsT {
15
- modelValue?: string;
16
- imageUrl?: string;
17
- placeholder?: string;
18
- imagePlaceholder?: string;
19
- size?: 'small' | 'medium' | 'large';
20
- enableImageSearch?: boolean;
21
- uploadImage?: OSearchUploadImageFn;
22
- maxImageSize?: number;
23
- imageUploadTooltip?: string;
24
- /** Show preview block below input when true and image staged */
25
- expanded?: boolean;
26
- /** Whether to render the clear icon when there is content */
27
- clearable?: boolean;
28
- /** Show the right suffix area (upload + clear). When false, suffix is empty. */
29
- showSuffix?: boolean;
30
- /** When true, render thumbnail inline inside prefix area (compact mode) */
31
- inlineThumbnail?: boolean;
32
- preview?: boolean;
33
- disabled?: boolean;
34
- allowedImageTypes?: string[];
35
- }
36
-
37
- const props = withDefaults(defineProps<SearchImageInputPropsT>(), {
38
- modelValue: '',
39
- imageUrl: '',
40
- size: 'medium',
41
- enableImageSearch: false,
42
- maxImageSize: 10 * 1024 * 1024,
43
- expanded: true,
44
- clearable: true,
45
- showSuffix: true,
46
- inlineThumbnail: false,
47
- preview: true,
48
- disabled: false,
49
- allowedImageTypes: () => ['image/jpeg', 'image/png', 'image/gif', 'image/webp'],
50
- });
51
-
52
- const emit = defineEmits<{
53
- (e: 'update:modelValue', val: string): void;
54
- (e: 'update:imageUrl', url: string): void;
55
- (e: 'focus', ev: FocusEvent): void;
56
- (e: 'blur', ev: FocusEvent): void;
57
- (e: 'enter'): void;
58
- (e: 'clear'): void;
59
- (e: 'image-clear'): void;
60
- (e: 'image-upload-start', file: File): void;
61
- (e: 'image-upload-success', url: string, file: File): void;
62
- (e: 'image-upload-error', error: unknown, file: File): void;
63
- (e: 'image-validate-error', reason: 'size' | 'type', file: File): void;
64
- (e: 'preview-change', visible: boolean): void;
65
- }>();
66
-
67
- const { t } = useI18n();
68
-
69
- const uploadImageRef = computed(() => props.uploadImage);
70
- const maxImageSizeRef = computed(() => props.maxImageSize);
71
- const allowedImageTypesRef = computed(() => props.allowedImageTypes);
72
- const acceptAttr = computed(() => (props.allowedImageTypes ?? []).join(','));
73
-
74
- const image = useImageSearch({
75
- uploadImage: uploadImageRef,
76
- maxImageSize: maxImageSizeRef,
77
- allowedImageTypes: allowedImageTypesRef,
78
- onUploadStart: (file) => emit('image-upload-start', file),
79
- onUploadSuccess: (url, file) => {
80
- emit('update:imageUrl', url);
81
- emit('image-upload-success', url, file);
82
- },
83
- onUploadError: (error, file) => emit('image-upload-error', error, file),
84
- onValidationError: (reason, file) => emit('image-validate-error', reason, file),
85
- });
86
-
87
- const fileInputRef = ref<HTMLInputElement>();
88
- const inputRef = ref<InstanceType<typeof OInput>>();
89
- const uploadBtnRef = ref<HTMLElement | null>(null);
90
-
91
- const innerValue = computed({
92
- get: () => props.modelValue,
93
- set: (val: string) => emit('update:modelValue', val),
94
- });
95
-
96
- watch(
97
- () => props.imageUrl,
98
- (val) => {
99
- image.setExternalUrl(val);
100
- },
101
- { immediate: true }
102
- );
103
-
104
- const showThumbnail = computed(() => !!image.previewUrl.value);
105
-
106
- const placeholder = computed(() => {
107
- if (showThumbnail.value) {
108
- return props.imagePlaceholder ?? t('search.extendedPlaceholder');
109
- }
110
- return props.placeholder ?? t('search.placeholder');
111
- });
112
-
113
- const handleClear = () => {
114
- innerValue.value = '';
115
- if (showThumbnail.value) {
116
- handleImageClear();
117
- }
118
- emit('clear');
119
- };
120
-
121
- const handleImageClear = () => {
122
- image.reset();
123
- emit('update:imageUrl', '');
124
- emit('image-clear');
125
- };
126
-
127
- const handleUploadClick = () => {
128
- image.pickFile(fileInputRef.value);
129
- nextTick(() => inputRef.value?.focus?.());
130
- };
131
-
132
- const handleFileSelect = (event: Event) => {
133
- image.onFileChange(event);
134
- nextTick(() => inputRef.value?.focus?.());
135
- };
136
-
137
- const handlePaste = (event: ClipboardEvent) => {
138
- if (!props.enableImageSearch) return;
139
- image.onPaste(event);
140
- };
141
-
142
- const handleDragOver = (event: DragEvent) => {
143
- if (!props.enableImageSearch) return;
144
- image.onDragOver(event);
145
- };
146
-
147
- const handleDrop = (event: DragEvent) => {
148
- if (!props.enableImageSearch) return;
149
- image.onDrop(event);
150
- };
151
-
152
- const onPreviewChange = (visible: boolean) => {
153
- emit('preview-change', visible);
154
- };
155
-
156
- const hasValue = computed(() => !!innerValue.value || showThumbnail.value);
157
-
158
- const awaitUpload = () => image.awaitUpload();
159
-
160
- defineExpose({
161
- focus: () => inputRef.value?.focus?.(),
162
- blur: () => inputRef.value?.blur?.(),
163
- awaitUpload,
164
- getUploadedUrl: () => image.uploadedUrl.value,
165
- getIsUploading: () => image.isUploading.value,
166
- resetImage: () => {
167
- image.reset();
168
- emit('update:imageUrl', '');
169
- },
170
- });
171
- </script>
172
-
173
- <template>
174
- <div
175
- class="o-search-image-input"
176
- :class="{ 'has-image': showThumbnail, 'is-expanded': expanded && showThumbnail }"
177
- @dragover="handleDragOver"
178
- @drop="handleDrop"
179
- >
180
- <div class="o-search-image-input-row">
181
- <OInput
182
- ref="inputRef"
183
- v-model="innerValue"
184
- :placeholder="placeholder"
185
- :size="size"
186
- :disabled="disabled"
187
- class="o-search-image-input-input"
188
- @pressEnter="emit('enter')"
189
- @focus="(e: FocusEvent) => emit('focus', e)"
190
- @blur="(e: FocusEvent) => emit('blur', e)"
191
- @paste="handlePaste"
192
- >
193
- <template #prefix>
194
- <slot name="prefix">
195
- <OIcon class="o-search-image-input-icon">
196
- <IconSearch />
197
- </OIcon>
198
- </slot>
199
- <div v-if="inlineThumbnail && showThumbnail" class="o-search-image-input-thumb">
200
- <OFigure :src="image.previewUrl.value" alt="" class="o-search-image-input-thumb-figure" />
201
- <div class="o-search-image-input-thumb-zoom" @mousedown.prevent>
202
- <OIcon class="o-search-image-input-thumb-zoom-icon"><IconImageZoomin /></OIcon>
203
- </div>
204
- <OIcon class="o-search-image-input-thumb-remove" @mousedown.prevent @click.stop="handleImageClear">
205
- <IconImageClose />
206
- </OIcon>
207
- </div>
208
- </template>
209
-
210
- <template v-if="showSuffix" #suffix>
211
- <slot name="suffix" :has-value="hasValue">
212
- <span v-if="enableImageSearch" ref="uploadBtnRef" class="o-search-image-input-upload-btn">
213
- <OIcon class="o-search-image-input-icon upload" @click.stop="handleUploadClick">
214
- <IconImageUpload />
215
- </OIcon>
216
- </span>
217
- <OPopover
218
- v-if="enableImageSearch && uploadBtnRef"
219
- trigger="hover"
220
- position="bottom"
221
- :target="uploadBtnRef"
222
- body-class="o-search-image-input-tooltip"
223
- >
224
- {{ imageUploadTooltip ?? t('search.imageUploadTooltip') }}
225
- </OPopover>
226
- <OIcon
227
- v-if="clearable && hasValue"
228
- class="o-search-image-input-icon close"
229
- @mousedown.prevent
230
- @click.stop="handleClear"
231
- >
232
- <IconClose />
233
- </OIcon>
234
- </slot>
235
- </template>
236
- </OInput>
237
- </div>
238
-
239
- <div v-if="expanded && showThumbnail" class="o-search-image-input-preview">
240
- <slot name="preview" :preview-url="image.previewUrl.value" :remove="handleImageClear">
241
- <div class="o-search-image-input-preview-wrapper">
242
- <OFigure
243
- :src="image.previewUrl.value"
244
- :preview="preview"
245
- alt=""
246
- class="o-search-image-input-preview-figure"
247
- @preview="onPreviewChange"
248
- />
249
- <div class="o-search-image-input-preview-zoom">
250
- <OIcon class="o-search-image-input-preview-zoom-icon"><IconImageZoomin /></OIcon>
251
- </div>
252
- <OIcon class="o-search-image-input-preview-remove" @click.stop="handleImageClear">
253
- <IconImageClose />
254
- </OIcon>
255
- </div>
256
- </slot>
257
- </div>
258
-
259
- <input
260
- v-if="enableImageSearch"
261
- ref="fileInputRef"
262
- type="file"
263
- :accept="acceptAttr"
264
- class="o-search-image-input-file"
265
- @change="handleFileSelect"
266
- />
267
- </div>
268
- </template>
269
-
270
- <style lang="scss" scoped>
271
- .o-search-image-input {
272
- display: flex;
273
- flex-direction: column;
274
- border: 1px solid transparent;
275
- border-radius: var(--o-radius-xs);
276
- background-color: var(--o-color-fill2);
277
- transition: border-color var(--o-duration-m1);
278
-
279
- &.is-expanded {
280
- border-color: var(--o-color-primary1);
281
-
282
- :deep(.o-input.el-input .el-input__wrapper),
283
- :deep(.o_box-main) {
284
- border: none !important;
285
- border-radius: var(--o-radius-xs) var(--o-radius-xs) 0 0;
286
- box-shadow: none !important;
287
- }
288
- }
289
- }
290
-
291
- .o-search-image-input-row {
292
- display: flex;
293
- align-items: center;
294
- }
295
-
296
- .o-search-image-input-input {
297
- width: 100%;
298
- }
299
-
300
- .o-search-image-input-icon {
301
- cursor: pointer;
302
- color: var(--o-color-info1);
303
- font-size: 16px;
304
-
305
- &.close {
306
- font-size: 16px;
307
- @include x-svg-hover;
308
- }
309
-
310
- &.upload {
311
- fill: var(--o-color-info1);
312
- }
313
- }
314
-
315
- .o-search-image-input-upload-btn {
316
- display: inline-flex;
317
- align-items: center;
318
- justify-content: center;
319
- width: 16px;
320
- height: 16px;
321
- border-radius: 4px;
322
- margin-right: 8px;
323
- cursor: pointer;
324
- flex-shrink: 0;
325
-
326
- @include hover {
327
- background-color: var(--o-color-control2-light);
328
-
329
- .o-search-image-input-icon.upload {
330
- color: var(--o-color-primary2);
331
- }
332
- }
333
- }
334
-
335
- .o-search-image-input-file {
336
- display: none;
337
- }
338
-
339
- .o-search-image-input-thumb {
340
- display: inline-flex;
341
- align-items: center;
342
- margin-left: 8px;
343
- position: relative;
344
- overflow: visible;
345
- flex-shrink: 0;
346
-
347
- @include hover {
348
- .o-search-image-input-thumb-remove,
349
- .o-search-image-input-thumb-zoom {
350
- opacity: 1;
351
- }
352
- }
353
- }
354
-
355
- .o-search-image-input-thumb-figure {
356
- height: 40px;
357
- width: 40px;
358
- border-radius: 4px;
359
- overflow: hidden;
360
-
361
- :deep(img) {
362
- height: 40px;
363
- width: 40px;
364
- object-fit: cover;
365
- object-position: center;
366
- border-radius: 4px;
367
- }
368
-
369
- @include respond-to('pad_v-pc_s') {
370
- height: 32px;
371
- width: 32px;
372
- }
373
-
374
- @include respond-to('<=pad_v') {
375
- height: 24px;
376
- width: 24px;
377
- }
378
- }
379
-
380
- .o-search-image-input-thumb-zoom {
381
- position: absolute;
382
- inset: 0;
383
- display: flex;
384
- align-items: center;
385
- justify-content: center;
386
- background-color: rgba(0, 0, 0, 0.3);
387
- border-radius: 4px;
388
- pointer-events: auto;
389
- cursor: pointer;
390
- opacity: 0;
391
- transition: opacity var(--o-duration-m1);
392
-
393
- .o-search-image-input-thumb-zoom-icon {
394
- color: #fff;
395
- font-size: 16px;
396
- }
397
- }
398
-
399
- .o-search-image-input-thumb-remove {
400
- position: absolute;
401
- top: -8px;
402
- right: -8px;
403
- width: 16px;
404
- height: 16px;
405
- display: flex !important;
406
- align-items: center;
407
- justify-content: center;
408
- cursor: pointer;
409
- opacity: 0;
410
- z-index: 1;
411
- transition: opacity var(--o-duration-m1);
412
-
413
- :deep(svg) {
414
- width: 16px;
415
- height: 16px;
416
- fill: rgb(var(--o-mixedgray-9));
417
- }
418
- }
419
-
420
- .o-search-image-input-preview {
421
- padding: 0 12px 8px;
422
-
423
- .o-search-image-input-preview-wrapper {
424
- position: relative;
425
- display: inline-flex;
426
- overflow: visible;
427
- margin-top: 8px;
428
-
429
- @include hover {
430
- .o-search-image-input-preview-remove,
431
- .o-search-image-input-preview-zoom {
432
- opacity: 1;
433
- }
434
- }
435
- }
436
-
437
- .o-search-image-input-preview-zoom {
438
- position: absolute;
439
- inset: 0;
440
- display: flex;
441
- align-items: center;
442
- justify-content: center;
443
- background-color: rgba(0, 0, 0, 0.3);
444
- border-radius: 4px;
445
- pointer-events: none;
446
- opacity: 0;
447
- transition: opacity var(--o-duration-m1);
448
-
449
- .o-search-image-input-preview-zoom-icon {
450
- color: #fff;
451
- font-size: 24px;
452
- }
453
- }
454
-
455
- .o-search-image-input-preview-figure {
456
- height: 72px;
457
- width: 72px;
458
- border-radius: 4px;
459
- overflow: hidden;
460
-
461
- :deep(img) {
462
- height: 72px;
463
- width: 72px;
464
- object-fit: cover;
465
- object-position: center;
466
- border-radius: 4px;
467
- }
468
- }
469
-
470
- .o-search-image-input-preview-remove {
471
- position: absolute;
472
- top: -8px;
473
- right: -8px;
474
- width: 16px;
475
- height: 16px;
476
- display: flex !important;
477
- align-items: center;
478
- justify-content: center;
479
- cursor: pointer;
480
- opacity: 0;
481
- z-index: 1;
482
- transition: opacity var(--o-duration-m1);
483
-
484
- :deep(svg) {
485
- width: 16px;
486
- height: 16px;
487
- }
488
- }
489
- }
490
- </style>
491
-
492
- <style lang="scss">
493
- .o-search-image-input-tooltip {
494
- padding: var(--o-gap-3) var(--o-gap-4);
495
- max-width: 240px;
496
- @include tip2;
497
- }
498
- </style>