@funhub/platform 0.1.130 → 0.1.131

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 (816) 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.mjs +1 -144
  83. package/dist/common.mjs +1 -44
  84. package/dist/components/biz/basics/card-item/defaults/default-props.mjs +1 -10
  85. package/dist/components/biz/basics/card-item/runtime/client.mjs +1 -83
  86. package/dist/components/biz/basics/card-item/runtime/corners.mjs +1 -33
  87. package/dist/components/biz/basics/card-item/schema/component.mjs +1 -14
  88. package/dist/components/biz/basics/card-item/schema/data.schema.mjs +1 -8
  89. package/dist/components/biz/basics/card-item/schema/event.schema.mjs +1 -8
  90. package/dist/components/biz/basics/card-item/schema/index.mjs +1 -17
  91. package/dist/components/biz/basics/card-item/schema/props.schema.mjs +1 -18
  92. package/dist/components/biz/basics/card-item/schema/style.schema.mjs +1 -7
  93. package/dist/components/biz/basics/card-layout/defaults/default-props.mjs +1 -13
  94. package/dist/components/biz/basics/card-layout/runtime/client.mjs +1 -38
  95. package/dist/components/biz/basics/card-layout/schema/component.mjs +1 -14
  96. package/dist/components/biz/basics/card-layout/schema/data.schema.mjs +1 -8
  97. package/dist/components/biz/basics/card-layout/schema/event.schema.mjs +1 -5
  98. package/dist/components/biz/basics/card-layout/schema/index.mjs +1 -17
  99. package/dist/components/biz/basics/card-layout/schema/props.schema.mjs +1 -28
  100. package/dist/components/biz/basics/card-layout/schema/style.schema.mjs +1 -7
  101. package/dist/components/biz/basics/fullscreen-feed/basic-fullscreen.mjs +1 -268
  102. package/dist/components/biz/basics/fullscreen-feed/defaults/default-props.mjs +1 -11
  103. package/dist/components/biz/basics/fullscreen-feed/index.mjs +1 -12
  104. package/dist/components/biz/basics/fullscreen-feed/runtime/adapters.mjs +1 -97
  105. package/dist/components/biz/basics/fullscreen-feed/runtime/bottom-info.mjs +1 -125
  106. package/dist/components/biz/basics/fullscreen-feed/runtime/client.mjs +1 -390
  107. package/dist/components/biz/basics/fullscreen-feed/runtime/comment-modal.mjs +1 -107
  108. package/dist/components/biz/basics/fullscreen-feed/runtime/interaction-sync.mjs +1 -134
  109. package/dist/components/biz/basics/fullscreen-feed/runtime/post-slide.mjs +1 -232
  110. package/dist/components/biz/basics/fullscreen-feed/runtime/styles.module.mjs +152 -25
  111. package/dist/components/biz/basics/fullscreen-feed/runtime/use-mixed-feed-controller.mjs +1 -193
  112. package/dist/components/biz/basics/fullscreen-feed/runtime/use-series-feed-controller.mjs +1 -212
  113. package/dist/components/biz/basics/fullscreen-feed/runtime/user-action.mjs +1 -273
  114. package/dist/components/biz/basics/fullscreen-feed/runtime/video-slide.mjs +1 -373
  115. package/dist/components/biz/basics/fullscreen-feed/schema/component.mjs +1 -14
  116. package/dist/components/biz/basics/fullscreen-feed/schema/data.schema.mjs +1 -11
  117. package/dist/components/biz/basics/fullscreen-feed/schema/event.schema.mjs +1 -13
  118. package/dist/components/biz/basics/fullscreen-feed/schema/index.mjs +1 -17
  119. package/dist/components/biz/basics/fullscreen-feed/schema/props.schema.mjs +1 -20
  120. package/dist/components/biz/basics/fullscreen-feed/schema/style.schema.mjs +1 -5
  121. package/dist/components/biz/basics/logo/variants/basic-logo/defaults/default-props.mjs +1 -19
  122. package/dist/components/biz/basics/logo/variants/basic-logo/index.mjs +1 -9
  123. package/dist/components/biz/basics/logo/variants/basic-logo/runtime/client.mjs +1 -169
  124. package/dist/components/biz/basics/logo/variants/basic-logo/schema/component.mjs +1 -14
  125. package/dist/components/biz/basics/logo/variants/basic-logo/schema/data.schema.mjs +1 -9
  126. package/dist/components/biz/basics/logo/variants/basic-logo/schema/event.schema.mjs +1 -23
  127. package/dist/components/biz/basics/logo/variants/basic-logo/schema/index.mjs +1 -17
  128. package/dist/components/biz/basics/logo/variants/basic-logo/schema/props.schema.mjs +1 -78
  129. package/dist/components/biz/basics/logo/variants/basic-logo/schema/style.schema.mjs +1 -7
  130. package/dist/components/biz/basics/search/shared/components/search-box.mjs +1 -55
  131. package/dist/components/biz/basics/search/shared/config/default-data.mjs +1 -15
  132. package/dist/components/biz/basics/search/shared/config/schema.mjs +1 -50
  133. package/dist/components/biz/basics/search/variants/basic-search/defaults/default-props.mjs +1 -10
  134. package/dist/components/biz/basics/search/variants/basic-search/index.mjs +1 -12
  135. package/dist/components/biz/basics/search/variants/basic-search/runtime/client.mjs +1 -31
  136. package/dist/components/biz/basics/search/variants/basic-search/schema/component.mjs +1 -14
  137. package/dist/components/biz/basics/search/variants/basic-search/schema/data.schema.mjs +1 -8
  138. package/dist/components/biz/basics/search/variants/basic-search/schema/event.schema.mjs +1 -7
  139. package/dist/components/biz/basics/search/variants/basic-search/schema/index.mjs +1 -17
  140. package/dist/components/biz/basics/search/variants/basic-search/schema/props.schema.mjs +1 -7
  141. package/dist/components/biz/basics/search/variants/basic-search/schema/style.schema.mjs +1 -7
  142. package/dist/components/biz/basics/search/variants/filter-search/defaults/default-props.mjs +1 -14
  143. package/dist/components/biz/basics/search/variants/filter-search/index.mjs +1 -12
  144. package/dist/components/biz/basics/search/variants/filter-search/runtime/client.mjs +1 -63
  145. package/dist/components/biz/basics/search/variants/filter-search/schema/component.mjs +1 -14
  146. package/dist/components/biz/basics/search/variants/filter-search/schema/data.schema.mjs +1 -8
  147. package/dist/components/biz/basics/search/variants/filter-search/schema/event.schema.mjs +1 -7
  148. package/dist/components/biz/basics/search/variants/filter-search/schema/index.mjs +1 -17
  149. package/dist/components/biz/basics/search/variants/filter-search/schema/props.schema.mjs +1 -22
  150. package/dist/components/biz/basics/search/variants/filter-search/schema/style.schema.mjs +1 -7
  151. package/dist/components/biz/basics/search/variants/simple-search/defaults/default-props.mjs +1 -10
  152. package/dist/components/biz/basics/search/variants/simple-search/index.mjs +1 -9
  153. package/dist/components/biz/basics/search/variants/simple-search/runtime/client.mjs +1 -37
  154. package/dist/components/biz/basics/search/variants/simple-search/schema/component.mjs +1 -14
  155. package/dist/components/biz/basics/search/variants/simple-search/schema/data.schema.mjs +1 -8
  156. package/dist/components/biz/basics/search/variants/simple-search/schema/event.schema.mjs +1 -7
  157. package/dist/components/biz/basics/search/variants/simple-search/schema/index.mjs +1 -17
  158. package/dist/components/biz/basics/search/variants/simple-search/schema/props.schema.mjs +1 -7
  159. package/dist/components/biz/basics/search/variants/simple-search/schema/style.schema.mjs +1 -7
  160. package/dist/components/biz/basics/search/variants/tag-search/defaults/default-props.mjs +1 -18
  161. package/dist/components/biz/basics/search/variants/tag-search/index.mjs +1 -9
  162. package/dist/components/biz/basics/search/variants/tag-search/runtime/client.mjs +1 -67
  163. package/dist/components/biz/basics/search/variants/tag-search/schema/component.mjs +1 -14
  164. package/dist/components/biz/basics/search/variants/tag-search/schema/data.schema.mjs +1 -8
  165. package/dist/components/biz/basics/search/variants/tag-search/schema/event.schema.mjs +1 -7
  166. package/dist/components/biz/basics/search/variants/tag-search/schema/index.mjs +1 -17
  167. package/dist/components/biz/basics/search/variants/tag-search/schema/props.schema.mjs +1 -37
  168. package/dist/components/biz/basics/search/variants/tag-search/schema/style.schema.mjs +1 -7
  169. package/dist/components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs +1 -15
  170. package/dist/components/biz/business/banner/variants/basic-banner/index.mjs +1 -12
  171. package/dist/components/biz/business/banner/variants/basic-banner/inspector-schema.mjs +1 -64
  172. package/dist/components/biz/business/banner/variants/basic-banner/material.mjs +1 -21
  173. package/dist/components/biz/business/banner/variants/basic-banner/runtime/client.mjs +1 -126
  174. package/dist/components/biz/business/banner/variants/basic-banner/schema/component.mjs +1 -14
  175. package/dist/components/biz/business/banner/variants/basic-banner/schema/data.schema.mjs +1 -53
  176. package/dist/components/biz/business/banner/variants/basic-banner/schema/event.schema.mjs +1 -5
  177. package/dist/components/biz/business/banner/variants/basic-banner/schema/index.mjs +1 -17
  178. package/dist/components/biz/business/banner/variants/basic-banner/schema/props.schema.mjs +1 -40
  179. package/dist/components/biz/business/banner/variants/basic-banner/schema/style.schema.mjs +1 -7
  180. package/dist/components/biz/business/banner/variants/basic-banner/server.mjs +1 -25
  181. package/dist/components/biz/business/banner-carousel/client.mjs +1 -122
  182. package/dist/components/biz/business/banner-carousel/default-props.mjs +1 -15
  183. package/dist/components/biz/business/banner-carousel/material.mjs +1 -21
  184. package/dist/components/biz/business/banner-carousel/schema.mjs +1 -85
  185. package/dist/components/biz/business/banner-carousel/server.mjs +1 -22
  186. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/defaults/default-props.mjs +1 -8
  187. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/index.mjs +1 -9
  188. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/runtime/client.mjs +1 -41
  189. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/component.mjs +1 -14
  190. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/data.schema.mjs +1 -8
  191. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/event.schema.mjs +1 -5
  192. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/index.mjs +1 -17
  193. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/props.schema.mjs +1 -12
  194. package/dist/components/biz/business/card-grid/variants/card-grid-2x3/schema/style.schema.mjs +1 -7
  195. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/defaults/default-props.mjs +1 -8
  196. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/index.mjs +1 -9
  197. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/runtime/client.mjs +1 -106
  198. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/component.mjs +1 -14
  199. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/data.schema.mjs +1 -8
  200. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/event.schema.mjs +1 -5
  201. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/index.mjs +1 -17
  202. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/props.schema.mjs +1 -12
  203. package/dist/components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/style.schema.mjs +1 -7
  204. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/defaults/default-props.mjs +1 -8
  205. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/index.mjs +1 -9
  206. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/runtime/client.mjs +1 -41
  207. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/component.mjs +1 -14
  208. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/data.schema.mjs +1 -8
  209. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/event.schema.mjs +1 -5
  210. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/index.mjs +1 -17
  211. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/props.schema.mjs +1 -12
  212. package/dist/components/biz/business/card-grid/variants/card-grid-2x4/schema/style.schema.mjs +1 -7
  213. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/defaults/default-props.mjs +1 -8
  214. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/index.mjs +1 -9
  215. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/runtime/client.mjs +1 -41
  216. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/component.mjs +1 -14
  217. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/data.schema.mjs +1 -8
  218. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/event.schema.mjs +1 -5
  219. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/index.mjs +1 -17
  220. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/props.schema.mjs +1 -12
  221. package/dist/components/biz/business/card-grid/variants/card-grid-3x3/schema/style.schema.mjs +1 -7
  222. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/defaults/default-props.mjs +1 -8
  223. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/index.mjs +1 -9
  224. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/runtime/client.mjs +1 -106
  225. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/component.mjs +1 -14
  226. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/data.schema.mjs +1 -8
  227. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/event.schema.mjs +1 -5
  228. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/index.mjs +1 -17
  229. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/props.schema.mjs +1 -12
  230. package/dist/components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/style.schema.mjs +1 -7
  231. package/dist/components/biz/business/channel-list/channel-filter-dialog.mjs +1 -190
  232. package/dist/components/biz/business/channel-list/client.mjs +1 -136
  233. package/dist/components/biz/business/channel-list/default-props.mjs +1 -12
  234. package/dist/components/biz/business/channel-list/material.mjs +1 -21
  235. package/dist/components/biz/business/channel-list/schema.mjs +1 -39
  236. package/dist/components/biz/business/comment/comment-input.mjs +5 -772
  237. package/dist/components/biz/business/comment/comment-item.mjs +1 -190
  238. package/dist/components/biz/business/comment/comment-list.mjs +1 -722
  239. package/dist/components/biz/business/comment/comment-media.mjs +1 -57
  240. package/dist/components/biz/business/comment/comment-rich-text.mjs +1 -69
  241. package/dist/components/biz/business/comment/reply-detail.mjs +1 -978
  242. package/dist/components/biz/business/comment/time-display.mjs +1 -20
  243. package/dist/components/biz/business/comment/use-keyboard-handler.mjs +1 -142
  244. package/dist/components/biz/business/contact/contact-item.mjs +1 -45
  245. package/dist/components/biz/business/contact/contact-list.mjs +1 -212
  246. package/dist/components/biz/business/contact/contact-search.mjs +1 -128
  247. package/dist/components/biz/business/detail/shared/detail-follow-action.mjs +1 -105
  248. package/dist/components/biz/business/detail/shared/detail-info-tags.mjs +1 -24
  249. package/dist/components/biz/business/detail/shared/detail-info-title.mjs +1 -82
  250. package/dist/components/biz/business/detail/shared/detail-introduction.mjs +1 -109
  251. package/dist/components/biz/business/detail/shared/detail-operate.mjs +1 -340
  252. package/dist/components/biz/business/detail/shared/detail-structured-data.mjs +1 -63
  253. package/dist/components/biz/business/detail/shared/editor-preview.mjs +1 -67
  254. package/dist/components/biz/business/detail/shared/material-route-context.mjs +1 -44
  255. package/dist/components/biz/business/detail/shared/metadata-utils.mjs +1 -21
  256. package/dist/components/biz/business/detail/shared/post-recommend-list.mjs +1 -184
  257. package/dist/components/biz/business/detail/shared/registry.mjs +1 -52
  258. package/dist/components/biz/business/detail/shared/runtime-context-provider.mjs +1 -191
  259. package/dist/components/biz/business/detail/shared/seo-config.mjs +1 -28
  260. package/dist/components/biz/business/detail/shared/use-video-detail-webview-bridge.mjs +1 -89
  261. package/dist/components/biz/business/detail/shared/video-detail-server-data.mjs +1 -46
  262. package/dist/components/biz/business/detail/shared/video-hero.mjs +1 -395
  263. package/dist/components/biz/business/detail/video-detail-actions/client.mjs +1 -106
  264. package/dist/components/biz/business/detail/video-detail-actions/material.mjs +1 -18
  265. package/dist/components/biz/business/detail/video-detail-actions/schema.mjs +1 -11
  266. package/dist/components/biz/business/detail/video-detail-actions/server.mjs +1 -47
  267. package/dist/components/biz/business/detail/video-detail-info/client.mjs +1 -41
  268. package/dist/components/biz/business/detail/video-detail-info/material.mjs +1 -18
  269. package/dist/components/biz/business/detail/video-detail-info/schema.mjs +1 -20
  270. package/dist/components/biz/business/detail/video-detail-info/server.mjs +1 -98
  271. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/client.mjs +1 -51
  272. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/material.mjs +1 -18
  273. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/schema.mjs +1 -20
  274. package/dist/components/biz/business/detail/video-detail-info-title-tags-episodes/server.mjs +1 -45
  275. package/dist/components/biz/business/detail/video-detail-player/client.mjs +1 -144
  276. package/dist/components/biz/business/detail/video-detail-player/material.mjs +1 -18
  277. package/dist/components/biz/business/detail/video-detail-player/schema.mjs +1 -11
  278. package/dist/components/biz/business/detail/video-detail-player/server.mjs +1 -17
  279. package/dist/components/biz/business/detail/video-detail-recommend/client.mjs +1 -552
  280. package/dist/components/biz/business/detail/video-detail-recommend/material.mjs +1 -18
  281. package/dist/components/biz/business/detail/video-detail-recommend/schema.mjs +1 -58
  282. package/dist/components/biz/business/detail/video-detail-recommend/server.mjs +1 -18
  283. package/dist/components/biz/business/detail/video-detail-recommend/utils.mjs +1 -68
  284. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/defaults/default-props.mjs +1 -12
  285. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/index.mjs +1 -9
  286. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/runtime/client.mjs +1 -66
  287. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/component.mjs +1 -14
  288. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/data.schema.mjs +1 -43
  289. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/event.schema.mjs +1 -5
  290. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/index.mjs +1 -17
  291. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/props.schema.mjs +1 -32
  292. package/dist/components/biz/business/feature-grid/variants/basic-feature-grid/schema/style.schema.mjs +1 -7
  293. package/dist/components/biz/business/floating-ball/client.mjs +1 -31
  294. package/dist/components/biz/business/floating-ball/material.mjs +1 -18
  295. package/dist/components/biz/business/floating-ball/schema.mjs +1 -22
  296. package/dist/components/biz/business/floating-ball/server.mjs +1 -17
  297. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/defaults/default-props.mjs +1 -11
  298. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/index.mjs +1 -9
  299. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/runtime/client.mjs +1 -71
  300. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/component.mjs +1 -14
  301. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/data.schema.mjs +1 -11
  302. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/index.mjs +1 -17
  303. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/defaults/default-props.mjs +1 -11
  304. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/index.mjs +1 -9
  305. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/runtime/client.mjs +1 -64
  306. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/component.mjs +1 -14
  307. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/data.schema.mjs +1 -11
  308. package/dist/components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/index.mjs +1 -17
  309. package/dist/components/biz/business/fullscreen-feed/variants/shared/runtime-compat.mjs +1 -522
  310. package/dist/components/biz/business/header-search/header-avatar-icon/client.mjs +1 -29
  311. package/dist/components/biz/business/header-search/header-avatar-icon/material.mjs +1 -18
  312. package/dist/components/biz/business/header-search/header-avatar-icon/schema.mjs +1 -11
  313. package/dist/components/biz/business/header-search/header-avatar-icon/server.mjs +1 -17
  314. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.mjs +1 -36
  315. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.mjs +1 -18
  316. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.mjs +1 -24
  317. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.mjs +1 -17
  318. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.mjs +1 -45
  319. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.mjs +1 -18
  320. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.mjs +1 -22
  321. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.mjs +1 -17
  322. package/dist/components/biz/business/header-search/header-logo-search/client.mjs +1 -33
  323. package/dist/components/biz/business/header-search/header-logo-search/material.mjs +1 -18
  324. package/dist/components/biz/business/header-search/header-logo-search/schema.mjs +1 -24
  325. package/dist/components/biz/business/header-search/header-logo-search/server.mjs +1 -17
  326. package/dist/components/biz/business/header-search/header-search/client.mjs +1 -20
  327. package/dist/components/biz/business/header-search/header-search/material.mjs +1 -18
  328. package/dist/components/biz/business/header-search/header-search/schema.mjs +1 -11
  329. package/dist/components/biz/business/header-search/header-search/server.mjs +1 -17
  330. package/dist/components/biz/business/header-search/shared/avatar.mjs +1 -44
  331. package/dist/components/biz/business/header-search/shared/logo.mjs +1 -28
  332. package/dist/components/biz/business/header-search/shared/search.mjs +1 -28
  333. package/dist/components/biz/business/home-recommend/home-recommend-grid/client.mjs +1 -48
  334. package/dist/components/biz/business/home-recommend/home-recommend-grid/index.mjs +1 -14
  335. package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.mjs +1 -193
  336. package/dist/components/biz/business/home-recommend/home-recommend-grid/material.mjs +1 -18
  337. package/dist/components/biz/business/home-recommend/home-recommend-grid/schema.mjs +1 -24
  338. package/dist/components/biz/business/home-recommend/home-recommend-grid/server.mjs +1 -49
  339. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/client.mjs +1 -44
  340. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/index.mjs +1 -14
  341. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.mjs +1 -169
  342. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/material.mjs +1 -18
  343. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/schema.mjs +1 -24
  344. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/server.mjs +1 -44
  345. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -498
  346. package/dist/components/biz/business/home-recommend/shared/home-recommend-default-config.mjs +1 -25
  347. package/dist/components/biz/business/home-recommend/shared/home-recommend-preview.mjs +1 -130
  348. package/dist/components/biz/business/home-recommend/shared/home-recommend-runtime-props.mjs +1 -34
  349. package/dist/components/biz/business/home-recommend/shared/home-recommend-server-data.mjs +1 -288
  350. package/dist/components/biz/business/home-recommend/shared/home-recommend-video-detail.mjs +1 -38
  351. package/dist/components/biz/business/image-text-recommend/client.mjs +1 -423
  352. package/dist/components/biz/business/image-text-recommend/material.mjs +1 -21
  353. package/dist/components/biz/business/image-text-recommend/schema.mjs +1 -117
  354. package/dist/components/biz/business/image-text-recommend/server.mjs +1 -53
  355. package/dist/components/biz/business/image-text-recommend/shared/query.mjs +1 -32
  356. package/dist/components/biz/business/large-feature-grid/card-item.mjs +1 -91
  357. package/dist/components/biz/business/large-feature-grid/client.mjs +1 -88
  358. package/dist/components/biz/business/large-feature-grid/material.mjs +1 -21
  359. package/dist/components/biz/business/large-feature-grid/schema.mjs +1 -81
  360. package/dist/components/biz/business/large-feature-grid/server.mjs +1 -16
  361. package/dist/components/biz/business/marquee/client.mjs +1 -230
  362. package/dist/components/biz/business/marquee/marquee.module.mjs +25 -13
  363. package/dist/components/biz/business/marquee/material.mjs +1 -21
  364. package/dist/components/biz/business/marquee/schema.mjs +1 -97
  365. package/dist/components/biz/business/marquee/server.mjs +1 -17
  366. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/defaults/default-props.mjs +1 -21
  367. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/index.mjs +1 -9
  368. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/channel-filter-dialog.mjs +1 -180
  369. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs +1 -148
  370. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/component.mjs +1 -14
  371. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/data.schema.mjs +1 -9
  372. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/event.schema.mjs +1 -27
  373. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/index.mjs +1 -17
  374. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/props.schema.mjs +1 -92
  375. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/schema/style.schema.mjs +1 -7
  376. package/dist/components/biz/business/post-card/variants/basic-post-card/defaults/default-props.mjs +1 -8
  377. package/dist/components/biz/business/post-card/variants/basic-post-card/index.mjs +1 -9
  378. package/dist/components/biz/business/post-card/variants/basic-post-card/runtime/client.mjs +1 -119
  379. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/component.mjs +1 -14
  380. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/data.schema.mjs +1 -8
  381. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/event.schema.mjs +1 -5
  382. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/index.mjs +1 -17
  383. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/props.schema.mjs +1 -5
  384. package/dist/components/biz/business/post-card/variants/basic-post-card/schema/style.schema.mjs +1 -7
  385. package/dist/components/biz/business/profile/profile-header/client.mjs +1 -243
  386. package/dist/components/biz/business/profile/profile-header/material.mjs +1 -59
  387. package/dist/components/biz/business/profile/profile-header/schema.mjs +1 -11
  388. package/dist/components/biz/business/profile/profile-header/user-profile-avatar.mjs +1 -235
  389. package/dist/components/biz/business/profile/profile-header/user-profile-cover-background.mjs +1 -135
  390. package/dist/components/biz/business/profile/profile-main/client.mjs +1 -234
  391. package/dist/components/biz/business/profile/profile-main/material.mjs +1 -18
  392. package/dist/components/biz/business/profile/profile-main/schema.mjs +1 -11
  393. package/dist/components/biz/business/profile/profile-main/server.mjs +1 -13
  394. package/dist/components/biz/business/profile/profile-main/shell.mjs +1 -187
  395. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs +1 -519
  396. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/server.mjs +1 -13
  397. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.mjs +1 -250
  398. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/server.mjs +1 -13
  399. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.mjs +1 -250
  400. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/server.mjs +1 -13
  401. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/client.mjs +1 -149
  402. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/server.mjs +1 -13
  403. package/dist/components/biz/business/profile/profile-main/utils.mjs +1 -248
  404. package/dist/components/biz/business/profile/profile-main/variants.mjs +1 -40
  405. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/defaults/default-props.mjs +1 -15
  406. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/index.mjs +1 -9
  407. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/runtime/client.mjs +1 -168
  408. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/runtime/recommended-users-skeleton.mjs +1 -119
  409. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/component.mjs +1 -14
  410. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/data.schema.mjs +1 -9
  411. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/event.schema.mjs +1 -17
  412. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/index.mjs +1 -17
  413. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/props.schema.mjs +1 -54
  414. package/dist/components/biz/business/recommended-users/variants/basic-recommended-users/schema/style.schema.mjs +1 -7
  415. package/dist/components/biz/business/search-bar/variants/basic-search-bar/defaults/default-props.mjs +1 -15
  416. package/dist/components/biz/business/search-bar/variants/basic-search-bar/index.mjs +1 -9
  417. package/dist/components/biz/business/search-bar/variants/basic-search-bar/runtime/client.mjs +1 -52
  418. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/component.mjs +1 -14
  419. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/data.schema.mjs +1 -9
  420. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/event.schema.mjs +1 -5
  421. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/index.mjs +1 -17
  422. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/props.schema.mjs +1 -117
  423. package/dist/components/biz/business/search-bar/variants/basic-search-bar/schema/style.schema.mjs +1 -7
  424. package/dist/components/biz/business/search-bar/variants/detail-search-bar/defaults/default-props.mjs +1 -22
  425. package/dist/components/biz/business/search-bar/variants/detail-search-bar/index.mjs +1 -9
  426. package/dist/components/biz/business/search-bar/variants/detail-search-bar/runtime/client.mjs +1 -53
  427. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/component.mjs +1 -14
  428. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/data.schema.mjs +1 -9
  429. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/event.schema.mjs +1 -5
  430. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/index.mjs +1 -17
  431. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/props.schema.mjs +1 -117
  432. package/dist/components/biz/business/search-bar/variants/detail-search-bar/schema/style.schema.mjs +1 -7
  433. package/dist/components/biz/business/search-bar/variants/filter-search-bar/defaults/default-props.mjs +1 -15
  434. package/dist/components/biz/business/search-bar/variants/filter-search-bar/index.mjs +1 -9
  435. package/dist/components/biz/business/search-bar/variants/filter-search-bar/runtime/client.mjs +1 -52
  436. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/component.mjs +1 -14
  437. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/data.schema.mjs +1 -9
  438. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/event.schema.mjs +1 -25
  439. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/index.mjs +1 -17
  440. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/props.schema.mjs +1 -128
  441. package/dist/components/biz/business/search-bar/variants/filter-search-bar/schema/style.schema.mjs +1 -7
  442. package/dist/components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs +1 -15
  443. package/dist/components/biz/business/search-bar/variants/tag-search-bar/index.mjs +1 -12
  444. package/dist/components/biz/business/search-bar/variants/tag-search-bar/runtime/client.mjs +1 -58
  445. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/component.mjs +1 -14
  446. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/data.schema.mjs +1 -9
  447. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/event.schema.mjs +1 -38
  448. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs +1 -17
  449. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/props.schema.mjs +1 -144
  450. package/dist/components/biz/business/search-bar/variants/tag-search-bar/schema/style.schema.mjs +1 -7
  451. package/dist/components/biz/business/search-history/client.mjs +1 -121
  452. package/dist/components/biz/business/search-history/material.mjs +1 -18
  453. package/dist/components/biz/business/search-history/schema.mjs +1 -20
  454. package/dist/components/biz/business/search-history/server.mjs +1 -17
  455. package/dist/components/biz/business/search-input/client.mjs +1 -108
  456. package/dist/components/biz/business/search-input/material.mjs +1 -18
  457. package/dist/components/biz/business/search-input/schema.mjs +1 -11
  458. package/dist/components/biz/business/search-input/server.mjs +1 -17
  459. package/dist/components/biz/business/shortcut-grid/client.mjs +1 -64
  460. package/dist/components/biz/business/shortcut-grid/material.mjs +1 -18
  461. package/dist/components/biz/business/shortcut-grid/schema.mjs +1 -70
  462. package/dist/components/biz/business/shortcut-grid/server.mjs +1 -17
  463. package/dist/components/biz/business/tab-bar/client.mjs +1 -102
  464. package/dist/components/biz/business/tab-bar/material.mjs +1 -21
  465. package/dist/components/biz/business/tab-bar/schema.mjs +1 -11
  466. package/dist/components/biz/business/tab-bar/server.mjs +1 -17
  467. package/dist/components/biz/business/text-recommend/client.mjs +1 -69
  468. package/dist/components/biz/business/text-recommend/material.mjs +1 -18
  469. package/dist/components/biz/business/text-recommend/schema.mjs +1 -28
  470. package/dist/components/biz/business/text-recommend/server.mjs +1 -18
  471. package/dist/components/biz/example/button/client.mjs +1 -43
  472. package/dist/components/biz/example/button/material.mjs +1 -18
  473. package/dist/components/biz/example/button/schema.mjs +1 -47
  474. package/dist/components/biz/example/button/server.mjs +1 -32
  475. package/dist/components/biz/example/button/variants.mjs +1 -22
  476. package/dist/components/biz/renderer/renderer.mjs +1 -73
  477. package/dist/components/biz/utils/constants/card-spec.mjs +1 -48
  478. package/dist/components/biz/utils/helpers/get-channel-list.mjs +1 -14
  479. package/dist/components/biz/utils/helpers/url.mjs +1 -16
  480. package/dist/components/biz/utils/schema/data.mjs +1 -22
  481. package/dist/components/biz/utils/styles/helpers.mjs +1 -84
  482. package/dist/components/biz/utils/styles/schema.mjs +1 -306
  483. package/dist/components/biz/utils/transformers/card-grid.mjs +1 -71
  484. package/dist/components/biz/utils/transformers/data.mjs +1 -171
  485. package/dist/components/common/at-element/index.mjs +1 -47
  486. package/dist/components/common/background-preview-modal/background-preview-modal.mjs +1 -73
  487. package/dist/components/common/blocked-dialog/blocked-dialog.mjs +1 -54
  488. package/dist/components/common/cards/mini-three-card.mjs +1 -55
  489. package/dist/components/common/cards/style.module.mjs +24 -12
  490. package/dist/components/common/collection-popup/collection-create-modal.mjs +1 -130
  491. package/dist/components/common/collection-popup/index.mjs +1 -292
  492. package/dist/components/common/debug-locale-switcher/index.mjs +1 -59
  493. package/dist/components/common/delete-confirm-dialog/delete-confirm-dialog.mjs +1 -66
  494. package/dist/components/common/empty/index.mjs +1 -51
  495. package/dist/components/common/follow-button/index.mjs +1 -133
  496. package/dist/components/common/follow-button/unfollow-confirm-dialog.mjs +1 -23
  497. package/dist/components/common/funhub-provider/funhub-provider.mjs +1 -85
  498. package/dist/components/common/header-nav/client.mjs +1 -51
  499. package/dist/components/common/icons/add.mjs +1 -21
  500. package/dist/components/common/icons/comment.mjs +1 -30
  501. package/dist/components/common/icons/delete.mjs +1 -32
  502. package/dist/components/common/icons/left-arrow.mjs +1 -15
  503. package/dist/components/common/icons/more.mjs +1 -30
  504. package/dist/components/common/icons/right-arrow.mjs +1 -19
  505. package/dist/components/common/icons/setting.mjs +1 -45
  506. package/dist/components/common/icons/share.mjs +1 -20
  507. package/dist/components/common/icons/video.mjs +1 -22
  508. package/dist/components/common/image-crop/image-crop.mjs +1 -182
  509. package/dist/components/common/image-crop/show-image-crop.mjs +1 -102
  510. package/dist/components/common/image-crop-modal/image-crop-modal.mjs +2 -128
  511. package/dist/components/common/info-card/card-header.mjs +1 -70
  512. package/dist/components/common/info-card/card-text.mjs +1 -49
  513. package/dist/components/common/interaction-animations.module.mjs +84 -14
  514. package/dist/components/common/intl-provider/intl-provider.mjs +1 -21
  515. package/dist/components/common/keep-scroll-position/index.mjs +1 -39
  516. package/dist/components/common/list/collection-list/collection-list-item.mjs +1 -93
  517. package/dist/components/common/list/collection-list/collection-list.mjs +1 -21
  518. package/dist/components/common/list/post-list/post-list-item.mjs +1 -54
  519. package/dist/components/common/list/post-list/post-list.mjs +1 -143
  520. package/dist/components/common/list/user-activity-list/user-activity-list-actions.mjs +1 -269
  521. package/dist/components/common/list/user-activity-list/user-activity-list-item.mjs +1 -468
  522. package/dist/components/common/list/user-activity-list/user-activity-list.mjs +1 -139
  523. package/dist/components/common/list/video-list/video-list-item.mjs +1 -104
  524. package/dist/components/common/list/video-list/video-list.mjs +1 -152
  525. package/dist/components/common/locale-sync/locale-sync.mjs +1 -62
  526. package/dist/components/common/login-dialog/login-dialog.mjs +1 -29
  527. package/dist/components/common/media-preview/index.mjs +1 -162
  528. package/dist/components/common/media-preview/video-play.mjs +1 -237
  529. package/dist/components/common/page-loading/index.mjs +1 -20
  530. package/dist/components/common/page-skeleton/page-skeleton.mjs +1 -7
  531. package/dist/components/common/photo-grid/common-photo-grid.d.mts +1 -0
  532. package/dist/components/common/photo-grid/common-photo-grid.mjs +1 -320
  533. package/dist/components/common/photo-grid/index.mjs +1 -226
  534. package/dist/components/common/photo-preview/common-photo-preview.mjs +1 -96
  535. package/dist/components/common/photo-preview/decrypt-loading.mjs +2 -66
  536. package/dist/components/common/photo-preview/index.d.mts +2 -0
  537. package/dist/components/common/photo-preview/index.mjs +1 -63
  538. package/dist/components/common/photo-preview/style.mjs +19 -7
  539. package/dist/components/common/picker/gender-picker/gender-picker.mjs +1 -66
  540. package/dist/components/common/picker/picker-drawer/picker-drawer.mjs +1 -78
  541. package/dist/components/common/popup-video/index.mjs +1 -76
  542. package/dist/components/common/popup-video/popup-video.module.mjs +16 -7
  543. package/dist/components/common/series-episodes/index.mjs +1 -555
  544. package/dist/components/common/share-popup/share-content.mjs +1 -155
  545. package/dist/components/common/share-popup/share-drawer.mjs +1 -100
  546. package/dist/components/common/share-popup/share-popup.mjs +1 -326
  547. package/dist/components/common/skeleton/post-list-item-skeleton.mjs +1 -99
  548. package/dist/components/common/skeleton/search-video-card-skeleton.mjs +2 -0
  549. package/dist/components/common/skeleton/user-activity-list-item-skeleton.mjs +1 -146
  550. package/dist/components/common/skeleton/video-list-item-skeleton.mjs +1 -110
  551. package/dist/components/common/tab-bar/index.mjs +1 -120
  552. package/dist/components/common/theme-sync/index.mjs +1 -22
  553. package/dist/components/common/top-nav-bar/client.mjs +1 -63
  554. package/dist/components/common/top-nav-bar/fullscreen.mjs +1 -27
  555. package/dist/components/common/top-nav-bar/index.mjs +1 -29
  556. package/dist/components/common/top-nav-bar/normal.mjs +1 -20
  557. package/dist/components/common/video-player/create-video.mjs +2 -27
  558. package/dist/components/common/video-player/index.mjs +5 -710
  559. package/dist/components/common/video-player/playing-videos.mjs +1 -73
  560. package/dist/components/common/video-player/process-m3u8-cache.mjs +1 -282
  561. package/dist/components/common/video-player/style.module.mjs +257 -7
  562. package/dist/components/common/wait-loading.mjs +1 -119
  563. package/dist/components/pages/(follow)/_components/follow-button/index.mjs +1 -80
  564. package/dist/components/pages/(follow)/_components/header-nav/index.mjs +1 -13
  565. package/dist/components/pages/(follow)/_components/interaction-tabs/index.mjs +1 -43
  566. package/dist/components/pages/(follow)/_components/user-list/index.mjs +1 -139
  567. package/dist/components/pages/(follow)/_components/user-list/user-list-item.mjs +1 -46
  568. package/dist/components/pages/(follow)/fans/index.mjs +1 -10
  569. package/dist/components/pages/(follow)/fans/page.mjs +1 -95
  570. package/dist/components/pages/(follow)/followed/index.mjs +1 -10
  571. package/dist/components/pages/(follow)/followed/page.mjs +1 -95
  572. package/dist/components/pages/collection-add/index.mjs +1 -10
  573. package/dist/components/pages/collection-add/page.mjs +1 -161
  574. package/dist/components/pages/collection-create/form.mjs +1 -163
  575. package/dist/components/pages/collection-create/index.mjs +1 -10
  576. package/dist/components/pages/collection-create/page.mjs +1 -28
  577. package/dist/components/pages/collection-detail/_components/collection-detail-card.mjs +1 -183
  578. package/dist/components/pages/collection-detail/detail.mjs +1 -538
  579. package/dist/components/pages/collection-detail/index.mjs +1 -10
  580. package/dist/components/pages/collection-detail/page.mjs +1 -18
  581. package/dist/components/pages/edit/index.mjs +1 -10
  582. package/dist/components/pages/edit/page.mjs +1 -655
  583. package/dist/components/pages/feed-series/feed-series-client.mjs +1 -382
  584. package/dist/components/pages/feed-series/page.mjs +1 -97
  585. package/dist/components/pages/feedback/_components/feedback-form.mjs +1 -256
  586. package/dist/components/pages/feedback/index.mjs +1 -10
  587. package/dist/components/pages/feedback/page.mjs +1 -10
  588. package/dist/components/pages/fullscreen-feed/index.mjs +1 -10
  589. package/dist/components/pages/fullscreen-feed/page.mjs +1 -104
  590. package/dist/components/pages/home/channel-matcher.mjs +1 -30
  591. package/dist/components/pages/home/client.mjs +1 -155
  592. package/dist/components/pages/home/index.mjs +1 -56
  593. package/dist/components/pages/login/agreement-dialog.mjs +1 -104
  594. package/dist/components/pages/login/auth-guard.mjs +1 -37
  595. package/dist/components/pages/login/forgot.mjs +1 -130
  596. package/dist/components/pages/login/index.mjs +1 -107
  597. package/dist/components/pages/login/login-client.mjs +1 -214
  598. package/dist/components/pages/login/password.mjs +1 -186
  599. package/dist/components/pages/login/register.mjs +1 -189
  600. package/dist/components/pages/login/reset-password.mjs +1 -193
  601. package/dist/components/pages/login/verify.mjs +3 -212
  602. package/dist/components/pages/post-detail/page.mjs +1 -28
  603. package/dist/components/pages/post-detail/post-detail-client.mjs +1 -516
  604. package/dist/components/pages/profile/index.mjs +1 -10
  605. package/dist/components/pages/profile/page.mjs +1 -28
  606. package/dist/components/pages/publish/components/collection-card.mjs +1 -49
  607. package/dist/components/pages/publish/components/collection-popup.mjs +1 -81
  608. package/dist/components/pages/publish/components/collection.mjs +1 -97
  609. package/dist/components/pages/publish/components/cover-item.mjs +1 -46
  610. package/dist/components/pages/publish/components/editor.mjs +1 -208
  611. package/dist/components/pages/publish/components/header.mjs +1 -31
  612. package/dist/components/pages/publish/components/material-grid.mjs +1 -52
  613. package/dist/components/pages/publish/components/material-item.mjs +1 -68
  614. package/dist/components/pages/publish/components/toolbar.mjs +1 -39
  615. package/dist/components/pages/publish/components/upload-progress.mjs +1 -53
  616. package/dist/components/pages/publish/components/video-item.mjs +1 -36
  617. package/dist/components/pages/publish/constants.mjs +1 -8
  618. package/dist/components/pages/publish/hooks/use-file-upload.mjs +1 -162
  619. package/dist/components/pages/publish/page-client.mjs +1 -345
  620. package/dist/components/pages/publish/page.mjs +1 -11
  621. package/dist/components/pages/publish/utils/file-upload.mjs +1 -155
  622. package/dist/components/pages/publish/utils/publish-utils.mjs +1 -11
  623. package/dist/components/pages/search/hot-recommend.mjs +1 -185
  624. package/dist/components/pages/search/hot-search.mjs +1 -70
  625. package/dist/components/pages/search/index.mjs +1 -17
  626. package/dist/components/pages/search/page-client.mjs +1 -159
  627. package/dist/components/pages/search/search-result/index.mjs +1 -22
  628. package/dist/components/pages/search/search-result/search-all.mjs +1 -223
  629. package/dist/components/pages/search/search-result/search-user.mjs +1 -203
  630. package/dist/components/pages/search/search-result/search-video-info.mjs +1 -324
  631. package/dist/components/pages/search/search-utils.mjs +1 -48
  632. package/dist/components/pages/search/style.module.mjs +113 -13
  633. package/dist/components/pages/search/top-header.mjs +1 -91
  634. package/dist/components/pages/search-result/page-client.mjs +1 -117
  635. package/dist/components/pages/search-result/search-all.mjs +1 -82
  636. package/dist/components/pages/search-result/search-result-skeleton.mjs +1 -22
  637. package/dist/components/pages/search-result/search-tab.mjs +1 -89
  638. package/dist/components/pages/search-result/search-user.mjs +1 -253
  639. package/dist/components/pages/search-result/search-video.mjs +1 -226
  640. package/dist/components/pages/settings/_components/reset-password-drawer.mjs +4 -256
  641. package/dist/components/pages/settings/_components/settings.mjs +1 -183
  642. package/dist/components/pages/settings/index.mjs +1 -10
  643. package/dist/components/pages/settings/page.mjs +1 -13
  644. package/dist/components/pages/user-follow/_components/follow-no-login.mjs +1 -34
  645. package/dist/components/pages/user-follow/_components/follow-top-header.mjs +1 -25
  646. package/dist/components/pages/user-follow/_components/post-tab.mjs +1 -96
  647. package/dist/components/pages/user-follow/index.mjs +1 -10
  648. package/dist/components/pages/user-follow/page.mjs +1 -106
  649. package/dist/components/pages/user-follow/skeleton.mjs +1 -62
  650. package/dist/components/pages/video-detail/page.mjs +1 -47
  651. package/dist/components/pages/video-detail/video-detail-client.mjs +1 -357
  652. package/dist/components/pages/video-list/index.mjs +1 -59
  653. package/dist/components/pages/video-list/types.mjs +1 -16
  654. package/dist/components/pages/video-list/video-list-client.mjs +1 -106
  655. package/dist/components/pages/video-list/video-list-item.mjs +1 -92
  656. package/dist/components/pages/video-list/video-list-skeleton.mjs +1 -62
  657. package/dist/components/ui/accordion.mjs +1 -62
  658. package/dist/components/ui/alert-dialog.mjs +1 -114
  659. package/dist/components/ui/alert.mjs +1 -50
  660. package/dist/components/ui/aspect-ratio.mjs +1 -17
  661. package/dist/components/ui/avatar.mjs +1 -106
  662. package/dist/components/ui/badge.d.mts +1 -1
  663. package/dist/components/ui/badge.mjs +1 -38
  664. package/dist/components/ui/box.mjs +1 -17
  665. package/dist/components/ui/breadcrumb.mjs +1 -84
  666. package/dist/components/ui/button-group.d.mts +1 -1
  667. package/dist/components/ui/button-group.mjs +1 -49
  668. package/dist/components/ui/button.d.mts +1 -1
  669. package/dist/components/ui/button.mjs +1 -50
  670. package/dist/components/ui/card.mjs +1 -65
  671. package/dist/components/ui/carousel.mjs +1 -142
  672. package/dist/components/ui/checkbox.mjs +1 -25
  673. package/dist/components/ui/collapsible.mjs +1 -31
  674. package/dist/components/ui/combobox.mjs +1 -185
  675. package/dist/components/ui/context-menu.mjs +1 -150
  676. package/dist/components/ui/dialog.mjs +1 -109
  677. package/dist/components/ui/drawer.mjs +1 -91
  678. package/dist/components/ui/dropdown-menu.mjs +1 -154
  679. package/dist/components/ui/empty-icons.mjs +7 -96
  680. package/dist/components/ui/empty.mjs +1 -95
  681. package/dist/components/ui/field.d.mts +1 -1
  682. package/dist/components/ui/field.mjs +1 -131
  683. package/dist/components/ui/hover-card.mjs +1 -43
  684. package/dist/components/ui/image.mjs +1 -257
  685. package/dist/components/ui/infinite-scroll.mjs +1 -168
  686. package/dist/components/ui/input-group.mjs +1 -90
  687. package/dist/components/ui/input.mjs +1 -19
  688. package/dist/components/ui/item.mjs +1 -137
  689. package/dist/components/ui/kbd.mjs +1 -24
  690. package/dist/components/ui/label.mjs +1 -18
  691. package/dist/components/ui/legacy/badge.mjs +1 -80
  692. package/dist/components/ui/legacy/button.mjs +1 -55
  693. package/dist/components/ui/legacy/input.mjs +1 -22
  694. package/dist/components/ui/legacy/popover.mjs +1 -69
  695. package/dist/components/ui/link.mjs +1 -32
  696. package/dist/components/ui/list.mjs +5 -221
  697. package/dist/components/ui/loading.mjs +1 -44
  698. package/dist/components/ui/mask.mjs +1 -17
  699. package/dist/components/ui/menubar.mjs +1 -154
  700. package/dist/components/ui/native-select.mjs +1 -43
  701. package/dist/components/ui/pagination.mjs +1 -90
  702. package/dist/components/ui/popover.mjs +1 -73
  703. package/dist/components/ui/popup.mjs +1 -44
  704. package/dist/components/ui/progress.mjs +1 -53
  705. package/dist/components/ui/radio-group.mjs +1 -34
  706. package/dist/components/ui/rate.mjs +1 -69
  707. package/dist/components/ui/scroll-area.mjs +1 -43
  708. package/dist/components/ui/select.mjs +1 -113
  709. package/dist/components/ui/separator.mjs +1 -20
  710. package/dist/components/ui/sheet.mjs +1 -109
  711. package/dist/components/ui/skeleton.mjs +1 -16
  712. package/dist/components/ui/slider.mjs +1 -46
  713. package/dist/components/ui/sonner.mjs +1 -34
  714. package/dist/components/ui/spinner.mjs +1 -18
  715. package/dist/components/ui/switch.mjs +1 -65
  716. package/dist/components/ui/table.mjs +1 -78
  717. package/dist/components/ui/tabs.mjs +1 -54
  718. package/dist/components/ui/text.mjs +1 -20
  719. package/dist/components/ui/textarea.mjs +1 -16
  720. package/dist/components/ui/time.mjs +1 -91
  721. package/dist/components/ui/toggle-group.mjs +1 -59
  722. package/dist/components/ui/toggle.mjs +1 -41
  723. package/dist/components/ui/tooltip.mjs +1 -49
  724. package/dist/components/ui/wheel-picker.mjs +1 -28
  725. package/dist/constants/event-key.mjs +1 -18
  726. package/dist/constants/query-key.mjs +1 -32
  727. package/dist/constants/revalidate.mjs +1 -9
  728. package/dist/constants/site.mjs +1 -11
  729. package/dist/constants/url-prefix.mjs +1 -11
  730. package/dist/hooks/image-text-recommend.mjs +1 -71
  731. package/dist/hooks/query/hydration-boundary.mjs +1 -34
  732. package/dist/hooks/query/use-query.mjs +1 -114
  733. package/dist/hooks/use-auth.mjs +1 -198
  734. package/dist/hooks/use-browse-report.mjs +1 -466
  735. package/dist/hooks/use-card-decoration.mjs +1 -92
  736. package/dist/hooks/use-content-operate.mjs +1 -525
  737. package/dist/hooks/use-follow.mjs +1 -69
  738. package/dist/hooks/use-fullscreen-gestures.mjs +1 -144
  739. package/dist/hooks/use-interaction-animation.mjs +1 -26
  740. package/dist/hooks/use-keyboard-open.mjs +1 -56
  741. package/dist/hooks/use-like-dislike.mjs +1 -40
  742. package/dist/hooks/use-search-history.mjs +1 -53
  743. package/dist/hooks/use-sticky.mjs +1 -50
  744. package/dist/hooks.mjs +1 -14
  745. package/dist/i18n/locales/en.mjs +3 -820
  746. package/dist/i18n/locales/zh-CN.mjs +3 -820
  747. package/dist/i18n/messages.mjs +1 -20
  748. package/dist/i18n/translator.mjs +1 -38
  749. package/dist/i18n.mjs +1 -165
  750. package/dist/materials.mjs +1 -61
  751. package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +1 -17
  752. package/dist/pages.mjs +1 -23
  753. package/dist/seo/build-metadata.mjs +1 -163
  754. package/dist/seo/config/index.mjs +1 -22
  755. package/dist/seo/config/page.mjs +6 -301
  756. package/dist/seo/config/site.mjs +1 -25
  757. package/dist/seo/constants.mjs +1 -31
  758. package/dist/seo/helpers.mjs +1 -120
  759. package/dist/seo/resource-hints.mjs +1 -60
  760. package/dist/seo/robots.mjs +1 -36
  761. package/dist/seo/sitemap.mjs +1 -44
  762. package/dist/seo/structured-data/article.mjs +1 -51
  763. package/dist/seo/structured-data/common.mjs +1 -60
  764. package/dist/seo/structured-data/video.mjs +1 -41
  765. package/dist/seo/viewport.mjs +1 -31
  766. package/dist/seo.mjs +1 -15
  767. package/dist/service/generated/client.mjs +1 -1138
  768. package/dist/service/generated/tanstack.mjs +1 -1049
  769. package/dist/service/register-by-verify-email-code.d.mts +15 -0
  770. package/dist/service/register-by-verify-email-code.mjs +2 -0
  771. package/dist/service.d.mts +2 -1
  772. package/dist/service.mjs +1 -4
  773. package/dist/store/create-store.mjs +1 -25
  774. package/dist/store/modules/app-config-store.mjs +1 -28
  775. package/dist/store/modules/blocked-modal-store.mjs +1 -30
  776. package/dist/store/modules/follow-ids-store.mjs +1 -12
  777. package/dist/store/modules/login-modal-store.mjs +1 -155
  778. package/dist/store/modules/media-preview-store.mjs +1 -54
  779. package/dist/store/modules/publish-store.mjs +1 -31
  780. package/dist/store/modules/use-demo-store.mjs +1 -17
  781. package/dist/store/modules/user-store.mjs +1 -113
  782. package/dist/store.mjs +1 -10
  783. package/dist/types/safe-at-user.mjs +1 -15
  784. package/dist/types/safe-comment.mjs +1 -30
  785. package/dist/types/safe-grid.mjs +1 -36
  786. package/dist/types/safe-replay.mjs +1 -43
  787. package/dist/types/share.mjs +1 -16
  788. package/dist/ui.mjs +1 -57
  789. package/dist/utils/api-collect.mjs +1 -14
  790. package/dist/utils/channel-storage.mjs +1 -57
  791. package/dist/utils/cn.mjs +1 -15
  792. package/dist/utils/common.mjs +1 -296
  793. package/dist/utils/db.mjs +1 -80
  794. package/dist/utils/decrypt-image-client.mjs +1 -325
  795. package/dist/utils/decrypt.worker.mjs +2 -20
  796. package/dist/utils/event-bus.mjs +1 -33
  797. package/dist/utils/follow-service.mjs +1 -87
  798. package/dist/utils/get-res-url.mjs +1 -94
  799. package/dist/utils/helper.mjs +1 -33
  800. package/dist/utils/http.mjs +1 -194
  801. package/dist/utils/image-compression.mjs +1 -59
  802. package/dist/utils/image-crop.mjs +1 -110
  803. package/dist/utils/loaders.mjs +1 -51
  804. package/dist/utils/login-modal-bridge.mjs +1 -65
  805. package/dist/utils/media.mjs +1 -128
  806. package/dist/utils/password-validator.mjs +1 -86
  807. package/dist/utils/s3-uploader.mjs +1 -40
  808. package/dist/utils/schema/material.mjs +1 -24
  809. package/dist/utils/schema/schema.mjs +1 -147
  810. package/dist/utils/schema/utils.mjs +1 -27
  811. package/dist/utils/share-manager.mjs +1 -183
  812. package/dist/utils/tools.mjs +1 -105
  813. package/dist/utils/uint8.mjs +1 -46
  814. package/dist/utils/upload-file.mjs +1 -429
  815. package/dist/utils.mjs +1 -21
  816. package/package.json +1 -1
