@funhub/platform 0.1.130 → 0.1.132

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 (922) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +1 -18
  2. package/dist/assets/icons/clear.mjs +1 -17
  3. package/dist/assets/icons/close-icon.mjs +1 -18
  4. package/dist/assets/icons/close.mjs +1 -14
  5. package/dist/assets/icons/common/collect_nor.mjs +1 -21
  6. package/dist/assets/icons/common/collect_sel.mjs +1 -21
  7. package/dist/assets/icons/common/follow_sel.mjs +1 -17
  8. package/dist/assets/icons/common/follow_user.mjs +1 -17
  9. package/dist/assets/icons/common/full_screen.mjs +1 -17
  10. package/dist/assets/icons/common/god_comment.mjs +1 -17
  11. package/dist/assets/icons/common/heart-like.mjs +1 -31
  12. package/dist/assets/icons/common/heart-unlike.mjs +1 -18
  13. package/dist/assets/icons/common/qq.mjs +1 -32
  14. package/dist/assets/icons/common/right_arrow.mjs +1 -14
  15. package/dist/assets/icons/common/share.mjs +1 -17
  16. package/dist/assets/icons/common/solid-arrow.mjs +1 -17
  17. package/dist/assets/icons/common/video_play.mjs +1 -18
  18. package/dist/assets/icons/common/wechat-friends.mjs +1 -40
  19. package/dist/assets/icons/common/wechat.mjs +1 -39
  20. package/dist/assets/icons/detail/check-ok.mjs +1 -17
  21. package/dist/assets/icons/detail/collect_nor.mjs +1 -21
  22. package/dist/assets/icons/detail/collect_sel.mjs +1 -21
  23. package/dist/assets/icons/detail/comment.mjs +1 -19
  24. package/dist/assets/icons/detail/commet_at.mjs +1 -53
  25. package/dist/assets/icons/detail/give_like.mjs +1 -20
  26. package/dist/assets/icons/detail/give_like_sel.mjs +1 -27
  27. package/dist/assets/icons/detail/min-collection.mjs +1 -38
  28. package/dist/assets/icons/detail/publish_pic.mjs +1 -27
  29. package/dist/assets/icons/detail/publish_video.mjs +1 -30
  30. package/dist/assets/icons/detail/share.mjs +1 -17
  31. package/dist/assets/icons/detail/un_like.mjs +1 -20
  32. package/dist/assets/icons/detail/un_like_sel.mjs +1 -27
  33. package/dist/assets/icons/detail/video_flag.mjs +1 -17
  34. package/dist/assets/icons/detail/video_play.mjs +1 -18
  35. package/dist/assets/icons/dislike.mjs +1 -20
  36. package/dist/assets/icons/dislike_sel.mjs +1 -27
  37. package/dist/assets/icons/empty/img-empty-adduser.mjs +1 -463
  38. package/dist/assets/icons/empty/img-empty-nodata.mjs +1 -194
  39. package/dist/assets/icons/eye-icon.mjs +1 -21
  40. package/dist/assets/icons/eye-off-icon.mjs +1 -21
  41. package/dist/assets/icons/filter_dark.mjs +1 -17
  42. package/dist/assets/icons/follow_nor.mjs +1 -44
  43. package/dist/assets/icons/follow_sel.mjs +1 -31
  44. package/dist/assets/icons/left-arrow-icon.mjs +1 -18
  45. package/dist/assets/icons/left_arrow.mjs +1 -14
  46. package/dist/assets/icons/like.mjs +1 -20
  47. package/dist/assets/icons/like_sel.mjs +1 -27
  48. package/dist/assets/icons/publish/publish_add.mjs +1 -17
  49. package/dist/assets/icons/publish/publish_at.mjs +1 -53
  50. package/dist/assets/icons/publish/publish_collection.mjs +1 -28
  51. package/dist/assets/icons/publish/publish_pic.mjs +1 -27
  52. package/dist/assets/icons/publish/publish_video.mjs +1 -30
  53. package/dist/assets/icons/refresh.mjs +1 -18
  54. package/dist/assets/icons/right_arrow.mjs +1 -14
  55. package/dist/assets/icons/search/avatar.mjs +1 -36
  56. package/dist/assets/icons/search/filter.mjs +1 -17
  57. package/dist/assets/icons/search/video.mjs +1 -27
  58. package/dist/assets/icons/search.mjs +1 -23
  59. package/dist/assets/icons/share/share-link.mjs +1 -39
  60. package/dist/assets/icons/tabs/follow.mjs +1 -20
  61. package/dist/assets/icons/tabs/follow_active.mjs +1 -17
  62. package/dist/assets/icons/tabs/home.mjs +1 -17
  63. package/dist/assets/icons/tabs/home_active.mjs +1 -17
  64. package/dist/assets/icons/tabs/mine.mjs +1 -26
  65. package/dist/assets/icons/tabs/mine_active.mjs +1 -17
  66. package/dist/assets/icons/view.mjs +1 -17
  67. package/dist/assets/images/add.mjs +1 -5
  68. package/dist/assets/images/default_avatar.mjs +1 -5
  69. package/dist/assets/images/default_collection_cover.mjs +1 -5
  70. package/dist/assets/images/empty/img_empty_adduser.mjs +1 -463
  71. package/dist/assets/images/empty/img_empty_message.mjs +1 -408
  72. package/dist/assets/images/empty/img_empty_network.mjs +1 -168
  73. package/dist/assets/images/empty/img_empty_nodata.mjs +1 -194
  74. package/dist/assets/images/empty/img_empty_picture.mjs +1 -59
  75. package/dist/assets/images/empty/img_empty_search.mjs +1 -250
  76. package/dist/assets/images/frame.mjs +1 -5
  77. package/dist/assets/images/less.mjs +1 -5
  78. package/dist/assets/images/logo.mjs +1 -5
  79. package/dist/assets/images/marquee.mjs +1 -5
  80. package/dist/assets/images/subscript.mjs +1 -5
  81. package/dist/assets/images/user/default_avatar.mjs +1 -5
  82. package/dist/biz.d.mts +12 -12
  83. package/dist/biz.mjs +1 -144
  84. package/dist/common.mjs +1 -44
  85. package/dist/components/biz/basics/card-item/defaults/default-props.mjs +1 -10
  86. package/dist/components/biz/basics/card-item/runtime/client.mjs +1 -83
  87. package/dist/components/biz/basics/card-item/runtime/corners.mjs +1 -33
  88. package/dist/components/biz/basics/card-item/schema/component.mjs +1 -14
  89. package/dist/components/biz/basics/card-item/schema/data.schema.mjs +1 -8
  90. package/dist/components/biz/basics/card-item/schema/event.schema.mjs +1 -8
  91. package/dist/components/biz/basics/card-item/schema/index.mjs +1 -17
  92. package/dist/components/biz/basics/card-item/schema/props.schema.mjs +1 -18
  93. package/dist/components/biz/basics/card-item/schema/style.schema.mjs +1 -7
  94. package/dist/components/biz/basics/card-layout/defaults/default-props.mjs +1 -13
  95. package/dist/components/biz/basics/card-layout/runtime/client.mjs +1 -38
  96. package/dist/components/biz/basics/card-layout/schema/component.mjs +1 -14
  97. package/dist/components/biz/basics/card-layout/schema/data.schema.mjs +1 -8
  98. package/dist/components/biz/basics/card-layout/schema/event.schema.mjs +1 -5
  99. package/dist/components/biz/basics/card-layout/schema/index.mjs +1 -17
  100. package/dist/components/biz/basics/card-layout/schema/props.schema.mjs +1 -28
  101. package/dist/components/biz/basics/card-layout/schema/style.schema.mjs +1 -7
  102. package/dist/components/biz/basics/fullscreen-feed/basic-fullscreen.mjs +1 -268
  103. package/dist/components/biz/basics/fullscreen-feed/defaults/default-props.mjs +1 -11
  104. package/dist/components/biz/basics/fullscreen-feed/index.mjs +1 -12
  105. package/dist/components/biz/basics/fullscreen-feed/runtime/adapters.mjs +1 -97
  106. package/dist/components/biz/basics/fullscreen-feed/runtime/bottom-info.mjs +1 -125
  107. package/dist/components/biz/basics/fullscreen-feed/runtime/client.mjs +1 -390
  108. package/dist/components/biz/basics/fullscreen-feed/runtime/comment-modal.mjs +1 -107
  109. package/dist/components/biz/basics/fullscreen-feed/runtime/interaction-sync.mjs +1 -134
  110. package/dist/components/biz/basics/fullscreen-feed/runtime/post-slide.mjs +1 -232
  111. package/dist/components/biz/basics/fullscreen-feed/runtime/styles.module.mjs +152 -25
  112. package/dist/components/biz/basics/fullscreen-feed/runtime/use-mixed-feed-controller.mjs +1 -193
  113. package/dist/components/biz/basics/fullscreen-feed/runtime/use-series-feed-controller.mjs +1 -212
  114. package/dist/components/biz/basics/fullscreen-feed/runtime/user-action.mjs +1 -273
  115. package/dist/components/biz/basics/fullscreen-feed/runtime/video-slide.mjs +1 -373
  116. package/dist/components/biz/basics/fullscreen-feed/schema/component.mjs +1 -14
  117. package/dist/components/biz/basics/fullscreen-feed/schema/data.schema.mjs +1 -11
  118. package/dist/components/biz/basics/fullscreen-feed/schema/event.schema.mjs +1 -13
  119. package/dist/components/biz/basics/fullscreen-feed/schema/index.mjs +1 -17
  120. package/dist/components/biz/basics/fullscreen-feed/schema/props.schema.mjs +1 -20
  121. package/dist/components/biz/basics/fullscreen-feed/schema/style.schema.mjs +1 -5
  122. package/dist/components/biz/basics/logo/variants/basic-logo/defaults/default-props.mjs +1 -19
  123. package/dist/components/biz/basics/logo/variants/basic-logo/index.mjs +1 -9
  124. package/dist/components/biz/basics/logo/variants/basic-logo/runtime/client.mjs +1 -169
  125. package/dist/components/biz/basics/logo/variants/basic-logo/schema/component.mjs +1 -14
  126. package/dist/components/biz/basics/logo/variants/basic-logo/schema/data.schema.mjs +1 -9
  127. package/dist/components/biz/basics/logo/variants/basic-logo/schema/event.schema.mjs +1 -23
  128. package/dist/components/biz/basics/logo/variants/basic-logo/schema/index.mjs +1 -17
  129. package/dist/components/biz/basics/logo/variants/basic-logo/schema/props.schema.mjs +1 -78
  130. package/dist/components/biz/basics/logo/variants/basic-logo/schema/style.schema.mjs +1 -7
  131. package/dist/components/biz/basics/search/shared/components/search-box.mjs +1 -55
  132. package/dist/components/biz/basics/search/shared/config/default-data.mjs +1 -15
  133. package/dist/components/biz/basics/search/shared/config/schema.mjs +1 -50
  134. package/dist/components/biz/basics/search/variants/basic-search/defaults/default-props.mjs +1 -10
  135. package/dist/components/biz/basics/search/variants/basic-search/index.mjs +1 -12
  136. package/dist/components/biz/basics/search/variants/basic-search/runtime/client.mjs +1 -31
  137. package/dist/components/biz/basics/search/variants/basic-search/schema/component.mjs +1 -14
  138. package/dist/components/biz/basics/search/variants/basic-search/schema/data.schema.mjs +1 -8
  139. package/dist/components/biz/basics/search/variants/basic-search/schema/event.schema.mjs +1 -7
  140. package/dist/components/biz/basics/search/variants/basic-search/schema/index.mjs +1 -17
  141. package/dist/components/biz/basics/search/variants/basic-search/schema/props.schema.mjs +1 -7
  142. package/dist/components/biz/basics/search/variants/basic-search/schema/style.schema.mjs +1 -7
  143. package/dist/components/biz/basics/search/variants/filter-search/defaults/default-props.mjs +1 -14
  144. package/dist/components/biz/basics/search/variants/filter-search/index.mjs +1 -12
  145. package/dist/components/biz/basics/search/variants/filter-search/runtime/client.mjs +1 -63
  146. package/dist/components/biz/basics/search/variants/filter-search/schema/component.mjs +1 -14
  147. package/dist/components/biz/basics/search/variants/filter-search/schema/data.schema.mjs +1 -8
  148. package/dist/components/biz/basics/search/variants/filter-search/schema/event.schema.mjs +1 -7
  149. package/dist/components/biz/basics/search/variants/filter-search/schema/index.mjs +1 -17
  150. package/dist/components/biz/basics/search/variants/filter-search/schema/props.schema.mjs +1 -22
  151. package/dist/components/biz/basics/search/variants/filter-search/schema/style.schema.mjs +1 -7
  152. package/dist/components/biz/basics/search/variants/simple-search/defaults/default-props.mjs +1 -10
  153. package/dist/components/biz/basics/search/variants/simple-search/index.mjs +1 -9
  154. package/dist/components/biz/basics/search/variants/simple-search/runtime/client.mjs +1 -37
  155. package/dist/components/biz/basics/search/variants/simple-search/schema/component.mjs +1 -14
  156. package/dist/components/biz/basics/search/variants/simple-search/schema/data.schema.mjs +1 -8
  157. package/dist/components/biz/basics/search/variants/simple-search/schema/event.schema.mjs +1 -7
  158. package/dist/components/biz/basics/search/variants/simple-search/schema/index.mjs +1 -17
  159. package/dist/components/biz/basics/search/variants/simple-search/schema/props.schema.mjs +1 -7
  160. package/dist/components/biz/basics/search/variants/simple-search/schema/style.schema.mjs +1 -7
  161. package/dist/components/biz/basics/search/variants/tag-search/defaults/default-props.mjs +1 -18
  162. package/dist/components/biz/basics/search/variants/tag-search/index.mjs +1 -9
  163. package/dist/components/biz/basics/search/variants/tag-search/runtime/client.mjs +1 -67
  164. package/dist/components/biz/basics/search/variants/tag-search/schema/component.mjs +1 -14
  165. package/dist/components/biz/basics/search/variants/tag-search/schema/data.schema.mjs +1 -8
  166. package/dist/components/biz/basics/search/variants/tag-search/schema/event.schema.mjs +1 -7
  167. package/dist/components/biz/basics/search/variants/tag-search/schema/index.mjs +1 -17
  168. package/dist/components/biz/basics/search/variants/tag-search/schema/props.schema.mjs +1 -37
  169. package/dist/components/biz/basics/search/variants/tag-search/schema/style.schema.mjs +1 -7
  170. package/dist/components/biz/business/banner/index.d.mts +1 -1
  171. package/dist/components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs +1 -15
  172. package/dist/components/biz/business/banner/variants/basic-banner/index.d.mts +2 -2
  173. package/dist/components/biz/business/banner/variants/basic-banner/index.mjs +1 -12
  174. package/dist/components/biz/business/banner/variants/basic-banner/inspector-schema.d.mts +2 -24
  175. package/dist/components/biz/business/banner/variants/basic-banner/inspector-schema.mjs +1 -64
  176. package/dist/components/biz/business/banner/variants/basic-banner/material.d.mts +1 -18
  177. package/dist/components/biz/business/banner/variants/basic-banner/material.mjs +1 -21
  178. package/dist/components/biz/business/banner/variants/basic-banner/runtime/client.mjs +1 -126
  179. package/dist/components/biz/business/banner/variants/basic-banner/schema/component.mjs +1 -14
  180. package/dist/components/biz/business/banner/variants/basic-banner/schema/data.schema.mjs +1 -53
  181. package/dist/components/biz/business/banner/variants/basic-banner/schema/event.schema.mjs +1 -5
  182. package/dist/components/biz/business/banner/variants/basic-banner/schema/index.mjs +1 -17
  183. package/dist/components/biz/business/banner/variants/basic-banner/schema/props.schema.mjs +1 -40
  184. package/dist/components/biz/business/banner/variants/basic-banner/schema/style.schema.mjs +1 -7
  185. package/dist/components/biz/business/banner/variants/basic-banner/server.mjs +1 -25
  186. package/dist/components/biz/business/banner-carousel/client.mjs +1 -122
  187. package/dist/components/biz/business/banner-carousel/default-props.mjs +1 -15
  188. package/dist/components/biz/business/banner-carousel/material.d.mts +1 -21
  189. package/dist/components/biz/business/banner-carousel/material.mjs +1 -21
  190. package/dist/components/biz/business/banner-carousel/schema.mjs +1 -85
  191. package/dist/components/biz/business/banner-carousel/server.mjs +1 -22
  192. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/defaults/default-props.mjs +1 -8
  193. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/index.mjs +1 -9
  194. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/runtime/client.mjs +1 -41
  195. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/component.mjs +1 -14
  196. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/data.schema.mjs +1 -8
  197. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/event.schema.mjs +1 -5
  198. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/index.mjs +1 -17
  199. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/props.schema.mjs +1 -12
  200. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/style.schema.mjs +1 -7
  201. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/defaults/default-props.mjs +1 -8
  202. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/index.mjs +1 -9
  203. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/runtime/client.mjs +1 -106
  204. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/component.mjs +1 -14
  205. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/data.schema.mjs +1 -8
  206. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/event.schema.mjs +1 -5
  207. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/index.mjs +1 -17
  208. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/props.schema.mjs +1 -12
  209. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/style.schema.mjs +1 -7
  210. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/defaults/default-props.mjs +1 -8
  211. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/index.mjs +1 -9
  212. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/runtime/client.mjs +1 -41
  213. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/component.mjs +1 -14
  214. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/data.schema.mjs +1 -8
  215. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/event.schema.mjs +1 -5
  216. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/index.mjs +1 -17
  217. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/props.schema.mjs +1 -12
  218. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/style.schema.mjs +1 -7
  219. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/defaults/default-props.mjs +1 -8
  220. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/index.mjs +1 -9
  221. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/runtime/client.mjs +1 -41
  222. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/component.mjs +1 -14
  223. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/data.schema.mjs +1 -8
  224. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/event.schema.mjs +1 -5
  225. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/index.mjs +1 -17
  226. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/props.schema.mjs +1 -12
  227. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/style.schema.mjs +1 -7
  228. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/defaults/default-props.mjs +1 -8
  229. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/index.mjs +1 -9
  230. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/runtime/client.mjs +1 -106
  231. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/component.mjs +1 -14
  232. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/data.schema.mjs +1 -8
  233. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/event.schema.mjs +1 -5
  234. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/index.mjs +1 -17
  235. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/props.schema.mjs +1 -12
  236. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/style.schema.mjs +1 -7
  237. package/dist/components/biz/business/channel-list/channel-filter-dialog.mjs +1 -190
  238. package/dist/components/biz/business/channel-list/client.mjs +1 -136
  239. package/dist/components/biz/business/channel-list/default-props.mjs +1 -12
  240. package/dist/components/biz/business/channel-list/material.d.mts +1 -17
  241. package/dist/components/biz/business/channel-list/material.mjs +1 -21
  242. package/dist/components/biz/business/channel-list/schema.mjs +1 -39
  243. package/dist/components/biz/business/comment/comment-input.mjs +5 -772
  244. package/dist/components/biz/business/comment/comment-item.mjs +1 -190
  245. package/dist/components/biz/business/comment/comment-list.mjs +1 -722
  246. package/dist/components/biz/business/comment/comment-media.mjs +1 -57
  247. package/dist/components/biz/business/comment/comment-rich-text.mjs +1 -69
  248. package/dist/components/biz/business/comment/reply-detail.mjs +1 -978
  249. package/dist/components/biz/business/comment/time-display.mjs +1 -20
  250. package/dist/components/biz/business/comment/use-keyboard-handler.mjs +1 -142
  251. package/dist/components/biz/business/contact/contact-item.mjs +1 -45
  252. package/dist/components/biz/business/contact/contact-list.mjs +1 -212
  253. package/dist/components/biz/business/contact/contact-search.mjs +1 -128
  254. package/dist/components/biz/business/detail/shared/detail-follow-action.mjs +1 -105
  255. package/dist/components/biz/business/detail/shared/detail-info-tags.mjs +1 -24
  256. package/dist/components/biz/business/detail/shared/detail-info-title.mjs +1 -82
  257. package/dist/components/biz/business/detail/shared/detail-introduction.mjs +1 -109
  258. package/dist/components/biz/business/detail/shared/detail-operate.mjs +1 -340
  259. package/dist/components/biz/business/detail/shared/detail-structured-data.mjs +1 -63
  260. package/dist/components/biz/business/detail/shared/editor-preview.mjs +1 -67
  261. package/dist/components/biz/business/detail/shared/material-route-context.mjs +1 -44
  262. package/dist/components/biz/business/detail/shared/metadata-utils.mjs +1 -21
  263. package/dist/components/biz/business/detail/shared/post-recommend-list.mjs +1 -184
  264. package/dist/components/biz/business/detail/shared/registry.d.mts +1 -72
  265. package/dist/components/biz/business/detail/shared/registry.mjs +1 -52
  266. package/dist/components/biz/business/detail/shared/runtime-context-provider.mjs +1 -191
  267. package/dist/components/biz/business/detail/shared/seo-config.mjs +1 -28
  268. package/dist/components/biz/business/detail/shared/use-video-detail-webview-bridge.mjs +1 -89
  269. package/dist/components/biz/business/detail/shared/video-detail-server-data.mjs +1 -46
  270. package/dist/components/biz/business/detail/shared/video-hero.mjs +1 -395
  271. package/dist/components/biz/business/detail/video-detail-actions/client.d.mts +2 -12
  272. package/dist/components/biz/business/detail/video-detail-actions/client.mjs +1 -106
  273. package/dist/components/biz/business/detail/video-detail-actions/index.d.mts +4 -4
  274. package/dist/components/biz/business/detail/video-detail-actions/material.d.mts +1 -12
  275. package/dist/components/biz/business/detail/video-detail-actions/material.mjs +1 -18
  276. package/dist/components/biz/business/detail/video-detail-actions/schema.d.mts +1 -19
  277. package/dist/components/biz/business/detail/video-detail-actions/schema.mjs +1 -11
  278. package/dist/components/biz/business/detail/video-detail-actions/server.d.mts +2 -15
  279. package/dist/components/biz/business/detail/video-detail-actions/server.mjs +1 -47
  280. package/dist/components/biz/business/detail/video-detail-info/client.d.mts +2 -14
  281. package/dist/components/biz/business/detail/video-detail-info/client.mjs +1 -41
  282. package/dist/components/biz/business/detail/video-detail-info/index.d.mts +4 -4
  283. package/dist/components/biz/business/detail/video-detail-info/material.d.mts +1 -14
  284. package/dist/components/biz/business/detail/video-detail-info/material.mjs +1 -18
  285. package/dist/components/biz/business/detail/video-detail-info/schema.d.mts +1 -22
  286. package/dist/components/biz/business/detail/video-detail-info/schema.mjs +1 -20
  287. package/dist/components/biz/business/detail/video-detail-info/server.d.mts +2 -15
  288. package/dist/components/biz/business/detail/video-detail-info/server.mjs +1 -98
  289. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/client.d.mts +2 -14
  290. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/client.mjs +1 -51
  291. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/index.d.mts +4 -4
  292. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/material.d.mts +1 -14
  293. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/material.mjs +1 -18
  294. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/schema.d.mts +1 -22
  295. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/schema.mjs +1 -20
  296. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/server.d.mts +2 -15
  297. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/server.mjs +1 -45
  298. package/dist/components/biz/business/detail/video-detail-player/client.d.mts +2 -13
  299. package/dist/components/biz/business/detail/video-detail-player/client.mjs +1 -144
  300. package/dist/components/biz/business/detail/video-detail-player/index.d.mts +4 -4
  301. package/dist/components/biz/business/detail/video-detail-player/material.d.mts +1 -12
  302. package/dist/components/biz/business/detail/video-detail-player/material.mjs +1 -18
  303. package/dist/components/biz/business/detail/video-detail-player/schema.d.mts +1 -21
  304. package/dist/components/biz/business/detail/video-detail-player/schema.mjs +1 -11
  305. package/dist/components/biz/business/detail/video-detail-player/server.d.mts +2 -10
  306. package/dist/components/biz/business/detail/video-detail-player/server.mjs +1 -17
  307. package/dist/components/biz/business/detail/video-detail-recommend/client.d.mts +2 -22
  308. package/dist/components/biz/business/detail/video-detail-recommend/client.mjs +1 -552
  309. package/dist/components/biz/business/detail/video-detail-recommend/index.d.mts +4 -4
  310. package/dist/components/biz/business/detail/video-detail-recommend/material.d.mts +1 -38
  311. package/dist/components/biz/business/detail/video-detail-recommend/material.mjs +1 -18
  312. package/dist/components/biz/business/detail/video-detail-recommend/schema.d.mts +1 -42
  313. package/dist/components/biz/business/detail/video-detail-recommend/schema.mjs +1 -58
  314. package/dist/components/biz/business/detail/video-detail-recommend/server.d.mts +2 -10
  315. package/dist/components/biz/business/detail/video-detail-recommend/server.mjs +1 -18
  316. package/dist/components/biz/business/detail/video-detail-recommend/utils.mjs +1 -68
  317. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/defaults/default-props.mjs +1 -12
  318. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/index.mjs +1 -9
  319. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/runtime/client.mjs +1 -66
  320. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/component.mjs +1 -14
  321. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/data.schema.mjs +1 -43
  322. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/event.schema.mjs +1 -5
  323. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/index.mjs +1 -17
  324. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/props.schema.mjs +1 -32
  325. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/style.schema.mjs +1 -7
  326. package/dist/components/biz/business/floating-ball/client.mjs +1 -31
  327. package/dist/components/biz/business/floating-ball/index.d.mts +2 -2
  328. package/dist/components/biz/business/floating-ball/material.d.mts +1 -14
  329. package/dist/components/biz/business/floating-ball/material.mjs +1 -18
  330. package/dist/components/biz/business/floating-ball/schema.d.mts +2 -15
  331. package/dist/components/biz/business/floating-ball/schema.mjs +1 -22
  332. package/dist/components/biz/business/floating-ball/server.mjs +1 -17
  333. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/defaults/default-props.mjs +1 -11
  334. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/index.mjs +1 -9
  335. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/runtime/client.mjs +1 -71
  336. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/component.mjs +1 -14
  337. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/data.schema.mjs +1 -11
  338. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/index.mjs +1 -17
  339. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/defaults/default-props.mjs +1 -11
  340. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/index.mjs +1 -9
  341. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/runtime/client.mjs +1 -64
  342. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/component.mjs +1 -14
  343. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/data.schema.mjs +1 -11
  344. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/index.mjs +1 -17
  345. package/dist/components/biz/business/fullscreen-feed/variants/shared/runtime-compat.mjs +1 -522
  346. package/dist/components/biz/business/header-search/header-avatar-icon/client.d.mts +2 -13
  347. package/dist/components/biz/business/header-search/header-avatar-icon/client.mjs +1 -29
  348. package/dist/components/biz/business/header-search/header-avatar-icon/index.d.mts +4 -4
  349. package/dist/components/biz/business/header-search/header-avatar-icon/material.d.mts +1 -12
  350. package/dist/components/biz/business/header-search/header-avatar-icon/material.mjs +1 -18
  351. package/dist/components/biz/business/header-search/header-avatar-icon/schema.d.mts +1 -17
  352. package/dist/components/biz/business/header-search/header-avatar-icon/schema.mjs +1 -11
  353. package/dist/components/biz/business/header-search/header-avatar-icon/server.d.mts +2 -10
  354. package/dist/components/biz/business/header-search/header-avatar-icon/server.mjs +1 -17
  355. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.d.mts +2 -11
  356. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.mjs +1 -36
  357. package/dist/components/biz/business/header-search/header-avatar-logo-search/index.d.mts +4 -4
  358. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.d.mts +1 -14
  359. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.mjs +1 -18
  360. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.d.mts +1 -22
  361. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.mjs +1 -24
  362. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.d.mts +2 -10
  363. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.mjs +1 -17
  364. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.d.mts +2 -11
  365. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.mjs +1 -45
  366. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/index.d.mts +4 -4
  367. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.d.mts +1 -14
  368. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.mjs +1 -18
  369. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.d.mts +1 -20
  370. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.mjs +1 -22
  371. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.d.mts +2 -10
  372. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.mjs +1 -17
  373. package/dist/components/biz/business/header-search/header-logo-search/client.d.mts +2 -13
  374. package/dist/components/biz/business/header-search/header-logo-search/client.mjs +1 -33
  375. package/dist/components/biz/business/header-search/header-logo-search/index.d.mts +4 -4
  376. package/dist/components/biz/business/header-search/header-logo-search/material.d.mts +1 -14
  377. package/dist/components/biz/business/header-search/header-logo-search/material.mjs +1 -18
  378. package/dist/components/biz/business/header-search/header-logo-search/schema.d.mts +1 -22
  379. package/dist/components/biz/business/header-search/header-logo-search/schema.mjs +1 -24
  380. package/dist/components/biz/business/header-search/header-logo-search/server.d.mts +2 -10
  381. package/dist/components/biz/business/header-search/header-logo-search/server.mjs +1 -17
  382. package/dist/components/biz/business/header-search/header-search/client.d.mts +2 -13
  383. package/dist/components/biz/business/header-search/header-search/client.mjs +1 -20
  384. package/dist/components/biz/business/header-search/header-search/index.d.mts +4 -4
  385. package/dist/components/biz/business/header-search/header-search/material.d.mts +1 -12
  386. package/dist/components/biz/business/header-search/header-search/material.mjs +1 -18
  387. package/dist/components/biz/business/header-search/header-search/schema.d.mts +1 -17
  388. package/dist/components/biz/business/header-search/header-search/schema.mjs +1 -11
  389. package/dist/components/biz/business/header-search/header-search/server.d.mts +2 -10
  390. package/dist/components/biz/business/header-search/header-search/server.mjs +1 -17
  391. package/dist/components/biz/business/header-search/shared/avatar.mjs +1 -44
  392. package/dist/components/biz/business/header-search/shared/logo.mjs +1 -28
  393. package/dist/components/biz/business/header-search/shared/search.mjs +1 -28
  394. package/dist/components/biz/business/home-recommend/home-recommend-grid/client.mjs +1 -48
  395. package/dist/components/biz/business/home-recommend/home-recommend-grid/index.d.mts +2 -2
  396. package/dist/components/biz/business/home-recommend/home-recommend-grid/index.mjs +1 -14
  397. package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.d.mts +2 -51
  398. package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.mjs +1 -193
  399. package/dist/components/biz/business/home-recommend/home-recommend-grid/material.d.mts +1 -41
  400. package/dist/components/biz/business/home-recommend/home-recommend-grid/material.mjs +1 -18
  401. package/dist/components/biz/business/home-recommend/home-recommend-grid/schema.mjs +1 -24
  402. package/dist/components/biz/business/home-recommend/home-recommend-grid/server.mjs +1 -49
  403. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/client.mjs +1 -44
  404. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/index.d.mts +2 -2
  405. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/index.mjs +1 -14
  406. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.d.mts +2 -46
  407. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.mjs +1 -169
  408. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/material.d.mts +1 -38
  409. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/material.mjs +1 -18
  410. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/schema.mjs +1 -24
  411. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/server.mjs +1 -44
  412. package/dist/components/biz/business/home-recommend/index.d.mts +2 -2
  413. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -498
  414. package/dist/components/biz/business/home-recommend/shared/home-recommend-default-config.mjs +1 -25
  415. package/dist/components/biz/business/home-recommend/shared/home-recommend-preview.mjs +1 -130
  416. package/dist/components/biz/business/home-recommend/shared/home-recommend-runtime-props.mjs +1 -34
  417. package/dist/components/biz/business/home-recommend/shared/home-recommend-server-data.mjs +1 -288
  418. package/dist/components/biz/business/home-recommend/shared/home-recommend-video-detail.mjs +1 -38
  419. package/dist/components/biz/business/image-text-recommend/client.mjs +1 -423
  420. package/dist/components/biz/business/image-text-recommend/index.d.mts +2 -2
  421. package/dist/components/biz/business/image-text-recommend/material.d.mts +1 -33
  422. package/dist/components/biz/business/image-text-recommend/material.mjs +1 -21
  423. package/dist/components/biz/business/image-text-recommend/schema.d.mts +1 -30
  424. package/dist/components/biz/business/image-text-recommend/schema.mjs +1 -117
  425. package/dist/components/biz/business/image-text-recommend/server.mjs +1 -53
  426. package/dist/components/biz/business/image-text-recommend/shared/query.mjs +1 -32
  427. package/dist/components/biz/business/index.d.mts +11 -11
  428. package/dist/components/biz/business/large-feature-grid/card-item.mjs +1 -91
  429. package/dist/components/biz/business/large-feature-grid/client.mjs +1 -88
  430. package/dist/components/biz/business/large-feature-grid/material.d.mts +1 -8
  431. package/dist/components/biz/business/large-feature-grid/material.mjs +1 -21
  432. package/dist/components/biz/business/large-feature-grid/schema.mjs +1 -81
  433. package/dist/components/biz/business/large-feature-grid/server.mjs +1 -16
  434. package/dist/components/biz/business/marquee/client.mjs +1 -230
  435. package/dist/components/biz/business/marquee/index.d.mts +2 -2
  436. package/dist/components/biz/business/marquee/marquee.module.mjs +25 -13
  437. package/dist/components/biz/business/marquee/material.d.mts +1 -32
  438. package/dist/components/biz/business/marquee/material.mjs +1 -21
  439. package/dist/components/biz/business/marquee/schema.d.mts +1 -29
  440. package/dist/components/biz/business/marquee/schema.mjs +1 -97
  441. package/dist/components/biz/business/marquee/server.mjs +1 -17
  442. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/defaults/default-props.mjs +1 -21
  443. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/index.mjs +1 -9
  444. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/channel-filter-dialog.mjs +1 -180
  445. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs +1 -148
  446. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/component.mjs +1 -14
  447. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/data.schema.mjs +1 -9
  448. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/event.schema.mjs +1 -27
  449. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/index.mjs +1 -17
  450. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/props.schema.mjs +1 -92
  451. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/style.schema.mjs +1 -7
  452. package/dist/components/biz/business/post-card/variants/basic-post-card/defaults/default-props.mjs +1 -8
  453. package/dist/components/biz/business/post-card/variants/basic-post-card/index.mjs +1 -9
  454. package/dist/components/biz/business/post-card/variants/basic-post-card/runtime/client.mjs +1 -119
  455. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/component.mjs +1 -14
  456. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/data.schema.mjs +1 -8
  457. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/event.schema.mjs +1 -5
  458. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/index.mjs +1 -17
  459. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/props.schema.mjs +1 -5
  460. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/style.schema.mjs +1 -7
  461. package/dist/components/biz/business/profile/index.d.mts +1 -1
  462. package/dist/components/biz/business/profile/profile-header/client.mjs +1 -243
  463. package/dist/components/biz/business/profile/profile-header/material.d.mts +2 -30
  464. package/dist/components/biz/business/profile/profile-header/material.mjs +1 -59
  465. package/dist/components/biz/business/profile/profile-header/schema.d.mts +2 -9
  466. package/dist/components/biz/business/profile/profile-header/schema.mjs +1 -11
  467. package/dist/components/biz/business/profile/profile-header/user-profile-avatar.mjs +1 -235
  468. package/dist/components/biz/business/profile/profile-header/user-profile-cover-background.mjs +1 -135
  469. package/dist/components/biz/business/profile/profile-main/client.mjs +1 -234
  470. package/dist/components/biz/business/profile/profile-main/index.d.mts +1 -1
  471. package/dist/components/biz/business/profile/profile-main/material.d.mts +1 -12
  472. package/dist/components/biz/business/profile/profile-main/material.mjs +1 -18
  473. package/dist/components/biz/business/profile/profile-main/schema.d.mts +2 -9
  474. package/dist/components/biz/business/profile/profile-main/schema.mjs +1 -11
  475. package/dist/components/biz/business/profile/profile-main/server.mjs +1 -13
  476. package/dist/components/biz/business/profile/profile-main/shell.mjs +1 -187
  477. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs +1 -519
  478. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/server.mjs +1 -13
  479. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.mjs +1 -250
  480. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/server.mjs +1 -13
  481. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.mjs +1 -250
  482. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/server.mjs +1 -13
  483. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/client.mjs +1 -149
  484. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/server.mjs +1 -13
  485. package/dist/components/biz/business/profile/profile-main/utils.mjs +1 -248
  486. package/dist/components/biz/business/profile/profile-main/variants.mjs +1 -40
  487. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/defaults/default-props.mjs +1 -15
  488. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/index.mjs +1 -9
  489. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/runtime/client.mjs +1 -168
  490. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/runtime/recommended-users-skeleton.mjs +1 -119
  491. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/component.mjs +1 -14
  492. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/data.schema.mjs +1 -9
  493. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/event.schema.mjs +1 -17
  494. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/index.mjs +1 -17
  495. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/props.schema.mjs +1 -54
  496. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/style.schema.mjs +1 -7
  497. package/dist/components/biz/business/search-bar/variants/basic-search-bar/defaults/default-props.mjs +1 -15
  498. package/dist/components/biz/business/search-bar/variants/basic-search-bar/index.mjs +1 -9
  499. package/dist/components/biz/business/search-bar/variants/basic-search-bar/runtime/client.mjs +1 -52
  500. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/component.mjs +1 -14
  501. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/data.schema.mjs +1 -9
  502. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/event.schema.mjs +1 -5
  503. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/index.mjs +1 -17
  504. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/props.schema.mjs +1 -117
  505. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/style.schema.mjs +1 -7
  506. package/dist/components/biz/business/search-bar/variants/detail-search-bar/defaults/default-props.mjs +1 -22
  507. package/dist/components/biz/business/search-bar/variants/detail-search-bar/index.mjs +1 -9
  508. package/dist/components/biz/business/search-bar/variants/detail-search-bar/runtime/client.mjs +1 -53
  509. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/component.mjs +1 -14
  510. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/data.schema.mjs +1 -9
  511. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/event.schema.mjs +1 -5
  512. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/index.mjs +1 -17
  513. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/props.schema.mjs +1 -117
  514. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/style.schema.mjs +1 -7
  515. package/dist/components/biz/business/search-bar/variants/filter-search-bar/defaults/default-props.mjs +1 -15
  516. package/dist/components/biz/business/search-bar/variants/filter-search-bar/index.mjs +1 -9
  517. package/dist/components/biz/business/search-bar/variants/filter-search-bar/runtime/client.mjs +1 -52
  518. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/component.mjs +1 -14
  519. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/data.schema.mjs +1 -9
  520. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/event.schema.mjs +1 -25
  521. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/index.mjs +1 -17
  522. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/props.schema.mjs +1 -128
  523. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/style.schema.mjs +1 -7
  524. package/dist/components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs +1 -15
  525. package/dist/components/biz/business/search-bar/variants/tag-search-bar/index.mjs +1 -12
  526. package/dist/components/biz/business/search-bar/variants/tag-search-bar/runtime/client.mjs +1 -58
  527. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/component.mjs +1 -14
  528. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/data.schema.mjs +1 -9
  529. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/event.schema.mjs +1 -38
  530. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs +1 -17
  531. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/props.schema.mjs +1 -144
  532. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/style.schema.mjs +1 -7
  533. package/dist/components/biz/business/search-history/client.mjs +1 -121
  534. package/dist/components/biz/business/search-history/index.d.mts +2 -2
  535. package/dist/components/biz/business/search-history/material.d.mts +1 -14
  536. package/dist/components/biz/business/search-history/material.mjs +1 -18
  537. package/dist/components/biz/business/search-history/schema.d.mts +1 -12
  538. package/dist/components/biz/business/search-history/schema.mjs +1 -20
  539. package/dist/components/biz/business/search-history/server.mjs +1 -17
  540. package/dist/components/biz/business/search-input/client.mjs +1 -108
  541. package/dist/components/biz/business/search-input/index.d.mts +2 -2
  542. package/dist/components/biz/business/search-input/material.d.mts +1 -12
  543. package/dist/components/biz/business/search-input/material.mjs +1 -18
  544. package/dist/components/biz/business/search-input/schema.d.mts +2 -9
  545. package/dist/components/biz/business/search-input/schema.mjs +1 -11
  546. package/dist/components/biz/business/search-input/server.mjs +1 -17
  547. package/dist/components/biz/business/shortcut-grid/client.mjs +1 -64
  548. package/dist/components/biz/business/shortcut-grid/material.d.mts +1 -20
  549. package/dist/components/biz/business/shortcut-grid/material.mjs +1 -18
  550. package/dist/components/biz/business/shortcut-grid/schema.mjs +1 -70
  551. package/dist/components/biz/business/shortcut-grid/server.mjs +1 -17
  552. package/dist/components/biz/business/tab-bar/client.mjs +1 -102
  553. package/dist/components/biz/business/tab-bar/index.d.mts +2 -2
  554. package/dist/components/biz/business/tab-bar/material.d.mts +1 -12
  555. package/dist/components/biz/business/tab-bar/material.mjs +1 -21
  556. package/dist/components/biz/business/tab-bar/schema.d.mts +2 -9
  557. package/dist/components/biz/business/tab-bar/schema.mjs +1 -11
  558. package/dist/components/biz/business/tab-bar/server.mjs +1 -17
  559. package/dist/components/biz/business/text-recommend/client.mjs +1 -69
  560. package/dist/components/biz/business/text-recommend/index.d.mts +2 -2
  561. package/dist/components/biz/business/text-recommend/material.d.mts +1 -17
  562. package/dist/components/biz/business/text-recommend/material.mjs +1 -18
  563. package/dist/components/biz/business/text-recommend/schema.d.mts +1 -14
  564. package/dist/components/biz/business/text-recommend/schema.mjs +1 -28
  565. package/dist/components/biz/business/text-recommend/server.mjs +1 -18
  566. package/dist/components/biz/example/button/client.mjs +1 -43
  567. package/dist/components/biz/example/button/index.d.mts +2 -2
  568. package/dist/components/biz/example/button/material.d.mts +1 -22
  569. package/dist/components/biz/example/button/material.mjs +1 -18
  570. package/dist/components/biz/example/button/schema.d.mts +2 -29
  571. package/dist/components/biz/example/button/schema.mjs +1 -47
  572. package/dist/components/biz/example/button/server.mjs +1 -32
  573. package/dist/components/biz/example/button/variants.mjs +1 -22
  574. package/dist/components/biz/renderer/renderer.mjs +1 -73
  575. package/dist/components/biz/utils/constants/card-spec.mjs +1 -48
  576. package/dist/components/biz/utils/helpers/get-channel-list.mjs +1 -14
  577. package/dist/components/biz/utils/helpers/url.mjs +1 -16
  578. package/dist/components/biz/utils/schema/data.mjs +1 -22
  579. package/dist/components/biz/utils/styles/helpers.mjs +1 -84
  580. package/dist/components/biz/utils/styles/schema.mjs +1 -306
  581. package/dist/components/biz/utils/transformers/card-grid.mjs +1 -71
  582. package/dist/components/biz/utils/transformers/data.mjs +1 -171
  583. package/dist/components/common/at-element/index.mjs +1 -47
  584. package/dist/components/common/background-preview-modal/background-preview-modal.mjs +1 -73
  585. package/dist/components/common/blocked-dialog/blocked-dialog.mjs +1 -54
  586. package/dist/components/common/cards/mini-three-card.mjs +1 -55
  587. package/dist/components/common/cards/style.module.mjs +24 -12
  588. package/dist/components/common/collection-popup/collection-create-modal.mjs +1 -130
  589. package/dist/components/common/collection-popup/index.mjs +1 -292
  590. package/dist/components/common/debug-locale-switcher/index.mjs +1 -59
  591. package/dist/components/common/delete-confirm-dialog/delete-confirm-dialog.mjs +1 -66
  592. package/dist/components/common/empty/index.mjs +1 -51
  593. package/dist/components/common/follow-button/index.mjs +1 -133
  594. package/dist/components/common/follow-button/unfollow-confirm-dialog.mjs +1 -23
  595. package/dist/components/common/funhub-provider/funhub-provider.mjs +1 -85
  596. package/dist/components/common/header-nav/client.mjs +1 -51
  597. package/dist/components/common/icons/add.mjs +1 -21
  598. package/dist/components/common/icons/comment.mjs +1 -30
  599. package/dist/components/common/icons/delete.mjs +1 -32
  600. package/dist/components/common/icons/left-arrow.mjs +1 -15
  601. package/dist/components/common/icons/more.mjs +1 -30
  602. package/dist/components/common/icons/right-arrow.mjs +1 -19
  603. package/dist/components/common/icons/setting.mjs +1 -45
  604. package/dist/components/common/icons/share.mjs +1 -20
  605. package/dist/components/common/icons/video.mjs +1 -22
  606. package/dist/components/common/image-crop/image-crop.mjs +1 -182
  607. package/dist/components/common/image-crop/show-image-crop.mjs +1 -102
  608. package/dist/components/common/image-crop-modal/image-crop-modal.mjs +2 -128
  609. package/dist/components/common/info-card/card-header.mjs +1 -70
  610. package/dist/components/common/info-card/card-text.mjs +1 -49
  611. package/dist/components/common/interaction-animations.module.mjs +84 -14
  612. package/dist/components/common/intl-provider/intl-provider.mjs +1 -21
  613. package/dist/components/common/keep-scroll-position/index.mjs +1 -39
  614. package/dist/components/common/list/collection-list/collection-list-item.mjs +1 -93
  615. package/dist/components/common/list/collection-list/collection-list.mjs +1 -21
  616. package/dist/components/common/list/post-list/post-list-item.mjs +1 -54
  617. package/dist/components/common/list/post-list/post-list.mjs +1 -143
  618. package/dist/components/common/list/user-activity-list/user-activity-list-actions.mjs +1 -269
  619. package/dist/components/common/list/user-activity-list/user-activity-list-item.mjs +1 -468
  620. package/dist/components/common/list/user-activity-list/user-activity-list.mjs +1 -139
  621. package/dist/components/common/list/video-list/video-list-item.mjs +1 -104
  622. package/dist/components/common/list/video-list/video-list.mjs +1 -152
  623. package/dist/components/common/locale-sync/locale-sync.mjs +1 -62
  624. package/dist/components/common/login-dialog/login-dialog.mjs +1 -29
  625. package/dist/components/common/media-preview/index.mjs +1 -162
  626. package/dist/components/common/media-preview/video-play.mjs +1 -237
  627. package/dist/components/common/page-loading/index.mjs +1 -20
  628. package/dist/components/common/page-skeleton/page-skeleton.mjs +1 -7
  629. package/dist/components/common/photo-grid/common-photo-grid.d.mts +1 -0
  630. package/dist/components/common/photo-grid/common-photo-grid.mjs +1 -320
  631. package/dist/components/common/photo-grid/index.mjs +1 -226
  632. package/dist/components/common/photo-preview/common-photo-preview.mjs +1 -96
  633. package/dist/components/common/photo-preview/decrypt-loading.mjs +2 -66
  634. package/dist/components/common/photo-preview/index.d.mts +2 -0
  635. package/dist/components/common/photo-preview/index.mjs +1 -63
  636. package/dist/components/common/photo-preview/style.mjs +19 -7
  637. package/dist/components/common/picker/gender-picker/gender-picker.mjs +1 -66
  638. package/dist/components/common/picker/picker-drawer/picker-drawer.mjs +1 -78
  639. package/dist/components/common/popup-video/index.mjs +1 -76
  640. package/dist/components/common/popup-video/popup-video.module.mjs +16 -7
  641. package/dist/components/common/series-episodes/index.mjs +1 -555
  642. package/dist/components/common/share-popup/share-content.mjs +1 -155
  643. package/dist/components/common/share-popup/share-drawer.mjs +1 -100
  644. package/dist/components/common/share-popup/share-popup.mjs +1 -326
  645. package/dist/components/common/skeleton/post-list-item-skeleton.mjs +1 -99
  646. package/dist/components/common/skeleton/search-video-card-skeleton.mjs +2 -0
  647. package/dist/components/common/skeleton/user-activity-list-item-skeleton.mjs +1 -146
  648. package/dist/components/common/skeleton/video-list-item-skeleton.mjs +1 -110
  649. package/dist/components/common/tab-bar/index.mjs +1 -120
  650. package/dist/components/common/theme-sync/index.mjs +1 -22
  651. package/dist/components/common/top-nav-bar/client.mjs +1 -63
  652. package/dist/components/common/top-nav-bar/fullscreen.mjs +1 -27
  653. package/dist/components/common/top-nav-bar/index.mjs +1 -29
  654. package/dist/components/common/top-nav-bar/normal.mjs +1 -20
  655. package/dist/components/common/video-player/create-video.mjs +2 -27
  656. package/dist/components/common/video-player/index.mjs +5 -710
  657. package/dist/components/common/video-player/playing-videos.mjs +1 -73
  658. package/dist/components/common/video-player/process-m3u8-cache.mjs +1 -282
  659. package/dist/components/common/video-player/style.module.mjs +257 -7
  660. package/dist/components/common/wait-loading.mjs +1 -119
  661. package/dist/components/pages/(follow)/_components/follow-button/index.mjs +1 -80
  662. package/dist/components/pages/(follow)/_components/header-nav/index.mjs +1 -13
  663. package/dist/components/pages/(follow)/_components/interaction-tabs/index.mjs +1 -43
  664. package/dist/components/pages/(follow)/_components/user-list/index.mjs +1 -139
  665. package/dist/components/pages/(follow)/_components/user-list/user-list-item.mjs +1 -46
  666. package/dist/components/pages/(follow)/fans/index.mjs +1 -10
  667. package/dist/components/pages/(follow)/fans/page.mjs +1 -95
  668. package/dist/components/pages/(follow)/followed/index.mjs +1 -10
  669. package/dist/components/pages/(follow)/followed/page.mjs +1 -95
  670. package/dist/components/pages/collection-add/index.mjs +1 -10
  671. package/dist/components/pages/collection-add/page.mjs +1 -161
  672. package/dist/components/pages/collection-create/form.mjs +1 -163
  673. package/dist/components/pages/collection-create/index.mjs +1 -10
  674. package/dist/components/pages/collection-create/page.mjs +1 -28
  675. package/dist/components/pages/collection-detail/_components/collection-detail-card.mjs +1 -183
  676. package/dist/components/pages/collection-detail/detail.mjs +1 -538
  677. package/dist/components/pages/collection-detail/index.mjs +1 -10
  678. package/dist/components/pages/collection-detail/page.mjs +1 -18
  679. package/dist/components/pages/edit/index.mjs +1 -10
  680. package/dist/components/pages/edit/page.mjs +1 -655
  681. package/dist/components/pages/feed-series/feed-series-client.mjs +1 -382
  682. package/dist/components/pages/feed-series/page.mjs +1 -97
  683. package/dist/components/pages/feedback/_components/feedback-form.mjs +1 -256
  684. package/dist/components/pages/feedback/index.mjs +1 -10
  685. package/dist/components/pages/feedback/page.mjs +1 -10
  686. package/dist/components/pages/fullscreen-feed/index.mjs +1 -10
  687. package/dist/components/pages/fullscreen-feed/page.mjs +1 -104
  688. package/dist/components/pages/home/channel-matcher.mjs +1 -30
  689. package/dist/components/pages/home/client.mjs +1 -155
  690. package/dist/components/pages/home/index.mjs +1 -56
  691. package/dist/components/pages/login/agreement-dialog.mjs +1 -104
  692. package/dist/components/pages/login/auth-guard.mjs +1 -37
  693. package/dist/components/pages/login/forgot.mjs +1 -130
  694. package/dist/components/pages/login/index.mjs +1 -107
  695. package/dist/components/pages/login/login-client.mjs +1 -214
  696. package/dist/components/pages/login/password.mjs +1 -186
  697. package/dist/components/pages/login/register.mjs +1 -189
  698. package/dist/components/pages/login/reset-password.mjs +1 -193
  699. package/dist/components/pages/login/verify.mjs +3 -212
  700. package/dist/components/pages/post-detail/page.mjs +1 -28
  701. package/dist/components/pages/post-detail/post-detail-client.mjs +1 -516
  702. package/dist/components/pages/profile/index.mjs +1 -10
  703. package/dist/components/pages/profile/page.mjs +1 -28
  704. package/dist/components/pages/publish/components/collection-card.mjs +1 -49
  705. package/dist/components/pages/publish/components/collection-popup.mjs +1 -81
  706. package/dist/components/pages/publish/components/collection.mjs +1 -97
  707. package/dist/components/pages/publish/components/cover-item.mjs +1 -46
  708. package/dist/components/pages/publish/components/editor.mjs +1 -208
  709. package/dist/components/pages/publish/components/header.mjs +1 -31
  710. package/dist/components/pages/publish/components/material-grid.mjs +1 -52
  711. package/dist/components/pages/publish/components/material-item.mjs +1 -68
  712. package/dist/components/pages/publish/components/toolbar.mjs +1 -39
  713. package/dist/components/pages/publish/components/upload-progress.mjs +1 -53
  714. package/dist/components/pages/publish/components/video-item.mjs +1 -36
  715. package/dist/components/pages/publish/constants.mjs +1 -8
  716. package/dist/components/pages/publish/hooks/use-file-upload.mjs +1 -162
  717. package/dist/components/pages/publish/page-client.mjs +1 -345
  718. package/dist/components/pages/publish/page.mjs +1 -11
  719. package/dist/components/pages/publish/utils/file-upload.mjs +1 -155
  720. package/dist/components/pages/publish/utils/publish-utils.mjs +1 -11
  721. package/dist/components/pages/search/hot-recommend.mjs +1 -185
  722. package/dist/components/pages/search/hot-search.mjs +1 -70
  723. package/dist/components/pages/search/index.mjs +1 -17
  724. package/dist/components/pages/search/page-client.mjs +1 -159
  725. package/dist/components/pages/search/search-result/index.mjs +1 -22
  726. package/dist/components/pages/search/search-result/search-all.mjs +1 -223
  727. package/dist/components/pages/search/search-result/search-user.mjs +1 -203
  728. package/dist/components/pages/search/search-result/search-video-info.mjs +1 -324
  729. package/dist/components/pages/search/search-utils.mjs +1 -48
  730. package/dist/components/pages/search/style.module.mjs +113 -13
  731. package/dist/components/pages/search/top-header.mjs +1 -91
  732. package/dist/components/pages/search-result/page-client.mjs +1 -117
  733. package/dist/components/pages/search-result/search-all.mjs +1 -82
  734. package/dist/components/pages/search-result/search-result-skeleton.mjs +1 -22
  735. package/dist/components/pages/search-result/search-tab.mjs +1 -89
  736. package/dist/components/pages/search-result/search-user.mjs +1 -253
  737. package/dist/components/pages/search-result/search-video.mjs +1 -226
  738. package/dist/components/pages/settings/_components/reset-password-drawer.mjs +4 -256
  739. package/dist/components/pages/settings/_components/settings.mjs +1 -183
  740. package/dist/components/pages/settings/index.mjs +1 -10
  741. package/dist/components/pages/settings/page.mjs +1 -13
  742. package/dist/components/pages/user-follow/_components/follow-no-login.mjs +1 -34
  743. package/dist/components/pages/user-follow/_components/follow-top-header.mjs +1 -25
  744. package/dist/components/pages/user-follow/_components/post-tab.mjs +1 -96
  745. package/dist/components/pages/user-follow/index.mjs +1 -10
  746. package/dist/components/pages/user-follow/page.mjs +1 -106
  747. package/dist/components/pages/user-follow/skeleton.mjs +1 -62
  748. package/dist/components/pages/video-detail/page.mjs +1 -47
  749. package/dist/components/pages/video-detail/video-detail-client.mjs +1 -357
  750. package/dist/components/pages/video-list/index.mjs +1 -59
  751. package/dist/components/pages/video-list/types.mjs +1 -16
  752. package/dist/components/pages/video-list/video-list-client.mjs +1 -106
  753. package/dist/components/pages/video-list/video-list-item.mjs +1 -92
  754. package/dist/components/pages/video-list/video-list-skeleton.mjs +1 -62
  755. package/dist/components/ui/accordion.mjs +1 -62
  756. package/dist/components/ui/alert-dialog.mjs +1 -114
  757. package/dist/components/ui/alert.mjs +1 -50
  758. package/dist/components/ui/aspect-ratio.mjs +1 -17
  759. package/dist/components/ui/avatar.mjs +1 -106
  760. package/dist/components/ui/badge.d.mts +1 -1
  761. package/dist/components/ui/badge.mjs +1 -38
  762. package/dist/components/ui/box.mjs +1 -17
  763. package/dist/components/ui/breadcrumb.mjs +1 -84
  764. package/dist/components/ui/button-group.d.mts +1 -1
  765. package/dist/components/ui/button-group.mjs +1 -49
  766. package/dist/components/ui/button.d.mts +1 -1
  767. package/dist/components/ui/button.mjs +1 -50
  768. package/dist/components/ui/card.mjs +1 -65
  769. package/dist/components/ui/carousel.mjs +1 -142
  770. package/dist/components/ui/checkbox.mjs +1 -25
  771. package/dist/components/ui/collapsible.mjs +1 -31
  772. package/dist/components/ui/combobox.mjs +1 -185
  773. package/dist/components/ui/context-menu.mjs +1 -150
  774. package/dist/components/ui/dialog.mjs +1 -109
  775. package/dist/components/ui/drawer.mjs +1 -91
  776. package/dist/components/ui/dropdown-menu.mjs +1 -154
  777. package/dist/components/ui/empty-icons.mjs +7 -96
  778. package/dist/components/ui/empty.mjs +1 -95
  779. package/dist/components/ui/field.d.mts +1 -1
  780. package/dist/components/ui/field.mjs +1 -131
  781. package/dist/components/ui/hover-card.mjs +1 -43
  782. package/dist/components/ui/image.d.mts +4 -4
  783. package/dist/components/ui/image.mjs +1 -257
  784. package/dist/components/ui/infinite-scroll.mjs +1 -168
  785. package/dist/components/ui/input-group.mjs +1 -90
  786. package/dist/components/ui/input.mjs +1 -19
  787. package/dist/components/ui/item.mjs +1 -137
  788. package/dist/components/ui/kbd.mjs +1 -24
  789. package/dist/components/ui/label.mjs +1 -18
  790. package/dist/components/ui/legacy/badge.mjs +1 -80
  791. package/dist/components/ui/legacy/button.mjs +1 -55
  792. package/dist/components/ui/legacy/input.mjs +1 -22
  793. package/dist/components/ui/legacy/popover.mjs +1 -69
  794. package/dist/components/ui/link.mjs +1 -32
  795. package/dist/components/ui/list.mjs +5 -221
  796. package/dist/components/ui/loading.mjs +1 -44
  797. package/dist/components/ui/mask.mjs +1 -17
  798. package/dist/components/ui/menubar.mjs +1 -154
  799. package/dist/components/ui/native-select.mjs +1 -43
  800. package/dist/components/ui/pagination.mjs +1 -90
  801. package/dist/components/ui/popover.mjs +1 -73
  802. package/dist/components/ui/popup.mjs +1 -44
  803. package/dist/components/ui/progress.mjs +1 -53
  804. package/dist/components/ui/radio-group.mjs +1 -34
  805. package/dist/components/ui/rate.mjs +1 -69
  806. package/dist/components/ui/scroll-area.mjs +1 -43
  807. package/dist/components/ui/select.mjs +1 -113
  808. package/dist/components/ui/separator.mjs +1 -20
  809. package/dist/components/ui/sheet.mjs +1 -109
  810. package/dist/components/ui/skeleton.mjs +1 -16
  811. package/dist/components/ui/slider.mjs +1 -46
  812. package/dist/components/ui/sonner.mjs +1 -34
  813. package/dist/components/ui/spinner.mjs +1 -18
  814. package/dist/components/ui/switch.mjs +1 -65
  815. package/dist/components/ui/table.mjs +1 -78
  816. package/dist/components/ui/tabs.mjs +1 -54
  817. package/dist/components/ui/text.mjs +1 -20
  818. package/dist/components/ui/textarea.mjs +1 -16
  819. package/dist/components/ui/time.mjs +1 -91
  820. package/dist/components/ui/toggle-group.mjs +1 -59
  821. package/dist/components/ui/toggle.mjs +1 -41
  822. package/dist/components/ui/tooltip.mjs +1 -49
  823. package/dist/components/ui/wheel-picker.mjs +1 -28
  824. package/dist/constants/event-key.mjs +1 -18
  825. package/dist/constants/query-key.mjs +1 -32
  826. package/dist/constants/revalidate.mjs +1 -9
  827. package/dist/constants/site.mjs +1 -11
  828. package/dist/constants/url-prefix.mjs +1 -11
  829. package/dist/hooks/image-text-recommend.mjs +1 -71
  830. package/dist/hooks/query/hydration-boundary.mjs +1 -34
  831. package/dist/hooks/query/use-query.mjs +1 -114
  832. package/dist/hooks/use-auth.mjs +1 -198
  833. package/dist/hooks/use-browse-report.mjs +1 -466
  834. package/dist/hooks/use-card-decoration.mjs +1 -92
  835. package/dist/hooks/use-content-operate.mjs +1 -525
  836. package/dist/hooks/use-follow.mjs +1 -69
  837. package/dist/hooks/use-fullscreen-gestures.mjs +1 -144
  838. package/dist/hooks/use-interaction-animation.mjs +1 -26
  839. package/dist/hooks/use-keyboard-open.mjs +1 -56
  840. package/dist/hooks/use-like-dislike.mjs +1 -40
  841. package/dist/hooks/use-search-history.mjs +1 -53
  842. package/dist/hooks/use-sticky.mjs +1 -50
  843. package/dist/hooks.mjs +1 -14
  844. package/dist/i18n/locales/en.mjs +3 -820
  845. package/dist/i18n/locales/zh-CN.mjs +3 -820
  846. package/dist/i18n/messages.mjs +1 -20
  847. package/dist/i18n/translator.mjs +1 -38
  848. package/dist/i18n.mjs +1 -165
  849. package/dist/materials.mjs +1 -61
  850. package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +1 -17
  851. package/dist/pages.mjs +1 -23
  852. package/dist/seo/build-metadata.mjs +1 -163
  853. package/dist/seo/config/index.mjs +1 -22
  854. package/dist/seo/config/page.mjs +6 -301
  855. package/dist/seo/config/site.mjs +1 -25
  856. package/dist/seo/constants.mjs +1 -31
  857. package/dist/seo/helpers.mjs +1 -120
  858. package/dist/seo/resource-hints.mjs +1 -60
  859. package/dist/seo/robots.mjs +1 -36
  860. package/dist/seo/sitemap.mjs +1 -44
  861. package/dist/seo/structured-data/article.mjs +1 -51
  862. package/dist/seo/structured-data/common.mjs +1 -60
  863. package/dist/seo/structured-data/video.mjs +1 -41
  864. package/dist/seo/viewport.mjs +1 -31
  865. package/dist/seo.mjs +1 -15
  866. package/dist/service/generated/client.mjs +1 -1138
  867. package/dist/service/generated/tanstack.mjs +1 -1049
  868. package/dist/service/register-by-verify-email-code.d.mts +15 -0
  869. package/dist/service/register-by-verify-email-code.mjs +2 -0
  870. package/dist/service.d.mts +2 -1
  871. package/dist/service.mjs +1 -4
  872. package/dist/store/create-store.mjs +1 -25
  873. package/dist/store/modules/app-config-store.mjs +1 -28
  874. package/dist/store/modules/blocked-modal-store.mjs +1 -30
  875. package/dist/store/modules/follow-ids-store.mjs +1 -12
  876. package/dist/store/modules/login-modal-store.mjs +1 -155
  877. package/dist/store/modules/media-preview-store.mjs +1 -54
  878. package/dist/store/modules/publish-store.mjs +1 -31
  879. package/dist/store/modules/use-demo-store.mjs +1 -17
  880. package/dist/store/modules/user-store.mjs +1 -113
  881. package/dist/store.mjs +1 -10
  882. package/dist/types/safe-at-user.mjs +1 -15
  883. package/dist/types/safe-comment.mjs +1 -30
  884. package/dist/types/safe-grid.mjs +1 -36
  885. package/dist/types/safe-replay.mjs +1 -43
  886. package/dist/types/share.mjs +1 -16
  887. package/dist/ui.mjs +1 -57
  888. package/dist/utils/api-collect.mjs +1 -14
  889. package/dist/utils/channel-storage.mjs +1 -57
  890. package/dist/utils/cn.mjs +1 -15
  891. package/dist/utils/common.mjs +1 -296
  892. package/dist/utils/db.mjs +1 -80
  893. package/dist/utils/decrypt-image-client.mjs +1 -325
  894. package/dist/utils/decrypt.worker.mjs +2 -20
  895. package/dist/utils/event-bus.mjs +1 -33
  896. package/dist/utils/follow-service.mjs +1 -87
  897. package/dist/utils/get-res-url.mjs +1 -94
  898. package/dist/utils/helper.mjs +1 -33
  899. package/dist/utils/http.mjs +1 -194
  900. package/dist/utils/image-compression.mjs +1 -59
  901. package/dist/utils/image-crop.mjs +1 -110
  902. package/dist/utils/loaders.mjs +1 -51
  903. package/dist/utils/login-modal-bridge.mjs +1 -65
  904. package/dist/utils/media.mjs +1 -128
  905. package/dist/utils/password-validator.mjs +1 -86
  906. package/dist/utils/s3-uploader.mjs +1 -40
  907. package/dist/utils/schema/material.mjs +1 -24
  908. package/dist/utils/schema/schema.mjs +1 -147
  909. package/dist/utils/schema/utils.mjs +1 -27
  910. package/dist/utils/share-manager.mjs +1 -183
  911. package/dist/utils/tools.mjs +1 -105
  912. package/dist/utils/uint8.mjs +1 -46
  913. package/dist/utils/upload-file.mjs +1 -429
  914. package/dist/utils.mjs +1 -21
  915. package/package.json +1 -1
  916. package/dist/components/biz/business/banner-carousel/schema.d.mts +0 -28
  917. package/dist/components/biz/business/banner-carousel/server.d.mts +0 -18
  918. package/dist/components/biz/business/channel-list/client.d.mts +0 -8
  919. package/dist/components/biz/business/channel-list/schema.d.mts +0 -30
  920. package/dist/components/biz/business/shortcut-grid/client.d.mts +0 -12
  921. package/dist/components/biz/business/shortcut-grid/schema.d.mts +0 -26
  922. package/dist/components/biz/business/shortcut-grid/server.d.mts +0 -11
