@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,1131 +0,0 @@
1
- <script setup lang="ts">
2
- import { ElDatePicker, ElInputNumber, ElTimeSelect } from 'element-plus';
3
- import { computed, onMounted, ref, watch } from 'vue';
4
- import {
5
- OButton,
6
- OForm,
7
- OFormItem,
8
- OIcon,
9
- OIconTime,
10
- OInput,
11
- OOption,
12
- OPopover,
13
- ORadio,
14
- ORadioGroup,
15
- OSelect,
16
- OSwitch,
17
- OTextarea, RulesT,
18
- useMessage,
19
- } from '@opensig/opendesign';
20
- import IconHelp from '~icons/meeting/icon-help.svg';
21
- import IconTip from '~icons/meeting/icon-tip.svg';
22
- import {
23
- CycleSubItemT,
24
- MeetingFormPropsT,
25
- MeetingGroupType,
26
- MeetingItemT,
27
- MeetingPostT,
28
- OptionItemT,
29
- PlatformT,
30
- } from './types';
31
- import dayjs from 'dayjs';
32
- import { findLabelFromOptions, formatDateNumber, getDateNumber } from './utils';
33
- import { EMAIL_REGEX, INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_WEEK } from './config';
34
- import OMeetingCalendarSelector from './components/OMeetingCalendarSelector.vue';
35
- import { useScreen } from '@opendesign-plus/composables';
36
- import { useMeetingConfig } from './composables/useMeetingConfig';
37
- import { ValidatorResultT } from '@opensig/opendesign/lib/form/types';
38
-
39
- const { t, locale, cycleTypeOptions0, intervalWeekOptions, getPlatformLabel } = useMeetingConfig();
40
-
41
- const props = withDefaults(defineProps<MeetingFormPropsT>(), {
42
- showBtns: true,
43
- groupType: MeetingGroupType.SIG,
44
- });
45
- const message = useMessage(null);
46
-
47
- const cycleTypeOptions = cycleTypeOptions0;
48
- const weekOptions = intervalWeekOptions;
49
-
50
- const isEdit = computed(() => Object.keys(props?.data || {}).length > 0);
51
- const isSub = computed(() => !!props.subId);
52
- const intervalTypeMax = computed(() => {
53
- return findLabelFromOptions(form.value.cycle_type, cycleTypeOptions.value, 'max');
54
- });
55
- const initForm: MeetingPostT = {
56
- is_record: true,
57
- agenda: '',
58
- email_list: '',
59
- platform: 'WELINK',
60
- topic: '',
61
- group_name: '',
62
- etherpad: '',
63
- date: '',
64
- date_range: [],
65
- start: '',
66
- end: '',
67
- time: '',
68
- is_cycle: false,
69
- cycle_interval: 1,
70
- cycle_type: INTERVAL_DAY,
71
- cycle_point: [],
72
- };
73
- const form = ref<MeetingPostT>(Object.assign({}, initForm) as unknown as MeetingPostT); // 表单数据
74
- const formRef = ref<any>(null); // 表单实例
75
- const loading = ref(false); // 提交状态
76
- // 表单校验规则
77
- const rules = computed<Record<string, RulesT[]>>(() => {
78
- return {
79
- topic: [
80
- { required: true, message: t('meeting.enterMeetingName') },
81
- {
82
- validator: (value: string) => {
83
- if (value.length > 128) {
84
- return {
85
- type: 'danger',
86
- message: t('meeting.meetingNameTooLong'),
87
- };
88
- }
89
- },
90
- },
91
- ],
92
- agenda: [
93
- {
94
- validator: (value: string) => {
95
- if (value.length > 4096) {
96
- return {
97
- type: 'danger',
98
- message: t('meeting.meetingAgendaTooLong'),
99
- };
100
- }
101
- },
102
- },
103
- ],
104
- group_name: [{
105
- required: true,
106
- message: props.groupType === MeetingGroupType.GROUP ? t('meeting.selectGroup') : t('meeting.selectSig'),
107
- }],
108
- etherpad: [{ required: true, message: t('meeting.enterEtherpad') }],
109
- date: [{ required: true, message: t('meeting.selectDate') }],
110
- platform: [{ required: true, message: t('meeting.selectPlatform') }],
111
- time: [
112
- {
113
- validator: (value: any) => {
114
- const { is_cycle, cycle_type, cycle_interval, cycle_point, date, date_range } = form.value;
115
- if (is_cycle) {
116
- const msg = t('meeting.finishMeetingConfig');
117
- if (cycle_type === INTERVAL_DAY) {
118
- if (!cycle_interval) {
119
- return {
120
- type: 'danger',
121
- message: msg,
122
- };
123
- }
124
- }
125
- if (cycle_type === INTERVAL_WEEK) {
126
- if (!cycle_interval || !cycle_point?.length) {
127
- return {
128
- type: 'danger',
129
- message: msg,
130
- };
131
- }
132
- }
133
- if (cycle_type === INTERVAL_MONTH) {
134
- if (!cycle_interval || !cycle_point?.length) {
135
- return {
136
- type: 'danger',
137
- message: msg,
138
- };
139
- }
140
- }
141
- if (!date_range?.length) {
142
- return {
143
- type: 'danger',
144
- message: t('meeting.selectMeetingDate'),
145
- };
146
- }
147
- const NONE_MSG = t('meeting.invalidMeetingDuration');
148
- let start = date_range[0];
149
- const end = date_range[1];
150
- if (cycle_type === INTERVAL_WEEK) {
151
- const weeks = new Set();
152
- while (!dayjs(start).isAfter(dayjs(end))) {
153
- weeks.add(dayjs(start).day());
154
- start = dayjs(start).add(1, 'day').format('YYYY-MM-DD');
155
- }
156
- if (cycle_point.every((point) => !weeks.has(point))) {
157
- return {
158
- type: 'danger',
159
- message: NONE_MSG,
160
- };
161
- }
162
- }
163
- if (cycle_type === INTERVAL_MONTH) {
164
- const days = new Set();
165
- while (!dayjs(start).isAfter(dayjs(end))) {
166
- days.add(dayjs(start).date());
167
- start = dayjs(start).add(1, 'day').format('YYYY-MM-DD');
168
- }
169
- if (cycle_point.every((point) => !days.has(point))) {
170
- return {
171
- type: 'danger',
172
- message: NONE_MSG,
173
- };
174
- }
175
- }
176
- } else {
177
- if (!date) {
178
- return {
179
- type: 'danger',
180
- message: t('meeting.selectMeetingDate'),
181
- };
182
- }
183
- }
184
- if (!value?.trim()?.length) {
185
- return {
186
- type: 'danger',
187
- message: t('meeting.selectMeetingTime'),
188
- };
189
- }
190
- const arr = value.split('-').map((v: string) => v.split(':').map(Number));
191
- if (arr[0][0] > arr[1][0] || (arr[0][0] === arr[1][0] && arr[0][1] >= arr[1][1])) {
192
- return {
193
- type: 'danger',
194
- message: t('meeting.endTimeAfterStartTime'),
195
- };
196
- }
197
- if (!form.value.is_cycle && form.value.date && form.value.start) {
198
- const start = `${ form.value.date } ${ form.value.start }`;
199
- if (dayjs(start).isBefore(dayjs())) {
200
- return {
201
- type: 'danger',
202
- message: t('meeting.startTimeBeforeEndTime'),
203
- };
204
- }
205
- }
206
- },
207
- triggers: ['blur', 'change'],
208
- },
209
- ],
210
- email_list: [
211
- {
212
- validator: (value: any) => {
213
- if (isEdit.value) {
214
- return {} as unknown as ValidatorResultT;
215
- }
216
- const str = value.replaceAll(' ', '').replaceAll(',', ';') || '';
217
- if (str.length) {
218
- if (str.length > 1020) {
219
- return {
220
- type: 'danger',
221
- message: t('meeting.emailTooLong'),
222
- };
223
- }
224
- const list: string[] = str.split(';') || [];
225
- if (list.some((v) => !EMAIL_REGEX.test(v))) {
226
- return {
227
- type: 'danger',
228
- message: t('meeting.emailInvalid'),
229
- };
230
- }
231
- if (list.some((v) => v.length > 50)) {
232
- return {
233
- type: 'danger',
234
- message: t('meeting.singleEmailTooLong'),
235
- };
236
- }
237
- if (list.length > 20) {
238
- return {
239
- type: 'danger',
240
- message: t('meeting.emailCountTooLong'),
241
- };
242
- }
243
- }
244
- },
245
- triggers: ['blur', 'change'],
246
- },
247
- ],
248
- };
249
- });
250
-
251
- const sigOptions = ref<OptionItemT[]>([]); // sig组选项列表
252
- const getSigOptions = async () => {
253
- if (!props.getGroupsRequest) {
254
- return;
255
- }
256
- const res = await props.getGroupsRequest();
257
- sigOptions.value = res.map((v: OptionItemT) => ({ ...v, label: v.group_name, value: v.group_name }));
258
- if (props.data) {
259
- changeSig(form.value.group_name);
260
- }
261
- };
262
- // 会议平台选项列表
263
- const typeOptions = ref<OptionItemT[]>([]);
264
- const getPlatformOptions = async () => {
265
- if (!props.getPlatformsRequest) {
266
- return;
267
- }
268
- const res = await props.getPlatformsRequest();
269
- typeOptions.value = res.map((v: string) => ({ label: getPlatformLabel(v), value: v }));
270
- if (!props.data) {
271
- form.value.platform = typeOptions.value[0].value as unknown as PlatformT;
272
- }
273
- };
274
-
275
- const emits = defineEmits(['confirm', 'cancel']);
276
-
277
- const getPropData = () => {
278
- if (!props.data) {
279
- return {};
280
- }
281
- const {
282
- start,
283
- end,
284
- is_cycle,
285
- cycle_start_date,
286
- cycle_end_date,
287
- cycle_point,
288
- cycle_interval,
289
- cycle_start,
290
- cycle_end,
291
- } = props.data;
292
- return {
293
- ...props.data,
294
- time: `${ start }-${ end }`,
295
- ...(is_cycle
296
- ? {
297
- date_range: [cycle_start_date, cycle_end_date],
298
- cycle_point: cycle_point?.map((v) => parseInt(v as unknown as string)) || [],
299
- cycle_interval: cycle_interval || 1,
300
- time: `${ cycle_start }-${ cycle_end }`,
301
- start: cycle_start,
302
- end: cycle_end,
303
- }
304
- : {}),
305
- };
306
- };
307
-
308
- watch(
309
- () => props.data,
310
- (data) => {
311
- if (data) {
312
- const propData = getPropData() as unknown as MeetingItemT;
313
- const sub = propData?.cycle_sub?.find((v) => v.sub_id === (props.subId)) || {} as unknown as CycleSubItemT;
314
- const { mid, date, start, end, sub_id } = sub;
315
- Object.assign(
316
- form.value,
317
- propData,
318
- isSub.value
319
- ? {
320
- is_cycle: false,
321
- mid,
322
- date,
323
- start,
324
- end,
325
- sub_id,
326
- }
327
- : {},
328
- );
329
- } else {
330
- const today = dayjs().format('YYYY-MM-DD');
331
- const now = dayjs().format('HH:mm');
332
-
333
- let start = '';
334
- let end = '';
335
- const nowNum = getDateNumber(now);
336
- if (nowNum <= getDateNumber('08:00')) {
337
- start = '08:00';
338
- end = '09:00';
339
- } else if (getDateNumber('22:15') <= nowNum) {
340
- start = '08:00';
341
- end = '09:00';
342
- } else {
343
- let [h, m] = now.split(':').map(Number);
344
- if (m >= 45) {
345
- h++;
346
- m = 0;
347
- } else {
348
- m = (Math.floor(m / 15) + 1) * 15;
349
- }
350
- start = formatDateNumber(h * 60 + m).slice(3);
351
- end = formatDateNumber(h * 60 + m + 60).slice(3);
352
- }
353
- const date_range = [dayjs().format('YYYY-MM-DD'), dayjs().add(1, 'month').format('YYYY-MM-DD')];
354
-
355
- Object.assign(form.value, {
356
- date: today,
357
- start,
358
- end,
359
- time: `${ start }-${ end }`,
360
- date_range,
361
- });
362
- }
363
- },
364
- { immediate: true, deep: true },
365
- );
366
- const cancel = () => {
367
- form.value = Object.assign({}, initForm);
368
- formRef.value?.clearValidate?.();
369
- formRef.value?.resetFields?.();
370
- emits('cancel');
371
- };
372
-
373
- const changeIntervalType = () => {
374
- form.value.cycle_point = [];
375
- form.value.cycle_interval = 1;
376
- };
377
-
378
- const changeIsCycle = () => {
379
- form.value.platform = typeOptions.value.find(v => (v.value as unknown as string).toLowerCase() === 'welink')?.value as unknown as string || 'WeLink';
380
- };
381
-
382
- const { lePadV } = useScreen();
383
- const confirm = async () => {
384
- let type = isEdit.value ? t('meeting.editSuccess') : t('meeting.booSuccess');
385
- try {
386
- loading.value = true;
387
- const valid = await formRef.value.validate();
388
- if (!valid || valid.some((v: any) => !!v)) {
389
- return;
390
- }
391
- const {
392
- topic,
393
- etherpad,
394
- group_name,
395
- platform,
396
- date,
397
- start,
398
- end,
399
- agenda,
400
- is_record,
401
- is_cycle,
402
- date_range,
403
- cycle_type,
404
- cycle_interval,
405
- cycle_point,
406
- } =
407
- form.value;
408
- let params = {
409
- topic,
410
- etherpad,
411
- agenda,
412
- is_record,
413
- group_name,
414
- platform,
415
- is_cycle,
416
- } as MeetingPostT as unknown as any;
417
- let flag = undefined;
418
- if (is_cycle) {
419
- params = {
420
- ...params,
421
- cycle_interval,
422
- cycle_type,
423
- cycle_start_date: date_range?.[0] || '',
424
- cycle_end_date: date_range?.[1] || '',
425
- cycle_start: start,
426
- cycle_end: end,
427
- };
428
- if (cycle_type !== INTERVAL_DAY) {
429
- params = {
430
- ...params,
431
- cycle_point: cycle_point.join(','),
432
- };
433
- }
434
- } else {
435
- params = {
436
- ...params,
437
- date: date?.split(' ')[0] || '',
438
- start,
439
- end,
440
- };
441
- }
442
- if (isEdit.value) {
443
- if (isSub.value) {
444
- const { mid, sub_id } = form.value;
445
- const { date, start, end } = params;
446
- flag = await props?.editSubMeetingRequest(sub_id, {
447
- mid,
448
- date,
449
- start,
450
- end,
451
- is_notify: true,
452
- });
453
- } else {
454
- const {
455
- email_list: _email_list,
456
- platform: _platform,
457
- group_name: _group_name,
458
- etherpad: _etherpad,
459
- ...data
460
- } = params;
461
- flag = await props?.editMeetingRequest(props.data?.id as unknown as number, {
462
- ...data,
463
- is_notify: true,
464
- });
465
- }
466
- } else {
467
- flag = await props?.createMeetingRequest({
468
- ...params,
469
- email_list: form.value.email_list.replaceAll(' ', ''),
470
- });
471
- }
472
- // 如果返回的是boolean,只有true表示回调成功
473
- if (typeof flag === 'boolean' && !flag) {
474
- return;
475
- }
476
- const msg = t('meeting.meetingHandleSuccess', [form.value.topic, type]);
477
- message.success({
478
- content: msg,
479
- });
480
-
481
- emits('confirm');
482
- } finally {
483
- loading.value = false;
484
- }
485
- };
486
- onMounted(() => {
487
- getSigOptions();
488
- getPlatformOptions();
489
- });
490
-
491
- const changeSig = (sig: any) => {
492
- const find = sigOptions.value.find((v) => v.value === sig);
493
- if (!isEdit.value) {
494
- form.value.etherpad = find?.etherpad || '';
495
- form.value.email_list = find?.email_list || '';
496
- }
497
- };
498
- const disabledDate = (date: Date) => {
499
- return date.getTime() < Date.now() - 24 * 60 * 60 * 1000;
500
- };
501
- const changeTime = () => {
502
- if (form.value.start && form.value.end) {
503
- form.value.time = `${ form.value.start }-${ form.value.end }`;
504
- } else {
505
- form.value.time = '';
506
- }
507
- };
508
-
509
- defineExpose({
510
- confirm,
511
- });
512
- </script>
513
-
514
- <template>
515
- <div class="o-meeting-form">
516
- <OForm :model="form" ref="formRef" has-required :layout="lePadV ? 'v' : 'h'" class="form-wrapper">
517
- <OFormItem :rules="rules.topic" :label="labelMap?.topic ?? t('meeting.meetingName')" field="topic">
518
- <OInput
519
- :disabled="isSub"
520
- size="large"
521
- :placeholder="t('meeting.enterMeetingName')"
522
- style="width: 100%"
523
- v-model="form.topic" />
524
- </OFormItem>
525
- <OFormItem
526
- :rules="rules.group_name"
527
- :label="labelMap?.group_name ?? (groupType === MeetingGroupType.GROUP ? t('meeting.meetingGroup') : t('meeting.meetingSig'))"
528
- field="group_name">
529
- <OSelect
530
- :disabled="isEdit"
531
- :placeholder="groupType === MeetingGroupType.GROUP ? t('meeting.selectGroup') : t('meeting.selectSig')"
532
- size="large"
533
- style="width: 100%"
534
- v-model="form.group_name"
535
- @change="changeSig"
536
- >
537
- <OOption v-for="t in sigOptions" :key="t.value" :value="t.value">{{ t.label }}</OOption>
538
- </OSelect>
539
- </OFormItem>
540
- <OFormItem :rules="rules.etherpad" label="Etherpad" field="etherpad" v-if="form.group_name">
541
- <template #label>
542
- <template v-if="labelMap?.etherpad">{{ labelMap.etherpad }}</template>
543
- <div v-else class="label-wrapper">
544
- <span>{{ t('meeting.etherpad') }}&nbsp;</span>
545
- <OPopover>
546
- <div class="o-meeting-form-popover-content etherpad">{{ t('meeting.etherpadDesc') }}</div>
547
- <template #target>
548
- <OIcon>
549
- <IconHelp />
550
- </OIcon>
551
- </template>
552
- </OPopover>
553
- </div>
554
- </template>
555
- <OInput
556
- :disabled="isEdit"
557
- size="large"
558
- :placeholder="t('meeting.enterEtherpad')"
559
- style="width: 100%"
560
- v-model="form.etherpad"
561
- />
562
- </OFormItem>
563
-
564
- <OFormItem :label="labelMap?.time ?? t('meeting.meetingTime')" field="time" :rules="rules.time" class="repeat-row" required>
565
- <div class="repeat-config-wrapper">
566
- <OFormItem field="repeat" class="repeat-radio-item" v-if="!isSub">
567
- <ORadioGroup v-model="form.is_cycle" @change="changeIsCycle" :disabled="isEdit">
568
- <ORadio :value="false">{{ t('meeting.nonRepeat') }}</ORadio>
569
- <ORadio :value="true">{{ t('meeting.isRepeat') }}</ORadio>
570
- </ORadioGroup>
571
- </OFormItem>
572
- <div class="repeat-config">
573
- <template v-if="form.is_cycle">
574
- <OFormItem :label="t('meeting.every')" class="full-width-item">
575
- <div class="repeat-config-item">
576
- <OFormItem v-if="form.cycle_type !== INTERVAL_MONTH">
577
- <ElInputNumber size="large" v-model="form.cycle_interval" :min="1" :max="intervalTypeMax" />
578
- </OFormItem>
579
- <OFormItem>
580
- <OSelect
581
- size="large"
582
- v-model="form.cycle_type"
583
- class="interval-select"
584
- optionWrapClass="o-meeting-form-interval-select-options"
585
- @change="changeIntervalType"
586
- >
587
- <OOption v-for="o in cycleTypeOptions" :key="o.value" :value="o.value" :label="o.label" />
588
- </OSelect>
589
- </OFormItem>
590
- </div>
591
- </OFormItem>
592
- <OFormItem
593
- :label="labelMap?.cycle_point ?? t('meeting.in')"
594
- field="cycle_point"
595
- class="point-item"
596
- v-if="form.cycle_type !== INTERVAL_DAY"
597
- >
598
- <OSelect
599
- v-if="form.cycle_type === INTERVAL_WEEK"
600
- size="large"
601
- multiple
602
- v-model="form.cycle_point"
603
- :placeholder="t('meeting.selectRepeatDate')"
604
- :max-tag-count="1"
605
- >
606
- <OOption v-for="o in weekOptions" :key="o.value" :value="o.value" :label="o.label" />
607
- </OSelect>
608
- <OMeetingCalendarSelector v-if="form.cycle_type === INTERVAL_MONTH" v-model="form.cycle_point" />
609
- </OFormItem>
610
- <OFormItem :label="labelMap?.date_range ?? t('meeting.meetingDuration')" field="date_range">
611
- <ElDatePicker
612
- size="large"
613
- v-model="form.date_range"
614
- :start-placeholder="t('meeting.startDate')"
615
- :end-placeholder="t('meeting.endDate')"
616
- style="width: 100%"
617
- value-format="YYYY-MM-DD"
618
- :disabled-date="disabledDate"
619
- :clearable="false"
620
- type="daterange"
621
- popper-class="o-meeting-form-date-picker-popper"
622
- />
623
- </OFormItem>
624
- </template>
625
- <template v-else>
626
- <OFormItem :label="labelMap?.date ?? t('meeting.meetingDate')" field="date">
627
- <ElDatePicker
628
- popper-class="o-meeting-form-date-picker-popper"
629
- size="large"
630
- v-model="form.date"
631
- :placeholder="t('meeting.selectDate')"
632
- style="width: 100%"
633
- value-format="YYYY-MM-DD"
634
- :disabled-date="disabledDate"
635
- :clearable="false"
636
- />
637
- </OFormItem>
638
- </template>
639
-
640
- <OFormItem :label="t('meeting.meetingTime')">
641
- <div class="time-select-wrapper">
642
- <OFormItem field="start">
643
- <ElTimeSelect
644
- popper-class="meeting-form-time-popover"
645
- step="00:15"
646
- start="08:00"
647
- end="22:45"
648
- :placeholder="t('meeting.startTime')"
649
- v-model="form.start"
650
- size="large"
651
- :clearable="false"
652
- @change="changeTime"
653
- />
654
- </OFormItem>
655
- <span>-</span>
656
- <OFormItem field="end">
657
- <ElTimeSelect
658
- popper-class="meeting-form-time-popover"
659
- step="00:15"
660
- start="08:00"
661
- end="22:45"
662
- :placeholder="t('meeting.endTime')"
663
- v-model="form.end"
664
- size="large"
665
- :clearable="false"
666
- @change="changeTime"
667
- />
668
- </OFormItem>
669
- <OIconTime />
670
- </div>
671
- </OFormItem>
672
- </div>
673
- </div>
674
- </OFormItem>
675
- <OFormItem :label="labelMap?.platform ?? t('meeting.meetingPlatform')" field="platform" :rules="rules.platform" class="platform-item">
676
- <ORadioGroup v-model="form.platform" v-if="!data" :disabled="form.is_cycle">
677
- <ORadio v-for="item in typeOptions" :key="item.value" :value="item.value">{{ getPlatformLabel(item.label) }}
678
- </ORadio>
679
- </ORadioGroup>
680
- <span v-else>{{ getPlatformLabel(form.platform) }}</span>
681
- </OFormItem>
682
- <OFormItem field="agenda" :label="labelMap?.agenda ?? t('meeting.meetingAgenda')" :rules="rules.genda">
683
- <OTextarea
684
- :disabled="isSub"
685
- size="large"
686
- :placeholder="t('meeting.enterMeetingAgenda')"
687
- style="width: 100%"
688
- :rows="4" v-model="form.agenda" />
689
- </OFormItem>
690
- <OFormItem :label="labelMap?.is_record ?? t('meeting.meetingRecord')" field="is_record" class="record-item full-width-item">
691
- <template v-if="lePadV">
692
- <OSwitch v-model="form.is_record" :disabled="isSub" />
693
- </template>
694
- <template v-else>
695
- <div class="switch-wrapper">
696
- <OSwitch v-model="form.is_record" :disabled="isSub" />
697
- <div class="switch-text">
698
- <OIcon>
699
- <IconTip />
700
- </OIcon>
701
- <div>
702
- <span>{{ t('meeting.meetingRecordDesc1') }}</span>
703
- <br>
704
- <span>{{ t('meeting.meetingRecordDesc2') }}</span>
705
- </div>
706
- </div>
707
- </div>
708
- </template>
709
-
710
- </OFormItem>
711
- <template v-if="lePadV">
712
- <div class="switch-wrapper">
713
- <div class="switch-text">
714
- <OIcon>
715
- <IconTip />
716
- </OIcon>
717
- <div>
718
- <span>{{ t('meeting.meetingRecordDesc1') }}</span>
719
- <br>
720
- <span>{{ t('meeting.meetingRecordDesc2') }}</span>
721
- </div>
722
- </div>
723
- </div>
724
- </template>
725
- <OFormItem field="email_list" :rules="rules.email_list">
726
- <template #label>
727
- <template v-if="labelMap?.email_list">{{ labelMap.email_list }}</template>
728
- <div v-else class="label-wrapper">
729
- <span>{{ t('meeting.meetingEmail') }}&nbsp;</span>
730
- <OPopover>
731
- <div class="o-meeting-form-popover-content">
732
- {{ t('meeting.meetingEmailDesc') }}
733
- <a class="link-text" :href="`/${locale}/sig`">{{ t('meeting.sigGroupEmail') }}</a>
734
- </div>
735
- <template #target>
736
- <OIcon>
737
- <IconHelp />
738
- </OIcon>
739
- </template>
740
- </OPopover>
741
- </div>
742
- </template>
743
- <OTextarea
744
- :disabled="isEdit"
745
- size="large"
746
- :placeholder="t('meeting.enterEmail')"
747
- style="width: 100%"
748
- :rows="4"
749
- v-model="form.email_list" />
750
- </OFormItem>
751
- </OForm>
752
- <div class="form-btns" v-if="showBtns">
753
- <OButton color="primary" variant="solid" size="large" @click="confirm" :loading="loading">
754
- {{ isEdit ? t('common.save') : (confirmText || t('meeting.book')) }}
755
- </OButton>
756
- <OButton color="primary" variant="outline" size="large" @click="cancel">{{ t('common.cancel') }}</OButton>
757
- </div>
758
- </div>
759
- </template>
760
-
761
- <style lang="scss">
762
- .o-meeting-form {
763
- --meeting-card-radius: var(--o-radius-xs);
764
- --meeting-input-radius: var(--o-radius-xs);
765
- --meeting-cell-radius: var(--o-radius-xs);
766
- .form-wrapper {
767
- & > .o-form-item {
768
- max-width: 592px;
769
- }
770
-
771
- .repeat-row,
772
- .full-width-item {
773
- width: 100%;
774
- }
775
- }
776
-
777
- .o-form {
778
- --o-input-color: var(--o-color-info1);
779
- --o-placeholder-color: var(--o-color-info4);
780
-
781
-
782
- &.o-form-layout-v {
783
- --form-item-gap: var(--o-gap-3);
784
-
785
- .o-form-item-label {
786
- margin-bottom: var(--o-gap-2);
787
- }
788
-
789
- .o-form-item-main {
790
- margin-left: 0;
791
- }
792
- }
793
-
794
- .o-textarea {
795
- --_box-radius: var(--meeting-input-radius);
796
- }
797
-
798
- input,
799
- textarea {
800
- color: var(--o-input-color);
801
- @include text1;
802
-
803
- @include respond('phone') {
804
- @include text2;
805
- }
806
-
807
- &::placeholder {
808
- color: var(--o-placeholder-color);
809
- @include text1;
810
-
811
- @include respond('phone') {
812
- font-size: 14px !important;
813
- }
814
- }
815
- }
816
-
817
- .o-select {
818
- --select-bd-color: var(--o-color-control1);
819
- --select-bd-color-hover: var(--o-color-primary2);
820
- --select-bd-color-focus: var(--o-color-primary3);
821
- --select-bd-color-disabled: var(--o-color-control4);
822
- }
823
-
824
- .o-form-item-label {
825
- flex: 0 0 100px;
826
- height: var(--o-control_size-l);
827
- display: flex;
828
- align-items: center;
829
- --form-label-gap-top: 0;
830
- color: var(--o-color-info2);
831
- @include respond('<=pad_v') {
832
- height: fit-content;
833
- @include text2;
834
- }
835
- }
836
-
837
- .o-form-item-main {
838
- margin-left: var(--o-gap-3);
839
- }
840
-
841
- .platform-item {
842
- align-items: center;
843
-
844
- .o-form-item-main-wrap {
845
- @include respond('<=pad_v') {
846
- @include text2;
847
- }
848
- }
849
- }
850
- .record-item {
851
- @include respond('<=pad_v') {
852
- display: flex;
853
- align-items: center;
854
- justify-content: space-between;
855
- --form-item-gap: var(--o-gap-2);
856
- }
857
-
858
- .o-form-item-label {
859
- margin: 0;
860
- align-items: flex-start;
861
- }
862
-
863
- .o-form-item-main {
864
- @include respond('<=pad_v') {
865
- flex-grow: 0;
866
- }
867
- }
868
- }
869
-
870
- .switch-wrapper {
871
- display: flex;
872
- align-items: flex-start;
873
- column-gap: var(--o-gap-4);
874
- row-gap: var(--o-gap-2);
875
-
876
- @include respond('<=pad_v') {
877
- margin-bottom: var(--o-gap-3);
878
- flex-direction: column;
879
- align-items: flex-start;
880
- }
881
-
882
- .switch-text {
883
- display: flex;
884
- align-items: flex-start;
885
- column-gap: var(--o-gap-1);
886
- color: var(--o-color-info3);
887
- @include tip1;
888
-
889
- .o-icon {
890
- font-size: 16px;
891
- position: relative;
892
- top: 2px;
893
-
894
- svg path {
895
- fill: currentColor;
896
- }
897
- }
898
- }
899
- }
900
-
901
- input::placeholder {
902
- @include text1;
903
- }
904
-
905
- .label-wrapper {
906
- display: flex;
907
- align-items: center;
908
-
909
- .o-svg-icon {
910
- font-size: 1.5em;
911
- }
912
-
913
- svg path {
914
- fill: currentColor;
915
- }
916
- }
917
- }
918
-
919
- .form-btns {
920
- margin-top: var(--o-gap-5);
921
- display: flex;
922
- align-items: center;
923
-
924
- .o-btn {
925
- --btn-min-width: 90px;
926
- --btn-radius: calc(var(--btn-height) / 2);
927
- }
928
- }
929
-
930
- .time-select-wrapper {
931
- width: 100%;
932
- display: flex;
933
- align-items: center;
934
- border: 1px solid var(--o-color-control1);
935
- border-radius: var(--meeting-card-radius);
936
- padding: 0 15px;
937
- background-color: var(--o-color-fill2);
938
- --el-component-size-large: 34px;
939
- @include respond('<=pad_v') {
940
- --el-component-size-large: calc(var(--o-control_size-l) - 2px);
941
- }
942
- & > span {
943
- padding: 0 var(--o-gap-2);
944
- }
945
-
946
- &:hover {
947
- border-color: var(--o-color-primary2);
948
- }
949
-
950
- @include respond('phone') {
951
- background-color: var(--o-color-fill2);
952
- }
953
-
954
- .o-form-item {
955
- margin-bottom: 0;
956
- flex-grow: 1;
957
- --o-input-color: var(--o-color-info1);
958
-
959
- .o-form-item-label {
960
- display: none;
961
- }
962
-
963
- .el-select__wrapper {
964
- box-shadow: none;
965
- padding: calc((var(--el-component-size-large) - 24px) / 2) 0;
966
- min-height: var(--el-component-size-large);
967
- gap: 0;
968
- }
969
-
970
-
971
- .el-select__caret,
972
- .el-input__prefix-icon {
973
- display: none;
974
- }
975
-
976
- div.o-form-item-main {
977
- margin-left: 0;
978
- @include respond('phone') {
979
- margin-top: 0;
980
- }
981
- }
982
- }
983
-
984
- .o-svg-icon {
985
- flex-shrink: 0;
986
- font-size: 24px;
987
- color: var(--o-color-info2);
988
- }
989
- }
990
-
991
- @include respond('phone') {
992
- width: auto;
993
- .o-form {
994
- .o-form-item-main {
995
- margin-left: 0;
996
- }
997
- }
998
- }
999
-
1000
- .repeat-config-wrapper {
1001
- width: 100%;
1002
-
1003
- .repeat-radio-item {
1004
- margin-bottom: var(--o-gap-2);
1005
- .o-form-item-label {
1006
- display: none;
1007
- }
1008
-
1009
- .o-form-item-main {
1010
- margin-left: 0;
1011
- }
1012
- }
1013
-
1014
- .repeat-config {
1015
- background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
1016
- padding: var(--o-gap-5);
1017
- border-radius: var(--meeting-card-radius);
1018
- @include respond('<=pad_v') {
1019
- padding: var(--o-gap-4);
1020
- }
1021
-
1022
- .o-form-item {
1023
- align-items: center;
1024
- }
1025
-
1026
- .o-form-item-label {
1027
- .o-form-require-symbol {
1028
- display: none;
1029
- }
1030
-
1031
- flex: 0 0 4em;
1032
- }
1033
-
1034
- .o-form-item-main {
1035
- margin-left: var(--o-gap-6);
1036
- @include respond('pad_v') {
1037
- margin-left: 0;
1038
- }
1039
- @include respond('phone') {
1040
- margin-left: 0;
1041
- max-width: 100%;
1042
- }
1043
- }
1044
-
1045
- .full-width-item {
1046
- .o-form-item-main {
1047
- max-width: 100%;
1048
- }
1049
- }
1050
-
1051
- .repeat-config-item {
1052
- width: 100%;
1053
- display: flex;
1054
- flex-wrap: nowrap;
1055
- align-items: center;
1056
- gap: var(--o-gap-4);
1057
-
1058
- .o-form-item {
1059
- margin-bottom: 0;
1060
- width: calc(50% - var(--o-gap-4) / 2);
1061
-
1062
- .o-form-item-label {
1063
- display: none;
1064
- }
1065
-
1066
- .o-form-item-main {
1067
- margin-left: 0;
1068
- }
1069
- }
1070
- }
1071
-
1072
- .point-item {
1073
- .o-select {
1074
- width: 100%;
1075
- }
1076
- }
1077
- }
1078
- }
1079
- }
1080
- </style>
1081
-
1082
- <style lang="scss">
1083
- .meeting-form-time-popover, .o-meeting-form-date-picker-popper {
1084
- --el-color-primary: var(--o-color-primary1);
1085
- --el-datepicker-active-color: var(--o-color-primary1);
1086
- --el-fill-color-light: var(--o-color-control2-light);
1087
- --el-input-bg-color: var(--o-color-control5-light);
1088
- --el-fill-color-blank: var(--o-color-control5-light);
1089
- }
1090
-
1091
- .o-meeting-form-popover-content {
1092
- max-width: 256px;
1093
- text-align: left;
1094
- @include tip1;
1095
-
1096
- &.etherpad {
1097
- width: 191px;
1098
- }
1099
-
1100
- .link-text {
1101
- color: var(--o-color-primary1);
1102
- cursor: pointer;
1103
- }
1104
- }
1105
-
1106
- .o-meeting-form-interval-select-options {
1107
- .o-option-item {
1108
- justify-content: center;
1109
- }
1110
- }
1111
-
1112
- .o-meeting-form-date-picker-popper {
1113
- @include respond('phone') {
1114
- .el-picker-panel {
1115
- width: min(var(--grid-content-width), 400px);
1116
-
1117
- .el-picker-panel__body {
1118
- display: flex;
1119
- flex-direction: column;
1120
- min-width: auto;
1121
-
1122
- .el-picker-panel__content {
1123
- border-right: none;
1124
- width: 100%;
1125
- padding: 12px 16px;
1126
- }
1127
- }
1128
- }
1129
- }
1130
- }
1131
- </style>