@@ -1,21 +1,2 @@
1
1
 
2
- 'use client';
3
-
4
- import { Time } from "../../../ui/time.mjs";
5
- import { jsx } from "react/jsx-runtime";
6
-
7
- //#region components/biz/business/comment/time-display.tsx
8
- /**
9
- * 评论时间显示组件,统一复用 UI Time 的相对时间能力。
10
- */
11
- function TimeDisplay({ timestamp, className }) {
12
- return /* @__PURE__ */ jsx(Time, {
13
- value: timestamp,
14
- className,
15
- mode: "relative",
16
- unit: "second"
17
- });
18
- }
19
-
20
- //#endregion
21
- export { TimeDisplay };
2
+ "use client";import{Time as e}from"../../../ui/time.mjs";import{jsx as t}from"react/jsx-runtime";function n({timestamp:n,className:r}){return t(e,{value:n,className:r,mode:`relative`,unit:`second`})}export{n as TimeDisplay};
@@ -1,143 +1,2 @@
1
1
 
2
- 'use client';
3
-
4
- import { debounceFun, isMobileDevice } from "../../../../utils/common.mjs";
5
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
6
-
7
- //#region components/biz/business/comment/use-keyboard-handler.ts
8
- function useKeyboardHandler(enabled = true) {
9
- const [keyboardState, setKeyboardState] = useState({
10
- isVisible: false,
11
- height: 0,
12
- animationDuration: 100
13
- });
14
- const [isFocused, setIsFocused] = useState(false);
15
- const initialViewportHeight = useRef(enabled ? window.innerHeight : 0);
16
- const inputElement = useRef(null);
17
- const initialInputRect = useRef(null);
18
- const isDetecting = useRef(false);
19
- const detectionTimer = useRef(null);
20
- useEffect(() => {
21
- if (enabled && initialViewportHeight.current === 0) initialViewportHeight.current = window.innerHeight;
22
- }, [enabled]);
23
- const updateKeyboardState = useCallback((next) => {
24
- setKeyboardState((prev) => ({
25
- ...prev,
26
- ...next
27
- }));
28
- }, []);
29
- const checkInputPosition = useCallback(() => {
30
- if (!inputElement.current || !initialInputRect.current || !isFocused) return false;
31
- const currentRect = inputElement.current.getBoundingClientRect();
32
- const initialRect = initialInputRect.current;
33
- return Math.abs(currentRect.top - initialRect.top) > 10;
34
- }, [isFocused]);
35
- const smartKeyboardAdaptation = useCallback(() => {
36
- if (!enabled || !isMobileDevice()) return { height: 0 };
37
- if ("visualViewport" in window && window.visualViewport) {
38
- const currentViewportHeight = window.visualViewport.height;
39
- const keyboardHeight = initialViewportHeight.current - currentViewportHeight;
40
- if (keyboardHeight > 100) {
41
- if (detectionTimer.current) clearTimeout(detectionTimer.current);
42
- detectionTimer.current = window.setTimeout(() => {
43
- requestAnimationFrame(() => {
44
- if (checkInputPosition()) updateKeyboardState({ height: 0 });
45
- else updateKeyboardState({ height: keyboardHeight });
46
- isDetecting.current = false;
47
- });
48
- }, 200);
49
- isDetecting.current = true;
50
- return { height: 0 };
51
- }
52
- } else if (isFocused) return { height: 280 };
53
- return { height: 0 };
54
- }, [
55
- checkInputPosition,
56
- enabled,
57
- isFocused,
58
- updateKeyboardState
59
- ]);
60
- useEffect(() => {
61
- if (!enabled || !isMobileDevice() || !("visualViewport" in window)) return;
62
- const handleViewportChange = debounceFun(() => {
63
- if (isDetecting.current) return;
64
- const result = smartKeyboardAdaptation();
65
- if (!isDetecting.current && result.height !== void 0) updateKeyboardState({ height: result.height });
66
- }, 100);
67
- window.visualViewport?.addEventListener("resize", handleViewportChange);
68
- return () => window.visualViewport?.removeEventListener("resize", handleViewportChange);
69
- }, [
70
- enabled,
71
- smartKeyboardAdaptation,
72
- updateKeyboardState
73
- ]);
74
- useEffect(() => {
75
- if (isFocused) {
76
- if (inputElement.current) requestAnimationFrame(() => {
77
- if (inputElement.current) initialInputRect.current = inputElement.current.getBoundingClientRect();
78
- });
79
- if (!("visualViewport" in window)) {
80
- const result = smartKeyboardAdaptation();
81
- if (result.height !== void 0) updateKeyboardState({ height: result.height });
82
- }
83
- } else {
84
- initialInputRect.current = null;
85
- if (detectionTimer.current) {
86
- clearTimeout(detectionTimer.current);
87
- detectionTimer.current = null;
88
- }
89
- isDetecting.current = false;
90
- }
91
- }, [
92
- isFocused,
93
- smartKeyboardAdaptation,
94
- updateKeyboardState
95
- ]);
96
- const onFocus = useCallback(() => {
97
- setIsFocused(true);
98
- updateKeyboardState({ isVisible: true });
99
- }, [updateKeyboardState]);
100
- const onBlur = useCallback(() => {
101
- setIsFocused(false);
102
- updateKeyboardState({
103
- isVisible: false,
104
- height: 0
105
- });
106
- }, [updateKeyboardState]);
107
- const inputRef = useCallback((node) => {
108
- inputElement.current = node;
109
- }, []);
110
- return {
111
- keyboardState,
112
- containerStyle: useMemo(() => {
113
- /**
114
- * 对齐 web-monorepo `useKeyboardHandler`:
115
- * 容器始终 `fixed` 固定在底部,仅在 `enabled` 时参与键盘高度检测与动效。
116
- */
117
- return {
118
- position: "fixed",
119
- left: 0,
120
- right: 0,
121
- bottom: enabled ? keyboardState.height : 0,
122
- zIndex: 100,
123
- transition: enabled ? `all ${keyboardState.animationDuration}ms ease-out` : "none",
124
- boxShadow: keyboardState.isVisible ? "0px -4px 10px 0px rgba(0,0,0,0.1)" : "none",
125
- transform: "translate3d(0, 0, 0)",
126
- WebkitTransform: "translate3d(0, 0, 0)",
127
- backfaceVisibility: "hidden",
128
- WebkitBackfaceVisibility: "hidden"
129
- };
130
- }, [
131
- enabled,
132
- keyboardState.animationDuration,
133
- keyboardState.height,
134
- keyboardState.isVisible
135
- ]),
136
- onFocus,
137
- onBlur,
138
- inputRef
139
- };
140
- }
141
-
142
- //#endregion
143
- export { useKeyboardHandler };
2
+ "use client";import{debounceFun as e,isMobileDevice as t}from"../../../../utils/common.mjs";import{useCallback as n,useEffect as r,useMemo as i,useRef as a,useState as o}from"react";function s(s=!0){let[c,l]=o({isVisible:!1,height:0,animationDuration:100}),[u,d]=o(!1),f=a(s?window.innerHeight:0),p=a(null),m=a(null),h=a(!1),g=a(null);r(()=>{s&&f.current===0&&(f.current=window.innerHeight)},[s]);let _=n(e=>{l(t=>({...t,...e}))},[]),v=n(()=>{if(!p.current||!m.current||!u)return!1;let e=p.current.getBoundingClientRect(),t=m.current;return Math.abs(e.top-t.top)>10},[u]),y=n(()=>{if(!s||!t())return{height:0};if(`visualViewport`in window&&window.visualViewport){let e=window.visualViewport.height,t=f.current-e;if(t>100)return g.current&&clearTimeout(g.current),g.current=window.setTimeout(()=>{requestAnimationFrame(()=>{v()?_({height:0}):_({height:t}),h.current=!1})},200),h.current=!0,{height:0}}else if(u)return{height:280};return{height:0}},[v,s,u,_]);r(()=>{if(!s||!t()||!(`visualViewport`in window))return;let n=e(()=>{if(h.current)return;let e=y();!h.current&&e.height!==void 0&&_({height:e.height})},100);return window.visualViewport?.addEventListener(`resize`,n),()=>window.visualViewport?.removeEventListener(`resize`,n)},[s,y,_]),r(()=>{if(u){if(p.current&&requestAnimationFrame(()=>{p.current&&(m.current=p.current.getBoundingClientRect())}),!(`visualViewport`in window)){let e=y();e.height!==void 0&&_({height:e.height})}}else m.current=null,g.current&&=(clearTimeout(g.current),null),h.current=!1},[u,y,_]);let b=n(()=>{d(!0),_({isVisible:!0})},[_]),x=n(()=>{d(!1),_({isVisible:!1,height:0})},[_]),S=n(e=>{p.current=e},[]);return{keyboardState:c,containerStyle:i(()=>({position:`fixed`,left:0,right:0,bottom:s?c.height:0,zIndex:100,transition:s?`all ${c.animationDuration}ms ease-out`:`none`,boxShadow:c.isVisible?`0px -4px 10px 0px rgba(0,0,0,0.1)`:`none`,transform:`translate3d(0, 0, 0)`,WebkitTransform:`translate3d(0, 0, 0)`,backfaceVisibility:`hidden`,WebkitBackfaceVisibility:`hidden`}),[s,c.animationDuration,c.height,c.isVisible]),onFocus:b,onBlur:x,inputRef:S}}export{s as useKeyboardHandler};
@@ -1,46 +1,2 @@
1
1
 
