@opendesign-plus/components 0.0.1-rc.101 → 0.0.1-rc.103

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 (1202) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -0
  2. package/dist/chunk-OElCookieNotice.es.js +1525 -0
  3. package/dist/components/activity/index.d.ts +9 -9
  4. package/dist/components/anchor-bar/OAnchorBar.vue.d.ts +2 -2
  5. package/dist/components/anchor-bar/index.d.ts +9 -9
  6. package/dist/components/article/index.d.ts +25 -25
  7. package/dist/components/article-anchor/OArticleAnchor.vue.d.ts +138 -1
  8. package/dist/components/article-anchor/index.d.ts +163 -11
  9. package/dist/components/article-anchor/types.d.ts +10 -2
  10. package/dist/components/article-pagination/index.d.ts +17 -17
  11. package/dist/components/banner/index.d.ts +6 -6
  12. package/dist/components/brand/index.d.ts +15 -15
  13. package/dist/components/doc-layout/ODocLayout.vue.d.ts +364 -4
  14. package/dist/components/doc-layout/index.d.ts +188 -4
  15. package/dist/components/events/index.d.ts +20 -20
  16. package/dist/components/footer/index.d.ts +3 -3
  17. package/dist/components/header/OHeaderMobile.vue.d.ts +8 -8
  18. package/dist/components/header/components/HeaderNavMobile.vue.d.ts +1 -1
  19. package/dist/components/header/index.d.ts +28 -28
  20. package/dist/components/header-search/index.d.ts +13 -13
  21. package/dist/components/logo-swiper/index.d.ts +11 -11
  22. package/dist/components/meeting/OMeetingPlayback.vue.d.ts +6 -6
  23. package/dist/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +1 -1
  24. package/dist/components/meeting/config.d.ts +1 -0
  25. package/dist/components/meeting/index.d.ts +51 -51
  26. package/dist/components/meeting/types.d.ts +1 -1
  27. package/dist/components/meeting/utils.d.ts +1 -0
  28. package/dist/components/org/index.d.ts +9 -9
  29. package/dist/components/recursion-menu/index.d.ts +3 -3
  30. package/dist/components/search/index.d.ts +11 -11
  31. package/dist/components/search-result/OSearchResultHeader.vue.d.ts +24 -24
  32. package/dist/components/search-result/index.d.ts +31 -31
  33. package/dist/components/sig/index.d.ts +15 -15
  34. package/dist/components/summit/index.d.ts +12 -12
  35. package/dist/components/user-center/index.d.ts +18 -18
  36. package/dist/components/video/index.d.ts +3 -3
  37. package/dist/components.cjs.js +89 -55
  38. package/dist/components.css +9 -2
  39. package/dist/components.element.cjs.js +1 -1
  40. package/dist/components.element.es.js +4 -1
  41. package/dist/components.es.js +66097 -48167
  42. package/dist/treeshaking/_virtual/@babel/runtime/helpers/esm/extends.js.mjs +10 -9
  43. package/dist/treeshaking/_virtual/@babel/runtime/helpers/extends.js.mjs +22 -16
  44. package/dist/treeshaking/_virtual/@babel/runtime/helpers/extends.js2.mjs +4 -0
  45. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/byte-helpers.js.mjs +128 -133
  46. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/codecs.js.mjs +146 -152
  47. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/containers.js.mjs +150 -176
  48. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js.mjs +12 -11
  49. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/ebml-helpers.js.mjs +118 -157
  50. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/id3-helpers.js.mjs +30 -21
  51. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/media-groups.js.mjs +12 -20
  52. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/media-types.js.mjs +14 -18
  53. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/mp4-helpers.js.mjs +53 -150
  54. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/nal-helpers.js.mjs +74 -78
  55. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/resolve-url.js.mjs +21 -15
  56. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/stream.js.mjs +51 -55
  57. package/dist/treeshaking/_virtual/@videojs/xhr/lib/http-handler.js.mjs +55 -40
  58. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js.mjs +7 -242
  59. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js2.mjs +300 -0
  60. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js3.mjs +4 -0
  61. package/dist/treeshaking/_virtual/@videojs/xhr/lib/interceptors.js.mjs +109 -94
  62. package/dist/treeshaking/_virtual/@videojs/xhr/lib/retry.js.mjs +104 -100
  63. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/conventions.js.mjs +142 -177
  64. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/conventions.js2.mjs +4 -0
  65. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom-parser.js.mjs +224 -244
  66. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom-parser.js2.mjs +4 -0
  67. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom.js.mjs +1449 -1443
  68. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom.js2.mjs +4 -0
  69. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/entities.js.mjs +2149 -2168
  70. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/entities.js2.mjs +4 -0
  71. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js.mjs +5 -12
  72. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js2.mjs +16 -0
  73. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js3.mjs +4 -0
  74. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/sax.js.mjs +594 -489
  75. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/sax.js2.mjs +4 -0
  76. package/dist/treeshaking/_virtual/___vite-browser-external.mjs +6 -0
  77. package/dist/treeshaking/_virtual/__vite-browser-external.mjs +4 -7
  78. package/dist/treeshaking/_virtual/_commonjs-dynamic-modules.mjs +6 -0
  79. package/dist/treeshaking/_virtual/_commonjsHelpers.mjs +33 -0
  80. package/dist/treeshaking/_virtual/_plugin-vue_export-helper.mjs +9 -6
  81. package/dist/treeshaking/_virtual/cropperjs/dist/cropper.esm.js.mjs +2739 -0
  82. package/dist/treeshaking/_virtual/crypto-js/aes.js.mjs +162 -163
  83. package/dist/treeshaking/_virtual/crypto-js/aes.js2.mjs +4 -0
  84. package/dist/treeshaking/_virtual/crypto-js/blowfish.js.mjs +1197 -1214
  85. package/dist/treeshaking/_virtual/crypto-js/blowfish.js2.mjs +4 -0
  86. package/dist/treeshaking/_virtual/crypto-js/cipher-core.js.mjs +649 -683
  87. package/dist/treeshaking/_virtual/crypto-js/cipher-core.js2.mjs +4 -0
  88. package/dist/treeshaking/_virtual/crypto-js/core.js.mjs +614 -589
  89. package/dist/treeshaking/_virtual/crypto-js/core.js2.mjs +4 -0
  90. package/dist/treeshaking/_virtual/crypto-js/enc-base64.js.mjs +112 -90
  91. package/dist/treeshaking/_virtual/crypto-js/enc-base64.js2.mjs +4 -0
  92. package/dist/treeshaking/_virtual/crypto-js/enc-base64url.js.mjs +123 -97
  93. package/dist/treeshaking/_virtual/crypto-js/enc-base64url.js2.mjs +4 -0
  94. package/dist/treeshaking/_virtual/crypto-js/enc-utf16.js.mjs +122 -113
  95. package/dist/treeshaking/_virtual/crypto-js/enc-utf16.js2.mjs +4 -0
  96. package/dist/treeshaking/_virtual/crypto-js/evpkdf.js.mjs +97 -113
  97. package/dist/treeshaking/_virtual/crypto-js/evpkdf.js2.mjs +4 -0
  98. package/dist/treeshaking/_virtual/crypto-js/format-hex.js.mjs +65 -56
  99. package/dist/treeshaking/_virtual/crypto-js/format-hex.js2.mjs +4 -0
  100. package/dist/treeshaking/_virtual/crypto-js/hmac.js.mjs +111 -97
  101. package/dist/treeshaking/_virtual/crypto-js/hmac.js2.mjs +4 -0
  102. package/dist/treeshaking/_virtual/crypto-js/index.js.mjs +7 -84
  103. package/dist/treeshaking/_virtual/crypto-js/index.js2.mjs +55 -0
  104. package/dist/treeshaking/_virtual/crypto-js/index.js3.mjs +4 -0
  105. package/dist/treeshaking/_virtual/crypto-js/lib-typedarrays.js.mjs +49 -30
  106. package/dist/treeshaking/_virtual/crypto-js/lib-typedarrays.js2.mjs +4 -0
  107. package/dist/treeshaking/_virtual/crypto-js/md5.js.mjs +183 -205
  108. package/dist/treeshaking/_virtual/crypto-js/md5.js2.mjs +4 -0
  109. package/dist/treeshaking/_virtual/crypto-js/mode-cfb.js.mjs +57 -45
  110. package/dist/treeshaking/_virtual/crypto-js/mode-cfb.js2.mjs +4 -0
  111. package/dist/treeshaking/_virtual/crypto-js/mode-ctr-gladman.js.mjs +85 -62
  112. package/dist/treeshaking/_virtual/crypto-js/mode-ctr-gladman.js2.mjs +4 -0
  113. package/dist/treeshaking/_virtual/crypto-js/mode-ctr.js.mjs +45 -36
  114. package/dist/treeshaking/_virtual/crypto-js/mode-ctr.js2.mjs +4 -0
  115. package/dist/treeshaking/_virtual/crypto-js/mode-ecb.js.mjs +36 -28
  116. package/dist/treeshaking/_virtual/crypto-js/mode-ecb.js2.mjs +4 -0
  117. package/dist/treeshaking/_virtual/crypto-js/mode-ofb.js.mjs +43 -34
  118. package/dist/treeshaking/_virtual/crypto-js/mode-ofb.js2.mjs +4 -0
  119. package/dist/treeshaking/_virtual/crypto-js/pad-ansix923.js.mjs +37 -33
  120. package/dist/treeshaking/_virtual/crypto-js/pad-ansix923.js2.mjs +4 -0
  121. package/dist/treeshaking/_virtual/crypto-js/pad-iso10126.js.mjs +33 -29
  122. package/dist/treeshaking/_virtual/crypto-js/pad-iso10126.js2.mjs +4 -0
  123. package/dist/treeshaking/_virtual/crypto-js/pad-iso97971.js.mjs +32 -28
  124. package/dist/treeshaking/_virtual/crypto-js/pad-iso97971.js2.mjs +4 -0
  125. package/dist/treeshaking/_virtual/crypto-js/pad-nopadding.js.mjs +28 -22
  126. package/dist/treeshaking/_virtual/crypto-js/pad-nopadding.js2.mjs +4 -0
  127. package/dist/treeshaking/_virtual/crypto-js/pad-zeropadding.js.mjs +39 -33
  128. package/dist/treeshaking/_virtual/crypto-js/pad-zeropadding.js2.mjs +4 -0
  129. package/dist/treeshaking/_virtual/crypto-js/pbkdf2.js.mjs +104 -119
  130. package/dist/treeshaking/_virtual/crypto-js/pbkdf2.js2.mjs +4 -0
  131. package/dist/treeshaking/_virtual/crypto-js/rabbit-legacy.js.mjs +134 -139
  132. package/dist/treeshaking/_virtual/crypto-js/rabbit-legacy.js2.mjs +4 -0
  133. package/dist/treeshaking/_virtual/crypto-js/rabbit.js.mjs +137 -136
  134. package/dist/treeshaking/_virtual/crypto-js/rabbit.js2.mjs +4 -0
  135. package/dist/treeshaking/_virtual/crypto-js/rc4.js.mjs +91 -105
  136. package/dist/treeshaking/_virtual/crypto-js/rc4.js2.mjs +4 -0
  137. package/dist/treeshaking/_virtual/crypto-js/ripemd160.js.mjs +485 -510
  138. package/dist/treeshaking/_virtual/crypto-js/ripemd160.js2.mjs +4 -0
  139. package/dist/treeshaking/_virtual/crypto-js/sha1.js.mjs +95 -113
  140. package/dist/treeshaking/_virtual/crypto-js/sha1.js2.mjs +4 -0
  141. package/dist/treeshaking/_virtual/crypto-js/sha224.js.mjs +50 -73
  142. package/dist/treeshaking/_virtual/crypto-js/sha224.js2.mjs +4 -0
  143. package/dist/treeshaking/_virtual/crypto-js/sha256.js.mjs +125 -142
  144. package/dist/treeshaking/_virtual/crypto-js/sha256.js2.mjs +4 -0
  145. package/dist/treeshaking/_virtual/crypto-js/sha3.js.mjs +207 -210
  146. package/dist/treeshaking/_virtual/crypto-js/sha3.js2.mjs +4 -0
  147. package/dist/treeshaking/_virtual/crypto-js/sha384.js.mjs +52 -80
  148. package/dist/treeshaking/_virtual/crypto-js/sha384.js2.mjs +4 -0
  149. package/dist/treeshaking/_virtual/crypto-js/sha512.js.mjs +287 -307
  150. package/dist/treeshaking/_virtual/crypto-js/sha512.js2.mjs +4 -0
  151. package/dist/treeshaking/_virtual/crypto-js/tripledes.js.mjs +789 -817
  152. package/dist/treeshaking/_virtual/crypto-js/tripledes.js2.mjs +4 -0
  153. package/dist/treeshaking/_virtual/crypto-js/x64-core.js.mjs +261 -102
  154. package/dist/treeshaking/_virtual/crypto-js/x64-core.js2.mjs +4 -0
  155. package/dist/treeshaking/_virtual/global/document.js.mjs +7 -16
  156. package/dist/treeshaking/_virtual/global/document.js2.mjs +24 -0
  157. package/dist/treeshaking/_virtual/global/window.js.mjs +7 -12
  158. package/dist/treeshaking/_virtual/global/window.js2.mjs +22 -0
  159. package/dist/treeshaking/_virtual/icon-add-dark.mjs +40 -0
  160. package/dist/treeshaking/_virtual/icon-add-new.mjs +17 -0
  161. package/dist/treeshaking/_virtual/icon-address.mjs +21 -0
  162. package/dist/treeshaking/_virtual/icon-all.mjs +20 -0
  163. package/dist/treeshaking/_virtual/icon-anchor-expand.mjs +20 -0
  164. package/dist/treeshaking/_virtual/icon-anchor.mjs +22 -0
  165. package/dist/treeshaking/_virtual/icon-arrow-left.mjs +20 -0
  166. package/dist/treeshaking/_virtual/icon-atomgit.mjs +25 -0
  167. package/dist/treeshaking/_virtual/icon-avatar-line.mjs +20 -0
  168. package/dist/treeshaking/_virtual/icon-caret-left.mjs +20 -0
  169. package/dist/treeshaking/_virtual/icon-caret-right.mjs +20 -0
  170. package/dist/treeshaking/_virtual/icon-check.mjs +20 -0
  171. package/dist/treeshaking/_virtual/icon-checked.mjs +20 -0
  172. package/dist/treeshaking/_virtual/icon-chevron-down.mjs +20 -0
  173. package/dist/treeshaking/_virtual/icon-chevron-right.mjs +20 -0
  174. package/dist/treeshaking/_virtual/icon-chevron-right2.mjs +20 -0
  175. package/dist/treeshaking/_virtual/icon-chevron-up.mjs +20 -0
  176. package/dist/treeshaking/_virtual/icon-close.mjs +20 -0
  177. package/dist/treeshaking/_virtual/icon-close2.mjs +20 -0
  178. package/dist/treeshaking/_virtual/icon-competition.mjs +31 -0
  179. package/dist/treeshaking/_virtual/icon-copy.mjs +21 -0
  180. package/dist/treeshaking/_virtual/icon-copy2.mjs +20 -0
  181. package/dist/treeshaking/_virtual/icon-delete-hover.mjs +24 -0
  182. package/dist/treeshaking/_virtual/icon-delete.mjs +17 -0
  183. package/dist/treeshaking/_virtual/icon-done.mjs +20 -0
  184. package/dist/treeshaking/_virtual/icon-download.mjs +17 -0
  185. package/dist/treeshaking/_virtual/icon-edit-new.mjs +17 -0
  186. package/dist/treeshaking/_virtual/icon-edit.mjs +38 -0
  187. package/dist/treeshaking/_virtual/icon-email.mjs +22 -0
  188. package/dist/treeshaking/_virtual/icon-email2.mjs +21 -0
  189. package/dist/treeshaking/_virtual/icon-event.mjs +21 -0
  190. package/dist/treeshaking/_virtual/icon-events.mjs +31 -0
  191. package/dist/treeshaking/_virtual/icon-expand.mjs +21 -0
  192. package/dist/treeshaking/_virtual/icon-eye-off.mjs +20 -0
  193. package/dist/treeshaking/_virtual/icon-eye.mjs +20 -0
  194. package/dist/treeshaking/_virtual/icon-forum.mjs +21 -0
  195. package/dist/treeshaking/_virtual/icon-gitcode-new.mjs +30 -0
  196. package/dist/treeshaking/_virtual/icon-gitee.mjs +20 -0
  197. package/dist/treeshaking/_virtual/icon-gitee2.mjs +20 -0
  198. package/dist/treeshaking/_virtual/icon-github.mjs +20 -0
  199. package/dist/treeshaking/_virtual/icon-header-back.mjs +20 -0
  200. package/dist/treeshaking/_virtual/icon-header-menu.mjs +20 -0
  201. package/dist/treeshaking/_virtual/icon-header-search.mjs +20 -0
  202. package/dist/treeshaking/_virtual/icon-help.mjs +21 -0
  203. package/dist/treeshaking/_virtual/icon-image-upload.mjs +20 -0
  204. package/dist/treeshaking/_virtual/icon-image-zoomin.mjs +20 -0
  205. package/dist/treeshaking/_virtual/icon-like.mjs +20 -0
  206. package/dist/treeshaking/_virtual/icon-link.mjs +31 -0
  207. package/dist/treeshaking/_virtual/icon-loading.mjs +24 -0
  208. package/dist/treeshaking/_virtual/icon-locale.mjs +20 -0
  209. package/dist/treeshaking/_virtual/icon-mail.mjs +17 -0
  210. package/dist/treeshaking/_virtual/icon-material.mjs +21 -0
  211. package/dist/treeshaking/_virtual/icon-meet.mjs +20 -0
  212. package/dist/treeshaking/_virtual/icon-menu-fold.mjs +20 -0
  213. package/dist/treeshaking/_virtual/icon-menu-unfold.mjs +20 -0
  214. package/dist/treeshaking/_virtual/icon-minus-dark.mjs +74 -0
  215. package/dist/treeshaking/_virtual/icon-minus-new.mjs +17 -0
  216. package/dist/treeshaking/_virtual/icon-moon.mjs +20 -0
  217. package/dist/treeshaking/_virtual/icon-more.mjs +19 -0
  218. package/dist/treeshaking/_virtual/icon-next.mjs +23 -0
  219. package/dist/treeshaking/_virtual/icon-notice.mjs +20 -0
  220. package/dist/treeshaking/_virtual/icon-openatom.mjs +21 -0
  221. package/dist/treeshaking/_virtual/icon-outlink.mjs +20 -0
  222. package/dist/treeshaking/_virtual/icon-phone.mjs +22 -0
  223. package/dist/treeshaking/_virtual/icon-playing.mjs +33 -0
  224. package/dist/treeshaking/_virtual/icon-refresh.mjs +21 -0
  225. package/dist/treeshaking/_virtual/icon-refresh2.mjs +45 -0
  226. package/dist/treeshaking/_virtual/icon-relative-search.mjs +21 -0
  227. package/dist/treeshaking/_virtual/icon-release.mjs +31 -0
  228. package/dist/treeshaking/_virtual/icon-search.mjs +17 -0
  229. package/dist/treeshaking/_virtual/icon-search2.mjs +17 -0
  230. package/dist/treeshaking/_virtual/icon-setting.mjs +20 -0
  231. package/dist/treeshaking/_virtual/icon-smile.mjs +21 -0
  232. package/dist/treeshaking/_virtual/icon-speaker.mjs +17 -0
  233. package/dist/treeshaking/_virtual/icon-star.mjs +20 -0
  234. package/dist/treeshaking/_virtual/icon-summit.mjs +21 -0
  235. package/dist/treeshaking/_virtual/icon-summit2.mjs +31 -0
  236. package/dist/treeshaking/_virtual/icon-sun.mjs +20 -0
  237. package/dist/treeshaking/_virtual/icon-time.mjs +20 -0
  238. package/dist/treeshaking/_virtual/icon-tip.mjs +21 -0
  239. package/dist/treeshaking/_virtual/icon-tips.mjs +17 -0
  240. package/dist/treeshaking/_virtual/icon-tips2.mjs +28 -0
  241. package/dist/treeshaking/_virtual/icon-unexpand.mjs +22 -0
  242. package/dist/treeshaking/_virtual/icon-unlike.mjs +20 -0
  243. package/dist/treeshaking/_virtual/icon-user.mjs +17 -0
  244. package/dist/treeshaking/_virtual/icon-video.mjs +28 -0
  245. package/dist/treeshaking/_virtual/icon-wechat.mjs +18 -0
  246. package/dist/treeshaking/_virtual/icon-working.mjs +17 -0
  247. package/dist/treeshaking/_virtual/is-function/index.js.mjs +20 -13
  248. package/dist/treeshaking/_virtual/m3u8-parser/dist/m3u8-parser.es.js.mjs +1380 -1145
  249. package/dist/treeshaking/_virtual/mpd-parser/dist/mpd-parser.es.js.mjs +1628 -1723
  250. package/dist/treeshaking/_virtual/mux.js/lib/tools/parse-sidx.js.mjs +7 -39
  251. package/dist/treeshaking/_virtual/mux.js/lib/tools/parse-sidx.js2.mjs +45 -0
  252. package/dist/treeshaking/_virtual/mux.js/lib/utils/clock.js.mjs +5 -44
  253. package/dist/treeshaking/_virtual/mux.js/lib/utils/clock.js2.mjs +42 -0
  254. package/dist/treeshaking/_virtual/mux.js/lib/utils/numbers.js.mjs +27 -21
  255. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/Observable.js.mjs +91 -86
  256. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/Subscriber.js.mjs +136 -141
  257. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/Subscription.js.mjs +131 -105
  258. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/config.js.mjs +4 -7
  259. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.mjs +15 -15
  260. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/symbol/observable.js.mjs +4 -3
  261. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.mjs +11 -10
  262. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/arrRemove.js.mjs +7 -6
  263. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/createErrorClass.js.mjs +11 -10
  264. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/errorContext.js.mjs +6 -23
  265. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/identity.js.mjs +4 -3
  266. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/isFunction.js.mjs +4 -3
  267. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/noop.js.mjs +5 -3
  268. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/pipe.js.mjs +14 -9
  269. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/util/reportUnhandledError.js.mjs +8 -8
  270. package/dist/treeshaking/_virtual/sig-space.mjs +20 -0
  271. package/dist/treeshaking/_virtual/tslib/tslib.es6.mjs.mjs +54 -60
  272. package/dist/treeshaking/_virtual/video.js/dist/video.es.js.mjs +39520 -41504
  273. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js.mjs +7 -46
  274. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js2.mjs +37 -0
  275. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js3.mjs +4 -0
  276. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vtt.js.mjs +1082 -911
  277. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vttcue.js.mjs +235 -238
  278. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vttregion.js.mjs +122 -115
  279. package/dist/treeshaking/assets/meeting/empty.png.mjs +4 -0
  280. package/dist/treeshaking/assets/meeting/transparent.png.mjs +4 -0
  281. package/dist/treeshaking/assets/search/search-empty.png.mjs +4 -0
  282. package/dist/treeshaking/assets/svg-icons/icon-zoom.svg.mjs +4 -0
  283. package/dist/treeshaking/assets/user-center/images/avatar.png.mjs +4 -0
  284. package/dist/treeshaking/assets/user-center/images/default-user-photo.png.mjs +4 -0
  285. package/dist/treeshaking/assets/user-center/images/left-arrow-dark.svg.mjs +4 -0
  286. package/dist/treeshaking/assets/user-center/images/left-arrow-light.svg.mjs +4 -0
  287. package/dist/treeshaking/assets/user-center/images/noData.svg.mjs +4 -0
  288. package/dist/treeshaking/assets/user-center/images/warning-dark.svg.mjs +4 -0
  289. package/dist/treeshaking/assets/user-center/images/warning-light.svg.mjs +4 -0
  290. package/dist/treeshaking/components/activity/OActivityApproval.vue.mjs +672 -0
  291. package/dist/treeshaking/components/activity/OActivityApproval.vue4.mjs +6 -0
  292. package/dist/treeshaking/components/activity/OActivityApproval2.css +40 -0
  293. package/dist/treeshaking/components/activity/OActivityForm.css +364 -0
  294. package/dist/treeshaking/components/activity/OActivityForm.vue.mjs +628 -0
  295. package/dist/treeshaking/components/activity/OActivityForm.vue4.mjs +6 -0
  296. package/dist/treeshaking/components/activity/OActivityForm2.css +327 -0
  297. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue.mjs +861 -0
  298. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue4.mjs +6 -0
  299. package/dist/treeshaking/components/activity/OActivityMyCalendar2.css +318 -0
  300. package/dist/treeshaking/components/activity/composables/useActivityConfig.mjs +137 -88
  301. package/dist/treeshaking/components/activity/config.mjs +4 -3
  302. package/dist/treeshaking/components/activity/index.d.ts +9 -9
  303. package/dist/treeshaking/components/activity/index.mjs +29 -14
  304. package/dist/treeshaking/components/anchor-bar/OAnchorBar.vue.d.ts +2 -2
  305. package/dist/treeshaking/components/anchor-bar/OAnchorBar.vue.mjs +7 -0
  306. package/dist/treeshaking/components/anchor-bar/OAnchorBar.vue2.mjs +103 -0
  307. package/dist/treeshaking/components/anchor-bar/index.d.ts +9 -9
  308. package/dist/treeshaking/components/anchor-bar/index.mjs +9 -6
  309. package/dist/treeshaking/components/article/OArticle.vue.mjs +7 -0
  310. package/dist/treeshaking/components/article/OArticle.vue2.mjs +102 -0
  311. package/dist/treeshaking/components/article/OArticleList.css +253 -0
  312. package/dist/treeshaking/components/article/OArticleList.vue.mjs +219 -0
  313. package/dist/treeshaking/components/article/OArticleList.vue3.mjs +5 -0
  314. package/dist/treeshaking/components/article/components/ArticleTitle.vue.mjs +7 -0
  315. package/dist/treeshaking/components/article/components/ArticleTitle.vue2.mjs +97 -0
  316. package/dist/treeshaking/components/article/components/DocTitle.css +249 -0
  317. package/dist/treeshaking/components/article/components/DocTitle.vue.mjs +7 -0
  318. package/dist/treeshaking/components/article/components/DocTitle.vue2.mjs +310 -0
  319. package/dist/treeshaking/components/article/index.d.ts +25 -25
  320. package/dist/treeshaking/components/article/index.mjs +17 -10
  321. package/dist/treeshaking/components/article-anchor/OArticleAnchor.css +18 -0
  322. package/dist/treeshaking/components/article-anchor/OArticleAnchor.vue.d.ts +138 -1
  323. package/dist/treeshaking/components/article-anchor/OArticleAnchor.vue.mjs +7 -0
  324. package/dist/treeshaking/components/article-anchor/OArticleAnchor.vue2.mjs +303 -0
  325. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorItems.css +11 -0
  326. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorItems.vue.mjs +7 -0
  327. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorItems.vue2.mjs +36 -0
  328. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorMobile.css +47 -0
  329. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorMobile.vue.mjs +7 -0
  330. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorMobile.vue2.mjs +182 -0
  331. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPad.vue.mjs +7 -0
  332. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPad.vue2.mjs +78 -0
  333. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPc.vue.mjs +7 -0
  334. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPc.vue2.mjs +38 -0
  335. package/dist/treeshaking/components/article-anchor/index.d.ts +163 -11
  336. package/dist/treeshaking/components/article-anchor/index.mjs +9 -6
  337. package/dist/treeshaking/components/article-anchor/types.d.ts +10 -2
  338. package/dist/treeshaking/components/article-pagination/OArticlePagination.vue.mjs +7 -0
  339. package/dist/treeshaking/components/article-pagination/OArticlePagination.vue2.mjs +107 -0
  340. package/dist/treeshaking/components/article-pagination/index.d.ts +17 -17
  341. package/dist/treeshaking/components/article-pagination/index.mjs +9 -6
  342. package/dist/treeshaking/components/banner/OBanner.vue.mjs +8 -0
  343. package/dist/treeshaking/components/banner/OBanner.vue2.mjs +142 -0
  344. package/dist/treeshaking/components/banner/OBannerContent.vue.mjs +7 -0
  345. package/dist/treeshaking/components/banner/OBannerContent.vue2.mjs +102 -0
  346. package/dist/treeshaking/components/banner/index.d.ts +6 -6
  347. package/dist/treeshaking/components/banner/index.mjs +16 -10
  348. package/dist/treeshaking/components/brand/OBrandFile.vue.mjs +7 -0
  349. package/dist/treeshaking/components/brand/OBrandFile.vue2.mjs +70 -0
  350. package/dist/treeshaking/components/brand/OBrandLogo.vue.mjs +8 -0
  351. package/dist/treeshaking/components/brand/OBrandLogo.vue2.mjs +120 -0
  352. package/dist/treeshaking/components/brand/OBrandStandard.vue.mjs +7 -0
  353. package/dist/treeshaking/components/brand/OBrandStandard.vue2.mjs +59 -0
  354. package/dist/treeshaking/components/brand/index.d.ts +15 -15
  355. package/dist/treeshaking/components/brand/index.mjs +23 -14
  356. package/dist/treeshaking/components/brand/utils.mjs +25 -21
  357. package/dist/treeshaking/components/common/AppAvatar.vue.mjs +7 -0
  358. package/dist/treeshaking/components/common/AppAvatar.vue2.mjs +83 -0
  359. package/dist/treeshaking/components/common/ClientOnly.vue.mjs +16 -0
  360. package/dist/treeshaking/components/common/ClientOnly.vue2.mjs +4 -0
  361. package/dist/treeshaking/components/common/ContentWrapper.vue.mjs +7 -0
  362. package/dist/treeshaking/components/common/ContentWrapper.vue2.mjs +50 -0
  363. package/dist/treeshaking/components/common/TooltipText.css +35 -0
  364. package/dist/treeshaking/components/common/TooltipText.vue.mjs +105 -0
  365. package/dist/treeshaking/components/common/TooltipText.vue3.mjs +5 -0
  366. package/dist/treeshaking/components/common/WordAvatar.vue.mjs +84 -0
  367. package/dist/treeshaking/components/common/WordAvatar.vue3.mjs +5 -0
  368. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue.mjs +35 -0
  369. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue2.mjs +4 -0
  370. package/dist/treeshaking/components/config-provider/index.mjs +9 -6
  371. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue.mjs +8 -0
  372. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue2.mjs +367 -0
  373. package/dist/treeshaking/components/cookie-notice/index.mjs +9 -6
  374. package/dist/treeshaking/components/doc-layout/ODocLayout.css +286 -0
  375. package/dist/treeshaking/components/doc-layout/ODocLayout.vue.d.ts +364 -4
  376. package/dist/treeshaking/components/doc-layout/ODocLayout.vue.mjs +7 -0
  377. package/dist/treeshaking/components/doc-layout/ODocLayout.vue2.mjs +179 -0
  378. package/dist/treeshaking/components/doc-layout/index.d.ts +188 -4
  379. package/dist/treeshaking/components/doc-layout/index.mjs +9 -6
  380. package/dist/treeshaking/components/element-plus/OElCookieNotice.css +303 -0
  381. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue.mjs +8 -0
  382. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue2.mjs +384 -0
  383. package/dist/treeshaking/components/element-plus/OElCookieNotice2.css +688 -0
  384. package/dist/treeshaking/components/empty/404.png.mjs +4 -0
  385. package/dist/treeshaking/components/empty/404_dark.png.mjs +4 -0
  386. package/dist/treeshaking/components/empty/OEmpty.vue.mjs +7 -0
  387. package/dist/treeshaking/components/empty/OEmpty.vue2.mjs +44 -0
  388. package/dist/treeshaking/components/empty/index.mjs +9 -6
  389. package/dist/treeshaking/components/events/OEventsApply.vue.mjs +98 -0
  390. package/dist/treeshaking/components/events/OEventsApply.vue3.mjs +5 -0
  391. package/dist/treeshaking/components/events/OEventsCalendar.vue.mjs +289 -0
  392. package/dist/treeshaking/components/events/OEventsCalendar.vue3.mjs +5 -0
  393. package/dist/treeshaking/components/events/OEventsList.vue.mjs +237 -0
  394. package/dist/treeshaking/components/events/OEventsList.vue3.mjs +5 -0
  395. package/dist/treeshaking/components/events/config.mjs +34 -30
  396. package/dist/treeshaking/components/events/index.d.ts +20 -20
  397. package/dist/treeshaking/components/events/index.mjs +26 -15
  398. package/dist/treeshaking/components/events/types.mjs +9 -8
  399. package/dist/treeshaking/components/events/utils.mjs +5 -10
  400. package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.vue.mjs +7 -0
  401. package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.vue2.mjs +165 -0
  402. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue.mjs +7 -0
  403. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue2.mjs +309 -0
  404. package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.vue.mjs +99 -0
  405. package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.vue2.mjs +4 -0
  406. package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.vue.mjs +7 -0
  407. package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.vue2.mjs +95 -0
  408. package/dist/treeshaking/components/feedback-doc/index.mjs +30 -18
  409. package/dist/treeshaking/components/float-poster/OFloatPoster.vue.mjs +7 -0
  410. package/dist/treeshaking/components/float-poster/OFloatPoster.vue2.mjs +84 -0
  411. package/dist/treeshaking/components/float-poster/index.mjs +9 -6
  412. package/dist/treeshaking/components/footer/OFooter.vue.mjs +7 -0
  413. package/dist/treeshaking/components/footer/OFooter.vue2.mjs +92 -0
  414. package/dist/treeshaking/components/footer/components/FooterList.vue.mjs +7 -0
  415. package/dist/treeshaking/components/footer/components/FooterList.vue2.mjs +214 -0
  416. package/dist/treeshaking/components/footer/components/FooterSimple.vue.mjs +7 -0
  417. package/dist/treeshaking/components/footer/components/FooterSimple.vue2.mjs +126 -0
  418. package/dist/treeshaking/components/footer/index.d.ts +3 -3
  419. package/dist/treeshaking/components/footer/index.mjs +9 -6
  420. package/dist/treeshaking/components/header/OHeader.vue.mjs +7 -0
  421. package/dist/treeshaking/components/header/OHeader.vue2.mjs +272 -0
  422. package/dist/treeshaking/components/header/OHeaderMobile.vue.d.ts +8 -8
  423. package/dist/treeshaking/components/header/OHeaderMobile.vue.mjs +7 -0
  424. package/dist/treeshaking/components/header/OHeaderMobile.vue2.mjs +145 -0
  425. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +7 -0
  426. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +371 -0
  427. package/dist/treeshaking/components/header/components/HeaderFlatten.vue.mjs +7 -0
  428. package/dist/treeshaking/components/header/components/HeaderFlatten.vue2.mjs +288 -0
  429. package/dist/treeshaking/components/header/components/HeaderNav.vue.mjs +7 -0
  430. package/dist/treeshaking/components/header/components/HeaderNav.vue2.mjs +244 -0
  431. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.d.ts +1 -1
  432. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.mjs +7 -0
  433. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue2.mjs +253 -0
  434. package/dist/treeshaking/components/header/index.d.ts +28 -28
  435. package/dist/treeshaking/components/header/index.mjs +16 -11
  436. package/dist/treeshaking/components/header/types.mjs +9 -8
  437. package/dist/treeshaking/components/header/utils.mjs +18 -10
  438. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.mjs +8 -0
  439. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue2.mjs +129 -0
  440. package/dist/treeshaking/components/header-language-switcher/index.mjs +9 -6
  441. package/dist/treeshaking/components/header-search/OHeaderSearch.vue.mjs +7 -0
  442. package/dist/treeshaking/components/header-search/OHeaderSearch.vue2.mjs +436 -0
  443. package/dist/treeshaking/components/header-search/index.d.ts +13 -13
  444. package/dist/treeshaking/components/header-search/index.mjs +9 -6
  445. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue.mjs +7 -0
  446. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue2.mjs +89 -0
  447. package/dist/treeshaking/components/header-source-code/index.mjs +9 -6
  448. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue.mjs +7 -0
  449. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue2.mjs +86 -0
  450. package/dist/treeshaking/components/header-theme/index.mjs +9 -6
  451. package/dist/treeshaking/components/header-user/OHeaderUser.vue.mjs +8 -0
  452. package/dist/treeshaking/components/header-user/OHeaderUser.vue2.mjs +161 -0
  453. package/dist/treeshaking/components/header-user/index.mjs +9 -6
  454. package/dist/treeshaking/components/html-viewer/OHtmlViewer.vue.mjs +7 -0
  455. package/dist/treeshaking/components/html-viewer/OHtmlViewer.vue2.mjs +117 -0
  456. package/dist/treeshaking/components/html-viewer/index.mjs +9 -6
  457. package/dist/treeshaking/components/html-viewer/utils.mjs +66 -71
  458. package/dist/treeshaking/components/icon/index.mjs +10 -14
  459. package/dist/treeshaking/components/logo-swiper/OLogoSwiper.vue.mjs +7 -0
  460. package/dist/treeshaking/components/logo-swiper/OLogoSwiper.vue2.mjs +21 -0
  461. package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue.mjs +7 -0
  462. package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue2.mjs +164 -0
  463. package/dist/treeshaking/components/logo-swiper/index.d.ts +11 -11
  464. package/dist/treeshaking/components/logo-swiper/index.mjs +16 -10
  465. package/dist/treeshaking/components/markdown/OMarkdown.vue.mjs +8 -0
  466. package/dist/treeshaking/components/markdown/OMarkdown.vue2.mjs +195 -0
  467. package/dist/treeshaking/components/markdown/OMarkdown2.css +14 -0
  468. package/dist/treeshaking/components/markdown/components/MarkdownCode.vue.mjs +8 -0
  469. package/dist/treeshaking/components/markdown/components/MarkdownCode.vue2.mjs +127 -0
  470. package/dist/treeshaking/components/markdown/components/MarkdownImage.vue.mjs +7 -0
  471. package/dist/treeshaking/components/markdown/components/MarkdownImage.vue2.mjs +76 -0
  472. package/dist/treeshaking/components/markdown/components/MarkdownTable.vue.mjs +7 -0
  473. package/dist/treeshaking/components/markdown/components/MarkdownTable.vue2.mjs +59 -0
  474. package/dist/treeshaking/components/markdown/components/MarkdownTableData.vue.mjs +7 -0
  475. package/dist/treeshaking/components/markdown/components/MarkdownTableData.vue2.mjs +181 -0
  476. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.vue.mjs +7 -0
  477. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.vue2.mjs +57 -0
  478. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue.mjs +7 -0
  479. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue2.mjs +75 -0
  480. package/dist/treeshaking/components/markdown/index.mjs +9 -6
  481. package/dist/treeshaking/components/markdown/replacer/code.mjs +20 -16
  482. package/dist/treeshaking/components/markdown/replacer/h2.mjs +19 -13
  483. package/dist/treeshaking/components/markdown/replacer/img.mjs +19 -13
  484. package/dist/treeshaking/components/markdown/replacer/table.mjs +19 -13
  485. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.mjs +597 -0
  486. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue3.mjs +5 -0
  487. package/dist/treeshaking/components/meeting/OMeetingForm.css +765 -0
  488. package/dist/treeshaking/components/meeting/OMeetingForm.vue.mjs +1081 -0
  489. package/dist/treeshaking/components/meeting/OMeetingForm.vue4.mjs +6 -0
  490. package/dist/treeshaking/components/meeting/OMeetingForm2.css +358 -0
  491. package/dist/treeshaking/components/meeting/OMeetingMinutes.vue.mjs +415 -0
  492. package/dist/treeshaking/components/meeting/OMeetingMinutes.vue3.mjs +5 -0
  493. package/dist/treeshaking/components/meeting/OMeetingMinutesCopyDetail.vue.mjs +7 -0
  494. package/dist/treeshaking/components/meeting/OMeetingMinutesCopyDetail.vue2.mjs +74 -0
  495. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue.mjs +931 -0
  496. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue4.mjs +6 -0
  497. package/dist/treeshaking/components/meeting/OMeetingMyCalendar2.css +330 -0
  498. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue.d.ts +6 -6
  499. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue.mjs +406 -0
  500. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue3.mjs +5 -0
  501. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.vue.mjs +221 -0
  502. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.vue3.mjs +5 -0
  503. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.mjs +396 -0
  504. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue3.mjs +5 -0
  505. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.mjs +422 -0
  506. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue3.mjs +5 -0
  507. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue.mjs +132 -0
  508. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue4.mjs +6 -0
  509. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue.mjs +194 -0
  510. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue3.mjs +5 -0
  511. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue.mjs +434 -0
  512. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue4.mjs +6 -0
  513. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles2.css +344 -0
  514. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.css +438 -0
  515. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +1 -1
  516. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue.mjs +242 -0
  517. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue3.mjs +5 -0
  518. package/dist/treeshaking/components/meeting/components/OMeetingSendMinutesDialog.vue.mjs +7 -0
  519. package/dist/treeshaking/components/meeting/components/OMeetingSendMinutesDialog.vue2.mjs +93 -0
  520. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue.mjs +152 -0
  521. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue3.mjs +5 -0
  522. package/dist/treeshaking/components/meeting/composables/useMeetingConfig.mjs +94 -130
  523. package/dist/treeshaking/components/meeting/config.d.ts +1 -0
  524. package/dist/treeshaking/components/meeting/config.mjs +20 -19
  525. package/dist/treeshaking/components/meeting/index.d.ts +51 -51
  526. package/dist/treeshaking/components/meeting/index.mjs +67 -35
  527. package/dist/treeshaking/components/meeting/types.d.ts +1 -1
  528. package/dist/treeshaking/components/meeting/types.mjs +17 -15
  529. package/dist/treeshaking/components/meeting/utils.d.ts +1 -0
  530. package/dist/treeshaking/components/meeting/utils.mjs +72 -52
  531. package/dist/treeshaking/components/org/OOrgDesc.vue.mjs +7 -0
  532. package/dist/treeshaking/components/org/OOrgDesc.vue2.mjs +40 -0
  533. package/dist/treeshaking/components/org/OOrgMembers.vue.mjs +7 -0
  534. package/dist/treeshaking/components/org/OOrgMembers.vue2.mjs +108 -0
  535. package/dist/treeshaking/components/org/index.d.ts +9 -9
  536. package/dist/treeshaking/components/org/index.mjs +16 -10
  537. package/dist/treeshaking/components/recursion-menu/ORecursionMenu.vue.mjs +95 -0
  538. package/dist/treeshaking/components/recursion-menu/ORecursionMenu.vue2.mjs +4 -0
  539. package/dist/treeshaking/components/recursion-menu/ORecursionMenuItem.vue.mjs +7 -0
  540. package/dist/treeshaking/components/recursion-menu/ORecursionMenuItem.vue2.mjs +107 -0
  541. package/dist/treeshaking/components/recursion-menu/index.d.ts +3 -3
  542. package/dist/treeshaking/components/recursion-menu/index.mjs +16 -11
  543. package/dist/treeshaking/components/recursion-menu/types.mjs +4 -4
  544. package/dist/treeshaking/components/search/OSearchInput.vue.mjs +7 -0
  545. package/dist/treeshaking/components/search/OSearchInput.vue2.mjs +382 -0
  546. package/dist/treeshaking/components/search/composables/useImageSearch.mjs +132 -114
  547. package/dist/treeshaking/components/search/composables/useKeywordHighlight.mjs +26 -33
  548. package/dist/treeshaking/components/search/composables/useSearchHistory.mjs +56 -53
  549. package/dist/treeshaking/components/search/index.d.ts +11 -11
  550. package/dist/treeshaking/components/search/index.mjs +9 -6
  551. package/dist/treeshaking/components/search/internal/HighlightText.vue.mjs +7 -0
  552. package/dist/treeshaking/components/search/internal/HighlightText.vue2.mjs +33 -0
  553. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.mjs +8 -0
  554. package/dist/treeshaking/components/search/internal/SearchImageInput.vue2.mjs +305 -0
  555. package/dist/treeshaking/components/search/internal/SearchPanel.vue.mjs +7 -0
  556. package/dist/treeshaking/components/search/internal/SearchPanel.vue2.mjs +255 -0
  557. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.vue.mjs +7 -0
  558. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.vue2.mjs +214 -0
  559. package/dist/treeshaking/components/search-doc-result/index.mjs +9 -6
  560. package/dist/treeshaking/components/search-result/OSearchResult.vue.mjs +7 -0
  561. package/dist/treeshaking/components/search-result/OSearchResult.vue2.mjs +185 -0
  562. package/dist/treeshaking/components/search-result/OSearchResultHeader.vue.d.ts +24 -24
  563. package/dist/treeshaking/components/search-result/OSearchResultHeader.vue.mjs +7 -0
  564. package/dist/treeshaking/components/search-result/OSearchResultHeader.vue2.mjs +112 -0
  565. package/dist/treeshaking/components/search-result/OSearchResultItem.vue.mjs +7 -0
  566. package/dist/treeshaking/components/search-result/OSearchResultItem.vue2.mjs +118 -0
  567. package/dist/treeshaking/components/search-result/components/OSearchResultEmpty.vue.mjs +7 -0
  568. package/dist/treeshaking/components/search-result/components/OSearchResultEmpty.vue2.mjs +29 -0
  569. package/dist/treeshaking/components/search-result/components/OSearchResultFeedback.vue.mjs +7 -0
  570. package/dist/treeshaking/components/search-result/components/OSearchResultFeedback.vue2.mjs +171 -0
  571. package/dist/treeshaking/components/search-result/components/OSearchResultFeedbackBanner.vue.mjs +7 -0
  572. package/dist/treeshaking/components/search-result/components/OSearchResultFeedbackBanner.vue2.mjs +185 -0
  573. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.vue.mjs +7 -0
  574. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.vue2.mjs +55 -0
  575. package/dist/treeshaking/components/search-result/index.d.ts +31 -31
  576. package/dist/treeshaking/components/search-result/index.mjs +23 -14
  577. package/dist/treeshaking/components/section/OSection.vue.mjs +7 -0
  578. package/dist/treeshaking/components/section/OSection.vue2.mjs +93 -0
  579. package/dist/treeshaking/components/section/index.mjs +9 -6
  580. package/dist/treeshaking/components/sig/OSigDetail.vue.mjs +262 -0
  581. package/dist/treeshaking/components/sig/OSigDetail.vue3.mjs +5 -0
  582. package/dist/treeshaking/components/sig/OSigList.vue.mjs +524 -0
  583. package/dist/treeshaking/components/sig/OSigList.vue3.mjs +5 -0
  584. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue.mjs +90 -0
  585. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue3.mjs +5 -0
  586. package/dist/treeshaking/components/sig/components/OSigItem.css +373 -0
  587. package/dist/treeshaking/components/sig/components/OSigItem.vue.mjs +212 -0
  588. package/dist/treeshaking/components/sig/components/OSigItem.vue3.mjs +5 -0
  589. package/dist/treeshaking/components/sig/components/OSigMember.vue.mjs +274 -0
  590. package/dist/treeshaking/components/sig/components/OSigMember.vue3.mjs +5 -0
  591. package/dist/treeshaking/components/sig/components/OSigRepo.vue.mjs +191 -0
  592. package/dist/treeshaking/components/sig/components/OSigRepo.vue3.mjs +5 -0
  593. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue.mjs +328 -0
  594. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue3.mjs +5 -0
  595. package/dist/treeshaking/components/sig/components/utils.mjs +38 -61
  596. package/dist/treeshaking/components/sig/index.d.ts +15 -15
  597. package/dist/treeshaking/components/sig/index.mjs +18 -10
  598. package/dist/treeshaking/components/summit/OSummit.vue.mjs +7 -0
  599. package/dist/treeshaking/components/summit/OSummit.vue2.mjs +60 -0
  600. package/dist/treeshaking/components/summit/OSummitIntro.vue.mjs +7 -0
  601. package/dist/treeshaking/components/summit/OSummitIntro.vue2.mjs +26 -0
  602. package/dist/treeshaking/components/summit/OSummitLive.vue.mjs +7 -0
  603. package/dist/treeshaking/components/summit/OSummitLive.vue2.mjs +171 -0
  604. package/dist/treeshaking/components/summit/OSummitSchedule.vue.mjs +8 -0
  605. package/dist/treeshaking/components/summit/OSummitSchedule.vue2.mjs +317 -0
  606. package/dist/treeshaking/components/summit/components/OSummitTabs.vue.mjs +7 -0
  607. package/dist/treeshaking/components/summit/components/OSummitTabs.vue2.mjs +157 -0
  608. package/dist/treeshaking/components/summit/index.d.ts +12 -12
  609. package/dist/treeshaking/components/summit/index.mjs +30 -18
  610. package/dist/treeshaking/components/summit/utils.mjs +88 -103
  611. package/dist/treeshaking/components/user-center/OAccountSecurity.css +253 -0
  612. package/dist/treeshaking/components/user-center/OAccountSecurity.vue.mjs +7 -0
  613. package/dist/treeshaking/components/user-center/OAccountSecurity.vue2.mjs +308 -0
  614. package/dist/treeshaking/components/user-center/OAccountSetting.css +284 -0
  615. package/dist/treeshaking/components/user-center/OAccountSetting.vue.mjs +7 -0
  616. package/dist/treeshaking/components/user-center/OAccountSetting.vue2.mjs +395 -0
  617. package/dist/treeshaking/components/user-center/OAppHeader.vue.mjs +7 -0
  618. package/dist/treeshaking/components/user-center/OAppHeader.vue2.mjs +207 -0
  619. package/dist/treeshaking/components/user-center/OAsideBar.vue.mjs +7 -0
  620. package/dist/treeshaking/components/user-center/OAsideBar.vue2.mjs +108 -0
  621. package/dist/treeshaking/components/user-center/OLayout.vue.mjs +7 -0
  622. package/dist/treeshaking/components/user-center/OLayout.vue2.mjs +27 -0
  623. package/dist/treeshaking/components/user-center/OTheAccountManage.vue.mjs +7 -0
  624. package/dist/treeshaking/components/user-center/OTheAccountManage.vue2.mjs +26 -0
  625. package/dist/treeshaking/components/user-center/OTheCreateMeeting.vue.mjs +7 -0
  626. package/dist/treeshaking/components/user-center/OTheCreateMeeting.vue2.mjs +103 -0
  627. package/dist/treeshaking/components/user-center/OTheMeeting.vue.mjs +7 -0
  628. package/dist/treeshaking/components/user-center/OTheMeeting.vue2.mjs +128 -0
  629. package/dist/treeshaking/components/user-center/OThirdPartyBindings.vue.mjs +7 -0
  630. package/dist/treeshaking/components/user-center/OThirdPartyBindings.vue2.mjs +388 -0
  631. package/dist/treeshaking/components/user-center/OUserInfo.vue.mjs +9 -0
  632. package/dist/treeshaking/components/user-center/OUserInfo.vue2.mjs +562 -0
  633. package/dist/treeshaking/components/user-center/const/common.const.mjs +30 -22
  634. package/dist/treeshaking/components/user-center/index.d.ts +18 -18
  635. package/dist/treeshaking/components/user-center/index.mjs +72 -42
  636. package/dist/treeshaking/components/user-center/internal/OAppDialog.vue.mjs +7 -0
  637. package/dist/treeshaking/components/user-center/internal/OAppDialog.vue2.mjs +446 -0
  638. package/dist/treeshaking/components/user-center/internal/OAppEmpty.vue.mjs +7 -0
  639. package/dist/treeshaking/components/user-center/internal/OAppEmpty.vue2.mjs +41 -0
  640. package/dist/treeshaking/components/user-center/internal/OCommonHeader.vue.mjs +7 -0
  641. package/dist/treeshaking/components/user-center/internal/OCommonHeader.vue2.mjs +148 -0
  642. package/dist/treeshaking/components/user-center/internal/OCountdownButton.vue.mjs +67 -0
  643. package/dist/treeshaking/components/user-center/internal/OCountdownButton.vue2.mjs +4 -0
  644. package/dist/treeshaking/components/user-center/internal/ODeleteAccountModal.vue.mjs +8 -0
  645. package/dist/treeshaking/components/user-center/internal/ODeleteAccountModal.vue2.mjs +325 -0
  646. package/dist/treeshaking/components/user-center/internal/OEditNicknameDialog.vue.mjs +8 -0
  647. package/dist/treeshaking/components/user-center/internal/OEditNicknameDialog.vue2.mjs +149 -0
  648. package/dist/treeshaking/components/user-center/internal/OEditOrgDialog.vue.mjs +8 -0
  649. package/dist/treeshaking/components/user-center/internal/OEditOrgDialog.vue2.mjs +162 -0
  650. package/dist/treeshaking/components/user-center/internal/OMaskEye.vue.mjs +7 -0
  651. package/dist/treeshaking/components/user-center/internal/OMaskEye.vue2.mjs +30 -0
  652. package/dist/treeshaking/components/user-center/internal/OModifyPwd.vue.mjs +7 -0
  653. package/dist/treeshaking/components/user-center/internal/OModifyPwd.vue2.mjs +461 -0
  654. package/dist/treeshaking/components/user-center/internal/OPasswordPopInput.vue.mjs +7 -0
  655. package/dist/treeshaking/components/user-center/internal/OPasswordPopInput.vue2.mjs +147 -0
  656. package/dist/treeshaking/components/user-center/internal/OToBindingTipModal.vue.mjs +7 -0
  657. package/dist/treeshaking/components/user-center/internal/OToBindingTipModal.vue2.mjs +117 -0
  658. package/dist/treeshaking/components/user-center/internal/OUnbindingThirdpartyAccountModal.vue.mjs +7 -0
  659. package/dist/treeshaking/components/user-center/internal/OUnbindingThirdpartyAccountModal.vue2.mjs +107 -0
  660. package/dist/treeshaking/components/user-center/internal/OUploadAvatar.vue.mjs +8 -0
  661. package/dist/treeshaking/components/user-center/internal/OUploadAvatar.vue2.mjs +455 -0
  662. package/dist/treeshaking/components/user-center/rolesMap.mjs +21 -16
  663. package/dist/treeshaking/components/user-center/utils/helper.mjs +5 -7
  664. package/dist/treeshaking/components/user-center/utils/rules.mjs +136 -99
  665. package/dist/treeshaking/components/user-center/utils/utils.mjs +38 -30
  666. package/dist/treeshaking/components/user-center/verify/Verify.vue.mjs +61 -0
  667. package/dist/treeshaking/components/user-center/verify/Verify.vue2.mjs +83 -0
  668. package/dist/treeshaking/components/user-center/verify/VerifySlide.vue.mjs +122 -0
  669. package/dist/treeshaking/components/user-center/verify/VerifySlide.vue2.mjs +367 -0
  670. package/dist/treeshaking/components/user-center/verify/utils/ase.mjs +11 -15
  671. package/dist/treeshaking/components/user-center/verify/utils/util.mjs +32 -19
  672. package/dist/treeshaking/components/video/OVideoDetail.vue.mjs +318 -0
  673. package/dist/treeshaking/components/video/OVideoDetail.vue3.mjs +5 -0
  674. package/dist/treeshaking/components/video/index.d.ts +3 -3
  675. package/dist/treeshaking/components/video/index.mjs +10 -6
  676. package/dist/treeshaking/i18n/en.mjs +603 -595
  677. package/dist/treeshaking/i18n/index.mjs +45 -41
  678. package/dist/treeshaking/i18n/zh.mjs +606 -598
  679. package/dist/treeshaking/index.mjs +87 -7
  680. package/dist/treeshaking/shared/anchor.mjs +8 -3
  681. package/dist/treeshaking/shared/provide.mjs +4 -3
  682. package/dist/treeshaking/shared/theme.mjs +23 -22
  683. package/package.json +1 -1
  684. package/dist/chunk-element-plus.cjs.js +0 -1
  685. package/dist/chunk-element-plus.es.js +0 -1434
  686. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/codec-helpers.js.mjs +0 -1
  687. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/opus-helpers.js.mjs +0 -10
  688. package/dist/treeshaking/_virtual/_rolldown/runtime.mjs +0 -27
  689. package/dist/treeshaking/_virtual/cropperjs/dist/cropper.js.mjs +0 -2575
  690. package/dist/treeshaking/_virtual/rxjs/dist/esm5/internal/NotificationFactories.js.mjs +0 -18
  691. package/dist/treeshaking/_virtual/~icons/components/icon-address.mjs +0 -21
  692. package/dist/treeshaking/_virtual/~icons/components/icon-anchor-expand.mjs +0 -20
  693. package/dist/treeshaking/_virtual/~icons/components/icon-anchor.mjs +0 -22
  694. package/dist/treeshaking/_virtual/~icons/components/icon-arrow-left.mjs +0 -20
  695. package/dist/treeshaking/_virtual/~icons/components/icon-avatar-line.mjs +0 -20
  696. package/dist/treeshaking/_virtual/~icons/components/icon-caret-left.mjs +0 -20
  697. package/dist/treeshaking/_virtual/~icons/components/icon-caret-right.mjs +0 -20
  698. package/dist/treeshaking/_virtual/~icons/components/icon-chevron-down.mjs +0 -20
  699. package/dist/treeshaking/_virtual/~icons/components/icon-chevron-right.mjs +0 -20
  700. package/dist/treeshaking/_virtual/~icons/components/icon-chevron-up.mjs +0 -20
  701. package/dist/treeshaking/_virtual/~icons/components/icon-close.mjs +0 -20
  702. package/dist/treeshaking/_virtual/~icons/components/icon-copy.mjs +0 -20
  703. package/dist/treeshaking/_virtual/~icons/components/icon-delete-hover.mjs +0 -23
  704. package/dist/treeshaking/_virtual/~icons/components/icon-delete.mjs +0 -17
  705. package/dist/treeshaking/_virtual/~icons/components/icon-download.mjs +0 -17
  706. package/dist/treeshaking/_virtual/~icons/components/icon-edit.mjs +0 -40
  707. package/dist/treeshaking/_virtual/~icons/components/icon-email.mjs +0 -21
  708. package/dist/treeshaking/_virtual/~icons/components/icon-expand.mjs +0 -21
  709. package/dist/treeshaking/_virtual/~icons/components/icon-forum.mjs +0 -21
  710. package/dist/treeshaking/_virtual/~icons/components/icon-header-back.mjs +0 -20
  711. package/dist/treeshaking/_virtual/~icons/components/icon-header-menu.mjs +0 -20
  712. package/dist/treeshaking/_virtual/~icons/components/icon-header-search.mjs +0 -20
  713. package/dist/treeshaking/_virtual/~icons/components/icon-image-upload.mjs +0 -20
  714. package/dist/treeshaking/_virtual/~icons/components/icon-image-zoomin.mjs +0 -20
  715. package/dist/treeshaking/_virtual/~icons/components/icon-like.mjs +0 -20
  716. package/dist/treeshaking/_virtual/~icons/components/icon-link.mjs +0 -30
  717. package/dist/treeshaking/_virtual/~icons/components/icon-locale.mjs +0 -20
  718. package/dist/treeshaking/_virtual/~icons/components/icon-menu-fold.mjs +0 -20
  719. package/dist/treeshaking/_virtual/~icons/components/icon-menu-unfold.mjs +0 -20
  720. package/dist/treeshaking/_virtual/~icons/components/icon-moon.mjs +0 -20
  721. package/dist/treeshaking/_virtual/~icons/components/icon-more.mjs +0 -19
  722. package/dist/treeshaking/_virtual/~icons/components/icon-next.mjs +0 -22
  723. package/dist/treeshaking/_virtual/~icons/components/icon-notice.mjs +0 -20
  724. package/dist/treeshaking/_virtual/~icons/components/icon-outlink.mjs +0 -20
  725. package/dist/treeshaking/_virtual/~icons/components/icon-refresh.mjs +0 -21
  726. package/dist/treeshaking/_virtual/~icons/components/icon-relative-search.mjs +0 -21
  727. package/dist/treeshaking/_virtual/~icons/components/icon-search.mjs +0 -17
  728. package/dist/treeshaking/_virtual/~icons/components/icon-smile.mjs +0 -21
  729. package/dist/treeshaking/_virtual/~icons/components/icon-star.mjs +0 -20
  730. package/dist/treeshaking/_virtual/~icons/components/icon-sun.mjs +0 -20
  731. package/dist/treeshaking/_virtual/~icons/components/icon-time.mjs +0 -20
  732. package/dist/treeshaking/_virtual/~icons/components/icon-tips.mjs +0 -17
  733. package/dist/treeshaking/_virtual/~icons/components/icon-unexpand.mjs +0 -22
  734. package/dist/treeshaking/_virtual/~icons/components/icon-unlike.mjs +0 -20
  735. package/dist/treeshaking/_virtual/~icons/components/icon-working.mjs +0 -17
  736. package/dist/treeshaking/_virtual/~icons/events/icon-checked.mjs +0 -20
  737. package/dist/treeshaking/_virtual/~icons/events/icon-competition.mjs +0 -30
  738. package/dist/treeshaking/_virtual/~icons/events/icon-events.mjs +0 -30
  739. package/dist/treeshaking/_virtual/~icons/events/icon-release.mjs +0 -30
  740. package/dist/treeshaking/_virtual/~icons/events/icon-summit.mjs +0 -30
  741. package/dist/treeshaking/_virtual/~icons/meeting/icon-all.mjs +0 -20
  742. package/dist/treeshaking/_virtual/~icons/meeting/icon-copy.mjs +0 -21
  743. package/dist/treeshaking/_virtual/~icons/meeting/icon-event.mjs +0 -21
  744. package/dist/treeshaking/_virtual/~icons/meeting/icon-help.mjs +0 -21
  745. package/dist/treeshaking/_virtual/~icons/meeting/icon-meet.mjs +0 -20
  746. package/dist/treeshaking/_virtual/~icons/meeting/icon-playing.mjs +0 -35
  747. package/dist/treeshaking/_virtual/~icons/meeting/icon-speaker.mjs +0 -17
  748. package/dist/treeshaking/_virtual/~icons/meeting/icon-summit.mjs +0 -21
  749. package/dist/treeshaking/_virtual/~icons/meeting/icon-tip.mjs +0 -21
  750. package/dist/treeshaking/_virtual/~icons/sig/icon-atomgit.mjs +0 -24
  751. package/dist/treeshaking/_virtual/~icons/sig/icon-gitee.mjs +0 -20
  752. package/dist/treeshaking/_virtual/~icons/sig/icon-mail.mjs +0 -17
  753. package/dist/treeshaking/_virtual/~icons/sig/icon-search.mjs +0 -17
  754. package/dist/treeshaking/_virtual/~icons/sig/icon-user.mjs +0 -17
  755. package/dist/treeshaking/_virtual/~icons/sig/sig-space.mjs +0 -20
  756. package/dist/treeshaking/_virtual/~icons/user-center/icon-add-dark.mjs +0 -42
  757. package/dist/treeshaking/_virtual/~icons/user-center/icon-add-new.mjs +0 -17
  758. package/dist/treeshaking/_virtual/~icons/user-center/icon-check.mjs +0 -20
  759. package/dist/treeshaking/_virtual/~icons/user-center/icon-chevron-right.mjs +0 -20
  760. package/dist/treeshaking/_virtual/~icons/user-center/icon-close.mjs +0 -20
  761. package/dist/treeshaking/_virtual/~icons/user-center/icon-done.mjs +0 -20
  762. package/dist/treeshaking/_virtual/~icons/user-center/icon-edit-new.mjs +0 -17
  763. package/dist/treeshaking/_virtual/~icons/user-center/icon-email.mjs +0 -22
  764. package/dist/treeshaking/_virtual/~icons/user-center/icon-eye-off.mjs +0 -20
  765. package/dist/treeshaking/_virtual/~icons/user-center/icon-eye.mjs +0 -20
  766. package/dist/treeshaking/_virtual/~icons/user-center/icon-gitcode-new.mjs +0 -29
  767. package/dist/treeshaking/_virtual/~icons/user-center/icon-gitee.mjs +0 -20
  768. package/dist/treeshaking/_virtual/~icons/user-center/icon-github.mjs +0 -20
  769. package/dist/treeshaking/_virtual/~icons/user-center/icon-loading.mjs +0 -23
  770. package/dist/treeshaking/_virtual/~icons/user-center/icon-minus-dark.mjs +0 -64
  771. package/dist/treeshaking/_virtual/~icons/user-center/icon-minus-new.mjs +0 -17
  772. package/dist/treeshaking/_virtual/~icons/user-center/icon-openatom.mjs +0 -20
  773. package/dist/treeshaking/_virtual/~icons/user-center/icon-phone.mjs +0 -22
  774. package/dist/treeshaking/_virtual/~icons/user-center/icon-refresh.mjs +0 -45
  775. package/dist/treeshaking/_virtual/~icons/user-center/icon-setting.mjs +0 -20
  776. package/dist/treeshaking/_virtual/~icons/user-center/icon-tips.mjs +0 -30
  777. package/dist/treeshaking/_virtual/~icons/user-center/icon-wechat.mjs +0 -18
  778. package/dist/treeshaking/_virtual/~icons/video/icon-material.mjs +0 -21
  779. package/dist/treeshaking/_virtual/~icons/video/icon-video.mjs +0 -30
  780. package/dist/treeshaking/assets/meeting/empty.mjs +0 -3
  781. package/dist/treeshaking/assets/meeting/transparent.mjs +0 -3
  782. package/dist/treeshaking/assets/search/search-empty.mjs +0 -3
  783. package/dist/treeshaking/assets/svg-icons/icon-zoom.mjs +0 -3
  784. package/dist/treeshaking/assets/user-center/images/avatar.mjs +0 -3
  785. package/dist/treeshaking/assets/user-center/images/default-user-photo.mjs +0 -3
  786. package/dist/treeshaking/assets/user-center/images/left-arrow-dark.mjs +0 -3
  787. package/dist/treeshaking/assets/user-center/images/left-arrow-light.mjs +0 -3
  788. package/dist/treeshaking/assets/user-center/images/noData.mjs +0 -3
  789. package/dist/treeshaking/assets/user-center/images/warning-dark.mjs +0 -3
  790. package/dist/treeshaking/assets/user-center/images/warning-light.mjs +0 -3
  791. package/dist/treeshaking/components/activity/OActivityApproval.mjs +0 -6
  792. package/dist/treeshaking/components/activity/OActivityApproval.vue_vue_type_script_setup_true_lang.mjs +0 -586
  793. package/dist/treeshaking/components/activity/OActivityApproval.vue_vue_type_style_index_1_lang.css +0 -40
  794. package/dist/treeshaking/components/activity/OActivityForm.mjs +0 -6
  795. package/dist/treeshaking/components/activity/OActivityForm.vue_vue_type_script_setup_true_lang.mjs +0 -517
  796. package/dist/treeshaking/components/activity/OActivityForm.vue_vue_type_style_index_0_lang.css +0 -364
  797. package/dist/treeshaking/components/activity/OActivityForm.vue_vue_type_style_index_1_lang.css +0 -327
  798. package/dist/treeshaking/components/activity/OActivityMyCalendar.mjs +0 -6
  799. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue_vue_type_script_setup_true_lang.mjs +0 -622
  800. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue_vue_type_style_index_1_lang.css +0 -318
  801. package/dist/treeshaking/components/anchor-bar/OAnchorBar.mjs +0 -6
  802. package/dist/treeshaking/components/anchor-bar/OAnchorBar.vue_vue_type_script_setup_true_lang.mjs +0 -84
  803. package/dist/treeshaking/components/article/OArticle.mjs +0 -6
  804. package/dist/treeshaking/components/article/OArticle.vue_vue_type_script_setup_true_lang.mjs +0 -133
  805. package/dist/treeshaking/components/article/OArticleList.mjs +0 -5
  806. package/dist/treeshaking/components/article/OArticleList.vue_vue_type_script_setup_true_lang.mjs +0 -182
  807. package/dist/treeshaking/components/article/OArticleList.vue_vue_type_style_index_0_lang.css +0 -233
  808. package/dist/treeshaking/components/article/components/ArticleTitle.mjs +0 -6
  809. package/dist/treeshaking/components/article/components/ArticleTitle.vue_vue_type_script_setup_true_lang.mjs +0 -77
  810. package/dist/treeshaking/components/article/components/DocTitle.mjs +0 -6
  811. package/dist/treeshaking/components/article/components/DocTitle.vue_vue_type_script_setup_true_lang.mjs +0 -219
  812. package/dist/treeshaking/components/article/components/DocTitle.vue_vue_type_style_index_0_scoped_ea84d56c_lang.css +0 -246
  813. package/dist/treeshaking/components/article-anchor/OArticleAnchor.mjs +0 -6
  814. package/dist/treeshaking/components/article-anchor/OArticleAnchor.vue_vue_type_script_setup_true_lang.mjs +0 -241
  815. package/dist/treeshaking/components/article-anchor/OArticleAnchor.vue_vue_type_style_index_0_scoped_6e032ecb_lang.css +0 -18
  816. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorItems.mjs +0 -6
  817. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorItems.vue_vue_type_script_setup_true_lang.mjs +0 -27
  818. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorItems.vue_vue_type_style_index_0_scoped_c0fc5e57_lang.css +0 -11
  819. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorMobile.mjs +0 -6
  820. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorMobile.vue_vue_type_script_setup_true_lang.mjs +0 -130
  821. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorMobile.vue_vue_type_style_index_0_scoped_648619c2_lang.css +0 -47
  822. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPad.mjs +0 -6
  823. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPad.vue_vue_type_script_setup_true_lang.mjs +0 -54
  824. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPc.mjs +0 -6
  825. package/dist/treeshaking/components/article-anchor/components/ArticleAnchorPc.vue_vue_type_script_setup_true_lang.mjs +0 -27
  826. package/dist/treeshaking/components/article-pagination/OArticlePagination.mjs +0 -6
  827. package/dist/treeshaking/components/article-pagination/OArticlePagination.vue_vue_type_script_setup_true_lang.mjs +0 -82
  828. package/dist/treeshaking/components/banner/OBanner.mjs +0 -7
  829. package/dist/treeshaking/components/banner/OBanner.vue_vue_type_script_setup_true_lang.mjs +0 -129
  830. package/dist/treeshaking/components/banner/OBannerContent.mjs +0 -6
  831. package/dist/treeshaking/components/banner/OBannerContent.vue_vue_type_script_setup_true_lang.mjs +0 -93
  832. package/dist/treeshaking/components/brand/OBrandFile.mjs +0 -6
  833. package/dist/treeshaking/components/brand/OBrandFile.vue_vue_type_script_setup_true_lang.mjs +0 -59
  834. package/dist/treeshaking/components/brand/OBrandLogo.mjs +0 -7
  835. package/dist/treeshaking/components/brand/OBrandLogo.vue_vue_type_script_setup_true_lang.mjs +0 -101
  836. package/dist/treeshaking/components/brand/OBrandStandard.mjs +0 -6
  837. package/dist/treeshaking/components/brand/OBrandStandard.vue_vue_type_script_setup_true_lang.mjs +0 -51
  838. package/dist/treeshaking/components/common/AppAvatar.mjs +0 -6
  839. package/dist/treeshaking/components/common/AppAvatar.vue_vue_type_script_setup_true_lang.mjs +0 -73
  840. package/dist/treeshaking/components/common/ClientOnly.mjs +0 -4
  841. package/dist/treeshaking/components/common/ClientOnly.vue_vue_type_script_setup_true_lang.mjs +0 -15
  842. package/dist/treeshaking/components/common/ContentWrapper.mjs +0 -6
  843. package/dist/treeshaking/components/common/ContentWrapper.vue_vue_type_script_setup_true_lang.mjs +0 -40
  844. package/dist/treeshaking/components/common/TooltipText.mjs +0 -5
  845. package/dist/treeshaking/components/common/TooltipText.vue_vue_type_script_setup_true_lang.mjs +0 -92
  846. package/dist/treeshaking/components/common/TooltipText.vue_vue_type_style_index_0_lang.css +0 -35
  847. package/dist/treeshaking/components/common/WordAvatar.mjs +0 -5
  848. package/dist/treeshaking/components/common/WordAvatar.vue_vue_type_script_setup_true_lang.mjs +0 -77
  849. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.mjs +0 -4
  850. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue_vue_type_script_setup_true_lang.mjs +0 -30
  851. package/dist/treeshaking/components/cookie-notice/OCookieNotice.mjs +0 -7
  852. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue_vue_type_script_setup_true_lang.mjs +0 -280
  853. package/dist/treeshaking/components/doc-layout/ODocLayout.mjs +0 -6
  854. package/dist/treeshaking/components/doc-layout/ODocLayout.vue_vue_type_script_setup_true_lang.mjs +0 -156
  855. package/dist/treeshaking/components/doc-layout/ODocLayout.vue_vue_type_style_index_0_scoped_3d4751c0_lang.css +0 -274
  856. package/dist/treeshaking/components/element-plus/OElCookieNotice.mjs +0 -7
  857. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue_vue_type_script_setup_true_lang.mjs +0 -288
  858. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue_vue_type_style_index_0_lang.css +0 -303
  859. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue_vue_type_style_index_1_scoped_667a5ab4_lang.css +0 -688
  860. package/dist/treeshaking/components/empty/404.mjs +0 -3
  861. package/dist/treeshaking/components/empty/404_dark.mjs +0 -3
  862. package/dist/treeshaking/components/empty/OEmpty.mjs +0 -6
  863. package/dist/treeshaking/components/empty/OEmpty.vue_vue_type_script_setup_true_lang.mjs +0 -39
  864. package/dist/treeshaking/components/events/OEventsApply.mjs +0 -5
  865. package/dist/treeshaking/components/events/OEventsApply.vue_vue_type_script_setup_true_lang.mjs +0 -64
  866. package/dist/treeshaking/components/events/OEventsCalendar.mjs +0 -5
  867. package/dist/treeshaking/components/events/OEventsCalendar.vue_vue_type_script_setup_true_lang.mjs +0 -205
  868. package/dist/treeshaking/components/events/OEventsList.mjs +0 -5
  869. package/dist/treeshaking/components/events/OEventsList.vue_vue_type_script_setup_true_lang.mjs +0 -195
  870. package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.mjs +0 -6
  871. package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.vue_vue_type_script_setup_true_lang.mjs +0 -174
  872. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.mjs +0 -6
  873. package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue_vue_type_script_setup_true_lang.mjs +0 -276
  874. package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.mjs +0 -4
  875. package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.vue_vue_type_script_setup_true_lang.mjs +0 -102
  876. package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.mjs +0 -6
  877. package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.vue_vue_type_script_setup_true_lang.mjs +0 -112
  878. package/dist/treeshaking/components/float-poster/OFloatPoster.mjs +0 -6
  879. package/dist/treeshaking/components/float-poster/OFloatPoster.vue_vue_type_script_setup_true_lang.mjs +0 -77
  880. package/dist/treeshaking/components/footer/OFooter.mjs +0 -6
  881. package/dist/treeshaking/components/footer/OFooter.vue_vue_type_script_setup_true_lang.mjs +0 -78
  882. package/dist/treeshaking/components/footer/components/FooterList.mjs +0 -6
  883. package/dist/treeshaking/components/footer/components/FooterList.vue_vue_type_script_setup_true_lang.mjs +0 -150
  884. package/dist/treeshaking/components/footer/components/FooterSimple.mjs +0 -6
  885. package/dist/treeshaking/components/footer/components/FooterSimple.vue_vue_type_script_setup_true_lang.mjs +0 -100
  886. package/dist/treeshaking/components/header/OHeader.mjs +0 -6
  887. package/dist/treeshaking/components/header/OHeader.vue_vue_type_script_setup_true_lang.mjs +0 -256
  888. package/dist/treeshaking/components/header/OHeaderMobile.mjs +0 -6
  889. package/dist/treeshaking/components/header/OHeaderMobile.vue_vue_type_script_setup_true_lang.mjs +0 -121
  890. package/dist/treeshaking/components/header/components/HeaderContent.mjs +0 -6
  891. package/dist/treeshaking/components/header/components/HeaderContent.vue_vue_type_script_setup_true_lang.mjs +0 -286
  892. package/dist/treeshaking/components/header/components/HeaderFlatten.mjs +0 -6
  893. package/dist/treeshaking/components/header/components/HeaderFlatten.vue_vue_type_script_setup_true_lang.mjs +0 -247
  894. package/dist/treeshaking/components/header/components/HeaderNav.mjs +0 -6
  895. package/dist/treeshaking/components/header/components/HeaderNav.vue_vue_type_script_setup_true_lang.mjs +0 -210
  896. package/dist/treeshaking/components/header/components/HeaderNavMobile.mjs +0 -6
  897. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue_vue_type_script_setup_true_lang.mjs +0 -197
  898. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.mjs +0 -7
  899. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue_vue_type_script_setup_true_lang.mjs +0 -109
  900. package/dist/treeshaking/components/header-search/OHeaderSearch.mjs +0 -6
  901. package/dist/treeshaking/components/header-search/OHeaderSearch.vue_vue_type_script_setup_true_lang.mjs +0 -434
  902. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.mjs +0 -6
  903. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue_vue_type_script_setup_true_lang.mjs +0 -73
  904. package/dist/treeshaking/components/header-theme/OHeaderTheme.mjs +0 -6
  905. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue_vue_type_script_setup_true_lang.mjs +0 -75
  906. package/dist/treeshaking/components/header-user/OHeaderUser.mjs +0 -7
  907. package/dist/treeshaking/components/header-user/OHeaderUser.vue_vue_type_script_setup_true_lang.mjs +0 -124
  908. package/dist/treeshaking/components/html-viewer/OHtmlViewer.mjs +0 -6
  909. package/dist/treeshaking/components/html-viewer/OHtmlViewer.vue_vue_type_script_setup_true_lang.mjs +0 -87
  910. package/dist/treeshaking/components/logo-swiper/OLogoSwiper.mjs +0 -6
  911. package/dist/treeshaking/components/logo-swiper/OLogoSwiper.vue_vue_type_script_setup_true_lang.mjs +0 -15
  912. package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.mjs +0 -6
  913. package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue_vue_type_script_setup_true_lang.mjs +0 -145
  914. package/dist/treeshaking/components/markdown/OMarkdown.mjs +0 -7
  915. package/dist/treeshaking/components/markdown/OMarkdown.vue_vue_type_script_setup_true_lang.mjs +0 -180
  916. package/dist/treeshaking/components/markdown/OMarkdown.vue_vue_type_style_index_1_scoped_4be4e234_lang.css +0 -14
  917. package/dist/treeshaking/components/markdown/components/MarkdownCode.mjs +0 -7
  918. package/dist/treeshaking/components/markdown/components/MarkdownCode.vue_vue_type_script_setup_true_lang.mjs +0 -94
  919. package/dist/treeshaking/components/markdown/components/MarkdownImage.mjs +0 -6
  920. package/dist/treeshaking/components/markdown/components/MarkdownImage.vue_vue_type_script_setup_true_lang.mjs +0 -67
  921. package/dist/treeshaking/components/markdown/components/MarkdownTable.mjs +0 -6
  922. package/dist/treeshaking/components/markdown/components/MarkdownTable.vue_vue_type_script_setup_true_lang.mjs +0 -44
  923. package/dist/treeshaking/components/markdown/components/MarkdownTableData.mjs +0 -6
  924. package/dist/treeshaking/components/markdown/components/MarkdownTableData.vue_vue_type_script_setup_true_lang.mjs +0 -145
  925. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.mjs +0 -6
  926. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.vue_vue_type_script_setup_true_lang.mjs +0 -45
  927. package/dist/treeshaking/components/markdown/components/MarkdownTitle.mjs +0 -6
  928. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue_vue_type_script_setup_true_lang.mjs +0 -46
  929. package/dist/treeshaking/components/meeting/OMeetingCalendar.mjs +0 -5
  930. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue_vue_type_script_setup_true_lang.mjs +0 -470
  931. package/dist/treeshaking/components/meeting/OMeetingForm.mjs +0 -6
  932. package/dist/treeshaking/components/meeting/OMeetingForm.vue_vue_type_script_setup_true_lang.mjs +0 -856
  933. package/dist/treeshaking/components/meeting/OMeetingForm.vue_vue_type_style_index_0_lang.css +0 -764
  934. package/dist/treeshaking/components/meeting/OMeetingForm.vue_vue_type_style_index_1_lang.css +0 -358
  935. package/dist/treeshaking/components/meeting/OMeetingMinutes.mjs +0 -5
  936. package/dist/treeshaking/components/meeting/OMeetingMinutes.vue_vue_type_script_setup_true_lang.mjs +0 -307
  937. package/dist/treeshaking/components/meeting/OMeetingMinutesCopyDetail.mjs +0 -6
  938. package/dist/treeshaking/components/meeting/OMeetingMinutesCopyDetail.vue_vue_type_script_setup_true_lang.mjs +0 -52
  939. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.mjs +0 -6
  940. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue_vue_type_script_setup_true_lang.mjs +0 -661
  941. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue_vue_type_style_index_1_lang.css +0 -330
  942. package/dist/treeshaking/components/meeting/OMeetingPlayback.mjs +0 -5
  943. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue_vue_type_script_setup_true_lang.mjs +0 -328
  944. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.mjs +0 -5
  945. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.vue_vue_type_script_setup_true_lang.mjs +0 -189
  946. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.mjs +0 -5
  947. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue_vue_type_script_setup_true_lang.mjs +0 -329
  948. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.mjs +0 -5
  949. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue_vue_type_script_setup_true_lang.mjs +0 -281
  950. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.mjs +0 -6
  951. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue_vue_type_script_setup_true_lang.mjs +0 -112
  952. package/dist/treeshaking/components/meeting/components/OMeetingDetail.mjs +0 -5
  953. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue_vue_type_script_setup_true_lang.mjs +0 -245
  954. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.mjs +0 -6
  955. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue_vue_type_script_setup_true_lang.mjs +0 -314
  956. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue_vue_type_style_index_1_lang.css +0 -344
  957. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.mjs +0 -5
  958. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue_vue_type_script_setup_true_lang.mjs +0 -208
  959. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue_vue_type_style_index_0_lang.css +0 -438
  960. package/dist/treeshaking/components/meeting/components/OMeetingSendMinutesDialog.mjs +0 -6
  961. package/dist/treeshaking/components/meeting/components/OMeetingSendMinutesDialog.vue_vue_type_script_setup_true_lang.mjs +0 -72
  962. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.mjs +0 -5
  963. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue_vue_type_script_setup_true_lang.mjs +0 -118
  964. package/dist/treeshaking/components/org/OOrgDesc.mjs +0 -6
  965. package/dist/treeshaking/components/org/OOrgDesc.vue_vue_type_script_setup_true_lang.mjs +0 -39
  966. package/dist/treeshaking/components/org/OOrgMembers.mjs +0 -6
  967. package/dist/treeshaking/components/org/OOrgMembers.vue_vue_type_script_setup_true_lang.mjs +0 -86
  968. package/dist/treeshaking/components/recursion-menu/ORecursionMenu.mjs +0 -4
  969. package/dist/treeshaking/components/recursion-menu/ORecursionMenu.vue_vue_type_script_setup_true_lang.mjs +0 -85
  970. package/dist/treeshaking/components/recursion-menu/ORecursionMenuItem.mjs +0 -6
  971. package/dist/treeshaking/components/recursion-menu/ORecursionMenuItem.vue_vue_type_script_setup_true_lang.mjs +0 -103
  972. package/dist/treeshaking/components/search/OSearchInput.mjs +0 -6
  973. package/dist/treeshaking/components/search/OSearchInput.vue_vue_type_script_setup_true_lang.mjs +0 -407
  974. package/dist/treeshaking/components/search/internal/HighlightText.mjs +0 -6
  975. package/dist/treeshaking/components/search/internal/HighlightText.vue_vue_type_script_setup_true_lang.mjs +0 -34
  976. package/dist/treeshaking/components/search/internal/SearchImageInput.mjs +0 -7
  977. package/dist/treeshaking/components/search/internal/SearchImageInput.vue_vue_type_script_setup_true_lang.mjs +0 -291
  978. package/dist/treeshaking/components/search/internal/SearchPanel.mjs +0 -6
  979. package/dist/treeshaking/components/search/internal/SearchPanel.vue_vue_type_script_setup_true_lang.mjs +0 -221
  980. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.mjs +0 -6
  981. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.vue_vue_type_script_setup_true_lang.mjs +0 -171
  982. package/dist/treeshaking/components/search-result/OSearchResult.mjs +0 -6
  983. package/dist/treeshaking/components/search-result/OSearchResult.vue_vue_type_script_setup_true_lang.mjs +0 -154
  984. package/dist/treeshaking/components/search-result/OSearchResultHeader.mjs +0 -6
  985. package/dist/treeshaking/components/search-result/OSearchResultHeader.vue_vue_type_script_setup_true_lang.mjs +0 -102
  986. package/dist/treeshaking/components/search-result/OSearchResultItem.mjs +0 -6
  987. package/dist/treeshaking/components/search-result/OSearchResultItem.vue_vue_type_script_setup_true_lang.mjs +0 -89
  988. package/dist/treeshaking/components/search-result/components/OSearchResultEmpty.mjs +0 -6
  989. package/dist/treeshaking/components/search-result/components/OSearchResultEmpty.vue_vue_type_script_setup_true_lang.mjs +0 -25
  990. package/dist/treeshaking/components/search-result/components/OSearchResultFeedback.mjs +0 -6
  991. package/dist/treeshaking/components/search-result/components/OSearchResultFeedback.vue_vue_type_script_setup_true_lang.mjs +0 -128
  992. package/dist/treeshaking/components/search-result/components/OSearchResultFeedbackBanner.mjs +0 -6
  993. package/dist/treeshaking/components/search-result/components/OSearchResultFeedbackBanner.vue_vue_type_script_setup_true_lang.mjs +0 -132
  994. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.mjs +0 -6
  995. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.vue_vue_type_script_setup_true_lang.mjs +0 -43
  996. package/dist/treeshaking/components/section/OSection.mjs +0 -6
  997. package/dist/treeshaking/components/section/OSection.vue_vue_type_script_setup_true_lang.mjs +0 -67
  998. package/dist/treeshaking/components/sig/OSigDetail.mjs +0 -5
  999. package/dist/treeshaking/components/sig/OSigDetail.vue_vue_type_script_setup_true_lang.mjs +0 -189
  1000. package/dist/treeshaking/components/sig/OSigList.mjs +0 -5
  1001. package/dist/treeshaking/components/sig/OSigList.vue_vue_type_script_setup_true_lang.mjs +0 -513
  1002. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.mjs +0 -5
  1003. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.vue_vue_type_script_setup_true_lang.mjs +0 -69
  1004. package/dist/treeshaking/components/sig/components/OSigItem.mjs +0 -5
  1005. package/dist/treeshaking/components/sig/components/OSigItem.vue_vue_type_script_setup_true_lang.mjs +0 -154
  1006. package/dist/treeshaking/components/sig/components/OSigItem.vue_vue_type_style_index_0_lang.css +0 -373
  1007. package/dist/treeshaking/components/sig/components/OSigMember.mjs +0 -5
  1008. package/dist/treeshaking/components/sig/components/OSigMember.vue_vue_type_script_setup_true_lang.mjs +0 -190
  1009. package/dist/treeshaking/components/sig/components/OSigRepo.mjs +0 -5
  1010. package/dist/treeshaking/components/sig/components/OSigRepo.vue_vue_type_script_setup_true_lang.mjs +0 -181
  1011. package/dist/treeshaking/components/sig/components/OSigUserContribute.mjs +0 -5
  1012. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue_vue_type_script_setup_true_lang.mjs +0 -326
  1013. package/dist/treeshaking/components/summit/OSummit.mjs +0 -6
  1014. package/dist/treeshaking/components/summit/OSummit.vue_vue_type_script_setup_true_lang.mjs +0 -59
  1015. package/dist/treeshaking/components/summit/OSummitIntro.mjs +0 -6
  1016. package/dist/treeshaking/components/summit/OSummitIntro.vue_vue_type_script_setup_true_lang.mjs +0 -22
  1017. package/dist/treeshaking/components/summit/OSummitLive.mjs +0 -6
  1018. package/dist/treeshaking/components/summit/OSummitLive.vue_vue_type_script_setup_true_lang.mjs +0 -141
  1019. package/dist/treeshaking/components/summit/OSummitSchedule.mjs +0 -7
  1020. package/dist/treeshaking/components/summit/OSummitSchedule.vue_vue_type_script_setup_true_lang.mjs +0 -229
  1021. package/dist/treeshaking/components/summit/components/OSummitTabs.mjs +0 -6
  1022. package/dist/treeshaking/components/summit/components/OSummitTabs.vue_vue_type_script_setup_true_lang.mjs +0 -127
  1023. package/dist/treeshaking/components/user-center/OAccountSecurity.mjs +0 -6
  1024. package/dist/treeshaking/components/user-center/OAccountSecurity.vue_vue_type_script_setup_true_lang.mjs +0 -298
  1025. package/dist/treeshaking/components/user-center/OAccountSecurity.vue_vue_type_style_index_0_scoped_34dbfef7_lang.css +0 -253
  1026. package/dist/treeshaking/components/user-center/OAccountSetting.mjs +0 -6
  1027. package/dist/treeshaking/components/user-center/OAccountSetting.vue_vue_type_script_setup_true_lang.mjs +0 -337
  1028. package/dist/treeshaking/components/user-center/OAccountSetting.vue_vue_type_style_index_0_scoped_5887ac06_lang.css +0 -284
  1029. package/dist/treeshaking/components/user-center/OAppHeader.mjs +0 -6
  1030. package/dist/treeshaking/components/user-center/OAppHeader.vue_vue_type_script_setup_true_lang.mjs +0 -215
  1031. package/dist/treeshaking/components/user-center/OAsideBar.mjs +0 -6
  1032. package/dist/treeshaking/components/user-center/OAsideBar.vue_vue_type_script_setup_true_lang.mjs +0 -89
  1033. package/dist/treeshaking/components/user-center/OLayout.mjs +0 -6
  1034. package/dist/treeshaking/components/user-center/OLayout.vue_vue_type_script_setup_true_lang.mjs +0 -19
  1035. package/dist/treeshaking/components/user-center/OTheAccountManage.mjs +0 -6
  1036. package/dist/treeshaking/components/user-center/OTheAccountManage.vue_vue_type_script_setup_true_lang.mjs +0 -14
  1037. package/dist/treeshaking/components/user-center/OTheCreateMeeting.mjs +0 -6
  1038. package/dist/treeshaking/components/user-center/OTheCreateMeeting.vue_vue_type_script_setup_true_lang.mjs +0 -90
  1039. package/dist/treeshaking/components/user-center/OTheMeeting.mjs +0 -6
  1040. package/dist/treeshaking/components/user-center/OTheMeeting.vue_vue_type_script_setup_true_lang.mjs +0 -111
  1041. package/dist/treeshaking/components/user-center/OThirdPartyBindings.mjs +0 -6
  1042. package/dist/treeshaking/components/user-center/OThirdPartyBindings.vue_vue_type_script_setup_true_lang.mjs +0 -343
  1043. package/dist/treeshaking/components/user-center/OUserInfo.mjs +0 -8
  1044. package/dist/treeshaking/components/user-center/OUserInfo.vue_vue_type_script_setup_true_lang.mjs +0 -491
  1045. package/dist/treeshaking/components/user-center/internal/OAppDialog.mjs +0 -6
  1046. package/dist/treeshaking/components/user-center/internal/OAppDialog.vue_vue_type_script_setup_true_lang.mjs +0 -363
  1047. package/dist/treeshaking/components/user-center/internal/OAppEmpty.mjs +0 -6
  1048. package/dist/treeshaking/components/user-center/internal/OAppEmpty.vue_vue_type_script_setup_true_lang.mjs +0 -30
  1049. package/dist/treeshaking/components/user-center/internal/OCommonHeader.mjs +0 -6
  1050. package/dist/treeshaking/components/user-center/internal/OCommonHeader.vue_vue_type_script_setup_true_lang.mjs +0 -165
  1051. package/dist/treeshaking/components/user-center/internal/OCountdownButton.mjs +0 -4
  1052. package/dist/treeshaking/components/user-center/internal/OCountdownButton.vue_vue_type_script_setup_true_lang.mjs +0 -55
  1053. package/dist/treeshaking/components/user-center/internal/ODeleteAccountModal.mjs +0 -7
  1054. package/dist/treeshaking/components/user-center/internal/ODeleteAccountModal.vue_vue_type_script_setup_true_lang.mjs +0 -281
  1055. package/dist/treeshaking/components/user-center/internal/OEditNicknameDialog.mjs +0 -7
  1056. package/dist/treeshaking/components/user-center/internal/OEditNicknameDialog.vue_vue_type_script_setup_true_lang.mjs +0 -121
  1057. package/dist/treeshaking/components/user-center/internal/OEditOrgDialog.mjs +0 -7
  1058. package/dist/treeshaking/components/user-center/internal/OEditOrgDialog.vue_vue_type_script_setup_true_lang.mjs +0 -134
  1059. package/dist/treeshaking/components/user-center/internal/OMaskEye.mjs +0 -6
  1060. package/dist/treeshaking/components/user-center/internal/OMaskEye.vue_vue_type_script_setup_true_lang.mjs +0 -26
  1061. package/dist/treeshaking/components/user-center/internal/OModifyPwd.mjs +0 -6
  1062. package/dist/treeshaking/components/user-center/internal/OModifyPwd.vue_vue_type_script_setup_true_lang.mjs +0 -401
  1063. package/dist/treeshaking/components/user-center/internal/OPasswordPopInput.mjs +0 -6
  1064. package/dist/treeshaking/components/user-center/internal/OPasswordPopInput.vue_vue_type_script_setup_true_lang.mjs +0 -118
  1065. package/dist/treeshaking/components/user-center/internal/OToBindingTipModal.mjs +0 -6
  1066. package/dist/treeshaking/components/user-center/internal/OToBindingTipModal.vue_vue_type_script_setup_true_lang.mjs +0 -97
  1067. package/dist/treeshaking/components/user-center/internal/OUnbindingThirdpartyAccountModal.mjs +0 -6
  1068. package/dist/treeshaking/components/user-center/internal/OUnbindingThirdpartyAccountModal.vue_vue_type_script_setup_true_lang.mjs +0 -88
  1069. package/dist/treeshaking/components/user-center/internal/OUploadAvatar.mjs +0 -7
  1070. package/dist/treeshaking/components/user-center/internal/OUploadAvatar.vue_vue_type_script_setup_true_lang.mjs +0 -347
  1071. package/dist/treeshaking/components/user-center/verify/Verify.mjs +0 -58
  1072. package/dist/treeshaking/components/user-center/verify/Verify.vue_vue_type_script_lang.mjs +0 -72
  1073. package/dist/treeshaking/components/user-center/verify/VerifySlide.mjs +0 -105
  1074. package/dist/treeshaking/components/user-center/verify/VerifySlide.vue_vue_type_script_lang.mjs +0 -334
  1075. package/dist/treeshaking/components/video/OVideoDetail.mjs +0 -5
  1076. package/dist/treeshaking/components/video/OVideoDetail.vue_vue_type_script_setup_true_lang.mjs +0 -206
  1077. /package/dist/treeshaking/components/activity/{OActivityApproval.vue_vue_type_style_index_0_lang.css → OActivityApproval.css} +0 -0
  1078. /package/dist/treeshaking/components/activity/{OActivityMyCalendar.vue_vue_type_style_index_0_lang.css → OActivityMyCalendar.css} +0 -0
  1079. /package/dist/treeshaking/components/anchor-bar/{OAnchorBar.vue_vue_type_style_index_0_scoped_f662dd83_lang.css → OAnchorBar.css} +0 -0
  1080. /package/dist/treeshaking/components/article/{OArticle.vue_vue_type_style_index_0_scoped_f94c0e57_lang.css → OArticle.css} +0 -0
  1081. /package/dist/treeshaking/components/article/components/{ArticleTitle.vue_vue_type_style_index_0_scoped_b96d293f_lang.css → ArticleTitle.css} +0 -0
  1082. /package/dist/treeshaking/components/article-anchor/components/{ArticleAnchorPad.vue_vue_type_style_index_0_scoped_3c75b66d_lang.css → ArticleAnchorPad.css} +0 -0
  1083. /package/dist/treeshaking/components/article-anchor/components/{ArticleAnchorPc.vue_vue_type_style_index_0_scoped_a480e4e7_lang.css → ArticleAnchorPc.css} +0 -0
  1084. /package/dist/treeshaking/components/article-pagination/{OArticlePagination.vue_vue_type_style_index_0_scoped_8a8cf9f8_lang.css → OArticlePagination.css} +0 -0
  1085. /package/dist/treeshaking/components/banner/{OBanner.vue_vue_type_style_index_0_scoped_8cfcc7ff_lang.css → OBanner.css} +0 -0
  1086. /package/dist/treeshaking/components/banner/{OBanner.vue_vue_type_style_index_1_scoped_8cfcc7ff_lang.css → OBanner2.css} +0 -0
  1087. /package/dist/treeshaking/components/banner/{OBannerContent.vue_vue_type_style_index_0_scoped_1904d05a_lang.css → OBannerContent.css} +0 -0
  1088. /package/dist/treeshaking/components/brand/{OBrandFile.vue_vue_type_style_index_0_scoped_9919f662_lang.css → OBrandFile.css} +0 -0
  1089. /package/dist/treeshaking/components/brand/{OBrandLogo.vue_vue_type_style_index_0_scoped_6b4fb6c1_lang.css → OBrandLogo.css} +0 -0
  1090. /package/dist/treeshaking/components/brand/{OBrandLogo.vue_vue_type_style_index_1_lang.css → OBrandLogo2.css} +0 -0
  1091. /package/dist/treeshaking/components/brand/{OBrandStandard.vue_vue_type_style_index_0_scoped_a9afbc57_lang.css → OBrandStandard.css} +0 -0
  1092. /package/dist/treeshaking/components/common/{AppAvatar.vue_vue_type_style_index_0_scoped_9aaf13f3_lang.css → AppAvatar.css} +0 -0
  1093. /package/dist/treeshaking/components/common/{ContentWrapper.vue_vue_type_style_index_0_scoped_9e217f8f_lang.css → ContentWrapper.css} +0 -0
  1094. /package/dist/treeshaking/components/common/{WordAvatar.vue_vue_type_style_index_0_lang.css → WordAvatar.css} +0 -0
  1095. /package/dist/treeshaking/components/cookie-notice/{OCookieNotice.vue_vue_type_style_index_0_lang.css → OCookieNotice.css} +0 -0
  1096. /package/dist/treeshaking/components/cookie-notice/{OCookieNotice.vue_vue_type_style_index_1_scoped_f4e92a4b_lang.css → OCookieNotice2.css} +0 -0
  1097. /package/dist/treeshaking/components/empty/{OEmpty.vue_vue_type_style_index_0_scoped_4381b83c_lang.css → OEmpty.css} +0 -0
  1098. /package/dist/treeshaking/components/events/{OEventsApply.vue_vue_type_style_index_0_lang.css → OEventsApply.css} +0 -0
  1099. /package/dist/treeshaking/components/events/{OEventsCalendar.vue_vue_type_style_index_0_lang.css → OEventsCalendar.css} +0 -0
  1100. /package/dist/treeshaking/components/events/{OEventsList.vue_vue_type_style_index_0_lang.css → OEventsList.css} +0 -0
  1101. /package/dist/treeshaking/components/feedback-doc/{OFeedbackDoc.vue_vue_type_style_index_0_scoped_a8f7d8ef_lang.css → OFeedbackDoc.css} +0 -0
  1102. /package/dist/treeshaking/components/feedback-doc/{OFeedbackDocContent.vue_vue_type_style_index_0_scoped_994ce5c5_lang.css → OFeedbackDocContent.css} +0 -0
  1103. /package/dist/treeshaking/components/feedback-doc/{OFeedbackDocPopup.vue_vue_type_style_index_0_scoped_61cd944c_lang.css → OFeedbackDocPopup.css} +0 -0
  1104. /package/dist/treeshaking/components/float-poster/{OFloatPoster.vue_vue_type_style_index_0_scoped_e67cdd62_lang.css → OFloatPoster.css} +0 -0
  1105. /package/dist/treeshaking/components/footer/{OFooter.vue_vue_type_style_index_0_scoped_41010b1f_lang.css → OFooter.css} +0 -0
  1106. /package/dist/treeshaking/components/footer/components/{FooterList.vue_vue_type_style_index_0_scoped_1d7a4555_lang.css → FooterList.css} +0 -0
  1107. /package/dist/treeshaking/components/footer/components/{FooterSimple.vue_vue_type_style_index_0_scoped_bb36ddad_lang.css → FooterSimple.css} +0 -0
  1108. /package/dist/treeshaking/components/header/{OHeader.vue_vue_type_style_index_0_scoped_c1620a61_lang.css → OHeader.css} +0 -0
  1109. /package/dist/treeshaking/components/header/{OHeaderMobile.vue_vue_type_style_index_0_scoped_0a2d44bb_lang.css → OHeaderMobile.css} +0 -0
  1110. /package/dist/treeshaking/components/header/components/{HeaderContent.vue_vue_type_style_index_0_scoped_366a2b01_lang.css → HeaderContent.css} +0 -0
  1111. /package/dist/treeshaking/components/header/components/{HeaderFlatten.vue_vue_type_style_index_0_scoped_edcea052_lang.css → HeaderFlatten.css} +0 -0
  1112. /package/dist/treeshaking/components/header/components/{HeaderNav.vue_vue_type_style_index_0_scoped_01bf1a8c_lang.css → HeaderNav.css} +0 -0
  1113. /package/dist/treeshaking/components/header/components/{HeaderNavMobile.vue_vue_type_style_index_0_scoped_5c72051b_lang.css → HeaderNavMobile.css} +0 -0
  1114. /package/dist/treeshaking/components/header-language-switcher/{OHeaderLanguageSwitcher.vue_vue_type_style_index_0_scoped_423f1b29_lang.css → OHeaderLanguageSwitcher.css} +0 -0
  1115. /package/dist/treeshaking/components/header-language-switcher/{OHeaderLanguageSwitcher.vue_vue_type_style_index_1_lang.css → OHeaderLanguageSwitcher2.css} +0 -0
  1116. /package/dist/treeshaking/components/header-search/{OHeaderSearch.vue_vue_type_style_index_0_scoped_bf46f1ee_lang.css → OHeaderSearch.css} +0 -0
  1117. /package/dist/treeshaking/components/header-source-code/{OHeaderSourceCode.vue_vue_type_style_index_0_scoped_4c72b8c0_lang.css → OHeaderSourceCode.css} +0 -0
  1118. /package/dist/treeshaking/components/header-theme/{OHeaderTheme.vue_vue_type_style_index_0_scoped_a8461f7a_lang.css → OHeaderTheme.css} +0 -0
  1119. /package/dist/treeshaking/components/header-user/{OHeaderUser.vue_vue_type_style_index_0_scoped_01df49a0_lang.css → OHeaderUser.css} +0 -0
  1120. /package/dist/treeshaking/components/header-user/{OHeaderUser.vue_vue_type_style_index_1_lang.css → OHeaderUser2.css} +0 -0
  1121. /package/dist/treeshaking/components/html-viewer/{OHtmlViewer.vue_vue_type_style_index_0_scoped_2f5d08df_lang.css → OHtmlViewer.css} +0 -0
  1122. /package/dist/treeshaking/components/logo-swiper/{OLogoSwiper.vue_vue_type_style_index_0_scoped_6c8c87fc_lang.css → OLogoSwiper.css} +0 -0
  1123. /package/dist/treeshaking/components/logo-swiper/{OLogoSwiperItems.vue_vue_type_style_index_0_scoped_2d960cc9_lang.css → OLogoSwiperItems.css} +0 -0
  1124. /package/dist/treeshaking/components/markdown/{OMarkdown.vue_vue_type_style_index_0_lang.css → OMarkdown.css} +0 -0
  1125. /package/dist/treeshaking/components/markdown/components/{MarkdownCode.vue_vue_type_style_index_0_lang.css → MarkdownCode.css} +0 -0
  1126. /package/dist/treeshaking/components/markdown/components/{MarkdownCode.vue_vue_type_style_index_1_scoped_8895ed58_lang.css → MarkdownCode2.css} +0 -0
  1127. /package/dist/treeshaking/components/markdown/components/{MarkdownImage.vue_vue_type_style_index_0_scoped_af8b0296_lang.css → MarkdownImage.css} +0 -0
  1128. /package/dist/treeshaking/components/markdown/components/{MarkdownTable.vue_vue_type_style_index_0_scoped_ce85236e_lang.css → MarkdownTable.css} +0 -0
  1129. /package/dist/treeshaking/components/markdown/components/{MarkdownTableData.vue_vue_type_style_index_0_scoped_5f73735b_lang.css → MarkdownTableData.css} +0 -0
  1130. /package/dist/treeshaking/components/markdown/components/{MarkdownTableExpand.vue_vue_type_style_index_0_scoped_e625a513_lang.css → MarkdownTableExpand.css} +0 -0
  1131. /package/dist/treeshaking/components/markdown/components/{MarkdownTitle.vue_vue_type_style_index_0_scoped_73874b80_lang.css → MarkdownTitle.css} +0 -0
  1132. /package/dist/treeshaking/components/meeting/{OMeetingCalendar.vue_vue_type_style_index_0_lang.css → OMeetingCalendar.css} +0 -0
  1133. /package/dist/treeshaking/components/meeting/{OMeetingMinutes.vue_vue_type_style_index_0_lang.css → OMeetingMinutes.css} +0 -0
  1134. /package/dist/treeshaking/components/meeting/{OMeetingMinutesCopyDetail.vue_vue_type_style_index_0_scoped_6e742903_lang.css → OMeetingMinutesCopyDetail.css} +0 -0
  1135. /package/dist/treeshaking/components/meeting/{OMeetingMyCalendar.vue_vue_type_style_index_0_lang.css → OMeetingMyCalendar.css} +0 -0
  1136. /package/dist/treeshaking/components/meeting/{OMeetingPlayback.vue_vue_type_style_index_0_lang.css → OMeetingPlayback.css} +0 -0
  1137. /package/dist/treeshaking/components/meeting/{OMeetingSendMinutesForm.vue_vue_type_style_index_0_lang.css → OMeetingSendMinutesForm.css} +0 -0
  1138. /package/dist/treeshaking/components/meeting/{OMeetingSigCalendar.vue_vue_type_style_index_0_lang.css → OMeetingSigCalendar.css} +0 -0
  1139. /package/dist/treeshaking/components/meeting/components/{OMeetingCalendarList.vue_vue_type_style_index_0_lang.css → OMeetingCalendarList.css} +0 -0
  1140. /package/dist/treeshaking/components/meeting/components/{OMeetingCalendarSelector.vue_vue_type_style_index_0_lang.css → OMeetingCalendarSelector.css} +0 -0
  1141. /package/dist/treeshaking/components/meeting/components/{OMeetingCalendarSelector.vue_vue_type_style_index_1_lang.css → OMeetingCalendarSelector2.css} +0 -0
  1142. /package/dist/treeshaking/components/meeting/components/{OMeetingDetail.vue_vue_type_style_index_0_lang.css → OMeetingDetail.css} +0 -0
  1143. /package/dist/treeshaking/components/meeting/components/{OMeetingPlaybackSubtitles.vue_vue_type_style_index_0_lang.css → OMeetingPlaybackSubtitles.css} +0 -0
  1144. /package/dist/treeshaking/components/meeting/components/{OMeetingSendMinutesDialog.vue_vue_type_style_index_0_scoped_1bd384f6_lang.css → OMeetingSendMinutesDialog.css} +0 -0
  1145. /package/dist/treeshaking/components/meeting/components/{OMeetingSigAside.vue_vue_type_style_index_0_lang.css → OMeetingSigAside.css} +0 -0
  1146. /package/dist/treeshaking/components/org/{OOrgDesc.vue_vue_type_style_index_0_scoped_5a9df0b4_lang.css → OOrgDesc.css} +0 -0
  1147. /package/dist/treeshaking/components/org/{OOrgMembers.vue_vue_type_style_index_0_scoped_dc325798_lang.css → OOrgMembers.css} +0 -0
  1148. /package/dist/treeshaking/components/recursion-menu/{ORecursionMenuItem.vue_vue_type_style_index_0_scoped_14237743_lang.css → ORecursionMenuItem.css} +0 -0
  1149. /package/dist/treeshaking/components/search/{OSearchInput.vue_vue_type_style_index_0_scoped_ee331b07_lang.css → OSearchInput.css} +0 -0
  1150. /package/dist/treeshaking/components/search/internal/{HighlightText.vue_vue_type_style_index_0_scoped_2a99e23c_lang.css → HighlightText.css} +0 -0
  1151. /package/dist/treeshaking/components/search/internal/{SearchImageInput.vue_vue_type_style_index_0_scoped_4a3e5145_lang.css → SearchImageInput.css} +0 -0
  1152. /package/dist/treeshaking/components/search/internal/{SearchImageInput.vue_vue_type_style_index_1_lang.css → SearchImageInput2.css} +0 -0
  1153. /package/dist/treeshaking/components/search/internal/{SearchPanel.vue_vue_type_style_index_0_scoped_a5767f01_lang.css → SearchPanel.css} +0 -0
  1154. /package/dist/treeshaking/components/search-doc-result/{OSearchDocResult.vue_vue_type_style_index_0_scoped_25235996_lang.css → OSearchDocResult.css} +0 -0
  1155. /package/dist/treeshaking/components/search-result/{OSearchResult.vue_vue_type_style_index_0_scoped_9d8dd556_lang.css → OSearchResult.css} +0 -0
  1156. /package/dist/treeshaking/components/search-result/{OSearchResultHeader.vue_vue_type_style_index_0_scoped_70bc0c95_lang.css → OSearchResultHeader.css} +0 -0
  1157. /package/dist/treeshaking/components/search-result/{OSearchResultItem.vue_vue_type_style_index_0_scoped_0914fdb7_lang.css → OSearchResultItem.css} +0 -0
  1158. /package/dist/treeshaking/components/search-result/components/{OSearchResultEmpty.vue_vue_type_style_index_0_scoped_da22a823_lang.css → OSearchResultEmpty.css} +0 -0
  1159. /package/dist/treeshaking/components/search-result/components/{OSearchResultFeedback.vue_vue_type_style_index_0_scoped_72958e79_lang.css → OSearchResultFeedback.css} +0 -0
  1160. /package/dist/treeshaking/components/search-result/components/{OSearchResultFeedbackBanner.vue_vue_type_style_index_0_scoped_4cd638c6_lang.css → OSearchResultFeedbackBanner.css} +0 -0
  1161. /package/dist/treeshaking/components/search-result/components/{OSearchResultRelative.vue_vue_type_style_index_0_scoped_6872ff03_lang.css → OSearchResultRelative.css} +0 -0
  1162. /package/dist/treeshaking/components/section/{OSection.vue_vue_type_style_index_0_scoped_dae37748_lang.css → OSection.css} +0 -0
  1163. /package/dist/treeshaking/components/sig/{OSigDetail.vue_vue_type_style_index_0_lang.css → OSigDetail.css} +0 -0
  1164. /package/dist/treeshaking/components/sig/{OSigList.vue_vue_type_style_index_0_lang.css → OSigList.css} +0 -0
  1165. /package/dist/treeshaking/components/sig/components/{OSigDetailInfoCard.vue_vue_type_style_index_0_lang.css → OSigDetailInfoCard.css} +0 -0
  1166. /package/dist/treeshaking/components/sig/components/{OSigMember.vue_vue_type_style_index_0_lang.css → OSigMember.css} +0 -0
  1167. /package/dist/treeshaking/components/sig/components/{OSigRepo.vue_vue_type_style_index_0_lang.css → OSigRepo.css} +0 -0
  1168. /package/dist/treeshaking/components/sig/components/{OSigUserContribute.vue_vue_type_style_index_0_lang.css → OSigUserContribute.css} +0 -0
  1169. /package/dist/treeshaking/components/summit/{OSummit.vue_vue_type_style_index_0_scoped_6e15ff06_lang.css → OSummit.css} +0 -0
  1170. /package/dist/treeshaking/components/summit/{OSummitIntro.vue_vue_type_style_index_0_scoped_4878dd94_lang.css → OSummitIntro.css} +0 -0
  1171. /package/dist/treeshaking/components/summit/{OSummitLive.vue_vue_type_style_index_0_scoped_634db517_lang.css → OSummitLive.css} +0 -0
  1172. /package/dist/treeshaking/components/summit/{OSummitSchedule.vue_vue_type_style_index_0_scoped_934d2319_lang.css → OSummitSchedule.css} +0 -0
  1173. /package/dist/treeshaking/components/summit/{OSummitSchedule.vue_vue_type_style_index_1_lang.css → OSummitSchedule2.css} +0 -0
  1174. /package/dist/treeshaking/components/summit/components/{OSummitTabs.vue_vue_type_style_index_0_scoped_7337571d_lang.css → OSummitTabs.css} +0 -0
  1175. /package/dist/treeshaking/components/user-center/{OAppHeader.vue_vue_type_style_index_0_scoped_c5aea772_lang.css → OAppHeader.css} +0 -0
  1176. /package/dist/treeshaking/components/user-center/{OAsideBar.vue_vue_type_style_index_0_scoped_52e6041d_lang.css → OAsideBar.css} +0 -0
  1177. /package/dist/treeshaking/components/user-center/{OLayout.vue_vue_type_style_index_0_scoped_57f2a891_lang.css → OLayout.css} +0 -0
  1178. /package/dist/treeshaking/components/user-center/{OTheAccountManage.vue_vue_type_style_index_0_scoped_77534a05_lang.css → OTheAccountManage.css} +0 -0
  1179. /package/dist/treeshaking/components/user-center/{OTheCreateMeeting.vue_vue_type_style_index_0_scoped_fd23cd00_lang.css → OTheCreateMeeting.css} +0 -0
  1180. /package/dist/treeshaking/components/user-center/{OTheMeeting.vue_vue_type_style_index_0_scoped_0dd1b8dd_lang.css → OTheMeeting.css} +0 -0
  1181. /package/dist/treeshaking/components/user-center/{OThirdPartyBindings.vue_vue_type_style_index_0_scoped_aae76194_lang.css → OThirdPartyBindings.css} +0 -0
  1182. /package/dist/treeshaking/components/user-center/{OUserInfo.vue_vue_type_style_index_0_scoped_c12d3f54_lang.css → OUserInfo.css} +0 -0
  1183. /package/dist/treeshaking/components/user-center/{OUserInfo.vue_vue_type_style_index_1_lang.css → OUserInfo2.css} +0 -0
  1184. /package/dist/treeshaking/components/user-center/{OUserInfo.vue_vue_type_style_index_2_scoped_c12d3f54_lang.css → OUserInfo3.css} +0 -0
  1185. /package/dist/treeshaking/components/user-center/internal/{OAppDialog.vue_vue_type_style_index_0_scoped_67324b3c_lang.css → OAppDialog.css} +0 -0
  1186. /package/dist/treeshaking/components/user-center/internal/{OAppEmpty.vue_vue_type_style_index_0_scoped_7a03249c_lang.css → OAppEmpty.css} +0 -0
  1187. /package/dist/treeshaking/components/user-center/internal/{OCommonHeader.vue_vue_type_style_index_0_scoped_89fdfe34_lang.css → OCommonHeader.css} +0 -0
  1188. /package/dist/treeshaking/components/user-center/internal/{ODeleteAccountModal.vue_vue_type_style_index_0_scoped_e8f10683_lang.css → ODeleteAccountModal.css} +0 -0
  1189. /package/dist/treeshaking/components/user-center/internal/{ODeleteAccountModal.vue_vue_type_style_index_1_lang.css → ODeleteAccountModal2.css} +0 -0
  1190. /package/dist/treeshaking/components/user-center/internal/{OEditNicknameDialog.vue_vue_type_style_index_0_scoped_31e15aff_lang.css → OEditNicknameDialog.css} +0 -0
  1191. /package/dist/treeshaking/components/user-center/internal/{OEditNicknameDialog.vue_vue_type_style_index_1_lang.css → OEditNicknameDialog2.css} +0 -0
  1192. /package/dist/treeshaking/components/user-center/internal/{OEditOrgDialog.vue_vue_type_style_index_0_scoped_80d49054_lang.css → OEditOrgDialog.css} +0 -0
  1193. /package/dist/treeshaking/components/user-center/internal/{OEditOrgDialog.vue_vue_type_style_index_1_lang.css → OEditOrgDialog2.css} +0 -0
  1194. /package/dist/treeshaking/components/user-center/internal/{OMaskEye.vue_vue_type_style_index_0_scoped_a1344e1a_lang.css → OMaskEye.css} +0 -0
  1195. /package/dist/treeshaking/components/user-center/internal/{OModifyPwd.vue_vue_type_style_index_0_scoped_5e0452e7_lang.css → OModifyPwd.css} +0 -0
  1196. /package/dist/treeshaking/components/user-center/internal/{OPasswordPopInput.vue_vue_type_style_index_0_scoped_1bf14f73_lang.css → OPasswordPopInput.css} +0 -0
  1197. /package/dist/treeshaking/components/user-center/internal/{OToBindingTipModal.vue_vue_type_style_index_0_scoped_8d479930_lang.css → OToBindingTipModal.css} +0 -0
  1198. /package/dist/treeshaking/components/user-center/internal/{OUnbindingThirdpartyAccountModal.vue_vue_type_style_index_0_scoped_d6042985_lang.css → OUnbindingThirdpartyAccountModal.css} +0 -0
  1199. /package/dist/treeshaking/components/user-center/internal/{OUploadAvatar.vue_vue_type_style_index_0_scoped_7067a565_lang.css → OUploadAvatar.css} +0 -0
  1200. /package/dist/treeshaking/components/user-center/internal/{OUploadAvatar.vue_vue_type_style_index_1_lang.css → OUploadAvatar2.css} +0 -0
  1201. /package/dist/treeshaking/components/user-center/verify/{Verify.vue_vue_type_style_index_0_lang.css → Verify.css} +0 -0
  1202. /package/dist/treeshaking/components/video/{OVideoDetail.vue_vue_type_style_index_0_lang.css → OVideoDetail.css} +0 -0