@@ -1,773 +1,6 @@
1
1
 
2
- 'use client';
3
-
4
- import { cn } from "../../../../utils/cn.mjs";
5
- import { getAtUserElement, stripHtmlTags } from "../../../../utils/common.mjs";
6
- import { useUserStore } from "../../../../store/modules/user-store.mjs";
7
- import { createInputAndSelectFile, getCoverImage, getImageResolutionFromFile } from "../../../../utils/media.mjs";
8
- import { uploadFile } from "../../../../utils/upload-file.mjs";
9
- import { Image } from "../../../ui/image.mjs";
10
- import { Dialog, DialogContent } from "../../../ui/dialog.mjs";
11
- import { useLoginModalStore } from "../../../../store/modules/login-modal-store.mjs";
12
- import SvgClose from "../../../../assets/icons/close.mjs";
13
- import SvgVideoPlay from "../../../../assets/icons/detail/video_play.mjs";
14
- import SvgCommetAt from "../../../../assets/icons/detail/commet_at.mjs";
15
- import SvgPublishPic from "../../../../assets/icons/detail/publish_pic.mjs";
16
- import SvgPublishVideo from "../../../../assets/icons/detail/publish_video.mjs";
17
- import { UploadProgress } from "../../../pages/publish/components/upload-progress.mjs";
18
- import { ContactList } from "../contact/contact-list.mjs";
19
- import { useKeyboardHandler } from "./use-keyboard-handler.mjs";
20
- import { memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
21
- import { jsx, jsxs } from "react/jsx-runtime";
22
- import { toast } from "sonner";
23
- import { useTranslations } from "next-intl";
24
-
25
- //#region components/biz/business/comment/comment-input.tsx
26
- const MAX_IMAGE_COUNT = 9;
27
- /**
28
- * 从剪贴板事件中提取纯文本内容。
29
- * - 优先读取 `text/plain`
30
- * - 若为空则尝试从 `text/html` 解析出文本(忽略富文本样式)
31
- */
32
- function getPlainTextFromClipboard(event) {
33
- const clipboardData = event.clipboardData;
34
- if (!clipboardData) return "";
35
- const plain = clipboardData.getData("text/plain");
36
- if (plain) return plain;
37
- const html = clipboardData.getData("text/html");
38
- if (!html) return "";
39
- try {
40
- return new DOMParser().parseFromString(html, "text/html").body.textContent || "";
41
- } catch {
42
- return "";
43
- }
44
- }
45
- /**
46
- * 按最大字符数截断文本:换行不计入长度(与 stripHtmlTags 对 `<br>` 的行为保持一致)。
47
- */
48
- function truncateTextIgnoringNewlines(text, maxLength) {
49
- if (maxLength <= 0) return "";
50
- let length = 0;
51
- let result = "";
52
- for (const char of text) {
53
- if (char !== "\n") {
54
- length++;
55
- if (length > maxLength) break;
56
- }
57
- result += char;
58
- }
59
- return result;
60
- }
61
- /**
62
- * 将纯文本按当前光标位置插入到 contentEditable 中,并支持换行。
63
- */
64
- function insertPlainTextAtSelection(editable, text) {
65
- if (!text) return;
66
- const selection = window.getSelection();
67
- let range = null;
68
- if (selection && selection.rangeCount > 0) range = selection.getRangeAt(0);
69
- if (!range || !editable.contains(range.commonAncestorContainer)) {
70
- editable.focus();
71
- range = document.createRange();
72
- range.selectNodeContents(editable);
73
- range.collapse(false);
74
- }
75
- range.deleteContents();
76
- const fragment = document.createDocumentFragment();
77
- const lines = text.split("\n");
78
- lines.forEach((line, index) => {
79
- if (line) fragment.appendChild(document.createTextNode(line));
80
- if (index < lines.length - 1) fragment.appendChild(document.createElement("br"));
81
- });
82
- const lastNode = fragment.lastChild;
83
- range.insertNode(fragment);
84
- if (selection && lastNode) {
85
- const nextRange = document.createRange();
86
- nextRange.setStartAfter(lastNode);
87
- nextRange.collapse(true);
88
- selection.removeAllRanges();
89
- selection.addRange(nextRange);
90
- }
91
- }
92
- /**
93
- * 内容输入框中不允许出现的媒体元素。
94
- * - 主要用于兜底处理:某些浏览器/设备在粘贴图片时不会触发 onPaste,导致图片直接插入 contentEditable。
95
- */
96
- const DISALLOWED_MEDIA_SELECTOR = "img,video,audio,iframe,object,embed,svg,canvas";
97
- /**
98
- * 评论图片/视频预览条(按 web-monorepo `comment-input` 的样式迁移)。
99
- */
100
- const CommentUploadGroup = memo(({ imageVideoInfoList, onDelete, variant = "dark" }) => {
101
- if (imageVideoInfoList.length === 0) return null;
102
- const isLight = variant === "light";
103
- return /* @__PURE__ */ jsx("div", {
104
- className: cn("w-full overflow-hidden", isLight ? "px-4" : "h-[76px] px-[16px]"),
105
- children: /* @__PURE__ */ jsx("div", {
106
- className: cn(isLight ? "flex items-center gap-3 overflow-x-auto py-3" : "w-full h-[calc(100%+60px)] pb-[60px] overflow-x-auto flex items-center flex-nowrap"),
107
- children: imageVideoInfoList.map((item, index) => {
108
- const src = item.is_video ? item.cover_image || item.image_url : item.image_url || item.cover_image;
109
- return /* @__PURE__ */ jsxs("div", {
110
- className: cn("w-[60px] h-[60px] rounded-[8px] overflow-hidden shrink-0 flex items-center justify-center bg-bg2 relative", !isLight && index > 0 && "ml-[12px]"),
111
- onClick: (event) => {
112
- if (event.target.closest("[data-delete-button]")) event.stopPropagation();
113
- },
114
- children: [
115
- src && /* @__PURE__ */ jsx(Image, {
116
- src,
117
- alt: "media",
118
- fill: true,
119
- objectFit: "cover"
120
- }),
121
- /* @__PURE__ */ jsx("button", {
122
- type: "button",
123
- className: "cursor-pointer absolute top-0 right-0 p-[4px] z-[1]",
124
- "data-delete-button": "true",
125
- onClick: () => onDelete(index),
126
- children: /* @__PURE__ */ jsx(SvgClose, { className: "w-[12px] h-[12px] text-[#fff] drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)]" })
127
- }),
128
- item.is_video && /* @__PURE__ */ jsx("div", {
129
- className: "absolute w-[24px] h-[24px] rounded-[12px] bg-[rgba(0,0,0,0.5)] top-0 right-0 bottom-0 left-0 m-auto flex items-center justify-center",
130
- children: /* @__PURE__ */ jsx(SvgVideoPlay, { className: "w-[12px] h-[12px] text-[#fff]" })
131
- })
132
- ]
133
- }, `${item.is_video ? "video" : "image"}-${index}`);
134
- })
135
- })
136
- });
137
- });
138
- CommentUploadGroup.displayName = "CommentUploadGroup";
139
- /**
140
- * 评论输入框底部工具栏按钮(图片/视频/@)。
141
- */
142
- function CommentToolbarButton({ disabled, onClick, children, variant = "dark" }) {
143
- return /* @__PURE__ */ jsx("button", {
144
- type: "button",
145
- className: cn("flex h-12 flex-1 items-center justify-center", variant === "light" ? "text-text2 hover:bg-bg2/60" : "text-white hover:bg-white/10", disabled && "opacity-40"),
146
- disabled,
147
- onClick,
148
- children
149
- });
150
- }
151
- /**
152
- * 评论输入框(参考 web-monorepo `src/components/comment-input/index.tsx`)。
153
- * 仅负责输入/上传/@插入与发布回调,实际发布逻辑由外层 CommentList 处理。
154
- */
155
- function CommentInput({ ref, value = "", onChange, onPublish, onInputBlur, placeholder = "", className = "", maxLength = 200, publishText = "", autoFocus, disabled, onRequireLogin, variant = "dark" }) {
156
- const t = useTranslations("components.biz.business.comment");
157
- const isLight = variant === "light";
158
- const resolvedPublishText = publishText || t("commentInput.publishDefault");
159
- const resolvedPlaceholder = useMemo(() => {
160
- const text = placeholder || t("commentInput.placeholder");
161
- return text.length > 15 ? `${text.slice(0, 15)}...` : text;
162
- }, [placeholder, t]);
163
- const [inputValue, setInputValue] = useState(value);
164
- const [showToolbar, setShowToolbar] = useState(false);
165
- const [enableKeyboardDetection, setEnableKeyboardDetection] = useState(false);
166
- const containerRef = useRef(null);
167
- const textareaRef = useRef(null);
168
- const focusingRef = useRef(false);
169
- const lastFocusTimeRef = useRef(0);
170
- const lastDisallowedToastTimeRef = useRef(0);
171
- const [imageVideoInfoList, setImageVideoInfoList] = useState([]);
172
- const [visibleContact, setVisibleContact] = useState(false);
173
- const [uploadProgress, setUploadProgress] = useState(null);
174
- const [isPublishing, setIsPublishing] = useState(false);
175
- const isInputDisabled = disabled || isPublishing;
176
- const { isLogin } = useUserStore();
177
- const { open } = useLoginModalStore();
178
- const { containerStyle, onFocus: keyboardOnFocus, onBlur: keyboardOnBlur, inputRef } = useKeyboardHandler(enableKeyboardDetection);
179
- /**
180
- * 未登录时触发登录流程。
181
- */
182
- const handleRequireLogin = useCallback(() => {
183
- if (onRequireLogin) onRequireLogin();
184
- else open();
185
- }, [onRequireLogin, open]);
186
- useEffect(() => {
187
- if (textareaRef.current && value) textareaRef.current.innerHTML = value;
188
- }, [value]);
189
- useEffect(() => {
190
- if (typeof window === "undefined") return;
191
- window.dispatchEvent(new CustomEvent("funhub:visible-contact-change", { detail: { visible: visibleContact } }));
192
- }, [visibleContact]);
193
- useEffect(() => {
194
- if (!autoFocus || !textareaRef.current) return;
195
- if (!isLogin) {
196
- handleRequireLogin();
197
- return;
198
- }
199
- textareaRef.current.focus();
200
- setShowToolbar(true);
201
- }, [
202
- autoFocus,
203
- handleRequireLogin,
204
- isLogin
205
- ]);
206
- useEffect(() => {
207
- const handleDocumentClick = (event) => {
208
- const target = event.target;
209
- const isDeleteButton = target.closest("[data-delete-button]");
210
- const isInput = target.tagName === "INPUT" || target.tagName === "TEXTAREA";
211
- if (isDeleteButton || isInput) return;
212
- if (!containerRef.current?.contains(target)) {
213
- if (Date.now() - lastFocusTimeRef.current > 100) setShowToolbar(false);
214
- }
215
- };
216
- document.addEventListener("click", handleDocumentClick);
217
- return () => document.removeEventListener("click", handleDocumentClick);
218
- }, []);
219
- useImperativeHandle(ref, () => ({ focus: () => {
220
- const element = textareaRef.current;
221
- if (!element || focusingRef.current) return;
222
- focusingRef.current = true;
223
- try {
224
- if (!isLogin) {
225
- handleRequireLogin();
226
- return;
227
- }
228
- if (document.activeElement === element && showToolbar) return;
229
- element.focus();
230
- lastFocusTimeRef.current = Date.now();
231
- setShowToolbar(true);
232
- if (!enableKeyboardDetection) setEnableKeyboardDetection(true);
233
- keyboardOnFocus();
234
- } catch (error) {
235
- console.warn("CommentInput focus error", error);
236
- setShowToolbar(true);
237
- } finally {
238
- focusingRef.current = false;
239
- }
240
- } }), [
241
- enableKeyboardDetection,
242
- handleRequireLogin,
243
- isLogin,
244
- keyboardOnFocus,
245
- showToolbar
246
- ]);
247
- const resetLastTime = () => {
248
- lastFocusTimeRef.current = Date.now();
249
- };
250
- const moveCursorToEnd = useCallback(() => {
251
- if (!textareaRef.current) return;
252
- const range = document.createRange();
253
- const selection = window.getSelection();
254
- range.selectNodeContents(textareaRef.current);
255
- range.collapse(false);
256
- selection?.removeAllRanges();
257
- selection?.addRange(range);
258
- }, []);
259
- const setEditDivContent = useCallback((text) => {
260
- if (textareaRef.current) textareaRef.current.innerHTML = text;
261
- }, []);
262
- /**
263
- * 兜底拦截:如果输入框内被插入了媒体元素(如粘贴图片),立即移除并提示。
264
- */
265
- const stripDisallowedMediaElements = useCallback((editable) => {
266
- const mediaElements = editable.querySelectorAll(DISALLOWED_MEDIA_SELECTOR);
267
- if (mediaElements.length === 0) return false;
268
- mediaElements.forEach((node) => node.remove());
269
- const now = Date.now();
270
- if (now - lastDisallowedToastTimeRef.current > 1500) {
271
- lastDisallowedToastTimeRef.current = now;
272
- toast.info(t("commentInput.pasteFileNotSupported"));
273
- }
274
- return true;
275
- }, [t]);
276
- /**
277
- * 粘贴时仅允许纯文本:过滤/转换剪贴板富文本内容,避免将样式 HTML 注入到输入框。
278
- */
279
- const handlePaste = useCallback((event) => {
280
- const editable = textareaRef.current;
281
- if (!editable) return;
282
- if (isInputDisabled) {
283
- event.preventDefault();
284
- return;
285
- }
286
- if (!isLogin) {
287
- event.preventDefault();
288
- handleRequireLogin();
289
- editable.blur();
290
- return;
291
- }
292
- const clipboardData = event.clipboardData;
293
- if (!!clipboardData && Array.from(clipboardData.items || []).some((item) => item.kind === "file")) {
294
- event.preventDefault();
295
- event.stopPropagation();
296
- toast.info(t("commentInput.pasteFileNotSupported"));
297
- return;
298
- }
299
- const rawText = getPlainTextFromClipboard(event);
300
- if (!rawText) {
301
- event.preventDefault();
302
- return;
303
- }
304
- event.preventDefault();
305
- event.stopPropagation();
306
- const normalizedText = rawText.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
307
- const currentLength = stripHtmlTags(editable.innerHTML || "").length;
308
- const remaining = maxLength ? Math.max(0, maxLength - currentLength) : Infinity;
309
- if (remaining <= 0) return;
310
- insertPlainTextAtSelection(editable, Number.isFinite(remaining) ? truncateTextIgnoringNewlines(normalizedText, remaining) : normalizedText);
311
- stripDisallowedMediaElements(editable);
312
- const nextHtml = editable.innerHTML || "";
313
- setInputValue(nextHtml);
314
- onChange?.(nextHtml);
315
- }, [
316
- handleRequireLogin,
317
- isInputDisabled,
318
- isLogin,
319
- maxLength,
320
- onChange,
321
- stripDisallowedMediaElements,
322
- t
323
- ]);
324
- const handleInputChange = useCallback((event) => {
325
- let html = event.currentTarget.innerHTML || "";
326
- if (stripDisallowedMediaElements(event.currentTarget)) html = event.currentTarget.innerHTML || "";
327
- const realValue = stripHtmlTags(html);
328
- if (maxLength && realValue.length > maxLength) {
329
- html = html.substring(0, maxLength);
330
- setEditDivContent(html);
331
- moveCursorToEnd();
332
- }
333
- setInputValue(html);
334
- onChange?.(html);
335
- }, [
336
- maxLength,
337
- moveCursorToEnd,
338
- onChange,
339
- setEditDivContent,
340
- stripDisallowedMediaElements
341
- ]);
342
- /**
343
- * 禁止拖拽/放入文件到 contentEditable,避免出现直接插入图片的情况。
344
- */
345
- const handleDrop = useCallback((event) => {
346
- event.preventDefault();
347
- event.stopPropagation();
348
- const files = event.dataTransfer?.files;
349
- if (files && files.length > 0) toast.info(t("commentInput.dragFileNotSupported"));
350
- }, [t]);
351
- const handleDragOver = useCallback((event) => {
352
- event.preventDefault();
353
- }, []);
354
- const handleFocus = () => {
355
- if (isInputDisabled) return;
356
- if (!isLogin) {
357
- handleRequireLogin();
358
- textareaRef.current?.blur();
359
- return;
360
- }
361
- lastFocusTimeRef.current = Date.now();
362
- setShowToolbar(true);
363
- if (!enableKeyboardDetection) setEnableKeyboardDetection(true);
364
- keyboardOnFocus();
365
- };
366
- /**
367
- * 已聚焦但 toolbar 被关闭时,点击输入区域强制拉起 toolbar。
368
- */
369
- const handleInputClick = () => {
370
- if (isInputDisabled) {
371
- if (isPublishing) toast.info(t("commentInput.publishing"));
372
- return;
373
- }
374
- if (!isLogin) {
375
- handleRequireLogin();
376
- textareaRef.current?.blur();
377
- return;
378
- }
379
- lastFocusTimeRef.current = Date.now();
380
- if (!showToolbar) setShowToolbar(true);
381
- if (!enableKeyboardDetection) setEnableKeyboardDetection(true);
382
- keyboardOnFocus();
383
- };
384
- const handleBlur = () => {
385
- setTimeout(() => {
386
- if (Date.now() - lastFocusTimeRef.current > 200 && document.activeElement !== textareaRef.current) {
387
- setShowToolbar(false);
388
- onInputBlur?.();
389
- }
390
- }, 150);
391
- keyboardOnBlur();
392
- };
393
- const clearAllState = useCallback(() => {
394
- setInputValue("");
395
- setEditDivContent("");
396
- setImageVideoInfoList([]);
397
- setShowToolbar(false);
398
- }, [setEditDivContent]);
399
- const isInputEmpty = useMemo(() => stripHtmlTags(inputValue).trim().length === 0, [inputValue]);
400
- const isPublishEnabled = useMemo(() => {
401
- return !isInputEmpty || imageVideoInfoList.length > 0;
402
- }, [imageVideoInfoList.length, isInputEmpty]);
403
- const handleImageFileChange = useCallback(async () => {
404
- if (!isLogin) {
405
- handleRequireLogin();
406
- return;
407
- }
408
- if (imageVideoInfoList.some((item) => item.is_video)) return;
409
- const files = await createInputAndSelectFile("file", "image/*");
410
- if (!files || files.length === 0) return;
411
- const availableSlots = MAX_IMAGE_COUNT - imageVideoInfoList.length;
412
- const sliceFiles = Array.from(files).slice(0, availableSlots);
413
- if (sliceFiles.length === 0) return;
414
- const successList = [];
415
- let failed = 0;
416
- const total = sliceFiles.length;
417
- try {
418
- for (let i = 0; i < sliceFiles.length; i++) {
419
- const file = sliceFiles[i];
420
- setUploadProgress({
421
- currentFiles: successList.length,
422
- totalFiles: total,
423
- currentTasks: successList.length + failed,
424
- totalTasks: total
425
- });
426
- try {
427
- const { width, height } = await getImageResolutionFromFile(file);
428
- const result = await uploadFile(file, 1, true);
429
- successList.push({
430
- cover_image: "",
431
- cover_image_thumbnail: "",
432
- cover_image_radio: 1,
433
- cover_image_resolution: "",
434
- image_url: result.objectKey,
435
- image_thumbnail: result.objectKey,
436
- image_radio: Number((width / height).toFixed(2)),
437
- image_resolution: `${width}x${height}`,
438
- is_video: false,
439
- resolution: `${width}x${height}`,
440
- video_duration: 0,
441
- video_url: "",
442
- video_size: 0,
443
- video_codec_info: {
444
- hls_info: [],
445
- video_codec_deal: false
446
- }
447
- });
448
- } catch (error) {
449
- console.error("上传图片失败", error);
450
- failed += 1;
451
- }
452
- }
453
- if (successList.length === 0) toast.error(t("commentInput.imageUploadFailed"));
454
- else {
455
- if (failed > 0) toast.warning(t("commentInput.partialImageUploadFailed"));
456
- setImageVideoInfoList((prev) => [...prev, ...successList]);
457
- }
458
- } finally {
459
- setUploadProgress(null);
460
- }
461
- }, [
462
- handleRequireLogin,
463
- imageVideoInfoList,
464
- isLogin,
465
- t
466
- ]);
467
- const handleVideoFileChange = useCallback(async () => {
468
- if (!isLogin) {
469
- handleRequireLogin();
470
- return;
471
- }
472
- if (imageVideoInfoList.length > 0) {
473
- toast.error(t("commentInput.cannotSelectVideoWhenImageSelected"));
474
- return;
475
- }
476
- const files = await createInputAndSelectFile("file", "video/*");
477
- if (!files || files.length === 0) return;
478
- const file = files[0];
479
- try {
480
- setUploadProgress({
481
- currentFiles: 0,
482
- totalFiles: 1,
483
- currentTasks: 0,
484
- totalTasks: 2
485
- });
486
- const videoResult = await uploadFile(file, 2, false);
487
- const [coverFile, width, height, duration] = await getCoverImage(file);
488
- setUploadProgress({
489
- currentFiles: 0,
490
- totalFiles: 1,
491
- currentTasks: 1,
492
- totalTasks: 2
493
- });
494
- const coverUploadResult = await uploadFile(coverFile, 1, true);
495
- setImageVideoInfoList([{
496
- cover_image: coverUploadResult.objectKey,
497
- cover_image_thumbnail: coverUploadResult.objectKey,
498
- cover_image_radio: Number((width / height).toFixed(2)),
499
- cover_image_resolution: `${width}x${height}`,
500
- image_url: coverUploadResult.objectKey,
501
- image_thumbnail: coverUploadResult.objectKey,
502
- image_radio: Number((width / height).toFixed(2)),
503
- image_resolution: `${width}x${height}`,
504
- is_video: true,
505
- resolution: `${width}x${height}`,
506
- video_duration: duration,
507
- video_url: videoResult.objectKey,
508
- video_size: file.size,
509
- video_codec_info: {
510
- hls_info: [],
511
- video_codec_deal: false
512
- }
513
- }]);
514
- } catch (error) {
515
- console.error("视频上传失败", error);
516
- toast.error(t("commentInput.videoUploadFailed"));
517
- } finally {
518
- setUploadProgress(null);
519
- }
520
- }, [
521
- handleRequireLogin,
522
- imageVideoInfoList.length,
523
- isLogin,
524
- t
525
- ]);
526
- const handlePublish = useCallback(async (event) => {
527
- event.preventDefault();
528
- event.stopPropagation();
529
- if (!isPublishEnabled || disabled || isPublishing) return;
530
- if (!isLogin) {
531
- if (onRequireLogin) onRequireLogin();
532
- else open();
533
- return;
534
- }
535
- try {
536
- setIsPublishing(true);
537
- const result = await onPublish?.({
538
- text: inputValue === "<br>" ? "" : inputValue,
539
- imageVideoInfoList
540
- });
541
- if (result && result.success === false) {
542
- if (!result.toastHandled) toast.error(result.message || "发布评论失败");
543
- return;
544
- }
545
- toast.success(t("commentInput.publishSuccess"));
546
- clearAllState();
547
- onChange?.("");
548
- } catch (error) {
549
- console.error("发布评论失败:", error);
550
- toast.error(t("commentInput.publishCommentFailed"));
551
- } finally {
552
- setIsPublishing(false);
553
- }
554
- }, [
555
- clearAllState,
556
- disabled,
557
- imageVideoInfoList,
558
- inputValue,
559
- isLogin,
560
- isPublishEnabled,
561
- isPublishing,
562
- onChange,
563
- onPublish,
564
- onRequireLogin,
565
- open,
566
- t
567
- ]);
568
- const canSelectImage = useMemo(() => {
569
- return !imageVideoInfoList.some((item) => item.is_video) && imageVideoInfoList.length < MAX_IMAGE_COUNT;
570
- }, [imageVideoInfoList]);
571
- const canSelectVideo = useMemo(() => imageVideoInfoList.length === 0, [imageVideoInfoList.length]);
572
- const handleSelectContact = useCallback((contact) => {
573
- setVisibleContact(false);
574
- const nextValue = `${stripHtmlTags(inputValue).trim().length === 0 ? "" : inputValue}${getAtUserElement(contact)} `;
575
- setInputValue(nextValue);
576
- setEditDivContent(nextValue);
577
- setTimeout(() => {
578
- moveCursorToEnd();
579
- }, 16);
580
- }, [
581
- inputValue,
582
- moveCursorToEnd,
583
- setEditDivContent
584
- ]);
585
- /**
586
- * 联系人弹窗开关回调。
587
- */
588
- function handleContactDialogChange(next) {
589
- setVisibleContact(next);
590
- }
591
- /**
592
- * 关闭联系人弹窗。
593
- */
594
- function handleCloseContact() {
595
- setVisibleContact(false);
596
- }
597
- const publishButton = /* @__PURE__ */ jsx("button", {
598
- type: "button",
599
- className: cn("shrink-0 whitespace-nowrap rounded-full px-4 py-2 text-sm font-medium", isPublishEnabled && !isPublishing ? "bg-theme5 text-white" : "bg-bg2 text-text3"),
600
- onClick: handlePublish,
601
- disabled: !isPublishEnabled || isInputDisabled,
602
- children: isPublishing ? t("commentInput.publishing") : resolvedPublishText
603
- });
604
- const darkPublishButton = /* @__PURE__ */ jsx("button", {
605
- type: "button",
606
- className: cn("ml-[14px] shrink-0 whitespace-nowrap px-[14px] py-[10px] text-[16px] leading-[16px]", isPublishEnabled && !isPublishing ? "text-theme5" : "text-text3"),
607
- onClick: handlePublish,
608
- disabled: !isPublishEnabled || isInputDisabled,
609
- children: isPublishing ? t("commentInput.publishing") : resolvedPublishText
610
- });
611
- const publishingHint = isPublishing ? /* @__PURE__ */ jsx("span", {
612
- className: cn("ml-[14px] text-[16px] leading-[16px] text-text3"),
613
- children: t("commentInput.publishing")
614
- }) : null;
615
- const finalStyle = isLight ? containerStyle : {
616
- ...containerStyle,
617
- boxShadow: showToolbar ? "0px -4px 10px 0px rgba(0,0,0,0.1)" : "none"
618
- };
619
- const containerClasses = isLight ? "comment-input-container g-safe-area rounded-2xl border border-line1/20 bg-white text-text1 shadow-sm" : "comment-input-container bg-bg1 g-safe-area text-text1";
620
- const toolbarSection = showToolbar ? isLight ? /* @__PURE__ */ jsxs("div", {
621
- className: "flex border-t border-line1/20",
622
- children: [
623
- /* @__PURE__ */ jsx(CommentToolbarButton, {
624
- disabled: !canSelectImage,
625
- onClick: () => {
626
- if (isInputDisabled) return;
627
- if (!canSelectImage) return;
628
- setTimeout(() => {
629
- handleImageFileChange();
630
- }, 400);
631
- },
632
- variant: "light",
633
- children: t("commentInput.image")
634
- }),
635
- /* @__PURE__ */ jsx(CommentToolbarButton, {
636
- disabled: !canSelectVideo,
637
- onClick: () => {
638
- if (isInputDisabled) return;
639
- if (!canSelectVideo) return;
640
- setTimeout(() => {
641
- handleVideoFileChange();
642
- }, 400);
643
- },
644
- variant: "light",
645
- children: t("commentInput.video")
646
- }),
647
- /* @__PURE__ */ jsx(CommentToolbarButton, {
648
- disabled: isInputDisabled,
649
- onClick: () => {
650
- if (isInputDisabled) return;
651
- setVisibleContact(true);
652
- },
653
- variant: "light",
654
- children: "@"
655
- })
656
- ]
657
- }) : /* @__PURE__ */ jsxs("div", {
658
- className: "flex h-[50px] items-center justify-around border-t border-line1 px-[8px]",
659
- children: [
660
- /* @__PURE__ */ jsx("button", {
661
- type: "button",
662
- className: cn("flex h-full items-center justify-center px-[12px]", (!canSelectImage || isInputDisabled) && "opacity-50"),
663
- onClick: () => {
664
- if (isInputDisabled) return;
665
- if (!canSelectImage) return;
666
- setTimeout(() => {
667
- handleImageFileChange();
668
- }, 400);
669
- },
670
- children: /* @__PURE__ */ jsx(SvgPublishPic, { className: "h-[22px] w-[22px]" })
671
- }),
672
- /* @__PURE__ */ jsx("button", {
673
- type: "button",
674
- className: cn("flex h-full items-center justify-center px-[12px]", (!canSelectVideo || isInputDisabled) && "opacity-50"),
675
- onClick: () => {
676
- if (isInputDisabled) return;
677
- if (!canSelectVideo) return;
678
- setTimeout(() => {
679
- handleVideoFileChange();
680
- }, 400);
681
- },
682
- children: /* @__PURE__ */ jsx(SvgPublishVideo, { className: "h-[22px] w-[22px]" })
683
- }),
684
- /* @__PURE__ */ jsx("button", {
685
- type: "button",
686
- className: cn("flex h-full items-center justify-center px-[12px]", isInputDisabled && "opacity-50"),
687
- onClick: () => {
688
- if (isInputDisabled) return;
689
- setVisibleContact(true);
690
- },
691
- children: /* @__PURE__ */ jsx(SvgCommetAt, { className: "h-[22px] w-[22px]" })
692
- })
693
- ]
694
- }) : null;
695
- const innerContainerClass = isLight ? "" : "mx-auto w-full max-w-[840px]";
696
- return /* @__PURE__ */ jsxs("div", {
697
- style: finalStyle,
698
- className: cn(containerClasses, className),
699
- onMouseDown: resetLastTime,
700
- onTouchStart: resetLastTime,
701
- onClick: resetLastTime,
702
- ref: containerRef,
703
- children: [
704
- uploadProgress && /* @__PURE__ */ jsx(UploadProgress, {
705
- currentFiles: uploadProgress.currentFiles,
706
- totalFiles: uploadProgress.totalFiles,
707
- currentTasks: uploadProgress.currentTasks,
708
- totalTasks: uploadProgress.totalTasks
709
- }),
710
- /* @__PURE__ */ jsxs("div", {
711
- className: innerContainerClass,
712
- children: [
713
- showToolbar && /* @__PURE__ */ jsx(CommentUploadGroup, {
714
- imageVideoInfoList,
715
- onDelete: (index) => setImageVideoInfoList((prev) => prev.filter((_, i) => i !== index)),
716
- variant
717
- }),
718
- /* @__PURE__ */ jsxs("div", {
719
- className: cn("px-4 py-3", isLight ? "flex items-center gap-3" : "flex items-center justify-between"),
720
- children: [/* @__PURE__ */ jsxs("div", {
721
- className: cn("relative min-w-0 flex-1 rounded-[20px] bg-bg2", isLight ? "rounded-2xl" : ""),
722
- children: [
723
- !isLogin && /* @__PURE__ */ jsx("div", {
724
- className: "absolute inset-0 z-[1] cursor-text",
725
- onClick: handleRequireLogin
726
- }),
727
- isInputEmpty && /* @__PURE__ */ jsx("span", {
728
- className: cn("pointer-events-none absolute left-3 top-[10px] text-sm text-text3"),
729
- children: resolvedPlaceholder
730
- }),
731
- /* @__PURE__ */ jsx("div", {
732
- ref: (node) => {
733
- textareaRef.current = node;
734
- inputRef(node);
735
- },
736
- contentEditable: !isInputDisabled,
737
- suppressContentEditableWarning: true,
738
- className: cn("max-h-24 min-h-[40px] w-full cursor-text overflow-y-auto px-3 py-[10px] text-sm leading-5 outline-none break-all whitespace-pre-wrap text-text1", isInputDisabled && "cursor-not-allowed opacity-60"),
739
- "data-placeholder": resolvedPlaceholder,
740
- onInput: handleInputChange,
741
- onFocus: handleFocus,
742
- onClick: handleInputClick,
743
- onBlur: handleBlur,
744
- onPaste: handlePaste,
745
- onDrop: handleDrop,
746
- onDragOver: handleDragOver
747
- })
748
- ]
749
- }), showToolbar ? isLight ? publishButton : darkPublishButton : publishingHint]
750
- }),
751
- toolbarSection
752
- ]
753
- }),
754
- /* @__PURE__ */ jsx(Dialog, {
755
- open: visibleContact,
756
- onOpenChange: handleContactDialogChange,
757
- children: /* @__PURE__ */ jsx(DialogContent, {
758
- showCloseButton: false,
759
- initialFocus: false,
760
- className: "fixed left-0 right-0 bottom-0 top-[84px] z-[1000] w-full max-w-none translate-x-0 translate-y-0 rounded-none bg-bg2 p-0",
761
- children: /* @__PURE__ */ jsx(ContactList, {
762
- onSelect: handleSelectContact,
763
- onClose: handleCloseContact
764
- })
765
- })
766
- })
767
- ]
768
- });
769
- }
770
- CommentInput.displayName = "CommentInput";
771
-
772
- //#endregion
773
- export { CommentInput as default };
2
+ "use client";import{cn as e}from"../../../../utils/cn.mjs";import{getAtUserElement as t,stripHtmlTags as n}from"../../../../utils/common.mjs";import{useUserStore as r}from"../../../../store/modules/user-store.mjs";import{createInputAndSelectFile as i,getCoverImage as a,getImageResolutionFromFile as o}from"../../../../utils/media.mjs";import{uploadFile as s}from"../../../../utils/upload-file.mjs";import{Image as c}from"../../../ui/image.mjs";import{Dialog as ee,DialogContent as te}from"../../../ui/dialog.mjs";import{useLoginModalStore as ne}from"../../../../store/modules/login-modal-store.mjs";import l from"../../../../assets/icons/close.mjs";import u from"../../../../assets/icons/detail/video_play.mjs";import re from"../../../../assets/icons/detail/commet_at.mjs";import ie from"../../../../assets/icons/detail/publish_pic.mjs";import ae from"../../../../assets/icons/detail/publish_video.mjs";import{UploadProgress as oe}from"../../../pages/publish/components/upload-progress.mjs";import{ContactList as se}from"../contact/contact-list.mjs";import{useKeyboardHandler as ce}from"./use-keyboard-handler.mjs";import{memo as d,useCallback as f,useEffect as p,useImperativeHandle as le,useMemo as m,useRef as h,useState as g}from"react";import{jsx as _,jsxs as v}from"react/jsx-runtime";import{toast as y}from"sonner";import{useTranslations as ue}from"next-intl";function de(e){let t=e.clipboardData;if(!t)return``;let n=t.getData(`text/plain`);if(n)return n;let r=t.getData(`text/html`);if(!r)return``;try{return new DOMParser().parseFromString(r,`text/html`).body.textContent||``}catch{return``}}function fe(e,t){if(t<=0)return``;let n=0,r=``;for(let i of e){if(i!==`
3
+ `&&(n++,n>t))break;r+=i}return r}function pe(e,t){if(!t)return;let n=window.getSelection(),r=null;n&&n.rangeCount>0&&(r=n.getRangeAt(0)),(!r||!e.contains(r.commonAncestorContainer))&&(e.focus(),r=document.createRange(),r.selectNodeContents(e),r.collapse(!1)),r.deleteContents();let i=document.createDocumentFragment(),a=t.split(`
4
+ `);a.forEach((e,t)=>{e&&i.appendChild(document.createTextNode(e)),t<a.length-1&&i.appendChild(document.createElement(`br`))});let o=i.lastChild;if(r.insertNode(i),n&&o){let e=document.createRange();e.setStartAfter(o),e.collapse(!0),n.removeAllRanges(),n.addRange(e)}}const me=d(({imageVideoInfoList:t,onDelete:n,variant:r=`dark`})=>{if(t.length===0)return null;let i=r===`light`;return _(`div`,{className:e(`w-full overflow-hidden`,i?`px-4`:`h-[76px] px-[16px]`),children:_(`div`,{className:e(i?`flex items-center gap-3 overflow-x-auto py-3`:`w-full h-[calc(100%+60px)] pb-[60px] overflow-x-auto flex items-center flex-nowrap`),children:t.map((t,r)=>{let a=t.is_video?t.cover_image||t.image_url:t.image_url||t.cover_image;return v(`div`,{className:e(`w-[60px] h-[60px] rounded-[8px] overflow-hidden shrink-0 flex items-center justify-center bg-bg2 relative`,!i&&r>0&&`ml-[12px]`),onClick:e=>{e.target.closest(`[data-delete-button]`)&&e.stopPropagation()},children:[a&&_(c,{src:a,alt:`media`,fill:!0,objectFit:`cover`}),_(`button`,{type:`button`,className:`cursor-pointer absolute top-0 right-0 p-[4px] z-[1]`,"data-delete-button":`true`,onClick:()=>n(r),children:_(l,{className:`w-[12px] h-[12px] text-[#fff] drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)]`})}),t.is_video&&_(`div`,{className:`absolute w-[24px] h-[24px] rounded-[12px] bg-[rgba(0,0,0,0.5)] top-0 right-0 bottom-0 left-0 m-auto flex items-center justify-center`,children:_(u,{className:`w-[12px] h-[12px] text-[#fff]`})})]},`${t.is_video?`video`:`image`}-${r}`)})})})});me.displayName=`CommentUploadGroup`;function b({disabled:t,onClick:n,children:r,variant:i=`dark`}){return _(`button`,{type:`button`,className:e(`flex h-12 flex-1 items-center justify-center`,i===`light`?`text-text2 hover:bg-bg2/60`:`text-white hover:bg-white/10`,t&&`opacity-40`),disabled:t,onClick:n,children:r})}function x({ref:c,value:l=``,onChange:u,onPublish:d,onInputBlur:x,placeholder:he=``,className:ge=``,maxLength:S=200,publishText:_e=``,autoFocus:ve,disabled:C,onRequireLogin:w,variant:ye=`dark`}){let T=ue(`components.biz.business.comment`),E=ye===`light`,be=_e||T(`commentInput.publishDefault`),xe=m(()=>{let e=he||T(`commentInput.placeholder`);return e.length>15?`${e.slice(0,15)}...`:e},[he,T]),[D,O]=g(l),[k,A]=g(!1),[j,M]=g(!1),Se=h(null),N=h(null),P=h(!1),F=h(0),Ce=h(0),[I,L]=g([]),[R,z]=g(!1),[B,V]=g(null),[H,we]=g(!1),U=C||H,{isLogin:W}=r(),{open:G}=ne(),{containerStyle:Te,onFocus:K,onBlur:Ee,inputRef:De}=ce(j),q=f(()=>{w?w():G()},[w,G]);p(()=>{N.current&&l&&(N.current.innerHTML=l)},[l]),p(()=>{typeof window>`u`||window.dispatchEvent(new CustomEvent(`funhub:visible-contact-change`,{detail:{visible:R}}))},[R]),p(()=>{if(!(!ve||!N.current)){if(!W){q();return}N.current.focus(),A(!0)}},[ve,q,W]),p(()=>{let e=e=>{let t=e.target,n=t.closest(`[data-delete-button]`),r=t.tagName===`INPUT`||t.tagName===`TEXTAREA`;n||r||Se.current?.contains(t)||Date.now()-F.current>100&&A(!1)};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)},[]),le(c,()=>({focus:()=>{let e=N.current;if(!(!e||P.current)){P.current=!0;try{if(!W){q();return}if(document.activeElement===e&&k)return;e.focus(),F.current=Date.now(),A(!0),j||M(!0),K()}catch(e){console.warn(`CommentInput focus error`,e),A(!0)}finally{P.current=!1}}}}),[j,q,W,K,k]);let Oe=()=>{F.current=Date.now()},J=f(()=>{if(!N.current)return;let e=document.createRange(),t=window.getSelection();e.selectNodeContents(N.current),e.collapse(!1),t?.removeAllRanges(),t?.addRange(e)},[]),Y=f(e=>{N.current&&(N.current.innerHTML=e)},[]),X=f(e=>{let t=e.querySelectorAll(`img,video,audio,iframe,object,embed,svg,canvas`);if(t.length===0)return!1;t.forEach(e=>e.remove());let n=Date.now();return n-Ce.current>1500&&(Ce.current=n,y.info(T(`commentInput.pasteFileNotSupported`))),!0},[T]),ke=f(e=>{let t=N.current;if(!t)return;if(U){e.preventDefault();return}if(!W){e.preventDefault(),q(),t.blur();return}let r=e.clipboardData;if(r&&Array.from(r.items||[]).some(e=>e.kind===`file`)){e.preventDefault(),e.stopPropagation(),y.info(T(`commentInput.pasteFileNotSupported`));return}let i=de(e);if(!i){e.preventDefault();return}e.preventDefault(),e.stopPropagation();let a=i.replace(/\r\n/g,`
5
+ `).replace(/\r/g,`
6
+ `),o=n(t.innerHTML||``).length,s=S?Math.max(0,S-o):1/0;if(s<=0)return;pe(t,Number.isFinite(s)?fe(a,s):a),X(t);let c=t.innerHTML||``;O(c),u?.(c)},[q,U,W,S,u,X,T]),Ae=f(e=>{let t=e.currentTarget.innerHTML||``;X(e.currentTarget)&&(t=e.currentTarget.innerHTML||``);let r=n(t);S&&r.length>S&&(t=t.substring(0,S),Y(t),J()),O(t),u?.(t)},[S,J,u,Y,X]),je=f(e=>{e.preventDefault(),e.stopPropagation();let t=e.dataTransfer?.files;t&&t.length>0&&y.info(T(`commentInput.dragFileNotSupported`))},[T]),Me=f(e=>{e.preventDefault()},[]),Ne=()=>{if(!U){if(!W){q(),N.current?.blur();return}F.current=Date.now(),A(!0),j||M(!0),K()}},Pe=()=>{if(U){H&&y.info(T(`commentInput.publishing`));return}if(!W){q(),N.current?.blur();return}F.current=Date.now(),k||A(!0),j||M(!0),K()},Fe=()=>{setTimeout(()=>{Date.now()-F.current>200&&document.activeElement!==N.current&&(A(!1),x?.())},150),Ee()},Ie=f(()=>{O(``),Y(``),L([]),A(!1)},[Y]),Le=m(()=>n(D).trim().length===0,[D]),Z=m(()=>!Le||I.length>0,[I.length,Le]),Re=f(async()=>{if(!W){q();return}if(I.some(e=>e.is_video))return;let e=await i(`file`,`image/*`);if(!e||e.length===0)return;let t=9-I.length,n=Array.from(e).slice(0,t);if(n.length===0)return;let r=[],a=0,c=n.length;try{for(let e=0;e<n.length;e++){let t=n[e];V({currentFiles:r.length,totalFiles:c,currentTasks:r.length+a,totalTasks:c});try{let{width:e,height:n}=await o(t),i=await s(t,1,!0);r.push({cover_image:``,cover_image_thumbnail:``,cover_image_radio:1,cover_image_resolution:``,image_url:i.objectKey,image_thumbnail:i.objectKey,image_radio:Number((e/n).toFixed(2)),image_resolution:`${e}x${n}`,is_video:!1,resolution:`${e}x${n}`,video_duration:0,video_url:``,video_size:0,video_codec_info:{hls_info:[],video_codec_deal:!1}})}catch(e){console.error(`上传图片失败`,e),a+=1}}r.length===0?y.error(T(`commentInput.imageUploadFailed`)):(a>0&&y.warning(T(`commentInput.partialImageUploadFailed`)),L(e=>[...e,...r]))}finally{V(null)}},[q,I,W,T]),ze=f(async()=>{if(!W){q();return}if(I.length>0){y.error(T(`commentInput.cannotSelectVideoWhenImageSelected`));return}let e=await i(`file`,`video/*`);if(!e||e.length===0)return;let t=e[0];try{V({currentFiles:0,totalFiles:1,currentTasks:0,totalTasks:2});let e=await s(t,2,!1),[n,r,i,o]=await a(t);V({currentFiles:0,totalFiles:1,currentTasks:1,totalTasks:2});let c=await s(n,1,!0);L([{cover_image:c.objectKey,cover_image_thumbnail:c.objectKey,cover_image_radio:Number((r/i).toFixed(2)),cover_image_resolution:`${r}x${i}`,image_url:c.objectKey,image_thumbnail:c.objectKey,image_radio:Number((r/i).toFixed(2)),image_resolution:`${r}x${i}`,is_video:!0,resolution:`${r}x${i}`,video_duration:o,video_url:e.objectKey,video_size:t.size,video_codec_info:{hls_info:[],video_codec_deal:!1}}])}catch(e){console.error(`视频上传失败`,e),y.error(T(`commentInput.videoUploadFailed`))}finally{V(null)}},[q,I.length,W,T]),Be=f(async e=>{if(e.preventDefault(),e.stopPropagation(),!(!Z||C||H)){if(!W){w?w():G();return}try{we(!0);let e=await d?.({text:D===`<br>`?``:D,imageVideoInfoList:I});if(e&&e.success===!1){e.toastHandled||y.error(e.message||`发布评论失败`);return}y.success(T(`commentInput.publishSuccess`)),Ie(),u?.(``)}catch(e){console.error(`发布评论失败:`,e),y.error(T(`commentInput.publishCommentFailed`))}finally{we(!1)}}},[Ie,C,I,D,W,Z,H,u,d,w,G,T]),Q=m(()=>!I.some(e=>e.is_video)&&I.length<9,[I]),$=m(()=>I.length===0,[I.length]),Ve=f(e=>{z(!1);let r=`${n(D).trim().length===0?``:D}${t(e)} `;O(r),Y(r),setTimeout(()=>{J()},16)},[D,J,Y]);function He(e){z(e)}function Ue(){z(!1)}let We=_(`button`,{type:`button`,className:e(`shrink-0 whitespace-nowrap rounded-full px-4 py-2 text-sm font-medium`,Z&&!H?`bg-theme5 text-white`:`bg-bg2 text-text3`),onClick:Be,disabled:!Z||U,children:H?T(`commentInput.publishing`):be}),Ge=_(`button`,{type:`button`,className:e(`ml-[14px] shrink-0 whitespace-nowrap px-[14px] py-[10px] text-[16px] leading-[16px]`,Z&&!H?`text-theme5`:`text-text3`),onClick:Be,disabled:!Z||U,children:H?T(`commentInput.publishing`):be}),Ke=H?_(`span`,{className:e(`ml-[14px] text-[16px] leading-[16px] text-text3`),children:T(`commentInput.publishing`)}):null,qe=E?Te:{...Te,boxShadow:k?`0px -4px 10px 0px rgba(0,0,0,0.1)`:`none`},Je=E?`comment-input-container g-safe-area rounded-2xl border border-line1/20 bg-white text-text1 shadow-sm`:`comment-input-container bg-bg1 g-safe-area text-text1`,Ye=k?E?v(`div`,{className:`flex border-t border-line1/20`,children:[_(b,{disabled:!Q,onClick:()=>{U||Q&&setTimeout(()=>{Re()},400)},variant:`light`,children:T(`commentInput.image`)}),_(b,{disabled:!$,onClick:()=>{U||$&&setTimeout(()=>{ze()},400)},variant:`light`,children:T(`commentInput.video`)}),_(b,{disabled:U,onClick:()=>{U||z(!0)},variant:`light`,children:`@`})]}):v(`div`,{className:`flex h-[50px] items-center justify-around border-t border-line1 px-[8px]`,children:[_(`button`,{type:`button`,className:e(`flex h-full items-center justify-center px-[12px]`,(!Q||U)&&`opacity-50`),onClick:()=>{U||Q&&setTimeout(()=>{Re()},400)},children:_(ie,{className:`h-[22px] w-[22px]`})}),_(`button`,{type:`button`,className:e(`flex h-full items-center justify-center px-[12px]`,(!$||U)&&`opacity-50`),onClick:()=>{U||$&&setTimeout(()=>{ze()},400)},children:_(ae,{className:`h-[22px] w-[22px]`})}),_(`button`,{type:`button`,className:e(`flex h-full items-center justify-center px-[12px]`,U&&`opacity-50`),onClick:()=>{U||z(!0)},children:_(re,{className:`h-[22px] w-[22px]`})})]}):null,Xe=E?``:`mx-auto w-full max-w-[840px]`;return v(`div`,{style:qe,className:e(Je,ge),onMouseDown:Oe,onTouchStart:Oe,onClick:Oe,ref:Se,children:[B&&_(oe,{currentFiles:B.currentFiles,totalFiles:B.totalFiles,currentTasks:B.currentTasks,totalTasks:B.totalTasks}),v(`div`,{className:Xe,children:[k&&_(me,{imageVideoInfoList:I,onDelete:e=>L(t=>t.filter((t,n)=>n!==e)),variant:ye}),v(`div`,{className:e(`px-4 py-3`,E?`flex items-center gap-3`:`flex items-center justify-between`),children:[v(`div`,{className:e(`relative min-w-0 flex-1 rounded-[20px] bg-bg2`,E?`rounded-2xl`:``),children:[!W&&_(`div`,{className:`absolute inset-0 z-[1] cursor-text`,onClick:q}),Le&&_(`span`,{className:e(`pointer-events-none absolute left-3 top-[10px] text-sm text-text3`),children:xe}),_(`div`,{ref:e=>{N.current=e,De(e)},contentEditable:!U,suppressContentEditableWarning:!0,className:e(`max-h-24 min-h-[40px] w-full cursor-text overflow-y-auto px-3 py-[10px] text-sm leading-5 outline-none break-all whitespace-pre-wrap text-text1`,U&&`cursor-not-allowed opacity-60`),"data-placeholder":xe,onInput:Ae,onFocus:Ne,onClick:Pe,onBlur:Fe,onPaste:ke,onDrop:je,onDragOver:Me})]}),k?E?We:Ge:Ke]}),Ye]}),_(ee,{open:R,onOpenChange:He,children:_(te,{showCloseButton:!1,initialFocus:!1,className:`fixed left-0 right-0 bottom-0 top-[84px] z-[1000] w-full max-w-none translate-x-0 translate-y-0 rounded-none bg-bg2 p-0`,children:_(se,{onSelect:Ve,onClose:Ue})})})]})}x.displayName=`CommentInput`;export{x as default};