2
- 'use client';
3
-
4
- import { Image } from "../../../ui/image.mjs";
5
- import { memo } from "react";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
-
8
- //#region components/biz/business/contact/contact-item.tsx
9
- /**
10
- * 联系人条目组件。
11
- */
12
- const ContactItem = memo(({ user, onSelect }) => {
13
- /**
14
- * 选择联系人。
15
- */
16
- function handleSelect() {
17
- onSelect(user);
18
- }
19
- return /* @__PURE__ */ jsx("div", {
20
- className: "h-[74px] flex items-center justify-between bg-bg1 px-4 border-b border-line1",
21
- onClick: handleSelect,
22
- children: /* @__PURE__ */ jsxs("div", {
23
- className: "flex items-center",
24
- children: [/* @__PURE__ */ jsx(Image, {
25
- src: user.avatar,
26
- alt: "avatar",
27
- width: 40,
28
- height: 40,
29
- className: "w-[40px] h-[40px] rounded-full"
30
- }), /* @__PURE__ */ jsxs("div", {
31
- className: "ml-[8px] flex flex-col flex-1 w-[80%]",
32
- children: [/* @__PURE__ */ jsx("p", {
33
- className: "text-[16px] text-text1 font-bold line-clamp-1",
34
- children: user.name
35
- }), /* @__PURE__ */ jsx("p", {
36
- className: "text-[14px] min-h-[1em] text-text1 line-clamp-1",
37
- children: user.signature || ""
38
- })]
39
- })]
40
- })
41
- });
42
- });
43
- ContactItem.displayName = "ContactItem";
44
-
45
- //#endregion
46
- export { ContactItem };
2
+ "use client";import{Image as e}from"../../../ui/image.mjs";import{memo as t}from"react";import{jsx as n,jsxs as r}from"react/jsx-runtime";const i=t(({user:t,onSelect:i})=>{function a(){i(t)}return n(`div`,{className:`h-[74px] flex items-center justify-between bg-bg1 px-4 border-b border-line1`,onClick:a,children:r(`div`,{className:`flex items-center`,children:[n(e,{src:t.avatar,alt:`avatar`,width:40,height:40,className:`w-[40px] h-[40px] rounded-full`}),r(`div`,{className:`ml-[8px] flex flex-col flex-1 w-[80%]`,children:[n(`p`,{className:`text-[16px] text-text1 font-bold line-clamp-1`,children:t.name}),n(`p`,{className:`text-[14px] min-h-[1em] text-text1 line-clamp-1`,children:t.signature||``})]})]})})});i.displayName=`ContactItem`;export{i as ContactItem};
@@ -1,213 +1,2 @@
1
1
 