@@ -1,1155 +1,1390 @@
1
- import _extends from "../../@babel/runtime/helpers/esm/extends.js.mjs";
2
1
  import Stream from "../../@videojs/vhs-utils/es/stream.js.mjs";
2
+ import _extends from "../../@babel/runtime/helpers/esm/extends.js.mjs";
3
3
  import decodeB64ToUint8Array from "../../@videojs/vhs-utils/es/decode-b64-to-uint8-array.js.mjs";
4
- // ../../node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js
5
4
  /*! @name m3u8-parser @version 7.2.0 @license Apache-2.0 */
6
- /**
7
- * @file m3u8/line-stream.js
8
- */
9
- /**
10
- * A stream that buffers string input and generates a `data` event for each
11
- * line.
12
- *
13
- * @class LineStream
14
- * @extends Stream
15
- */
16
- var LineStream = class extends Stream {
17
- constructor() {
18
- super();
19
- this.buffer = "";
20
- }
21
- /**
22
- * Add new data to be parsed.
23
- *
24
- * @param {string} data the text to process
25
- */
26
- push(data) {
27
- let nextNewline;
28
- this.buffer += data;
29
- nextNewline = this.buffer.indexOf("\n");
30
- for (; nextNewline > -1; nextNewline = this.buffer.indexOf("\n")) {
31
- this.trigger("data", this.buffer.substring(0, nextNewline));
32
- this.buffer = this.buffer.substring(nextNewline + 1);
33
- }
34
- }
35
- };
36
- var TAB = String.fromCharCode(9);
37
- var parseByterange = function(byterangeString) {
38
- const match = /([0-9.]*)?@?([0-9.]*)?/.exec(byterangeString || "");
39
- const result = {};
40
- if (match[1]) result.length = parseInt(match[1], 10);
41
- if (match[2]) result.offset = parseInt(match[2], 10);
42
- return result;
43
- };
44
- /**
45
- * "forgiving" attribute list psuedo-grammar:
46
- * attributes -> keyvalue (',' keyvalue)*
47
- * keyvalue -> key '=' value
48
- * key -> [^=]*
49
- * value -> '"' [^"]* '"' | [^,]*
50
- */
51
- var attributeSeparator = function() {
52
- return /* @__PURE__ */ new RegExp("(?:^|,)((?:[^=]*)=(?:\"[^\"]*\"|[^,]*))");
5
+ class LineStream extends Stream {
6
+ constructor() {
7
+ super();
8
+ this.buffer = "";
9
+ }
10
+ /**
11
+ * Add new data to be parsed.
12
+ *
13
+ * @param {string} data the text to process
14
+ */
15
+ push(data) {
16
+ let nextNewline;
17
+ this.buffer += data;
18
+ nextNewline = this.buffer.indexOf("\n");
19
+ for (; nextNewline > -1; nextNewline = this.buffer.indexOf("\n")) {
20
+ this.trigger("data", this.buffer.substring(0, nextNewline));
21
+ this.buffer = this.buffer.substring(nextNewline + 1);
22
+ }
23
+ }
24
+ }
25
+ const TAB = String.fromCharCode(9);
26
+ const parseByterange = function(byterangeString) {
27
+ const match = /([0-9.]*)?@?([0-9.]*)?/.exec(byterangeString || "");
28
+ const result = {};
29
+ if (match[1]) {
30
+ result.length = parseInt(match[1], 10);
31
+ }
32
+ if (match[2]) {
33
+ result.offset = parseInt(match[2], 10);
34
+ }
35
+ return result;
53
36
  };
54
- /**
55
- * Parse attributes from a line given the separator
56
- *
57
- * @param {string} attributes the attribute line to parse
58
- */
59
- var parseAttributes = function(attributes) {
60
- const result = {};
61
- if (!attributes) return result;
62
- const attrs = attributes.split(attributeSeparator());
63
- let i = attrs.length;
64
- let attr;
65
- while (i--) {
66
- if (attrs[i] === "") continue;
67
- attr = /([^=]*)=(.*)/.exec(attrs[i]).slice(1);
68
- attr[0] = attr[0].replace(/^\s+|\s+$/g, "");
69
- attr[1] = attr[1].replace(/^\s+|\s+$/g, "");
70
- attr[1] = attr[1].replace(/^['"](.*)['"]$/g, "$1");
71
- result[attr[0]] = attr[1];
72
- }
73
- return result;
37
+ const attributeSeparator = function() {
38
+ const key = "[^=]*";
39
+ const value = '"[^"]*"|[^,]*';
40
+ const keyvalue = "(?:" + key + ")=(?:" + value + ")";
41
+ return new RegExp("(?:^|,)(" + keyvalue + ")");
74
42
  };
75
- /**
76
- * Converts a string into a resolution object
77
- *
78
- * @param {string} resolution a string such as 3840x2160
79
- *
80
- * @return {Object} An object representing the resolution
81
- *
82
- */
83
- var parseResolution = (resolution) => {
84
- const split = resolution.split("x");
85
- const result = {};
86
- if (split[0]) result.width = parseInt(split[0], 10);
87
- if (split[1]) result.height = parseInt(split[1], 10);
88
- return result;
43
+ const parseAttributes = function(attributes) {
44
+ const result = {};
45
+ if (!attributes) {
46
+ return result;
47
+ }
48
+ const attrs = attributes.split(attributeSeparator());
49
+ let i = attrs.length;
50
+ let attr;
51
+ while (i--) {
52
+ if (attrs[i] === "") {
53
+ continue;
54
+ }
55
+ attr = /([^=]*)=(.*)/.exec(attrs[i]).slice(1);
56
+ attr[0] = attr[0].replace(/^\s+|\s+$/g, "");
57
+ attr[1] = attr[1].replace(/^\s+|\s+$/g, "");
58
+ attr[1] = attr[1].replace(/^['"](.*)['"]$/g, "$1");
59
+ result[attr[0]] = attr[1];
60
+ }
61
+ return result;
89
62
  };
90
- /**
91
- * A line-level M3U8 parser event stream. It expects to receive input one
92
- * line at a time and performs a context-free parse of its contents. A stream
93
- * interpretation of a manifest can be useful if the manifest is expected to
94
- * be too large to fit comfortably into memory or the entirety of the input
95
- * is not immediately available. Otherwise, it's probably much easier to work
96
- * with a regular `Parser` object.
97
- *
98
- * Produces `data` events with an object that captures the parser's
99
- * interpretation of the input. That object has a property `tag` that is one
100
- * of `uri`, `comment`, or `tag`. URIs only have a single additional
101
- * property, `line`, which captures the entirety of the input without
102
- * interpretation. Comments similarly have a single additional property
103
- * `text` which is the input without the leading `#`.
104
- *
105
- * Tags always have a property `tagType` which is the lower-cased version of
106
- * the M3U8 directive without the `#EXT` or `#EXT-X-` prefix. For instance,
107
- * `#EXT-X-MEDIA-SEQUENCE` becomes `media-sequence` when parsed. Unrecognized
108
- * tags are given the tag type `unknown` and a single additional property
109
- * `data` with the remainder of the input.
110
- *
111
- * @class ParseStream
112
- * @extends Stream
113
- */
114
- var ParseStream = class extends Stream {
115
- constructor() {
116
- super();
117
- this.customParsers = [];
118
- this.tagMappers = [];
119
- }
120
- /**
121
- * Parses an additional line of input.
122
- *
123
- * @param {string} line a single line of an M3U8 file to parse
124
- */
125
- push(line) {
126
- let match;
127
- let event;
128
- line = line.trim();
129
- if (line.length === 0) return;
130
- if (line[0] !== "#") {
131
- this.trigger("data", {
132
- type: "uri",
133
- uri: line
134
- });
135
- return;
136
- }
137
- this.tagMappers.reduce((acc, mapper) => {
138
- const mappedLine = mapper(line);
139
- if (mappedLine === line) return acc;
140
- return acc.concat([mappedLine]);
141
- }, [line]).forEach((newLine) => {
142
- for (let i = 0; i < this.customParsers.length; i++) if (this.customParsers[i].call(this, newLine)) return;
143
- if (newLine.indexOf("#EXT") !== 0) {
144
- this.trigger("data", {
145
- type: "comment",
146
- text: newLine.slice(1)
147
- });
148
- return;
149
- }
150
- newLine = newLine.replace("\r", "");
151
- match = /^#EXTM3U/.exec(newLine);
152
- if (match) {
153
- this.trigger("data", {
154
- type: "tag",
155
- tagType: "m3u"
156
- });
157
- return;
158
- }
159
- match = /^#EXTINF:([0-9\.]*)?,?(.*)?$/.exec(newLine);
160
- if (match) {
161
- event = {
162
- type: "tag",
163
- tagType: "inf"
164
- };
165
- if (match[1]) event.duration = parseFloat(match[1]);
166
- if (match[2]) event.title = match[2];
167
- this.trigger("data", event);
168
- return;
169
- }
170
- match = /^#EXT-X-TARGETDURATION:([0-9.]*)?/.exec(newLine);
171
- if (match) {
172
- event = {
173
- type: "tag",
174
- tagType: "targetduration"
175
- };
176
- if (match[1]) event.duration = parseInt(match[1], 10);
177
- this.trigger("data", event);
178
- return;
179
- }
180
- match = /^#EXT-X-VERSION:([0-9.]*)?/.exec(newLine);
181
- if (match) {
182
- event = {
183
- type: "tag",
184
- tagType: "version"
185
- };
186
- if (match[1]) event.version = parseInt(match[1], 10);
187
- this.trigger("data", event);
188
- return;
189
- }
190
- match = /^#EXT-X-MEDIA-SEQUENCE:(\-?[0-9.]*)?/.exec(newLine);
191
- if (match) {
192
- event = {
193
- type: "tag",
194
- tagType: "media-sequence"
195
- };
196
- if (match[1]) event.number = parseInt(match[1], 10);
197
- this.trigger("data", event);
198
- return;
199
- }
200
- match = /^#EXT-X-DISCONTINUITY-SEQUENCE:(\-?[0-9.]*)?/.exec(newLine);
201
- if (match) {
202
- event = {
203
- type: "tag",
204
- tagType: "discontinuity-sequence"
205
- };
206
- if (match[1]) event.number = parseInt(match[1], 10);
207
- this.trigger("data", event);
208
- return;
209
- }
210
- match = /^#EXT-X-PLAYLIST-TYPE:(.*)?$/.exec(newLine);
211
- if (match) {
212
- event = {
213
- type: "tag",
214
- tagType: "playlist-type"
215
- };
216
- if (match[1]) event.playlistType = match[1];
217
- this.trigger("data", event);
218
- return;
219
- }
220
- match = /^#EXT-X-BYTERANGE:(.*)?$/.exec(newLine);
221
- if (match) {
222
- event = _extends(parseByterange(match[1]), {
223
- type: "tag",
224
- tagType: "byterange"
225
- });
226
- this.trigger("data", event);
227
- return;
228
- }
229
- match = /^#EXT-X-ALLOW-CACHE:(YES|NO)?/.exec(newLine);
230
- if (match) {
231
- event = {
232
- type: "tag",
233
- tagType: "allow-cache"
234
- };
235
- if (match[1]) event.allowed = !/NO/.test(match[1]);
236
- this.trigger("data", event);
237
- return;
238
- }
239
- match = /^#EXT-X-MAP:(.*)$/.exec(newLine);
240
- if (match) {
241
- event = {
242
- type: "tag",
243
- tagType: "map"
244
- };
245
- if (match[1]) {
246
- const attributes = parseAttributes(match[1]);
247
- if (attributes.URI) event.uri = attributes.URI;
248
- if (attributes.BYTERANGE) event.byterange = parseByterange(attributes.BYTERANGE);
249
- }
250
- this.trigger("data", event);
251
- return;
252
- }
253
- match = /^#EXT-X-STREAM-INF:(.*)$/.exec(newLine);
254
- if (match) {
255
- event = {
256
- type: "tag",
257
- tagType: "stream-inf"
258
- };
259
- if (match[1]) {
260
- event.attributes = parseAttributes(match[1]);
261
- if (event.attributes.RESOLUTION) event.attributes.RESOLUTION = parseResolution(event.attributes.RESOLUTION);
262
- if (event.attributes.BANDWIDTH) event.attributes.BANDWIDTH = parseInt(event.attributes.BANDWIDTH, 10);
263
- if (event.attributes["FRAME-RATE"]) event.attributes["FRAME-RATE"] = parseFloat(event.attributes["FRAME-RATE"]);
264
- if (event.attributes["PROGRAM-ID"]) event.attributes["PROGRAM-ID"] = parseInt(event.attributes["PROGRAM-ID"], 10);
265
- }
266
- this.trigger("data", event);
267
- return;
268
- }
269
- match = /^#EXT-X-MEDIA:(.*)$/.exec(newLine);
270
- if (match) {
271
- event = {
272
- type: "tag",
273
- tagType: "media"
274
- };
275
- if (match[1]) event.attributes = parseAttributes(match[1]);
276
- this.trigger("data", event);
277
- return;
278
- }
279
- match = /^#EXT-X-ENDLIST/.exec(newLine);
280
- if (match) {
281
- this.trigger("data", {
282
- type: "tag",
283
- tagType: "endlist"
284
- });
285
- return;
286
- }
287
- match = /^#EXT-X-DISCONTINUITY/.exec(newLine);
288
- if (match) {
289
- this.trigger("data", {
290
- type: "tag",
291
- tagType: "discontinuity"
292
- });
293
- return;
294
- }
295
- match = /^#EXT-X-PROGRAM-DATE-TIME:(.*)$/.exec(newLine);
296
- if (match) {
297
- event = {
298
- type: "tag",
299
- tagType: "program-date-time"
300
- };
301
- if (match[1]) {
302
- event.dateTimeString = match[1];
303
- event.dateTimeObject = new Date(match[1]);
304
- }
305
- this.trigger("data", event);
306
- return;
307
- }
308
- match = /^#EXT-X-KEY:(.*)$/.exec(newLine);
309
- if (match) {
310
- event = {
311
- type: "tag",
312
- tagType: "key"
313
- };
314
- if (match[1]) {
315
- event.attributes = parseAttributes(match[1]);
316
- if (event.attributes.IV) {
317
- if (event.attributes.IV.substring(0, 2).toLowerCase() === "0x") event.attributes.IV = event.attributes.IV.substring(2);
318
- event.attributes.IV = event.attributes.IV.match(/.{8}/g);
319
- event.attributes.IV[0] = parseInt(event.attributes.IV[0], 16);
320
- event.attributes.IV[1] = parseInt(event.attributes.IV[1], 16);
321
- event.attributes.IV[2] = parseInt(event.attributes.IV[2], 16);
322
- event.attributes.IV[3] = parseInt(event.attributes.IV[3], 16);
323
- event.attributes.IV = new Uint32Array(event.attributes.IV);
324
- }
325
- }
326
- this.trigger("data", event);
327
- return;
328
- }
329
- match = /^#EXT-X-START:(.*)$/.exec(newLine);
330
- if (match) {
331
- event = {
332
- type: "tag",
333
- tagType: "start"
334
- };
335
- if (match[1]) {
336
- event.attributes = parseAttributes(match[1]);
337
- event.attributes["TIME-OFFSET"] = parseFloat(event.attributes["TIME-OFFSET"]);
338
- event.attributes.PRECISE = /YES/.test(event.attributes.PRECISE);
339
- }
340
- this.trigger("data", event);
341
- return;
342
- }
343
- match = /^#EXT-X-CUE-OUT-CONT:(.*)?$/.exec(newLine);
344
- if (match) {
345
- event = {
346
- type: "tag",
347
- tagType: "cue-out-cont"
348
- };
349
- if (match[1]) event.data = match[1];
350
- else event.data = "";
351
- this.trigger("data", event);
352
- return;
353
- }
354
- match = /^#EXT-X-CUE-OUT:(.*)?$/.exec(newLine);
355
- if (match) {
356
- event = {
357
- type: "tag",
358
- tagType: "cue-out"
359
- };
360
- if (match[1]) event.data = match[1];
361
- else event.data = "";
362
- this.trigger("data", event);
363
- return;
364
- }
365
- match = /^#EXT-X-CUE-IN:?(.*)?$/.exec(newLine);
366
- if (match) {
367
- event = {
368
- type: "tag",
369
- tagType: "cue-in"
370
- };
371
- if (match[1]) event.data = match[1];
372
- else event.data = "";
373
- this.trigger("data", event);
374
- return;
375
- }
376
- match = /^#EXT-X-SKIP:(.*)$/.exec(newLine);
377
- if (match && match[1]) {
378
- event = {
379
- type: "tag",
380
- tagType: "skip"
381
- };
382
- event.attributes = parseAttributes(match[1]);
383
- if (event.attributes.hasOwnProperty("SKIPPED-SEGMENTS")) event.attributes["SKIPPED-SEGMENTS"] = parseInt(event.attributes["SKIPPED-SEGMENTS"], 10);
384
- if (event.attributes.hasOwnProperty("RECENTLY-REMOVED-DATERANGES")) event.attributes["RECENTLY-REMOVED-DATERANGES"] = event.attributes["RECENTLY-REMOVED-DATERANGES"].split(TAB);
385
- this.trigger("data", event);
386
- return;
387
- }
388
- match = /^#EXT-X-PART:(.*)$/.exec(newLine);
389
- if (match && match[1]) {
390
- event = {
391
- type: "tag",
392
- tagType: "part"
393
- };
394
- event.attributes = parseAttributes(match[1]);
395
- ["DURATION"].forEach(function(key) {
396
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = parseFloat(event.attributes[key]);
397
- });
398
- ["INDEPENDENT", "GAP"].forEach(function(key) {
399
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = /YES/.test(event.attributes[key]);
400
- });
401
- if (event.attributes.hasOwnProperty("BYTERANGE")) event.attributes.byterange = parseByterange(event.attributes.BYTERANGE);
402
- this.trigger("data", event);
403
- return;
404
- }
405
- match = /^#EXT-X-SERVER-CONTROL:(.*)$/.exec(newLine);
406
- if (match && match[1]) {
407
- event = {
408
- type: "tag",
409
- tagType: "server-control"
410
- };
411
- event.attributes = parseAttributes(match[1]);
412
- [
413
- "CAN-SKIP-UNTIL",
414
- "PART-HOLD-BACK",
415
- "HOLD-BACK"
416
- ].forEach(function(key) {
417
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = parseFloat(event.attributes[key]);
418
- });
419
- ["CAN-SKIP-DATERANGES", "CAN-BLOCK-RELOAD"].forEach(function(key) {
420
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = /YES/.test(event.attributes[key]);
421
- });
422
- this.trigger("data", event);
423
- return;
424
- }
425
- match = /^#EXT-X-PART-INF:(.*)$/.exec(newLine);
426
- if (match && match[1]) {
427
- event = {
428
- type: "tag",
429
- tagType: "part-inf"
430
- };
431
- event.attributes = parseAttributes(match[1]);
432
- ["PART-TARGET"].forEach(function(key) {
433
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = parseFloat(event.attributes[key]);
434
- });
435
- this.trigger("data", event);
436
- return;
437
- }
438
- match = /^#EXT-X-PRELOAD-HINT:(.*)$/.exec(newLine);
439
- if (match && match[1]) {
440
- event = {
441
- type: "tag",
442
- tagType: "preload-hint"
443
- };
444
- event.attributes = parseAttributes(match[1]);
445
- ["BYTERANGE-START", "BYTERANGE-LENGTH"].forEach(function(key) {
446
- if (event.attributes.hasOwnProperty(key)) {
447
- event.attributes[key] = parseInt(event.attributes[key], 10);
448
- const subkey = key === "BYTERANGE-LENGTH" ? "length" : "offset";
449
- event.attributes.byterange = event.attributes.byterange || {};
450
- event.attributes.byterange[subkey] = event.attributes[key];
451
- delete event.attributes[key];
452
- }
453
- });
454
- this.trigger("data", event);
455
- return;
456
- }
457
- match = /^#EXT-X-RENDITION-REPORT:(.*)$/.exec(newLine);
458
- if (match && match[1]) {
459
- event = {
460
- type: "tag",
461
- tagType: "rendition-report"
462
- };
463
- event.attributes = parseAttributes(match[1]);
464
- ["LAST-MSN", "LAST-PART"].forEach(function(key) {
465
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = parseInt(event.attributes[key], 10);
466
- });
467
- this.trigger("data", event);
468
- return;
469
- }
470
- match = /^#EXT-X-DATERANGE:(.*)$/.exec(newLine);
471
- if (match && match[1]) {
472
- event = {
473
- type: "tag",
474
- tagType: "daterange"
475
- };
476
- event.attributes = parseAttributes(match[1]);
477
- ["ID", "CLASS"].forEach(function(key) {
478
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = String(event.attributes[key]);
479
- });
480
- ["START-DATE", "END-DATE"].forEach(function(key) {
481
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = new Date(event.attributes[key]);
482
- });
483
- ["DURATION", "PLANNED-DURATION"].forEach(function(key) {
484
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = parseFloat(event.attributes[key]);
485
- });
486
- ["END-ON-NEXT"].forEach(function(key) {
487
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = /YES/i.test(event.attributes[key]);
488
- });
489
- [
490
- "SCTE35-CMD",
491
- " SCTE35-OUT",
492
- "SCTE35-IN"
493
- ].forEach(function(key) {
494
- if (event.attributes.hasOwnProperty(key)) event.attributes[key] = event.attributes[key].toString(16);
495
- });
496
- const clientAttributePattern = /^X-([A-Z]+-)+[A-Z]+$/;
497
- for (const key in event.attributes) {
498
- if (!clientAttributePattern.test(key)) continue;
499
- const isHexaDecimal = /[0-9A-Fa-f]{6}/g.test(event.attributes[key]);
500
- const isDecimalFloating = /^\d+(\.\d+)?$/.test(event.attributes[key]);
501
- event.attributes[key] = isHexaDecimal ? event.attributes[key].toString(16) : isDecimalFloating ? parseFloat(event.attributes[key]) : String(event.attributes[key]);
502
- }
503
- this.trigger("data", event);
504
- return;
505
- }
506
- match = /^#EXT-X-INDEPENDENT-SEGMENTS/.exec(newLine);
507
- if (match) {
508
- this.trigger("data", {
509
- type: "tag",
510
- tagType: "independent-segments"
511
- });
512
- return;
513
- }
514
- match = /^#EXT-X-I-FRAMES-ONLY/.exec(newLine);
515
- if (match) {
516
- this.trigger("data", {
517
- type: "tag",
518
- tagType: "i-frames-only"
519
- });
520
- return;
521
- }
522
- match = /^#EXT-X-CONTENT-STEERING:(.*)$/.exec(newLine);
523
- if (match) {
524
- event = {
525
- type: "tag",
526
- tagType: "content-steering"
527
- };
528
- event.attributes = parseAttributes(match[1]);
529
- this.trigger("data", event);
530
- return;
531
- }
532
- match = /^#EXT-X-I-FRAME-STREAM-INF:(.*)$/.exec(newLine);
533
- if (match) {
534
- event = {
535
- type: "tag",
536
- tagType: "i-frame-playlist"
537
- };
538
- event.attributes = parseAttributes(match[1]);
539
- if (event.attributes.URI) event.uri = event.attributes.URI;
540
- if (event.attributes.BANDWIDTH) event.attributes.BANDWIDTH = parseInt(event.attributes.BANDWIDTH, 10);
541
- if (event.attributes.RESOLUTION) event.attributes.RESOLUTION = parseResolution(event.attributes.RESOLUTION);
542
- if (event.attributes["AVERAGE-BANDWIDTH"]) event.attributes["AVERAGE-BANDWIDTH"] = parseInt(event.attributes["AVERAGE-BANDWIDTH"], 10);
543
- if (event.attributes["FRAME-RATE"]) event.attributes["FRAME-RATE"] = parseFloat(event.attributes["FRAME-RATE"]);
544
- this.trigger("data", event);
545
- return;
546
- }
547
- match = /^#EXT-X-DEFINE:(.*)$/.exec(newLine);
548
- if (match) {
549
- event = {
550
- type: "tag",
551
- tagType: "define"
552
- };
553
- event.attributes = parseAttributes(match[1]);
554
- this.trigger("data", event);
555
- return;
556
- }
557
- this.trigger("data", {
558
- type: "tag",
559
- data: newLine.slice(4)
560
- });
561
- });
562
- }
563
- /**
564
- * Add a parser for custom headers
565
- *
566
- * @param {Object} options a map of options for the added parser
567
- * @param {RegExp} options.expression a regular expression to match the custom header
568
- * @param {string} options.customType the custom type to register to the output
569
- * @param {Function} [options.dataParser] function to parse the line into an object
570
- * @param {boolean} [options.segment] should tag data be attached to the segment object
571
- */
572
- addParser({ expression, customType, dataParser, segment }) {
573
- if (typeof dataParser !== "function") dataParser = (line) => line;
574
- this.customParsers.push((line) => {
575
- if (expression.exec(line)) {
576
- this.trigger("data", {
577
- type: "custom",
578
- data: dataParser(line),
579
- customType,
580
- segment
581
- });
582
- return true;
583
- }
584
- });
585
- }
586
- /**
587
- * Add a custom header mapper
588
- *
589
- * @param {Object} options
590
- * @param {RegExp} options.expression a regular expression to match the custom header
591
- * @param {Function} options.map function to translate tag into a different tag
592
- */
593
- addTagMapper({ expression, map }) {
594
- const mapFn = (line) => {
595
- if (expression.test(line)) return map(line);
596
- return line;
597
- };
598
- this.tagMappers.push(mapFn);
599
- }
63
+ const parseResolution = (resolution) => {
64
+ const split = resolution.split("x");
65
+ const result = {};
66
+ if (split[0]) {
67
+ result.width = parseInt(split[0], 10);
68
+ }
69
+ if (split[1]) {
70
+ result.height = parseInt(split[1], 10);
71
+ }
72
+ return result;
600
73
  };
601
- var camelCase = (str) => str.toLowerCase().replace(/-(\w)/g, (a) => a[1].toUpperCase());
602
- var camelCaseKeys = function(attributes) {
603
- const result = {};
604
- Object.keys(attributes).forEach(function(key) {
605
- result[camelCase(key)] = attributes[key];
606
- });
607
- return result;
74
+ class ParseStream extends Stream {
75
+ constructor() {
76
+ super();
77
+ this.customParsers = [];
78
+ this.tagMappers = [];
79
+ }
80
+ /**
81
+ * Parses an additional line of input.
82
+ *
83
+ * @param {string} line a single line of an M3U8 file to parse
84
+ */
85
+ push(line) {
86
+ let match;
87
+ let event;
88
+ line = line.trim();
89
+ if (line.length === 0) {
90
+ return;
91
+ }
92
+ if (line[0] !== "#") {
93
+ this.trigger("data", {
94
+ type: "uri",
95
+ uri: line
96
+ });
97
+ return;
98
+ }
99
+ const newLines = this.tagMappers.reduce((acc, mapper) => {
100
+ const mappedLine = mapper(line);
101
+ if (mappedLine === line) {
102
+ return acc;
103
+ }
104
+ return acc.concat([mappedLine]);
105
+ }, [line]);
106
+ newLines.forEach((newLine) => {
107
+ for (let i = 0; i < this.customParsers.length; i++) {
108
+ if (this.customParsers[i].call(this, newLine)) {
109
+ return;
110
+ }
111
+ }
112
+ if (newLine.indexOf("#EXT") !== 0) {
113
+ this.trigger("data", {
114
+ type: "comment",
115
+ text: newLine.slice(1)
116
+ });
117
+ return;
118
+ }
119
+ newLine = newLine.replace("\r", "");
120
+ match = /^#EXTM3U/.exec(newLine);
121
+ if (match) {
122
+ this.trigger("data", {
123
+ type: "tag",
124
+ tagType: "m3u"
125
+ });
126
+ return;
127
+ }
128
+ match = /^#EXTINF:([0-9\.]*)?,?(.*)?$/.exec(newLine);
129
+ if (match) {
130
+ event = {
131
+ type: "tag",
132
+ tagType: "inf"
133
+ };
134
+ if (match[1]) {
135
+ event.duration = parseFloat(match[1]);
136
+ }
137
+ if (match[2]) {
138
+ event.title = match[2];
139
+ }
140
+ this.trigger("data", event);
141
+ return;
142
+ }
143
+ match = /^#EXT-X-TARGETDURATION:([0-9.]*)?/.exec(newLine);
144
+ if (match) {
145
+ event = {
146
+ type: "tag",
147
+ tagType: "targetduration"
148
+ };
149
+ if (match[1]) {
150
+ event.duration = parseInt(match[1], 10);
151
+ }
152
+ this.trigger("data", event);
153
+ return;
154
+ }
155
+ match = /^#EXT-X-VERSION:([0-9.]*)?/.exec(newLine);
156
+ if (match) {
157
+ event = {
158
+ type: "tag",
159
+ tagType: "version"
160
+ };
161
+ if (match[1]) {
162
+ event.version = parseInt(match[1], 10);
163
+ }
164
+ this.trigger("data", event);
165
+ return;
166
+ }
167
+ match = /^#EXT-X-MEDIA-SEQUENCE:(\-?[0-9.]*)?/.exec(newLine);
168
+ if (match) {
169
+ event = {
170
+ type: "tag",
171
+ tagType: "media-sequence"
172
+ };
173
+ if (match[1]) {
174
+ event.number = parseInt(match[1], 10);
175
+ }
176
+ this.trigger("data", event);
177
+ return;
178
+ }
179
+ match = /^#EXT-X-DISCONTINUITY-SEQUENCE:(\-?[0-9.]*)?/.exec(newLine);
180
+ if (match) {
181
+ event = {
182
+ type: "tag",
183
+ tagType: "discontinuity-sequence"
184
+ };
185
+ if (match[1]) {
186
+ event.number = parseInt(match[1], 10);
187
+ }
188
+ this.trigger("data", event);
189
+ return;
190
+ }
191
+ match = /^#EXT-X-PLAYLIST-TYPE:(.*)?$/.exec(newLine);
192
+ if (match) {
193
+ event = {
194
+ type: "tag",
195
+ tagType: "playlist-type"
196
+ };
197
+ if (match[1]) {
198
+ event.playlistType = match[1];
199
+ }
200
+ this.trigger("data", event);
201
+ return;
202
+ }
203
+ match = /^#EXT-X-BYTERANGE:(.*)?$/.exec(newLine);
204
+ if (match) {
205
+ event = _extends(parseByterange(match[1]), {
206
+ type: "tag",
207
+ tagType: "byterange"
208
+ });
209
+ this.trigger("data", event);
210
+ return;
211
+ }
212
+ match = /^#EXT-X-ALLOW-CACHE:(YES|NO)?/.exec(newLine);
213
+ if (match) {
214
+ event = {
215
+ type: "tag",
216
+ tagType: "allow-cache"
217
+ };
218
+ if (match[1]) {
219
+ event.allowed = !/NO/.test(match[1]);
220
+ }
221
+ this.trigger("data", event);
222
+ return;
223
+ }
224
+ match = /^#EXT-X-MAP:(.*)$/.exec(newLine);
225
+ if (match) {
226
+ event = {
227
+ type: "tag",
228
+ tagType: "map"
229
+ };
230
+ if (match[1]) {
231
+ const attributes = parseAttributes(match[1]);
232
+ if (attributes.URI) {
233
+ event.uri = attributes.URI;
234
+ }
235
+ if (attributes.BYTERANGE) {
236
+ event.byterange = parseByterange(attributes.BYTERANGE);
237
+ }
238
+ }
239
+ this.trigger("data", event);
240
+ return;
241
+ }
242
+ match = /^#EXT-X-STREAM-INF:(.*)$/.exec(newLine);
243
+ if (match) {
244
+ event = {
245
+ type: "tag",
246
+ tagType: "stream-inf"
247
+ };
248
+ if (match[1]) {
249
+ event.attributes = parseAttributes(match[1]);
250
+ if (event.attributes.RESOLUTION) {
251
+ event.attributes.RESOLUTION = parseResolution(event.attributes.RESOLUTION);
252
+ }
253
+ if (event.attributes.BANDWIDTH) {
254
+ event.attributes.BANDWIDTH = parseInt(event.attributes.BANDWIDTH, 10);
255
+ }
256
+ if (event.attributes["FRAME-RATE"]) {
257
+ event.attributes["FRAME-RATE"] = parseFloat(event.attributes["FRAME-RATE"]);
258
+ }
259
+ if (event.attributes["PROGRAM-ID"]) {
260
+ event.attributes["PROGRAM-ID"] = parseInt(event.attributes["PROGRAM-ID"], 10);
261
+ }
262
+ }
263
+ this.trigger("data", event);
264
+ return;
265
+ }
266
+ match = /^#EXT-X-MEDIA:(.*)$/.exec(newLine);
267
+ if (match) {
268
+ event = {
269
+ type: "tag",
270
+ tagType: "media"
271
+ };
272
+ if (match[1]) {
273
+ event.attributes = parseAttributes(match[1]);
274
+ }
275
+ this.trigger("data", event);
276
+ return;
277
+ }
278
+ match = /^#EXT-X-ENDLIST/.exec(newLine);
279
+ if (match) {
280
+ this.trigger("data", {
281
+ type: "tag",
282
+ tagType: "endlist"
283
+ });
284
+ return;
285
+ }
286
+ match = /^#EXT-X-DISCONTINUITY/.exec(newLine);
287
+ if (match) {
288
+ this.trigger("data", {
289
+ type: "tag",
290
+ tagType: "discontinuity"
291
+ });
292
+ return;
293
+ }
294
+ match = /^#EXT-X-PROGRAM-DATE-TIME:(.*)$/.exec(newLine);
295
+ if (match) {
296
+ event = {
297
+ type: "tag",
298
+ tagType: "program-date-time"
299
+ };
300
+ if (match[1]) {
301
+ event.dateTimeString = match[1];
302
+ event.dateTimeObject = new Date(match[1]);
303
+ }
304
+ this.trigger("data", event);
305
+ return;
306
+ }
307
+ match = /^#EXT-X-KEY:(.*)$/.exec(newLine);
308
+ if (match) {
309
+ event = {
310
+ type: "tag",
311
+ tagType: "key"
312
+ };
313
+ if (match[1]) {
314
+ event.attributes = parseAttributes(match[1]);
315
+ if (event.attributes.IV) {
316
+ if (event.attributes.IV.substring(0, 2).toLowerCase() === "0x") {
317
+ event.attributes.IV = event.attributes.IV.substring(2);
318
+ }
319
+ event.attributes.IV = event.attributes.IV.match(/.{8}/g);
320
+ event.attributes.IV[0] = parseInt(event.attributes.IV[0], 16);
321
+ event.attributes.IV[1] = parseInt(event.attributes.IV[1], 16);
322
+ event.attributes.IV[2] = parseInt(event.attributes.IV[2], 16);
323
+ event.attributes.IV[3] = parseInt(event.attributes.IV[3], 16);
324
+ event.attributes.IV = new Uint32Array(event.attributes.IV);
325
+ }
326
+ }
327
+ this.trigger("data", event);
328
+ return;
329
+ }
330
+ match = /^#EXT-X-START:(.*)$/.exec(newLine);
331
+ if (match) {
332
+ event = {
333
+ type: "tag",
334
+ tagType: "start"
335
+ };
336
+ if (match[1]) {
337
+ event.attributes = parseAttributes(match[1]);
338
+ event.attributes["TIME-OFFSET"] = parseFloat(event.attributes["TIME-OFFSET"]);
339
+ event.attributes.PRECISE = /YES/.test(event.attributes.PRECISE);
340
+ }
341
+ this.trigger("data", event);
342
+ return;
343
+ }
344
+ match = /^#EXT-X-CUE-OUT-CONT:(.*)?$/.exec(newLine);
345
+ if (match) {
346
+ event = {
347
+ type: "tag",
348
+ tagType: "cue-out-cont"
349
+ };
350
+ if (match[1]) {
351
+ event.data = match[1];
352
+ } else {
353
+ event.data = "";
354
+ }
355
+ this.trigger("data", event);
356
+ return;
357
+ }
358
+ match = /^#EXT-X-CUE-OUT:(.*)?$/.exec(newLine);
359
+ if (match) {
360
+ event = {
361
+ type: "tag",
362
+ tagType: "cue-out"
363
+ };
364
+ if (match[1]) {
365
+ event.data = match[1];
366
+ } else {
367
+ event.data = "";
368
+ }
369
+ this.trigger("data", event);
370
+ return;
371
+ }
372
+ match = /^#EXT-X-CUE-IN:?(.*)?$/.exec(newLine);
373
+ if (match) {
374
+ event = {
375
+ type: "tag",
376
+ tagType: "cue-in"
377
+ };
378
+ if (match[1]) {
379
+ event.data = match[1];
380
+ } else {
381
+ event.data = "";
382
+ }
383
+ this.trigger("data", event);
384
+ return;
385
+ }
386
+ match = /^#EXT-X-SKIP:(.*)$/.exec(newLine);
387
+ if (match && match[1]) {
388
+ event = {
389
+ type: "tag",
390
+ tagType: "skip"
391
+ };
392
+ event.attributes = parseAttributes(match[1]);
393
+ if (event.attributes.hasOwnProperty("SKIPPED-SEGMENTS")) {
394
+ event.attributes["SKIPPED-SEGMENTS"] = parseInt(event.attributes["SKIPPED-SEGMENTS"], 10);
395
+ }
396
+ if (event.attributes.hasOwnProperty("RECENTLY-REMOVED-DATERANGES")) {
397
+ event.attributes["RECENTLY-REMOVED-DATERANGES"] = event.attributes["RECENTLY-REMOVED-DATERANGES"].split(TAB);
398
+ }
399
+ this.trigger("data", event);
400
+ return;
401
+ }
402
+ match = /^#EXT-X-PART:(.*)$/.exec(newLine);
403
+ if (match && match[1]) {
404
+ event = {
405
+ type: "tag",
406
+ tagType: "part"
407
+ };
408
+ event.attributes = parseAttributes(match[1]);
409
+ ["DURATION"].forEach(function(key) {
410
+ if (event.attributes.hasOwnProperty(key)) {
411
+ event.attributes[key] = parseFloat(event.attributes[key]);
412
+ }
413
+ });
414
+ ["INDEPENDENT", "GAP"].forEach(function(key) {
415
+ if (event.attributes.hasOwnProperty(key)) {
416
+ event.attributes[key] = /YES/.test(event.attributes[key]);
417
+ }
418
+ });
419
+ if (event.attributes.hasOwnProperty("BYTERANGE")) {
420
+ event.attributes.byterange = parseByterange(event.attributes.BYTERANGE);
421
+ }
422
+ this.trigger("data", event);
423
+ return;
424
+ }
425
+ match = /^#EXT-X-SERVER-CONTROL:(.*)$/.exec(newLine);
426
+ if (match && match[1]) {
427
+ event = {
428
+ type: "tag",
429
+ tagType: "server-control"
430
+ };
431
+ event.attributes = parseAttributes(match[1]);
432
+ ["CAN-SKIP-UNTIL", "PART-HOLD-BACK", "HOLD-BACK"].forEach(function(key) {
433
+ if (event.attributes.hasOwnProperty(key)) {
434
+ event.attributes[key] = parseFloat(event.attributes[key]);
435
+ }
436
+ });
437
+ ["CAN-SKIP-DATERANGES", "CAN-BLOCK-RELOAD"].forEach(function(key) {
438
+ if (event.attributes.hasOwnProperty(key)) {
439
+ event.attributes[key] = /YES/.test(event.attributes[key]);
440
+ }
441
+ });
442
+ this.trigger("data", event);
443
+ return;
444
+ }
445
+ match = /^#EXT-X-PART-INF:(.*)$/.exec(newLine);
446
+ if (match && match[1]) {
447
+ event = {
448
+ type: "tag",
449
+ tagType: "part-inf"
450
+ };
451
+ event.attributes = parseAttributes(match[1]);
452
+ ["PART-TARGET"].forEach(function(key) {
453
+ if (event.attributes.hasOwnProperty(key)) {
454
+ event.attributes[key] = parseFloat(event.attributes[key]);
455
+ }
456
+ });
457
+ this.trigger("data", event);
458
+ return;
459
+ }
460
+ match = /^#EXT-X-PRELOAD-HINT:(.*)$/.exec(newLine);
461
+ if (match && match[1]) {
462
+ event = {
463
+ type: "tag",
464
+ tagType: "preload-hint"
465
+ };
466
+ event.attributes = parseAttributes(match[1]);
467
+ ["BYTERANGE-START", "BYTERANGE-LENGTH"].forEach(function(key) {
468
+ if (event.attributes.hasOwnProperty(key)) {
469
+ event.attributes[key] = parseInt(event.attributes[key], 10);
470
+ const subkey = key === "BYTERANGE-LENGTH" ? "length" : "offset";
471
+ event.attributes.byterange = event.attributes.byterange || {};
472
+ event.attributes.byterange[subkey] = event.attributes[key];
473
+ delete event.attributes[key];
474
+ }
475
+ });
476
+ this.trigger("data", event);
477
+ return;
478
+ }
479
+ match = /^#EXT-X-RENDITION-REPORT:(.*)$/.exec(newLine);
480
+ if (match && match[1]) {
481
+ event = {
482
+ type: "tag",
483
+ tagType: "rendition-report"
484
+ };
485
+ event.attributes = parseAttributes(match[1]);
486
+ ["LAST-MSN", "LAST-PART"].forEach(function(key) {
487
+ if (event.attributes.hasOwnProperty(key)) {
488
+ event.attributes[key] = parseInt(event.attributes[key], 10);
489
+ }
490
+ });
491
+ this.trigger("data", event);
492
+ return;
493
+ }
494
+ match = /^#EXT-X-DATERANGE:(.*)$/.exec(newLine);
495
+ if (match && match[1]) {
496
+ event = {
497
+ type: "tag",
498
+ tagType: "daterange"
499
+ };
500
+ event.attributes = parseAttributes(match[1]);
501
+ ["ID", "CLASS"].forEach(function(key) {
502
+ if (event.attributes.hasOwnProperty(key)) {
503
+ event.attributes[key] = String(event.attributes[key]);
504
+ }
505
+ });
506
+ ["START-DATE", "END-DATE"].forEach(function(key) {
507
+ if (event.attributes.hasOwnProperty(key)) {
508
+ event.attributes[key] = new Date(event.attributes[key]);
509
+ }
510
+ });
511
+ ["DURATION", "PLANNED-DURATION"].forEach(function(key) {
512
+ if (event.attributes.hasOwnProperty(key)) {
513
+ event.attributes[key] = parseFloat(event.attributes[key]);
514
+ }
515
+ });
516
+ ["END-ON-NEXT"].forEach(function(key) {
517
+ if (event.attributes.hasOwnProperty(key)) {
518
+ event.attributes[key] = /YES/i.test(event.attributes[key]);
519
+ }
520
+ });
521
+ ["SCTE35-CMD", " SCTE35-OUT", "SCTE35-IN"].forEach(function(key) {
522
+ if (event.attributes.hasOwnProperty(key)) {
523
+ event.attributes[key] = event.attributes[key].toString(16);
524
+ }
525
+ });
526
+ const clientAttributePattern = /^X-([A-Z]+-)+[A-Z]+$/;
527
+ for (const key in event.attributes) {
528
+ if (!clientAttributePattern.test(key)) {
529
+ continue;
530
+ }
531
+ const isHexaDecimal = /[0-9A-Fa-f]{6}/g.test(event.attributes[key]);
532
+ const isDecimalFloating = /^\d+(\.\d+)?$/.test(event.attributes[key]);
533
+ event.attributes[key] = isHexaDecimal ? event.attributes[key].toString(16) : isDecimalFloating ? parseFloat(event.attributes[key]) : String(event.attributes[key]);
534
+ }
535
+ this.trigger("data", event);
536
+ return;
537
+ }
538
+ match = /^#EXT-X-INDEPENDENT-SEGMENTS/.exec(newLine);
539
+ if (match) {
540
+ this.trigger("data", {
541
+ type: "tag",
542
+ tagType: "independent-segments"
543
+ });
544
+ return;
545
+ }
546
+ match = /^#EXT-X-I-FRAMES-ONLY/.exec(newLine);
547
+ if (match) {
548
+ this.trigger("data", {
549
+ type: "tag",
550
+ tagType: "i-frames-only"
551
+ });
552
+ return;
553
+ }
554
+ match = /^#EXT-X-CONTENT-STEERING:(.*)$/.exec(newLine);
555
+ if (match) {
556
+ event = {
557
+ type: "tag",
558
+ tagType: "content-steering"
559
+ };
560
+ event.attributes = parseAttributes(match[1]);
561
+ this.trigger("data", event);
562
+ return;
563
+ }
564
+ match = /^#EXT-X-I-FRAME-STREAM-INF:(.*)$/.exec(newLine);
565
+ if (match) {
566
+ event = {
567
+ type: "tag",
568
+ tagType: "i-frame-playlist"
569
+ };
570
+ event.attributes = parseAttributes(match[1]);
571
+ if (event.attributes.URI) {
572
+ event.uri = event.attributes.URI;
573
+ }
574
+ if (event.attributes.BANDWIDTH) {
575
+ event.attributes.BANDWIDTH = parseInt(event.attributes.BANDWIDTH, 10);
576
+ }
577
+ if (event.attributes.RESOLUTION) {
578
+ event.attributes.RESOLUTION = parseResolution(event.attributes.RESOLUTION);
579
+ }
580
+ if (event.attributes["AVERAGE-BANDWIDTH"]) {
581
+ event.attributes["AVERAGE-BANDWIDTH"] = parseInt(event.attributes["AVERAGE-BANDWIDTH"], 10);
582
+ }
583
+ if (event.attributes["FRAME-RATE"]) {
584
+ event.attributes["FRAME-RATE"] = parseFloat(event.attributes["FRAME-RATE"]);
585
+ }
586
+ this.trigger("data", event);
587
+ return;
588
+ }
589
+ match = /^#EXT-X-DEFINE:(.*)$/.exec(newLine);
590
+ if (match) {
591
+ event = {
592
+ type: "tag",
593
+ tagType: "define"
594
+ };
595
+ event.attributes = parseAttributes(match[1]);
596
+ this.trigger("data", event);
597
+ return;
598
+ }
599
+ this.trigger("data", {
600
+ type: "tag",
601
+ data: newLine.slice(4)
602
+ });
603
+ });
604
+ }
605
+ /**
606
+ * Add a parser for custom headers
607
+ *
608
+ * @param {Object} options a map of options for the added parser
609
+ * @param {RegExp} options.expression a regular expression to match the custom header
610
+ * @param {string} options.customType the custom type to register to the output
611
+ * @param {Function} [options.dataParser] function to parse the line into an object
612
+ * @param {boolean} [options.segment] should tag data be attached to the segment object
613
+ */
614
+ addParser({
615
+ expression,
616
+ customType,
617
+ dataParser,
618
+ segment
619
+ }) {
620
+ if (typeof dataParser !== "function") {
621
+ dataParser = (line) => line;
622
+ }
623
+ this.customParsers.push((line) => {
624
+ const match = expression.exec(line);
625
+ if (match) {
626
+ this.trigger("data", {
627
+ type: "custom",
628
+ data: dataParser(line),
629
+ customType,
630
+ segment
631
+ });
632
+ return true;
633
+ }
634
+ });
635
+ }
636
+ /**
637
+ * Add a custom header mapper
638
+ *
639
+ * @param {Object} options
640
+ * @param {RegExp} options.expression a regular expression to match the custom header
641
+ * @param {Function} options.map function to translate tag into a different tag
642
+ */
643
+ addTagMapper({
644
+ expression,
645
+ map
646
+ }) {
647
+ const mapFn = (line) => {
648
+ if (expression.test(line)) {
649
+ return map(line);
650
+ }
651
+ return line;
652
+ };
653
+ this.tagMappers.push(mapFn);
654
+ }
655
+ }
656
+ const camelCase = (str) => str.toLowerCase().replace(/-(\w)/g, (a) => a[1].toUpperCase());
657
+ const camelCaseKeys = function(attributes) {
658
+ const result = {};
659
+ Object.keys(attributes).forEach(function(key) {
660
+ result[camelCase(key)] = attributes[key];
661
+ });
662
+ return result;
608
663
  };
609
- var setHoldBack = function(manifest) {
610
- const { serverControl, targetDuration, partTargetDuration } = manifest;
611
- if (!serverControl) return;
612
- const tag = "#EXT-X-SERVER-CONTROL";
613
- const hb = "holdBack";
614
- const phb = "partHoldBack";
615
- const minTargetDuration = targetDuration && targetDuration * 3;
616
- const minPartDuration = partTargetDuration && partTargetDuration * 2;
617
- if (targetDuration && !serverControl.hasOwnProperty(hb)) {
618
- serverControl[hb] = minTargetDuration;
619
- this.trigger("info", { message: `${tag} defaulting HOLD-BACK to targetDuration * 3 (${minTargetDuration}).` });
620
- }
621
- if (minTargetDuration && serverControl[hb] < minTargetDuration) {
622
- this.trigger("warn", { message: `${tag} clamping HOLD-BACK (${serverControl[hb]}) to targetDuration * 3 (${minTargetDuration})` });
623
- serverControl[hb] = minTargetDuration;
624
- }
625
- if (partTargetDuration && !serverControl.hasOwnProperty(phb)) {
626
- serverControl[phb] = partTargetDuration * 3;
627
- this.trigger("info", { message: `${tag} defaulting PART-HOLD-BACK to partTargetDuration * 3 (${serverControl[phb]}).` });
628
- }
629
- if (partTargetDuration && serverControl[phb] < minPartDuration) {
630
- this.trigger("warn", { message: `${tag} clamping PART-HOLD-BACK (${serverControl[phb]}) to partTargetDuration * 2 (${minPartDuration}).` });
631
- serverControl[phb] = minPartDuration;
632
- }
664
+ const setHoldBack = function(manifest) {
665
+ const {
666
+ serverControl,
667
+ targetDuration,
668
+ partTargetDuration
669
+ } = manifest;
670
+ if (!serverControl) {
671
+ return;
672
+ }
673
+ const tag = "#EXT-X-SERVER-CONTROL";
674
+ const hb = "holdBack";
675
+ const phb = "partHoldBack";
676
+ const minTargetDuration = targetDuration && targetDuration * 3;
677
+ const minPartDuration = partTargetDuration && partTargetDuration * 2;
678
+ if (targetDuration && !serverControl.hasOwnProperty(hb)) {
679
+ serverControl[hb] = minTargetDuration;
680
+ this.trigger("info", {
681
+ message: `${tag} defaulting HOLD-BACK to targetDuration * 3 (${minTargetDuration}).`
682
+ });
683
+ }
684
+ if (minTargetDuration && serverControl[hb] < minTargetDuration) {
685
+ this.trigger("warn", {
686
+ message: `${tag} clamping HOLD-BACK (${serverControl[hb]}) to targetDuration * 3 (${minTargetDuration})`
687
+ });
688
+ serverControl[hb] = minTargetDuration;
689
+ }
690
+ if (partTargetDuration && !serverControl.hasOwnProperty(phb)) {
691
+ serverControl[phb] = partTargetDuration * 3;
692
+ this.trigger("info", {
693
+ message: `${tag} defaulting PART-HOLD-BACK to partTargetDuration * 3 (${serverControl[phb]}).`
694
+ });
695
+ }
696
+ if (partTargetDuration && serverControl[phb] < minPartDuration) {
697
+ this.trigger("warn", {
698
+ message: `${tag} clamping PART-HOLD-BACK (${serverControl[phb]}) to partTargetDuration * 2 (${minPartDuration}).`
699
+ });
700
+ serverControl[phb] = minPartDuration;
701
+ }
633
702
  };
634
- /**
635
- * A parser for M3U8 files. The current interpretation of the input is
636
- * exposed as a property `manifest` on parser objects. It's just two lines to
637
- * create and parse a manifest once you have the contents available as a string:
638
- *
639
- * ```js
640
- * var parser = new m3u8.Parser();
641
- * parser.push(xhr.responseText);
642
- * ```
643
- *
644
- * New input can later be applied to update the manifest object by calling
645
- * `push` again.
646
- *
647
- * The parser attempts to create a usable manifest object even if the
648
- * underlying input is somewhat nonsensical. It emits `info` and `warning`
649
- * events during the parse if it encounters input that seems invalid or
650
- * requires some property of the manifest object to be defaulted.
651
- *
652
- * @class Parser
653
- * @param {Object} [opts] Options for the constructor, needed for substitutions
654
- * @param {string} [opts.uri] URL to check for query params
655
- * @param {Object} [opts.mainDefinitions] Definitions on main playlist that can be imported
656
- * @extends Stream
657
- */
658
- var Parser = class extends Stream {
659
- constructor(opts = {}) {
660
- super();
661
- this.lineStream = new LineStream();
662
- this.parseStream = new ParseStream();
663
- this.lineStream.pipe(this.parseStream);
664
- this.mainDefinitions = opts.mainDefinitions || {};
665
- this.params = new URL(opts.uri, "https://a.com").searchParams;
666
- this.lastProgramDateTime = null;
667
- const self = this;
668
- const uris = [];
669
- let currentUri = {};
670
- let currentMap;
671
- let key;
672
- let hasParts = false;
673
- const noop = function() {};
674
- const defaultMediaGroups = {
675
- "AUDIO": {},
676
- "VIDEO": {},
677
- "CLOSED-CAPTIONS": {},
678
- "SUBTITLES": {}
679
- };
680
- const widevineUuid = "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";
681
- let currentTimeline = 0;
682
- this.manifest = {
683
- allowCache: true,
684
- discontinuityStarts: [],
685
- dateRanges: [],
686
- iFramePlaylists: [],
687
- segments: []
688
- };
689
- let lastByterangeEnd = 0;
690
- let lastPartByterangeEnd = 0;
691
- const dateRangeTags = {};
692
- this.on("end", () => {
693
- if (currentUri.uri || !currentUri.parts && !currentUri.preloadHints) return;
694
- if (!currentUri.map && currentMap) currentUri.map = currentMap;
695
- if (!currentUri.key && key) currentUri.key = key;
696
- if (!currentUri.timeline && typeof currentTimeline === "number") currentUri.timeline = currentTimeline;
697
- this.manifest.preloadSegment = currentUri;
698
- });
699
- this.parseStream.on("data", function(entry) {
700
- let mediaGroup;
701
- let rendition;
702
- if (self.manifest.definitions) for (const def in self.manifest.definitions) {
703
- if (entry.uri) entry.uri = entry.uri.replace(`{$${def}}`, self.manifest.definitions[def]);
704
- if (entry.attributes) {
705
- for (const attr in entry.attributes) if (typeof entry.attributes[attr] === "string") entry.attributes[attr] = entry.attributes[attr].replace(`{$${def}}`, self.manifest.definitions[def]);
706
- }
707
- }
708
- ({
709
- tag() {
710
- ({
711
- version() {
712
- if (entry.version) this.manifest.version = entry.version;
713
- },
714
- "allow-cache"() {
715
- this.manifest.allowCache = entry.allowed;
716
- if (!("allowed" in entry)) {
717
- this.trigger("info", { message: "defaulting allowCache to YES" });
718
- this.manifest.allowCache = true;
719
- }
720
- },
721
- byterange() {
722
- const byterange = {};
723
- if ("length" in entry) {
724
- currentUri.byterange = byterange;
725
- byterange.length = entry.length;
726
- if (!("offset" in entry)) entry.offset = lastByterangeEnd;
727
- }
728
- if ("offset" in entry) {
729
- currentUri.byterange = byterange;
730
- byterange.offset = entry.offset;
731
- }
732
- lastByterangeEnd = byterange.offset + byterange.length;
733
- },
734
- endlist() {
735
- this.manifest.endList = true;
736
- },
737
- inf() {
738
- if (!("mediaSequence" in this.manifest)) {
739
- this.manifest.mediaSequence = 0;
740
- this.trigger("info", { message: "defaulting media sequence to zero" });
741
- }
742
- if (!("discontinuitySequence" in this.manifest)) {
743
- this.manifest.discontinuitySequence = 0;
744
- this.trigger("info", { message: "defaulting discontinuity sequence to zero" });
745
- }
746
- if (entry.title) currentUri.title = entry.title;
747
- if (entry.duration > 0) currentUri.duration = entry.duration;
748
- if (entry.duration === 0) {
749
- currentUri.duration = .01;
750
- this.trigger("info", { message: "updating zero segment duration to a small value" });
751
- }
752
- this.manifest.segments = uris;
753
- },
754
- key() {
755
- if (!entry.attributes) {
756
- this.trigger("warn", { message: "ignoring key declaration without attribute list" });
757
- return;
758
- }
759
- if (entry.attributes.METHOD === "NONE") {
760
- key = null;
761
- return;
762
- }
763
- if (!entry.attributes.URI) {
764
- this.trigger("warn", { message: "ignoring key declaration without URI" });
765
- return;
766
- }
767
- if (entry.attributes.KEYFORMAT === "com.apple.streamingkeydelivery") {
768
- this.manifest.contentProtection = this.manifest.contentProtection || {};
769
- this.manifest.contentProtection["com.apple.fps.1_0"] = { attributes: entry.attributes };
770
- return;
771
- }
772
- if (entry.attributes.KEYFORMAT === "com.microsoft.playready") {
773
- this.manifest.contentProtection = this.manifest.contentProtection || {};
774
- this.manifest.contentProtection["com.microsoft.playready"] = { uri: entry.attributes.URI };
775
- return;
776
- }
777
- if (entry.attributes.KEYFORMAT === widevineUuid) {
778
- if ([
779
- "SAMPLE-AES",
780
- "SAMPLE-AES-CTR",
781
- "SAMPLE-AES-CENC"
782
- ].indexOf(entry.attributes.METHOD) === -1) {
783
- this.trigger("warn", { message: "invalid key method provided for Widevine" });
784
- return;
785
- }
786
- if (entry.attributes.METHOD === "SAMPLE-AES-CENC") this.trigger("warn", { message: "SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead" });
787
- if (entry.attributes.URI.substring(0, 23) !== "data:text/plain;base64,") {
788
- this.trigger("warn", { message: "invalid key URI provided for Widevine" });
789
- return;
790
- }
791
- if (!(entry.attributes.KEYID && entry.attributes.KEYID.substring(0, 2) === "0x")) {
792
- this.trigger("warn", { message: "invalid key ID provided for Widevine" });
793
- return;
794
- }
795
- this.manifest.contentProtection = this.manifest.contentProtection || {};
796
- this.manifest.contentProtection["com.widevine.alpha"] = {
797
- attributes: {
798
- schemeIdUri: entry.attributes.KEYFORMAT,
799
- keyId: entry.attributes.KEYID.substring(2)
800
- },
801
- pssh: decodeB64ToUint8Array(entry.attributes.URI.split(",")[1])
802
- };
803
- return;
804
- }
805
- if (!entry.attributes.METHOD) this.trigger("warn", { message: "defaulting key method to AES-128" });
806
- key = {
807
- method: entry.attributes.METHOD || "AES-128",
808
- uri: entry.attributes.URI
809
- };
810
- if (typeof entry.attributes.IV !== "undefined") key.iv = entry.attributes.IV;
811
- },
812
- "media-sequence"() {
813
- if (!isFinite(entry.number)) {
814
- this.trigger("warn", { message: "ignoring invalid media sequence: " + entry.number });
815
- return;
816
- }
817
- this.manifest.mediaSequence = entry.number;
818
- },
819
- "discontinuity-sequence"() {
820
- if (!isFinite(entry.number)) {
821
- this.trigger("warn", { message: "ignoring invalid discontinuity sequence: " + entry.number });
822
- return;
823
- }
824
- this.manifest.discontinuitySequence = entry.number;
825
- currentTimeline = entry.number;
826
- },
827
- "playlist-type"() {
828
- if (!/VOD|EVENT/.test(entry.playlistType)) {
829
- this.trigger("warn", { message: "ignoring unknown playlist type: " + entry.playlist });
830
- return;
831
- }
832
- this.manifest.playlistType = entry.playlistType;
833
- },
834
- map() {
835
- currentMap = {};
836
- if (entry.uri) currentMap.uri = entry.uri;
837
- if (entry.byterange) currentMap.byterange = entry.byterange;
838
- if (key) currentMap.key = key;
839
- },
840
- "stream-inf"() {
841
- this.manifest.playlists = uris;
842
- this.manifest.mediaGroups = this.manifest.mediaGroups || defaultMediaGroups;
843
- if (!entry.attributes) {
844
- this.trigger("warn", { message: "ignoring empty stream-inf attributes" });
845
- return;
846
- }
847
- if (!currentUri.attributes) currentUri.attributes = {};
848
- _extends(currentUri.attributes, entry.attributes);
849
- },
850
- media() {
851
- this.manifest.mediaGroups = this.manifest.mediaGroups || defaultMediaGroups;
852
- if (!(entry.attributes && entry.attributes.TYPE && entry.attributes["GROUP-ID"] && entry.attributes.NAME)) {
853
- this.trigger("warn", { message: "ignoring incomplete or missing media group" });
854
- return;
855
- }
856
- const mediaGroupType = this.manifest.mediaGroups[entry.attributes.TYPE];
857
- mediaGroupType[entry.attributes["GROUP-ID"]] = mediaGroupType[entry.attributes["GROUP-ID"]] || {};
858
- mediaGroup = mediaGroupType[entry.attributes["GROUP-ID"]];
859
- rendition = { default: /yes/i.test(entry.attributes.DEFAULT) };
860
- if (rendition.default) rendition.autoselect = true;
861
- else rendition.autoselect = /yes/i.test(entry.attributes.AUTOSELECT);
862
- if (entry.attributes.LANGUAGE) rendition.language = entry.attributes.LANGUAGE;
863
- if (entry.attributes.URI) rendition.uri = entry.attributes.URI;
864
- if (entry.attributes["INSTREAM-ID"]) rendition.instreamId = entry.attributes["INSTREAM-ID"];
865
- if (entry.attributes.CHARACTERISTICS) rendition.characteristics = entry.attributes.CHARACTERISTICS;
866
- if (entry.attributes.FORCED) rendition.forced = /yes/i.test(entry.attributes.FORCED);
867
- mediaGroup[entry.attributes.NAME] = rendition;
868
- },
869
- discontinuity() {
870
- currentTimeline += 1;
871
- currentUri.discontinuity = true;
872
- this.manifest.discontinuityStarts.push(uris.length);
873
- },
874
- "program-date-time"() {
875
- if (typeof this.manifest.dateTimeString === "undefined") {
876
- this.manifest.dateTimeString = entry.dateTimeString;
877
- this.manifest.dateTimeObject = entry.dateTimeObject;
878
- }
879
- currentUri.dateTimeString = entry.dateTimeString;
880
- currentUri.dateTimeObject = entry.dateTimeObject;
881
- const { lastProgramDateTime } = this;
882
- this.lastProgramDateTime = new Date(entry.dateTimeString).getTime();
883
- if (lastProgramDateTime === null) this.manifest.segments.reduceRight((programDateTime, segment) => {
884
- segment.programDateTime = programDateTime - segment.duration * 1e3;
885
- return segment.programDateTime;
886
- }, this.lastProgramDateTime);
887
- },
888
- targetduration() {
889
- if (!isFinite(entry.duration) || entry.duration < 0) {
890
- this.trigger("warn", { message: "ignoring invalid target duration: " + entry.duration });
891
- return;
892
- }
893
- this.manifest.targetDuration = entry.duration;
894
- setHoldBack.call(this, this.manifest);
895
- },
896
- start() {
897
- if (!entry.attributes || isNaN(entry.attributes["TIME-OFFSET"])) {
898
- this.trigger("warn", { message: "ignoring start declaration without appropriate attribute list" });
899
- return;
900
- }
901
- this.manifest.start = {
902
- timeOffset: entry.attributes["TIME-OFFSET"],
903
- precise: entry.attributes.PRECISE
904
- };
905
- },
906
- "cue-out"() {
907
- currentUri.cueOut = entry.data;
908
- },
909
- "cue-out-cont"() {
910
- currentUri.cueOutCont = entry.data;
911
- },
912
- "cue-in"() {
913
- currentUri.cueIn = entry.data;
914
- },
915
- "skip"() {
916
- this.manifest.skip = camelCaseKeys(entry.attributes);
917
- this.warnOnMissingAttributes_("#EXT-X-SKIP", entry.attributes, ["SKIPPED-SEGMENTS"]);
918
- },
919
- "part"() {
920
- hasParts = true;
921
- const segmentIndex = this.manifest.segments.length;
922
- const part = camelCaseKeys(entry.attributes);
923
- currentUri.parts = currentUri.parts || [];
924
- currentUri.parts.push(part);
925
- if (part.byterange) {
926
- if (!part.byterange.hasOwnProperty("offset")) part.byterange.offset = lastPartByterangeEnd;
927
- lastPartByterangeEnd = part.byterange.offset + part.byterange.length;
928
- }
929
- const partIndex = currentUri.parts.length - 1;
930
- this.warnOnMissingAttributes_(`#EXT-X-PART #${partIndex} for segment #${segmentIndex}`, entry.attributes, ["URI", "DURATION"]);
931
- if (this.manifest.renditionReports) this.manifest.renditionReports.forEach((r, i) => {
932
- if (!r.hasOwnProperty("lastPart")) this.trigger("warn", { message: `#EXT-X-RENDITION-REPORT #${i} lacks required attribute(s): LAST-PART` });
933
- });
934
- },
935
- "server-control"() {
936
- const attrs = this.manifest.serverControl = camelCaseKeys(entry.attributes);
937
- if (!attrs.hasOwnProperty("canBlockReload")) {
938
- attrs.canBlockReload = false;
939
- this.trigger("info", { message: "#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false" });
940
- }
941
- setHoldBack.call(this, this.manifest);
942
- if (attrs.canSkipDateranges && !attrs.hasOwnProperty("canSkipUntil")) this.trigger("warn", { message: "#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set" });
943
- },
944
- "preload-hint"() {
945
- const segmentIndex = this.manifest.segments.length;
946
- const hint = camelCaseKeys(entry.attributes);
947
- const isPart = hint.type && hint.type === "PART";
948
- currentUri.preloadHints = currentUri.preloadHints || [];
949
- currentUri.preloadHints.push(hint);
950
- if (hint.byterange) {
951
- if (!hint.byterange.hasOwnProperty("offset")) {
952
- hint.byterange.offset = isPart ? lastPartByterangeEnd : 0;
953
- if (isPart) lastPartByterangeEnd = hint.byterange.offset + hint.byterange.length;
954
- }
955
- }
956
- const index = currentUri.preloadHints.length - 1;
957
- this.warnOnMissingAttributes_(`#EXT-X-PRELOAD-HINT #${index} for segment #${segmentIndex}`, entry.attributes, ["TYPE", "URI"]);
958
- if (!hint.type) return;
959
- for (let i = 0; i < currentUri.preloadHints.length - 1; i++) {
960
- const otherHint = currentUri.preloadHints[i];
961
- if (!otherHint.type) continue;
962
- if (otherHint.type === hint.type) this.trigger("warn", { message: `#EXT-X-PRELOAD-HINT #${index} for segment #${segmentIndex} has the same TYPE ${hint.type} as preload hint #${i}` });
963
- }
964
- },
965
- "rendition-report"() {
966
- const report = camelCaseKeys(entry.attributes);
967
- this.manifest.renditionReports = this.manifest.renditionReports || [];
968
- this.manifest.renditionReports.push(report);
969
- const index = this.manifest.renditionReports.length - 1;
970
- const required = ["LAST-MSN", "URI"];
971
- if (hasParts) required.push("LAST-PART");
972
- this.warnOnMissingAttributes_(`#EXT-X-RENDITION-REPORT #${index}`, entry.attributes, required);
973
- },
974
- "part-inf"() {
975
- this.manifest.partInf = camelCaseKeys(entry.attributes);
976
- this.warnOnMissingAttributes_("#EXT-X-PART-INF", entry.attributes, ["PART-TARGET"]);
977
- if (this.manifest.partInf.partTarget) this.manifest.partTargetDuration = this.manifest.partInf.partTarget;
978
- setHoldBack.call(this, this.manifest);
979
- },
980
- "daterange"() {
981
- this.manifest.dateRanges.push(camelCaseKeys(entry.attributes));
982
- const index = this.manifest.dateRanges.length - 1;
983
- this.warnOnMissingAttributes_(`#EXT-X-DATERANGE #${index}`, entry.attributes, ["ID", "START-DATE"]);
984
- const dateRange = this.manifest.dateRanges[index];
985
- if (dateRange.endDate && dateRange.startDate && new Date(dateRange.endDate) < new Date(dateRange.startDate)) this.trigger("warn", { message: "EXT-X-DATERANGE END-DATE must be equal to or later than the value of the START-DATE" });
986
- if (dateRange.duration && dateRange.duration < 0) this.trigger("warn", { message: "EXT-X-DATERANGE DURATION must not be negative" });
987
- if (dateRange.plannedDuration && dateRange.plannedDuration < 0) this.trigger("warn", { message: "EXT-X-DATERANGE PLANNED-DURATION must not be negative" });
988
- const endOnNextYes = !!dateRange.endOnNext;
989
- if (endOnNextYes && !dateRange.class) this.trigger("warn", { message: "EXT-X-DATERANGE with an END-ON-NEXT=YES attribute must have a CLASS attribute" });
990
- if (endOnNextYes && (dateRange.duration || dateRange.endDate)) this.trigger("warn", { message: "EXT-X-DATERANGE with an END-ON-NEXT=YES attribute must not contain DURATION or END-DATE attributes" });
991
- if (dateRange.duration && dateRange.endDate) {
992
- const newDateInSeconds = dateRange.startDate.getTime() + dateRange.duration * 1e3;
993
- this.manifest.dateRanges[index].endDate = new Date(newDateInSeconds);
994
- }
995
- if (!dateRangeTags[dateRange.id]) dateRangeTags[dateRange.id] = dateRange;
996
- else {
997
- for (const attribute in dateRangeTags[dateRange.id]) if (!!dateRange[attribute] && JSON.stringify(dateRangeTags[dateRange.id][attribute]) !== JSON.stringify(dateRange[attribute])) {
998
- this.trigger("warn", { message: "EXT-X-DATERANGE tags with the same ID in a playlist must have the same attributes values" });
999
- break;
1000
- }
1001
- const dateRangeWithSameId = this.manifest.dateRanges.findIndex((dateRangeToFind) => dateRangeToFind.id === dateRange.id);
1002
- this.manifest.dateRanges[dateRangeWithSameId] = _extends(this.manifest.dateRanges[dateRangeWithSameId], dateRange);
1003
- dateRangeTags[dateRange.id] = _extends(dateRangeTags[dateRange.id], dateRange);
1004
- this.manifest.dateRanges.pop();
1005
- }
1006
- },
1007
- "independent-segments"() {
1008
- this.manifest.independentSegments = true;
1009
- },
1010
- "i-frames-only"() {
1011
- this.manifest.iFramesOnly = true;
1012
- this.requiredCompatibilityversion(this.manifest.version, 4);
1013
- },
1014
- "content-steering"() {
1015
- this.manifest.contentSteering = camelCaseKeys(entry.attributes);
1016
- this.warnOnMissingAttributes_("#EXT-X-CONTENT-STEERING", entry.attributes, ["SERVER-URI"]);
1017
- },
1018
- /** @this {Parser} */
1019
- define() {
1020
- this.manifest.definitions = this.manifest.definitions || {};
1021
- const addDef = (n, v) => {
1022
- if (n in this.manifest.definitions) {
1023
- this.trigger("error", { message: `EXT-X-DEFINE: Duplicate name ${n}` });
1024
- return;
1025
- }
1026
- this.manifest.definitions[n] = v;
1027
- };
1028
- if ("QUERYPARAM" in entry.attributes) {
1029
- if ("NAME" in entry.attributes || "IMPORT" in entry.attributes) {
1030
- this.trigger("error", { message: "EXT-X-DEFINE: Invalid attributes" });
1031
- return;
1032
- }
1033
- const val = this.params.get(entry.attributes.QUERYPARAM);
1034
- if (!val) {
1035
- this.trigger("error", { message: `EXT-X-DEFINE: No query param ${entry.attributes.QUERYPARAM}` });
1036
- return;
1037
- }
1038
- addDef(entry.attributes.QUERYPARAM, decodeURIComponent(val));
1039
- return;
1040
- }
1041
- if ("NAME" in entry.attributes) {
1042
- if ("IMPORT" in entry.attributes) {
1043
- this.trigger("error", { message: "EXT-X-DEFINE: Invalid attributes" });
1044
- return;
1045
- }
1046
- if (!("VALUE" in entry.attributes) || typeof entry.attributes.VALUE !== "string") {
1047
- this.trigger("error", { message: `EXT-X-DEFINE: No value for ${entry.attributes.NAME}` });
1048
- return;
1049
- }
1050
- addDef(entry.attributes.NAME, entry.attributes.VALUE);
1051
- return;
1052
- }
1053
- if ("IMPORT" in entry.attributes) {
1054
- if (!this.mainDefinitions[entry.attributes.IMPORT]) {
1055
- this.trigger("error", { message: `EXT-X-DEFINE: No value ${entry.attributes.IMPORT} to import, or IMPORT used on main playlist` });
1056
- return;
1057
- }
1058
- addDef(entry.attributes.IMPORT, this.mainDefinitions[entry.attributes.IMPORT]);
1059
- return;
1060
- }
1061
- this.trigger("error", { message: "EXT-X-DEFINE: No attribute" });
1062
- },
1063
- "i-frame-playlist"() {
1064
- this.manifest.iFramePlaylists.push({
1065
- attributes: entry.attributes,
1066
- uri: entry.uri,
1067
- timeline: currentTimeline
1068
- });
1069
- this.warnOnMissingAttributes_("#EXT-X-I-FRAME-STREAM-INF", entry.attributes, ["BANDWIDTH", "URI"]);
1070
- }
1071
- }[entry.tagType] || noop).call(self);
1072
- },
1073
- uri() {
1074
- currentUri.uri = entry.uri;
1075
- uris.push(currentUri);
1076
- if (this.manifest.targetDuration && !("duration" in currentUri)) {
1077
- this.trigger("warn", { message: "defaulting segment duration to the target duration" });
1078
- currentUri.duration = this.manifest.targetDuration;
1079
- }
1080
- if (key) currentUri.key = key;
1081
- currentUri.timeline = currentTimeline;
1082
- if (currentMap) currentUri.map = currentMap;
1083
- lastPartByterangeEnd = 0;
1084
- if (this.lastProgramDateTime !== null) {
1085
- currentUri.programDateTime = this.lastProgramDateTime;
1086
- this.lastProgramDateTime += currentUri.duration * 1e3;
1087
- }
1088
- currentUri = {};
1089
- },
1090
- comment() {},
1091
- custom() {
1092
- if (entry.segment) {
1093
- currentUri.custom = currentUri.custom || {};
1094
- currentUri.custom[entry.customType] = entry.data;
1095
- } else {
1096
- this.manifest.custom = this.manifest.custom || {};
1097
- this.manifest.custom[entry.customType] = entry.data;
1098
- }
1099
- }
1100
- })[entry.type].call(self);
1101
- });
1102
- }
1103
- requiredCompatibilityversion(currentVersion, targetVersion) {
1104
- if (currentVersion < targetVersion || !currentVersion) this.trigger("warn", { message: `manifest must be at least version ${targetVersion}` });
1105
- }
1106
- warnOnMissingAttributes_(identifier, attributes, required) {
1107
- const missing = [];
1108
- required.forEach(function(key) {
1109
- if (!attributes.hasOwnProperty(key)) missing.push(key);
1110
- });
1111
- if (missing.length) this.trigger("warn", { message: `${identifier} lacks required attribute(s): ${missing.join(", ")}` });
1112
- }
1113
- /**
1114
- * Parse the input string and update the manifest object.
1115
- *
1116
- * @param {string} chunk a potentially incomplete portion of the manifest
1117
- */
1118
- push(chunk) {
1119
- this.lineStream.push(chunk);
1120
- }
1121
- /**
1122
- * Flush any remaining input. This can be handy if the last line of an M3U8
1123
- * manifest did not contain a trailing newline but the file has been
1124
- * completely received.
1125
- */
1126
- end() {
1127
- this.lineStream.push("\n");
1128
- if (this.manifest.dateRanges.length && this.lastProgramDateTime === null) this.trigger("warn", { message: "A playlist with EXT-X-DATERANGE tag must contain atleast one EXT-X-PROGRAM-DATE-TIME tag" });
1129
- this.lastProgramDateTime = null;
1130
- this.trigger("end");
1131
- }
1132
- /**
1133
- * Add an additional parser for non-standard tags
1134
- *
1135
- * @param {Object} options a map of options for the added parser
1136
- * @param {RegExp} options.expression a regular expression to match the custom header
1137
- * @param {string} options.customType the custom type to register to the output
1138
- * @param {Function} [options.dataParser] function to parse the line into an object
1139
- * @param {boolean} [options.segment] should tag data be attached to the segment object
1140
- */
1141
- addParser(options) {
1142
- this.parseStream.addParser(options);
1143
- }
1144
- /**
1145
- * Add a custom header mapper
1146
- *
1147
- * @param {Object} options
1148
- * @param {RegExp} options.expression a regular expression to match the custom header
1149
- * @param {Function} options.map function to translate tag into a different tag
1150
- */
1151
- addTagMapper(options) {
1152
- this.parseStream.addTagMapper(options);
1153
- }
703
+ class Parser extends Stream {
704
+ constructor(opts = {}) {
705
+ super();
706
+ this.lineStream = new LineStream();
707
+ this.parseStream = new ParseStream();
708
+ this.lineStream.pipe(this.parseStream);
709
+ this.mainDefinitions = opts.mainDefinitions || {};
710
+ this.params = new URL(opts.uri, "https://a.com").searchParams;
711
+ this.lastProgramDateTime = null;
712
+ const self = this;
713
+ const uris = [];
714
+ let currentUri = {};
715
+ let currentMap;
716
+ let key;
717
+ let hasParts = false;
718
+ const noop = function() {
719
+ };
720
+ const defaultMediaGroups = {
721
+ "AUDIO": {},
722
+ "VIDEO": {},
723
+ "CLOSED-CAPTIONS": {},
724
+ "SUBTITLES": {}
725
+ };
726
+ const widevineUuid = "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";
727
+ let currentTimeline = 0;
728
+ this.manifest = {
729
+ allowCache: true,
730
+ discontinuityStarts: [],
731
+ dateRanges: [],
732
+ iFramePlaylists: [],
733
+ segments: []
734
+ };
735
+ let lastByterangeEnd = 0;
736
+ let lastPartByterangeEnd = 0;
737
+ const dateRangeTags = {};
738
+ this.on("end", () => {
739
+ if (currentUri.uri || !currentUri.parts && !currentUri.preloadHints) {
740
+ return;
741
+ }
742
+ if (!currentUri.map && currentMap) {
743
+ currentUri.map = currentMap;
744
+ }
745
+ if (!currentUri.key && key) {
746
+ currentUri.key = key;
747
+ }
748
+ if (!currentUri.timeline && typeof currentTimeline === "number") {
749
+ currentUri.timeline = currentTimeline;
750
+ }
751
+ this.manifest.preloadSegment = currentUri;
752
+ });
753
+ this.parseStream.on("data", function(entry) {
754
+ let mediaGroup;
755
+ let rendition;
756
+ if (self.manifest.definitions) {
757
+ for (const def in self.manifest.definitions) {
758
+ if (entry.uri) {
759
+ entry.uri = entry.uri.replace(`{$${def}}`, self.manifest.definitions[def]);
760
+ }
761
+ if (entry.attributes) {
762
+ for (const attr in entry.attributes) {
763
+ if (typeof entry.attributes[attr] === "string") {
764
+ entry.attributes[attr] = entry.attributes[attr].replace(`{$${def}}`, self.manifest.definitions[def]);
765
+ }
766
+ }
767
+ }
768
+ }
769
+ }
770
+ ({
771
+ tag() {
772
+ ({
773
+ version() {
774
+ if (entry.version) {
775
+ this.manifest.version = entry.version;
776
+ }
777
+ },
778
+ "allow-cache"() {
779
+ this.manifest.allowCache = entry.allowed;
780
+ if (!("allowed" in entry)) {
781
+ this.trigger("info", {
782
+ message: "defaulting allowCache to YES"
783
+ });
784
+ this.manifest.allowCache = true;
785
+ }
786
+ },
787
+ byterange() {
788
+ const byterange = {};
789
+ if ("length" in entry) {
790
+ currentUri.byterange = byterange;
791
+ byterange.length = entry.length;
792
+ if (!("offset" in entry)) {
793
+ entry.offset = lastByterangeEnd;
794
+ }
795
+ }
796
+ if ("offset" in entry) {
797
+ currentUri.byterange = byterange;
798
+ byterange.offset = entry.offset;
799
+ }
800
+ lastByterangeEnd = byterange.offset + byterange.length;
801
+ },
802
+ endlist() {
803
+ this.manifest.endList = true;
804
+ },
805
+ inf() {
806
+ if (!("mediaSequence" in this.manifest)) {
807
+ this.manifest.mediaSequence = 0;
808
+ this.trigger("info", {
809
+ message: "defaulting media sequence to zero"
810
+ });
811
+ }
812
+ if (!("discontinuitySequence" in this.manifest)) {
813
+ this.manifest.discontinuitySequence = 0;
814
+ this.trigger("info", {
815
+ message: "defaulting discontinuity sequence to zero"
816
+ });
817
+ }
818
+ if (entry.title) {
819
+ currentUri.title = entry.title;
820
+ }
821
+ if (entry.duration > 0) {
822
+ currentUri.duration = entry.duration;
823
+ }
824
+ if (entry.duration === 0) {
825
+ currentUri.duration = 0.01;
826
+ this.trigger("info", {
827
+ message: "updating zero segment duration to a small value"
828
+ });
829
+ }
830
+ this.manifest.segments = uris;
831
+ },
832
+ key() {
833
+ if (!entry.attributes) {
834
+ this.trigger("warn", {
835
+ message: "ignoring key declaration without attribute list"
836
+ });
837
+ return;
838
+ }
839
+ if (entry.attributes.METHOD === "NONE") {
840
+ key = null;
841
+ return;
842
+ }
843
+ if (!entry.attributes.URI) {
844
+ this.trigger("warn", {
845
+ message: "ignoring key declaration without URI"
846
+ });
847
+ return;
848
+ }
849
+ if (entry.attributes.KEYFORMAT === "com.apple.streamingkeydelivery") {
850
+ this.manifest.contentProtection = this.manifest.contentProtection || {};
851
+ this.manifest.contentProtection["com.apple.fps.1_0"] = {
852
+ attributes: entry.attributes
853
+ };
854
+ return;
855
+ }
856
+ if (entry.attributes.KEYFORMAT === "com.microsoft.playready") {
857
+ this.manifest.contentProtection = this.manifest.contentProtection || {};
858
+ this.manifest.contentProtection["com.microsoft.playready"] = {
859
+ uri: entry.attributes.URI
860
+ };
861
+ return;
862
+ }
863
+ if (entry.attributes.KEYFORMAT === widevineUuid) {
864
+ const VALID_METHODS = ["SAMPLE-AES", "SAMPLE-AES-CTR", "SAMPLE-AES-CENC"];
865
+ if (VALID_METHODS.indexOf(entry.attributes.METHOD) === -1) {
866
+ this.trigger("warn", {
867
+ message: "invalid key method provided for Widevine"
868
+ });
869
+ return;
870
+ }
871
+ if (entry.attributes.METHOD === "SAMPLE-AES-CENC") {
872
+ this.trigger("warn", {
873
+ message: "SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"
874
+ });
875
+ }
876
+ if (entry.attributes.URI.substring(0, 23) !== "data:text/plain;base64,") {
877
+ this.trigger("warn", {
878
+ message: "invalid key URI provided for Widevine"
879
+ });
880
+ return;
881
+ }
882
+ if (!(entry.attributes.KEYID && entry.attributes.KEYID.substring(0, 2) === "0x")) {
883
+ this.trigger("warn", {
884
+ message: "invalid key ID provided for Widevine"
885
+ });
886
+ return;
887
+ }
888
+ this.manifest.contentProtection = this.manifest.contentProtection || {};
889
+ this.manifest.contentProtection["com.widevine.alpha"] = {
890
+ attributes: {
891
+ schemeIdUri: entry.attributes.KEYFORMAT,
892
+ // remove '0x' from the key id string
893
+ keyId: entry.attributes.KEYID.substring(2)
894
+ },
895
+ // decode the base64-encoded PSSH box
896
+ pssh: decodeB64ToUint8Array(entry.attributes.URI.split(",")[1])
897
+ };
898
+ return;
899
+ }
900
+ if (!entry.attributes.METHOD) {
901
+ this.trigger("warn", {
902
+ message: "defaulting key method to AES-128"
903
+ });
904
+ }
905
+ key = {
906
+ method: entry.attributes.METHOD || "AES-128",
907
+ uri: entry.attributes.URI
908
+ };
909
+ if (typeof entry.attributes.IV !== "undefined") {
910
+ key.iv = entry.attributes.IV;
911
+ }
912
+ },
913
+ "media-sequence"() {
914
+ if (!isFinite(entry.number)) {
915
+ this.trigger("warn", {
916
+ message: "ignoring invalid media sequence: " + entry.number
917
+ });
918
+ return;
919
+ }
920
+ this.manifest.mediaSequence = entry.number;
921
+ },
922
+ "discontinuity-sequence"() {
923
+ if (!isFinite(entry.number)) {
924
+ this.trigger("warn", {
925
+ message: "ignoring invalid discontinuity sequence: " + entry.number
926
+ });
927
+ return;
928
+ }
929
+ this.manifest.discontinuitySequence = entry.number;
930
+ currentTimeline = entry.number;
931
+ },
932
+ "playlist-type"() {
933
+ if (!/VOD|EVENT/.test(entry.playlistType)) {
934
+ this.trigger("warn", {
935
+ message: "ignoring unknown playlist type: " + entry.playlist
936
+ });
937
+ return;
938
+ }
939
+ this.manifest.playlistType = entry.playlistType;
940
+ },
941
+ map() {
942
+ currentMap = {};
943
+ if (entry.uri) {
944
+ currentMap.uri = entry.uri;
945
+ }
946
+ if (entry.byterange) {
947
+ currentMap.byterange = entry.byterange;
948
+ }
949
+ if (key) {
950
+ currentMap.key = key;
951
+ }
952
+ },
953
+ "stream-inf"() {
954
+ this.manifest.playlists = uris;
955
+ this.manifest.mediaGroups = this.manifest.mediaGroups || defaultMediaGroups;
956
+ if (!entry.attributes) {
957
+ this.trigger("warn", {
958
+ message: "ignoring empty stream-inf attributes"
959
+ });
960
+ return;
961
+ }
962
+ if (!currentUri.attributes) {
963
+ currentUri.attributes = {};
964
+ }
965
+ _extends(currentUri.attributes, entry.attributes);
966
+ },
967
+ media() {
968
+ this.manifest.mediaGroups = this.manifest.mediaGroups || defaultMediaGroups;
969
+ if (!(entry.attributes && entry.attributes.TYPE && entry.attributes["GROUP-ID"] && entry.attributes.NAME)) {
970
+ this.trigger("warn", {
971
+ message: "ignoring incomplete or missing media group"
972
+ });
973
+ return;
974
+ }
975
+ const mediaGroupType = this.manifest.mediaGroups[entry.attributes.TYPE];
976
+ mediaGroupType[entry.attributes["GROUP-ID"]] = mediaGroupType[entry.attributes["GROUP-ID"]] || {};
977
+ mediaGroup = mediaGroupType[entry.attributes["GROUP-ID"]];
978
+ rendition = {
979
+ default: /yes/i.test(entry.attributes.DEFAULT)
980
+ };
981
+ if (rendition.default) {
982
+ rendition.autoselect = true;
983
+ } else {
984
+ rendition.autoselect = /yes/i.test(entry.attributes.AUTOSELECT);
985
+ }
986
+ if (entry.attributes.LANGUAGE) {
987
+ rendition.language = entry.attributes.LANGUAGE;
988
+ }
989
+ if (entry.attributes.URI) {
990
+ rendition.uri = entry.attributes.URI;
991
+ }
992
+ if (entry.attributes["INSTREAM-ID"]) {
993
+ rendition.instreamId = entry.attributes["INSTREAM-ID"];
994
+ }
995
+ if (entry.attributes.CHARACTERISTICS) {
996
+ rendition.characteristics = entry.attributes.CHARACTERISTICS;
997
+ }
998
+ if (entry.attributes.FORCED) {
999
+ rendition.forced = /yes/i.test(entry.attributes.FORCED);
1000
+ }
1001
+ mediaGroup[entry.attributes.NAME] = rendition;
1002
+ },
1003
+ discontinuity() {
1004
+ currentTimeline += 1;
1005
+ currentUri.discontinuity = true;
1006
+ this.manifest.discontinuityStarts.push(uris.length);
1007
+ },
1008
+ "program-date-time"() {
1009
+ if (typeof this.manifest.dateTimeString === "undefined") {
1010
+ this.manifest.dateTimeString = entry.dateTimeString;
1011
+ this.manifest.dateTimeObject = entry.dateTimeObject;
1012
+ }
1013
+ currentUri.dateTimeString = entry.dateTimeString;
1014
+ currentUri.dateTimeObject = entry.dateTimeObject;
1015
+ const {
1016
+ lastProgramDateTime
1017
+ } = this;
1018
+ this.lastProgramDateTime = new Date(entry.dateTimeString).getTime();
1019
+ if (lastProgramDateTime === null) {
1020
+ this.manifest.segments.reduceRight((programDateTime, segment) => {
1021
+ segment.programDateTime = programDateTime - segment.duration * 1e3;
1022
+ return segment.programDateTime;
1023
+ }, this.lastProgramDateTime);
1024
+ }
1025
+ },
1026
+ targetduration() {
1027
+ if (!isFinite(entry.duration) || entry.duration < 0) {
1028
+ this.trigger("warn", {
1029
+ message: "ignoring invalid target duration: " + entry.duration
1030
+ });
1031
+ return;
1032
+ }
1033
+ this.manifest.targetDuration = entry.duration;
1034
+ setHoldBack.call(this, this.manifest);
1035
+ },
1036
+ start() {
1037
+ if (!entry.attributes || isNaN(entry.attributes["TIME-OFFSET"])) {
1038
+ this.trigger("warn", {
1039
+ message: "ignoring start declaration without appropriate attribute list"
1040
+ });
1041
+ return;
1042
+ }
1043
+ this.manifest.start = {
1044
+ timeOffset: entry.attributes["TIME-OFFSET"],
1045
+ precise: entry.attributes.PRECISE
1046
+ };
1047
+ },
1048
+ "cue-out"() {
1049
+ currentUri.cueOut = entry.data;
1050
+ },
1051
+ "cue-out-cont"() {
1052
+ currentUri.cueOutCont = entry.data;
1053
+ },
1054
+ "cue-in"() {
1055
+ currentUri.cueIn = entry.data;
1056
+ },
1057
+ "skip"() {
1058
+ this.manifest.skip = camelCaseKeys(entry.attributes);
1059
+ this.warnOnMissingAttributes_("#EXT-X-SKIP", entry.attributes, ["SKIPPED-SEGMENTS"]);
1060
+ },
1061
+ "part"() {
1062
+ hasParts = true;
1063
+ const segmentIndex = this.manifest.segments.length;
1064
+ const part = camelCaseKeys(entry.attributes);
1065
+ currentUri.parts = currentUri.parts || [];
1066
+ currentUri.parts.push(part);
1067
+ if (part.byterange) {
1068
+ if (!part.byterange.hasOwnProperty("offset")) {
1069
+ part.byterange.offset = lastPartByterangeEnd;
1070
+ }
1071
+ lastPartByterangeEnd = part.byterange.offset + part.byterange.length;
1072
+ }
1073
+ const partIndex = currentUri.parts.length - 1;
1074
+ this.warnOnMissingAttributes_(`#EXT-X-PART #${partIndex} for segment #${segmentIndex}`, entry.attributes, ["URI", "DURATION"]);
1075
+ if (this.manifest.renditionReports) {
1076
+ this.manifest.renditionReports.forEach((r, i) => {
1077
+ if (!r.hasOwnProperty("lastPart")) {
1078
+ this.trigger("warn", {
1079
+ message: `#EXT-X-RENDITION-REPORT #${i} lacks required attribute(s): LAST-PART`
1080
+ });
1081
+ }
1082
+ });
1083
+ }
1084
+ },
1085
+ "server-control"() {
1086
+ const attrs = this.manifest.serverControl = camelCaseKeys(entry.attributes);
1087
+ if (!attrs.hasOwnProperty("canBlockReload")) {
1088
+ attrs.canBlockReload = false;
1089
+ this.trigger("info", {
1090
+ message: "#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false"
1091
+ });
1092
+ }
1093
+ setHoldBack.call(this, this.manifest);
1094
+ if (attrs.canSkipDateranges && !attrs.hasOwnProperty("canSkipUntil")) {
1095
+ this.trigger("warn", {
1096
+ message: "#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set"
1097
+ });
1098
+ }
1099
+ },
1100
+ "preload-hint"() {
1101
+ const segmentIndex = this.manifest.segments.length;
1102
+ const hint = camelCaseKeys(entry.attributes);
1103
+ const isPart = hint.type && hint.type === "PART";
1104
+ currentUri.preloadHints = currentUri.preloadHints || [];
1105
+ currentUri.preloadHints.push(hint);
1106
+ if (hint.byterange) {
1107
+ if (!hint.byterange.hasOwnProperty("offset")) {
1108
+ hint.byterange.offset = isPart ? lastPartByterangeEnd : 0;
1109
+ if (isPart) {
1110
+ lastPartByterangeEnd = hint.byterange.offset + hint.byterange.length;
1111
+ }
1112
+ }
1113
+ }
1114
+ const index = currentUri.preloadHints.length - 1;
1115
+ this.warnOnMissingAttributes_(`#EXT-X-PRELOAD-HINT #${index} for segment #${segmentIndex}`, entry.attributes, ["TYPE", "URI"]);
1116
+ if (!hint.type) {
1117
+ return;
1118
+ }
1119
+ for (let i = 0; i < currentUri.preloadHints.length - 1; i++) {
1120
+ const otherHint = currentUri.preloadHints[i];
1121
+ if (!otherHint.type) {
1122
+ continue;
1123
+ }
1124
+ if (otherHint.type === hint.type) {
1125
+ this.trigger("warn", {
1126
+ message: `#EXT-X-PRELOAD-HINT #${index} for segment #${segmentIndex} has the same TYPE ${hint.type} as preload hint #${i}`
1127
+ });
1128
+ }
1129
+ }
1130
+ },
1131
+ "rendition-report"() {
1132
+ const report = camelCaseKeys(entry.attributes);
1133
+ this.manifest.renditionReports = this.manifest.renditionReports || [];
1134
+ this.manifest.renditionReports.push(report);
1135
+ const index = this.manifest.renditionReports.length - 1;
1136
+ const required = ["LAST-MSN", "URI"];
1137
+ if (hasParts) {
1138
+ required.push("LAST-PART");
1139
+ }
1140
+ this.warnOnMissingAttributes_(`#EXT-X-RENDITION-REPORT #${index}`, entry.attributes, required);
1141
+ },
1142
+ "part-inf"() {
1143
+ this.manifest.partInf = camelCaseKeys(entry.attributes);
1144
+ this.warnOnMissingAttributes_("#EXT-X-PART-INF", entry.attributes, ["PART-TARGET"]);
1145
+ if (this.manifest.partInf.partTarget) {
1146
+ this.manifest.partTargetDuration = this.manifest.partInf.partTarget;
1147
+ }
1148
+ setHoldBack.call(this, this.manifest);
1149
+ },
1150
+ "daterange"() {
1151
+ this.manifest.dateRanges.push(camelCaseKeys(entry.attributes));
1152
+ const index = this.manifest.dateRanges.length - 1;
1153
+ this.warnOnMissingAttributes_(`#EXT-X-DATERANGE #${index}`, entry.attributes, ["ID", "START-DATE"]);
1154
+ const dateRange = this.manifest.dateRanges[index];
1155
+ if (dateRange.endDate && dateRange.startDate && new Date(dateRange.endDate) < new Date(dateRange.startDate)) {
1156
+ this.trigger("warn", {
1157
+ message: "EXT-X-DATERANGE END-DATE must be equal to or later than the value of the START-DATE"
1158
+ });
1159
+ }
1160
+ if (dateRange.duration && dateRange.duration < 0) {
1161
+ this.trigger("warn", {
1162
+ message: "EXT-X-DATERANGE DURATION must not be negative"
1163
+ });
1164
+ }
1165
+ if (dateRange.plannedDuration && dateRange.plannedDuration < 0) {
1166
+ this.trigger("warn", {
1167
+ message: "EXT-X-DATERANGE PLANNED-DURATION must not be negative"
1168
+ });
1169
+ }
1170
+ const endOnNextYes = !!dateRange.endOnNext;
1171
+ if (endOnNextYes && !dateRange.class) {
1172
+ this.trigger("warn", {
1173
+ message: "EXT-X-DATERANGE with an END-ON-NEXT=YES attribute must have a CLASS attribute"
1174
+ });
1175
+ }
1176
+ if (endOnNextYes && (dateRange.duration || dateRange.endDate)) {
1177
+ this.trigger("warn", {
1178
+ message: "EXT-X-DATERANGE with an END-ON-NEXT=YES attribute must not contain DURATION or END-DATE attributes"
1179
+ });
1180
+ }
1181
+ if (dateRange.duration && dateRange.endDate) {
1182
+ const startDate = dateRange.startDate;
1183
+ const newDateInSeconds = startDate.getTime() + dateRange.duration * 1e3;
1184
+ this.manifest.dateRanges[index].endDate = new Date(newDateInSeconds);
1185
+ }
1186
+ if (!dateRangeTags[dateRange.id]) {
1187
+ dateRangeTags[dateRange.id] = dateRange;
1188
+ } else {
1189
+ for (const attribute in dateRangeTags[dateRange.id]) {
1190
+ if (!!dateRange[attribute] && JSON.stringify(dateRangeTags[dateRange.id][attribute]) !== JSON.stringify(dateRange[attribute])) {
1191
+ this.trigger("warn", {
1192
+ message: "EXT-X-DATERANGE tags with the same ID in a playlist must have the same attributes values"
1193
+ });
1194
+ break;
1195
+ }
1196
+ }
1197
+ const dateRangeWithSameId = this.manifest.dateRanges.findIndex((dateRangeToFind) => dateRangeToFind.id === dateRange.id);
1198
+ this.manifest.dateRanges[dateRangeWithSameId] = _extends(this.manifest.dateRanges[dateRangeWithSameId], dateRange);
1199
+ dateRangeTags[dateRange.id] = _extends(dateRangeTags[dateRange.id], dateRange);
1200
+ this.manifest.dateRanges.pop();
1201
+ }
1202
+ },
1203
+ "independent-segments"() {
1204
+ this.manifest.independentSegments = true;
1205
+ },
1206
+ "i-frames-only"() {
1207
+ this.manifest.iFramesOnly = true;
1208
+ this.requiredCompatibilityversion(this.manifest.version, 4);
1209
+ },
1210
+ "content-steering"() {
1211
+ this.manifest.contentSteering = camelCaseKeys(entry.attributes);
1212
+ this.warnOnMissingAttributes_("#EXT-X-CONTENT-STEERING", entry.attributes, ["SERVER-URI"]);
1213
+ },
1214
+ /** @this {Parser} */
1215
+ define() {
1216
+ this.manifest.definitions = this.manifest.definitions || {};
1217
+ const addDef = (n, v) => {
1218
+ if (n in this.manifest.definitions) {
1219
+ this.trigger("error", {
1220
+ message: `EXT-X-DEFINE: Duplicate name ${n}`
1221
+ });
1222
+ return;
1223
+ }
1224
+ this.manifest.definitions[n] = v;
1225
+ };
1226
+ if ("QUERYPARAM" in entry.attributes) {
1227
+ if ("NAME" in entry.attributes || "IMPORT" in entry.attributes) {
1228
+ this.trigger("error", {
1229
+ message: "EXT-X-DEFINE: Invalid attributes"
1230
+ });
1231
+ return;
1232
+ }
1233
+ const val = this.params.get(entry.attributes.QUERYPARAM);
1234
+ if (!val) {
1235
+ this.trigger("error", {
1236
+ message: `EXT-X-DEFINE: No query param ${entry.attributes.QUERYPARAM}`
1237
+ });
1238
+ return;
1239
+ }
1240
+ addDef(entry.attributes.QUERYPARAM, decodeURIComponent(val));
1241
+ return;
1242
+ }
1243
+ if ("NAME" in entry.attributes) {
1244
+ if ("IMPORT" in entry.attributes) {
1245
+ this.trigger("error", {
1246
+ message: "EXT-X-DEFINE: Invalid attributes"
1247
+ });
1248
+ return;
1249
+ }
1250
+ if (!("VALUE" in entry.attributes) || typeof entry.attributes.VALUE !== "string") {
1251
+ this.trigger("error", {
1252
+ message: `EXT-X-DEFINE: No value for ${entry.attributes.NAME}`
1253
+ });
1254
+ return;
1255
+ }
1256
+ addDef(entry.attributes.NAME, entry.attributes.VALUE);
1257
+ return;
1258
+ }
1259
+ if ("IMPORT" in entry.attributes) {
1260
+ if (!this.mainDefinitions[entry.attributes.IMPORT]) {
1261
+ this.trigger("error", {
1262
+ message: `EXT-X-DEFINE: No value ${entry.attributes.IMPORT} to import, or IMPORT used on main playlist`
1263
+ });
1264
+ return;
1265
+ }
1266
+ addDef(entry.attributes.IMPORT, this.mainDefinitions[entry.attributes.IMPORT]);
1267
+ return;
1268
+ }
1269
+ this.trigger("error", {
1270
+ message: "EXT-X-DEFINE: No attribute"
1271
+ });
1272
+ },
1273
+ "i-frame-playlist"() {
1274
+ this.manifest.iFramePlaylists.push({
1275
+ attributes: entry.attributes,
1276
+ uri: entry.uri,
1277
+ timeline: currentTimeline
1278
+ });
1279
+ this.warnOnMissingAttributes_("#EXT-X-I-FRAME-STREAM-INF", entry.attributes, ["BANDWIDTH", "URI"]);
1280
+ }
1281
+ }[entry.tagType] || noop).call(self);
1282
+ },
1283
+ uri() {
1284
+ currentUri.uri = entry.uri;
1285
+ uris.push(currentUri);
1286
+ if (this.manifest.targetDuration && !("duration" in currentUri)) {
1287
+ this.trigger("warn", {
1288
+ message: "defaulting segment duration to the target duration"
1289
+ });
1290
+ currentUri.duration = this.manifest.targetDuration;
1291
+ }
1292
+ if (key) {
1293
+ currentUri.key = key;
1294
+ }
1295
+ currentUri.timeline = currentTimeline;
1296
+ if (currentMap) {
1297
+ currentUri.map = currentMap;
1298
+ }
1299
+ lastPartByterangeEnd = 0;
1300
+ if (this.lastProgramDateTime !== null) {
1301
+ currentUri.programDateTime = this.lastProgramDateTime;
1302
+ this.lastProgramDateTime += currentUri.duration * 1e3;
1303
+ }
1304
+ currentUri = {};
1305
+ },
1306
+ comment() {
1307
+ },
1308
+ custom() {
1309
+ if (entry.segment) {
1310
+ currentUri.custom = currentUri.custom || {};
1311
+ currentUri.custom[entry.customType] = entry.data;
1312
+ } else {
1313
+ this.manifest.custom = this.manifest.custom || {};
1314
+ this.manifest.custom[entry.customType] = entry.data;
1315
+ }
1316
+ }
1317
+ })[entry.type].call(self);
1318
+ });
1319
+ }
1320
+ requiredCompatibilityversion(currentVersion, targetVersion) {
1321
+ if (currentVersion < targetVersion || !currentVersion) {
1322
+ this.trigger("warn", {
1323
+ message: `manifest must be at least version ${targetVersion}`
1324
+ });
1325
+ }
1326
+ }
1327
+ warnOnMissingAttributes_(identifier, attributes, required) {
1328
+ const missing = [];
1329
+ required.forEach(function(key) {
1330
+ if (!attributes.hasOwnProperty(key)) {
1331
+ missing.push(key);
1332
+ }
1333
+ });
1334
+ if (missing.length) {
1335
+ this.trigger("warn", {
1336
+ message: `${identifier} lacks required attribute(s): ${missing.join(", ")}`
1337
+ });
1338
+ }
1339
+ }
1340
+ /**
1341
+ * Parse the input string and update the manifest object.
1342
+ *
1343
+ * @param {string} chunk a potentially incomplete portion of the manifest
1344
+ */
1345
+ push(chunk) {
1346
+ this.lineStream.push(chunk);
1347
+ }
1348
+ /**
1349
+ * Flush any remaining input. This can be handy if the last line of an M3U8
1350
+ * manifest did not contain a trailing newline but the file has been
1351
+ * completely received.
1352
+ */
1353
+ end() {
1354
+ this.lineStream.push("\n");
1355
+ if (this.manifest.dateRanges.length && this.lastProgramDateTime === null) {
1356
+ this.trigger("warn", {
1357
+ message: "A playlist with EXT-X-DATERANGE tag must contain atleast one EXT-X-PROGRAM-DATE-TIME tag"
1358
+ });
1359
+ }
1360
+ this.lastProgramDateTime = null;
1361
+ this.trigger("end");
1362
+ }
1363
+ /**
1364
+ * Add an additional parser for non-standard tags
1365
+ *
1366
+ * @param {Object} options a map of options for the added parser
1367
+ * @param {RegExp} options.expression a regular expression to match the custom header
1368
+ * @param {string} options.customType the custom type to register to the output
1369
+ * @param {Function} [options.dataParser] function to parse the line into an object
1370
+ * @param {boolean} [options.segment] should tag data be attached to the segment object
1371
+ */
1372
+ addParser(options) {
1373
+ this.parseStream.addParser(options);
1374
+ }
1375
+ /**
1376
+ * Add a custom header mapper
1377
+ *
1378
+ * @param {Object} options
1379
+ * @param {RegExp} options.expression a regular expression to match the custom header
1380
+ * @param {Function} options.map function to translate tag into a different tag
1381
+ */
1382
+ addTagMapper(options) {
1383
+ this.parseStream.addTagMapper(options);
1384
+ }
1385
+ }
1386
+ export {
1387
+ LineStream,
1388
+ ParseStream,
1389
+ Parser
1154
1390
  };
1155
- export { LineStream, ParseStream, Parser };