2
- 'use client';
3
-
4
- import { useUserStore } from "../../../../store/modules/user-store.mjs";
5
- import { gInteractionGetFollowingList, pCommunitySearchCurAccountFollowingUsersInfo } from "../../../../service/generated/client.mjs";
6
- import { Box } from "../../../ui/box.mjs";
7
- import { InfiniteScroll } from "../../../ui/infinite-scroll.mjs";
8
- import { Text } from "../../../ui/text.mjs";
9
- import Loading from "../../../ui/loading.mjs";
10
- import { usePaginated } from "../../../../hooks/query/use-query.mjs";
11
- import { ContactItem } from "./contact-item.mjs";
12
- import SvgImgEmptyAdduser from "../../../../assets/icons/empty/img-empty-adduser.mjs";
13
- import { ContactSearch } from "./contact-search.mjs";
14
- import { useMemo, useState } from "react";
15
- import { jsx, jsxs } from "react/jsx-runtime";
16
- import { useTranslations } from "next-intl";
17
-
18
- //#region components/biz/business/contact/contact-list.tsx
19
- const PAGE_SIZE = 20;
20
- /**
21
- * 将 API 返回的用户信息转换为 ContactUser
22
- */
23
- function mapApiUserToUser(followInfo) {
24
- const userBrief = followInfo.user_brief;
25
- return {
26
- user_id: String(userBrief?.user_id || ""),
27
- name: userBrief?.nickname || userBrief?.username || "",
28
- avatar: userBrief?.avatar_url || "",
29
- signature: userBrief?.signature || ""
30
- };
31
- }
32
- /**
33
- * 联系人列表(用于 @ 提及)。
34
- */
35
- function ContactList({ onClose, onSelect }) {
36
- const t = useTranslations("components.biz.business.contact");
37
- const { userInfo } = useUserStore();
38
- const userId = String(userInfo.user_id || "");
39
- const [searchValue, setSearchValue] = useState("");
40
- const isSearch = searchValue.length > 0;
41
- const { data: followingData, fetchNextPage: fetchNextFollowingPage, hasNextPage: hasNextFollowingPage, isLoading: isLoadingFollowing } = usePaginated({
42
- key: [
43
- "contact-list",
44
- "following",
45
- userId
46
- ],
47
- queryFn: (pageParam) => gInteractionGetFollowingList({
48
- page: pageParam,
49
- page_size: PAGE_SIZE,
50
- user_id: userId
51
- }),
52
- getNextPageParam: (last, all) => {
53
- const responseData = last.data.following || [];
54
- const total = Number(last.data.total ?? 0);
55
- const loaded = all.reduce((sum, page) => sum + (page.data.following || []).length, 0);
56
- if (total > 0 && loaded >= total) return;
57
- const prevIds = /* @__PURE__ */ new Set();
58
- for (const page of all.slice(0, -1)) for (const info of page.data.following || []) {
59
- const id = String(info?.user_brief?.user_id || "");
60
- if (id) prevIds.add(id);
61
- }
62
- if (!responseData.some((info) => {
63
- const id = String(info?.user_brief?.user_id || "");
64
- if (!id) return false;
65
- if (prevIds.has(id)) return false;
66
- prevIds.add(id);
67
- return true;
68
- }) && all.length > 1) return;
69
- if (responseData.length < PAGE_SIZE) return;
70
- if (all.length >= 150) return;
71
- return all.length + 1;
72
- },
73
- options: { enabled: !!userId },
74
- initialPageParam: 1
75
- });
76
- const { data: searchData, fetchNextPage: fetchNextSearchPage, hasNextPage: hasNextSearchPage, isLoading: isLoadingSearch } = usePaginated({
77
- key: [
78
- "contact-list",
79
- "search",
80
- userId,
81
- searchValue
82
- ],
83
- queryFn: (page) => pCommunitySearchCurAccountFollowingUsersInfo({
84
- user_id: userId,
85
- keyword: searchValue,
86
- page_size: PAGE_SIZE,
87
- page
88
- }),
89
- getNextPageParam: (last, all) => {
90
- if (last.data?.has_more === false) return;
91
- const responseData = last.data?.following || [];
92
- const total = Number(last.data?.total ?? 0);
93
- const loaded = all.reduce((sum, page) => sum + (page.data?.following || []).length, 0);
94
- if (total > 0 && loaded >= total) return;
95
- const prevIds = /* @__PURE__ */ new Set();
96
- for (const page of all.slice(0, -1)) for (const info of page.data?.following || []) {
97
- const id = String(info?.user_brief?.user_id || "");
98
- if (id) prevIds.add(id);
99
- }
100
- if (!responseData.some((info) => {
101
- const id = String(info?.user_brief?.user_id || "");
102
- if (!id) return false;
103
- if (prevIds.has(id)) return false;
104
- prevIds.add(id);
105
- return true;
106
- }) && all.length > 1) return;
107
- if (responseData.length < PAGE_SIZE) return;
108
- if (all.length >= 150) return;
109
- return all.length + 1;
110
- },
111
- options: { enabled: isSearch && Boolean(userId) },
112
- initialPageParam: 1
113
- });
114
- const followingList = useMemo(() => {
115
- const pages = followingData?.pages ?? [];
116
- const result = [];
117
- for (const page of pages) {
118
- const apiList = page.data?.following ?? [];
119
- result.push(...apiList);
120
- }
121
- return result;
122
- }, [followingData?.pages]);
123
- const searchList = useMemo(() => {
124
- if (!isSearch || !searchData?.pages) return [];
125
- const result = [];
126
- for (const page of searchData.pages) {
127
- const apiList = page.data?.following ?? [];
128
- result.push(...apiList.map((item) => {
129
- return {
130
- name: item.user_brief?.username || "",
131
- avatar: item.user_brief?.avatar_url || "",
132
- user_id: item.user_id || item.user_brief?.user_id || "",
133
- ...item
134
- };
135
- }));
136
- }
137
- return result;
138
- }, [isSearch, searchData?.pages]);
139
- const currentList = isSearch ? searchList.map((item) => mapApiUserToUser(item)) : followingList.map((item) => mapApiUserToUser(item));
140
- const currentHasMore = isSearch ? Boolean(hasNextSearchPage) : Boolean(hasNextFollowingPage);
141
- const currentIsLoading = isSearch ? isLoadingSearch : isLoadingFollowing;
142
- const emptyText = isSearch ? t("contactList.noSearchResult") : t("contactList.noFollowingUsers");
143
- /**
144
- * 搜索处理。
145
- */
146
- function searchHandler(value) {
147
- setSearchValue(value);
148
- }
149
- /**
150
- * 选择联系人。
151
- */
152
- function handleSelect(item) {
153
- onSelect(item);
154
- onClose();
155
- }
156
- /**
157
- * 搜索取消/关闭。
158
- */
159
- function handleSearchCancel() {
160
- if (searchList.length === 0) onClose();
161
- else setSearchValue("");
162
- }
163
- /**
164
- * 空状态展示。
165
- */
166
- function renderEmptyState(text) {
167
- return /* @__PURE__ */ jsxs(Box, {
168
- className: "flex flex-col items-center justify-center py-12",
169
- children: [/* @__PURE__ */ jsx(SvgImgEmptyAdduser, { className: "w-[145px] h-[145px]" }), /* @__PURE__ */ jsx(Text, {
170
- className: "mt-[12px] text-[14px] text-text2",
171
- children: text
172
- })]
173
- });
174
- }
175
- return /* @__PURE__ */ jsxs(Box, {
176
- className: "w-full bg-bg2 h-[90vh] flex flex-col",
177
- children: [/* @__PURE__ */ jsx(ContactSearch, {
178
- searchHandler,
179
- onCancel: handleSearchCancel,
180
- searchList
181
- }), /* @__PURE__ */ jsx(Box, {
182
- className: "flex-1 overflow-y-auto",
183
- children: /* @__PURE__ */ jsxs(Box, {
184
- className: "flex flex-col",
185
- children: [!isSearch && followingList.length > 0 && /* @__PURE__ */ jsx(Box, {
186
- className: "mt-[12px] px-[16px]",
187
- children: /* @__PURE__ */ jsx(Text, { children: t("contactList.myFollowing") })
188
- }), currentIsLoading && currentList.length === 0 ? /* @__PURE__ */ jsx(Box, {
189
- className: "flex items-center justify-center pt-[58px]",
190
- children: /* @__PURE__ */ jsx(Loading, { size: "medium" })
191
- }) : /* @__PURE__ */ jsx(Box, {
192
- className: "mt-[10px] flex flex-col flex-1",
193
- children: /* @__PURE__ */ jsxs(InfiniteScroll, {
194
- loadMore: () => {
195
- if (isSearch) return fetchNextSearchPage().then(() => void 0);
196
- else return fetchNextFollowingPage().then(() => void 0);
197
- },
198
- hasMore: currentHasMore,
199
- noMoreText: currentList.length ? t("contactList.noMore") : "",
200
- children: [currentList.map((item, index) => /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(ContactItem, {
201
- user: item,
202
- onSelect: handleSelect,
203
- value: isSearch ? searchValue : ""
204
- }) }, `${item.user_id}-${index}`)), currentList.length === 0 && renderEmptyState(emptyText)]
205
- })
206
- })]
207
- })
208
- })]
209
- });
210
- }
211
-
212
- //#endregion
213
- export { ContactList };
2
+ "use client";import{useUserStore as e}from"../../../../store/modules/user-store.mjs";import{gInteractionGetFollowingList as t,pCommunitySearchCurAccountFollowingUsersInfo as n}from"../../../../service/generated/client.mjs";import{Box as r}from"../../../ui/box.mjs";import{InfiniteScroll as i}from"../../../ui/infinite-scroll.mjs";import{Text as a}from"../../../ui/text.mjs";import o from"../../../ui/loading.mjs";import{usePaginated as s}from"../../../../hooks/query/use-query.mjs";import{ContactItem as c}from"./contact-item.mjs";import l from"../../../../assets/icons/empty/img-empty-adduser.mjs";import{ContactSearch as u}from"./contact-search.mjs";import{useMemo as d,useState as f}from"react";import{jsx as p,jsxs as m}from"react/jsx-runtime";import{useTranslations as h}from"next-intl";function g(e){let t=e.user_brief;return{user_id:String(t?.user_id||``),name:t?.nickname||t?.username||``,avatar:t?.avatar_url||``,signature:t?.signature||``}}function _({onClose:_,onSelect:v}){let y=h(`components.biz.business.contact`),{userInfo:b}=e(),x=String(b.user_id||``),[S,C]=f(``),w=S.length>0,{data:T,fetchNextPage:E,hasNextPage:D,isLoading:O}=s({key:[`contact-list`,`following`,x],queryFn:e=>t({page:e,page_size:20,user_id:x}),getNextPageParam:(e,t)=>{let n=e.data.following||[],r=Number(e.data.total??0),i=t.reduce((e,t)=>e+(t.data.following||[]).length,0);if(r>0&&i>=r)return;let a=new Set;for(let e of t.slice(0,-1))for(let t of e.data.following||[]){let e=String(t?.user_brief?.user_id||``);e&&a.add(e)}if(!(!n.some(e=>{let t=String(e?.user_brief?.user_id||``);return!t||a.has(t)?!1:(a.add(t),!0)})&&t.length>1)&&!(n.length<20)&&!(t.length>=150))return t.length+1},options:{enabled:!!x},initialPageParam:1}),{data:k,fetchNextPage:A,hasNextPage:j,isLoading:M}=s({key:[`contact-list`,`search`,x,S],queryFn:e=>n({user_id:x,keyword:S,page_size:20,page:e}),getNextPageParam:(e,t)=>{if(e.data?.has_more===!1)return;let n=e.data?.following||[],r=Number(e.data?.total??0),i=t.reduce((e,t)=>e+(t.data?.following||[]).length,0);if(r>0&&i>=r)return;let a=new Set;for(let e of t.slice(0,-1))for(let t of e.data?.following||[]){let e=String(t?.user_brief?.user_id||``);e&&a.add(e)}if(!(!n.some(e=>{let t=String(e?.user_brief?.user_id||``);return!t||a.has(t)?!1:(a.add(t),!0)})&&t.length>1)&&!(n.length<20)&&!(t.length>=150))return t.length+1},options:{enabled:w&&!!x},initialPageParam:1}),N=d(()=>{let e=T?.pages??[],t=[];for(let n of e){let e=n.data?.following??[];t.push(...e)}return t},[T?.pages]),P=d(()=>{if(!w||!k?.pages)return[];let e=[];for(let t of k.pages){let n=t.data?.following??[];e.push(...n.map(e=>({name:e.user_brief?.username||``,avatar:e.user_brief?.avatar_url||``,user_id:e.user_id||e.user_brief?.user_id||``,...e})))}return e},[w,k?.pages]),F=w?P.map(e=>g(e)):N.map(e=>g(e)),I=w?!!j:!!D,L=w?M:O,R=y(w?`contactList.noSearchResult`:`contactList.noFollowingUsers`);function z(e){C(e)}function B(e){v(e),_()}function V(){P.length===0?_():C(``)}function H(e){return m(r,{className:`flex flex-col items-center justify-center py-12`,children:[p(l,{className:`w-[145px] h-[145px]`}),p(a,{className:`mt-[12px] text-[14px] text-text2`,children:e})]})}return m(r,{className:`w-full bg-bg2 h-[90vh] flex flex-col`,children:[p(u,{searchHandler:z,onCancel:V,searchList:P}),p(r,{className:`flex-1 overflow-y-auto`,children:m(r,{className:`flex flex-col`,children:[!w&&N.length>0&&p(r,{className:`mt-[12px] px-[16px]`,children:p(a,{children:y(`contactList.myFollowing`)})}),L&&F.length===0?p(r,{className:`flex items-center justify-center pt-[58px]`,children:p(o,{size:`medium`})}):p(r,{className:`mt-[10px] flex flex-col flex-1`,children:m(i,{loadMore:()=>w?A().then(()=>void 0):E().then(()=>void 0),hasMore:I,noMoreText:F.length?y(`contactList.noMore`):``,children:[F.map((e,t)=>p(r,{children:p(c,{user:e,onSelect:B,value:w?S:``})},`${e.user_id}-${t}`)),F.length===0&&H(R)]})})]})})]})}export{_ as ContactList};
@@ -1,129 +1,2 @@
1
1
 
2
- 'use client';
3
-
4
- import { Box } from "../../../ui/box.mjs";
5
- import { Text } from "../../../ui/text.mjs";
6
- import Input from "../../../ui/legacy/input.mjs";
7
- import { useState } from "react";
8
- import { jsx, jsxs } from "react/jsx-runtime";
9
- import { useTranslations } from "next-intl";
10
-
11
- //#region components/biz/business/contact/contact-search.tsx
12
- /**
13
- * 搜索输入框组件
14
- */
15
- function SearchInput({ focus, value, searchList, onValueChange, onFocus, onBlur, onKeyUp, onCancel, onContainerClick, placeholder, cancelText, closeText }) {
16
- /**
17
- * 处理输入变化。
18
- */
19
- function handleChange(newValue) {
20
- onValueChange(newValue);
21
- if (newValue.length === 0) setTimeout(() => {}, 0);
22
- }
23
- /**
24
- * 取消按钮点击。
25
- */
26
- function handleCancelClick() {
27
- onValueChange("");
28
- onCancel();
29
- }
30
- return /* @__PURE__ */ jsxs(Box, {
31
- className: "h-[58px] bg-bg1 flex items-center justify-between px-[12px] gap-3",
32
- onClick: onContainerClick,
33
- children: [/* @__PURE__ */ jsx(Input, {
34
- type: "search",
35
- value,
36
- onChange: handleChange,
37
- onKeyUp,
38
- onFocus,
39
- onBlur,
40
- autoFocus: focus,
41
- className: "h-[38px] rounded-[20px] bg-bg2 !text-[14px] text-text3",
42
- placeholder
43
- }), /* @__PURE__ */ jsx(Text, {
44
- className: "text-[16px] text-text1 cursor-pointer whitespace-nowrap",
45
- onClick: handleCancelClick,
46
- children: searchList.length > 0 ? cancelText : closeText
47
- })]
48
- });
49
- }
50
- /**
51
- * 联系人搜索输入框。
52
- */
53
- function ContactSearch({ searchHandler, onCancel, searchList }) {
54
- const t = useTranslations("components.biz.business.contact");
55
- const [visible, setVisible] = useState(false);
56
- const [value, setValue] = useState("");
57
- /**
58
- * 处理回车搜索(无样式效果)。
59
- */
60
- function handleKeyUp(event) {
61
- if (event.key === "Enter") searchHandler(event.currentTarget.value);
62
- }
63
- /**
64
- * 处理输入变化。
65
- */
66
- function handleChange(newValue) {
67
- setValue(newValue);
68
- if (newValue.length === 0) searchHandler("");
69
- }
70
- /**
71
- * 输入框聚焦。
72
- */
73
- function handleFocus() {
74
- setVisible(true);
75
- }
76
- /**
77
- * 输入框失焦。
78
- */
79
- function handleBlur() {
80
- setVisible(false);
81
- }
82
- /**
83
- * 阻止点击冒泡到遮罩层。
84
- */
85
- function handleContainerClick(event) {
86
- event.stopPropagation();
87
- }
88
- /**
89
- * 点击遮罩关闭。
90
- */
91
- function handleMaskClick() {
92
- setVisible(false);
93
- }
94
- if (!visible) return /* @__PURE__ */ jsx(SearchInput, {
95
- focus: false,
96
- value,
97
- searchList,
98
- onValueChange: handleChange,
99
- onFocus: handleFocus,
100
- onBlur: handleBlur,
101
- onKeyUp: handleKeyUp,
102
- onCancel,
103
- onContainerClick: handleContainerClick,
104
- placeholder: t("contactSearch.placeholder"),
105
- cancelText: t("contactSearch.cancel"),
106
- closeText: t("contactSearch.close")
107
- });
108
- return /* @__PURE__ */ jsx(Box, {
109
- className: "bg-black/50",
110
- onClick: handleMaskClick,
111
- children: /* @__PURE__ */ jsx(SearchInput, {
112
- focus: true,
113
- value,
114
- searchList,
115
- onValueChange: handleChange,
116
- onFocus: handleFocus,
117
- onBlur: handleBlur,
118
- onKeyUp: handleKeyUp,
119
- onCancel,
120
- onContainerClick: handleContainerClick,
121
- placeholder: t("contactSearch.placeholder"),
122
- cancelText: t("contactSearch.cancel"),
123
- closeText: t("contactSearch.close")
124
- })
125
- });
126
- }
127
-
128
- //#endregion
129
- export { ContactSearch };
2
+ "use client";import{Box as e}from"../../../ui/box.mjs";import{Text as t}from"../../../ui/text.mjs";import n from"../../../ui/legacy/input.mjs";import{useState as r}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{useTranslations as o}from"next-intl";function s({focus:r,value:o,searchList:s,onValueChange:c,onFocus:l,onBlur:u,onKeyUp:d,onCancel:f,onContainerClick:p,placeholder:m,cancelText:h,closeText:g}){function _(e){c(e),e.length===0&&setTimeout(()=>{},0)}function v(){c(``),f()}return a(e,{className:`h-[58px] bg-bg1 flex items-center justify-between px-[12px] gap-3`,onClick:p,children:[i(n,{type:`search`,value:o,onChange:_,onKeyUp:d,onFocus:l,onBlur:u,autoFocus:r,className:`h-[38px] rounded-[20px] bg-bg2 !text-[14px] text-text3`,placeholder:m}),i(t,{className:`text-[16px] text-text1 cursor-pointer whitespace-nowrap`,onClick:v,children:s.length>0?h:g})]})}function c({searchHandler:t,onCancel:n,searchList:a}){let c=o(`components.biz.business.contact`),[l,u]=r(!1),[d,f]=r(``);function p(e){e.key===`Enter`&&t(e.currentTarget.value)}function m(e){f(e),e.length===0&&t(``)}function h(){u(!0)}function g(){u(!1)}function _(e){e.stopPropagation()}function v(){u(!1)}return l?i(e,{className:`bg-black/50`,onClick:v,children:i(s,{focus:!0,value:d,searchList:a,onValueChange:m,onFocus:h,onBlur:g,onKeyUp:p,onCancel:n,onContainerClick:_,placeholder:c(`contactSearch.placeholder`),cancelText:c(`contactSearch.cancel`),closeText:c(`contactSearch.close`)})}):i(s,{focus:!1,value:d,searchList:a,onValueChange:m,onFocus:h,onBlur:g,onKeyUp:p,onCancel:n,onContainerClick:_,placeholder:c(`contactSearch.placeholder`),cancelText:c(`contactSearch.cancel`),closeText:c(`contactSearch.close`)})}export{c as ContactSearch};
@@ -1,106 +1,2 @@
1
1
 
2
- 'use client';
3
-
4
- import { cn } from "../../../../../utils/cn.mjs";
5
- import { useFollowIdsState } from "../../../../../store/modules/follow-ids-store.mjs";
6
- import { useUserStore } from "../../../../../store/modules/user-store.mjs";
7
- import { followUser, unfollowUser } from "../../../../../utils/follow-service.mjs";
8
- import SvgFollowSel from "../../../../../assets/icons/common/follow_sel.mjs";
9
- import SvgFollowUser from "../../../../../assets/icons/common/follow_user.mjs";
10
- import { UnfollowConfirmDialog } from "../../../../common/follow-button/unfollow-confirm-dialog.mjs";
11
- import { useEffect, useState } from "react";
12
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
- import { useTranslations } from "next-intl";
14
-
15
- //#region components/biz/business/detail/shared/detail-follow-action.tsx
16
- function DetailFollowAction({ information, onUpdate }) {
17
- const { userId: storeUserId, userInfo } = useUserStore();
18
- const currentUserId = storeUserId || userInfo?.userId || "";
19
- const user = information.author;
20
- const followeeId = information.up_user || user?.user_id || "";
21
- const isSelf = Boolean(currentUserId && followeeId && currentUserId === followeeId);
22
- const [followed, setFollowed] = useState(Boolean(information.is_followed));
23
- const [confirmOpen, setConfirmOpen] = useState(false);
24
- const [loading, setLoading] = useState(false);
25
- useEffect(() => {
26
- setFollowed(Boolean(information.is_followed));
27
- }, [information.id, information.is_followed]);
28
- async function applyFollowChange() {
29
- if (!followeeId) {
30
- console.warn("用户信息不完整,无法执行关注操作");
31
- return;
32
- }
33
- setLoading(true);
34
- const next = !followed;
35
- try {
36
- let result;
37
- if (next) result = await followUser({
38
- app_id: 0,
39
- follower_id: currentUserId,
40
- followee_id: followeeId
41
- });
42
- else result = await unfollowUser({
43
- app_id: 0,
44
- follower_id: currentUserId,
45
- followee_id: followeeId
46
- });
47
- if (result.success) {
48
- setFollowed(next);
49
- onUpdate({ is_followed: next });
50
- const { followIds: prevIds, setFollowIds } = useFollowIdsState.getState();
51
- const nextIds = new Set(prevIds);
52
- if (next) nextIds.add(followeeId);
53
- else nextIds.delete(followeeId);
54
- setFollowIds(Array.from(nextIds));
55
- } else console.error("关注操作失败:", result.message);
56
- } catch (error) {
57
- console.error("关注操作异常:", error);
58
- } finally {
59
- setLoading(false);
60
- }
61
- }
62
- function handleToggleFollow() {
63
- if (loading) return;
64
- if (followed) {
65
- setConfirmOpen(true);
66
- return;
67
- }
68
- applyFollowChange();
69
- }
70
- function handleConfirmUnfollow() {
71
- setConfirmOpen(false);
72
- applyFollowChange();
73
- }
74
- function handleCancelUnfollow() {
75
- setConfirmOpen(false);
76
- }
77
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [information.up_user && followeeId && !isSelf ? /* @__PURE__ */ jsx(FollowButton, {
78
- followed,
79
- loading,
80
- onToggle: handleToggleFollow
81
- }) : null, /* @__PURE__ */ jsx(UnfollowConfirmDialog, {
82
- open: confirmOpen,
83
- onOpenChange: setConfirmOpen,
84
- onCancel: handleCancelUnfollow,
85
- onConfirm: handleConfirmUnfollow
86
- })] });
87
- }
88
- function FollowButton({ followed, loading = false, onToggle }) {
89
- const t = useTranslations("components.biz.business.detail");
90
- return /* @__PURE__ */ jsx("button", {
91
- type: "button",
92
- disabled: loading,
93
- className: cn("flex h-7 items-center rounded-full border border-solid px-3 text-xs font-medium transition-colors", loading && "opacity-50 cursor-not-allowed", followed ? "border-text3 text-text3" : "border-theme5 text-theme5"),
94
- onClick: onToggle,
95
- children: followed ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(SvgFollowSel, { className: "w-[12px] h-[12px] text-text3 shrink-0" }), /* @__PURE__ */ jsx("span", {
96
- className: "text-text3 text-[12px] leading-[18px] ml-[4px] shrink-0",
97
- children: t("detailFollowAction.following")
98
- })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(SvgFollowUser, { className: "block w-[12px] h-[12px] text-theme5 shrink-0" }), /* @__PURE__ */ jsx("span", {
99
- className: "block text-theme5 text-[12px] leading-[18px] ml-[4px] shrink-0",
100
- children: t("detailFollowAction.follow")
101
- })] })
102
- });
103
- }
104
-
105
- //#endregion
106
- export { DetailFollowAction };
2
+ "use client";import{cn as e}from"../../../../../utils/cn.mjs";import{useFollowIdsState as t}from"../../../../../store/modules/follow-ids-store.mjs";import{useUserStore as n}from"../../../../../store/modules/user-store.mjs";import{followUser as r,unfollowUser as i}from"../../../../../utils/follow-service.mjs";import a from"../../../../../assets/icons/common/follow_sel.mjs";import o from"../../../../../assets/icons/common/follow_user.mjs";import{UnfollowConfirmDialog as s}from"../../../../common/follow-button/unfollow-confirm-dialog.mjs";import{useEffect as c,useState as l}from"react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{useTranslations as p}from"next-intl";function m({information:e,onUpdate:a}){let{userId:o,userInfo:p}=n(),m=o||p?.userId||``,g=e.author,_=e.up_user||g?.user_id||``,v=!!(m&&_&&m===_),[y,b]=l(!!e.is_followed),[x,S]=l(!1),[C,w]=l(!1);c(()=>{b(!!e.is_followed)},[e.id,e.is_followed]);async function T(){if(!_){console.warn(`用户信息不完整,无法执行关注操作`);return}w(!0);let e=!y;try{let n;if(n=e?await r({app_id:0,follower_id:m,followee_id:_}):await i({app_id:0,follower_id:m,followee_id:_}),n.success){b(e),a({is_followed:e});let{followIds:n,setFollowIds:r}=t.getState(),i=new Set(n);e?i.add(_):i.delete(_),r(Array.from(i))}else console.error(`关注操作失败:`,n.message)}catch(e){console.error(`关注操作异常:`,e)}finally{w(!1)}}function E(){if(!C){if(y){S(!0);return}T()}}function D(){S(!1),T()}function O(){S(!1)}return f(u,{children:[e.up_user&&_&&!v?d(h,{followed:y,loading:C,onToggle:E}):null,d(s,{open:x,onOpenChange:S,onCancel:O,onConfirm:D})]})}function h({followed:t,loading:n=!1,onToggle:r}){let i=p(`components.biz.business.detail`);return d(`button`,{type:`button`,disabled:n,className:e(`flex h-7 items-center rounded-full border border-solid px-3 text-xs font-medium transition-colors`,n&&`opacity-50 cursor-not-allowed`,t?`border-text3 text-text3`:`border-theme5 text-theme5`),onClick:r,children:t?f(u,{children:[d(a,{className:`w-[12px] h-[12px] text-text3 shrink-0`}),d(`span`,{className:`text-text3 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:i(`detailFollowAction.following`)})]}):f(u,{children:[d(o,{className:`block w-[12px] h-[12px] text-theme5 shrink-0`}),d(`span`,{className:`block text-theme5 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:i(`detailFollowAction.follow`)})]})})}export{m as DetailFollowAction};