@funhub/platform 0.1.21 → 0.1.23

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 (219) hide show
  1. package/dist/biz.d.mts +17 -10
  2. package/dist/biz.mjs +1 -1
  3. package/dist/common.d.mts +3 -1
  4. package/dist/common.mjs +1 -1
  5. package/dist/components/biz/basics/logo/variants/basic-logo/runtime/client.mjs +1 -1
  6. package/dist/components/biz/basics/search/variants/simple-search/runtime/client.mjs +1 -1
  7. package/dist/components/biz/business/banner/variants/basic-banner/material.mjs +1 -1
  8. package/dist/components/biz/business/comment/reply-detail.mjs +1 -1
  9. package/dist/components/biz/business/detail/detail-follow-action.mjs +1 -1
  10. package/dist/components/biz/business/detail/detail-info-title.mjs +1 -1
  11. package/dist/components/biz/business/detail/detail-introduction.mjs +1 -1
  12. package/dist/components/biz/business/detail/detail-operate.mjs +1 -1
  13. package/dist/components/biz/business/detail/materials/registry.d.mts +39 -45
  14. package/dist/components/biz/business/detail/materials/registry.mjs +1 -1
  15. package/dist/components/biz/business/detail/materials/video-detail-actions/client.d.mts +2 -9
  16. package/dist/components/biz/business/detail/materials/video-detail-actions/index.d.mts +3 -3
  17. package/dist/components/biz/business/detail/materials/video-detail-actions/material.d.mts +9 -3
  18. package/dist/components/biz/business/detail/materials/video-detail-actions/schema.d.mts +7 -1
  19. package/dist/components/biz/business/detail/materials/video-detail-actions/server.d.mts +1 -1
  20. package/dist/components/biz/business/detail/materials/video-detail-info/client.d.mts +2 -13
  21. package/dist/components/biz/business/detail/materials/video-detail-info/index.d.mts +3 -3
  22. package/dist/components/biz/business/detail/materials/video-detail-info/material.d.mts +13 -3
  23. package/dist/components/biz/business/detail/materials/video-detail-info/schema.d.mts +9 -1
  24. package/dist/components/biz/business/detail/materials/video-detail-info/server.d.mts +1 -1
  25. package/dist/components/biz/business/detail/materials/video-detail-info-title/client.d.mts +2 -7
  26. package/dist/components/biz/business/detail/materials/video-detail-info-title/index.d.mts +3 -3
  27. package/dist/components/biz/business/detail/materials/video-detail-info-title/material.d.mts +9 -3
  28. package/dist/components/biz/business/detail/materials/video-detail-info-title/schema.d.mts +6 -1
  29. package/dist/components/biz/business/detail/materials/video-detail-info-title/server.d.mts +1 -1
  30. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/client.d.mts +2 -11
  31. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/index.d.mts +3 -3
  32. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/material.d.mts +13 -3
  33. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/schema.d.mts +8 -1
  34. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/server.d.mts +1 -1
  35. package/dist/components/biz/business/detail/materials/video-detail-player/client.d.mts +2 -11
  36. package/dist/components/biz/business/detail/materials/video-detail-player/index.d.mts +3 -3
  37. package/dist/components/biz/business/detail/materials/video-detail-player/material.d.mts +9 -3
  38. package/dist/components/biz/business/detail/materials/video-detail-player/schema.d.mts +8 -1
  39. package/dist/components/biz/business/detail/materials/video-detail-player/server.d.mts +1 -1
  40. package/dist/components/biz/business/detail/materials/video-detail-recommend/client.d.mts +2 -6
  41. package/dist/components/biz/business/detail/materials/video-detail-recommend/client.mjs +1 -1
  42. package/dist/components/biz/business/detail/materials/video-detail-recommend/index.d.mts +3 -3
  43. package/dist/components/biz/business/detail/materials/video-detail-recommend/material.d.mts +36 -3
  44. package/dist/components/biz/business/detail/materials/video-detail-recommend/schema.d.mts +5 -1
  45. package/dist/components/biz/business/detail/materials/video-detail-recommend/server.d.mts +1 -1
  46. package/dist/components/biz/business/detail/post-recommend-list.mjs +1 -1
  47. package/dist/components/biz/business/floating-ball/client.d.mts +12 -0
  48. package/dist/components/biz/business/floating-ball/client.mjs +2 -0
  49. package/dist/components/biz/business/floating-ball/material.d.mts +10 -0
  50. package/dist/components/biz/business/floating-ball/material.mjs +2 -0
  51. package/dist/components/biz/business/floating-ball/schema.d.mts +14 -0
  52. package/dist/components/biz/business/floating-ball/schema.mjs +2 -0
  53. package/dist/components/biz/business/floating-ball/server.mjs +2 -0
  54. package/dist/components/biz/business/header-search/header-avatar-icon/client.d.mts +12 -0
  55. package/dist/components/biz/business/header-search/header-avatar-icon/client.mjs +2 -0
  56. package/dist/components/biz/business/header-search/header-avatar-icon/index.d.mts +5 -0
  57. package/dist/components/biz/business/header-search/header-avatar-icon/material.d.mts +10 -0
  58. package/dist/components/biz/business/header-search/header-avatar-icon/material.mjs +2 -0
  59. package/dist/components/biz/business/header-search/header-avatar-icon/schema.d.mts +14 -0
  60. package/dist/components/biz/business/header-search/header-avatar-icon/schema.mjs +2 -0
  61. package/dist/components/biz/business/header-search/header-avatar-icon/server.d.mts +3 -0
  62. package/dist/components/biz/business/header-search/header-avatar-icon/server.mjs +2 -0
  63. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.d.mts +12 -0
  64. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.mjs +2 -0
  65. package/dist/components/biz/business/header-search/header-avatar-logo-search/index.d.mts +5 -0
  66. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.d.mts +10 -0
  67. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.mjs +2 -0
  68. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.d.mts +14 -0
  69. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.mjs +2 -0
  70. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.d.mts +3 -0
  71. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.mjs +2 -0
  72. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.d.mts +12 -0
  73. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.mjs +2 -0
  74. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/index.d.mts +5 -0
  75. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.d.mts +10 -0
  76. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.mjs +2 -0
  77. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.d.mts +14 -0
  78. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.mjs +2 -0
  79. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.d.mts +3 -0
  80. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.mjs +2 -0
  81. package/dist/components/biz/business/header-search/header-logo-search/client.d.mts +12 -0
  82. package/dist/components/biz/business/header-search/header-logo-search/client.mjs +2 -0
  83. package/dist/components/biz/business/header-search/header-logo-search/index.d.mts +5 -0
  84. package/dist/components/biz/business/header-search/header-logo-search/material.d.mts +10 -0
  85. package/dist/components/biz/business/header-search/header-logo-search/material.mjs +2 -0
  86. package/dist/components/biz/business/header-search/header-logo-search/schema.d.mts +14 -0
  87. package/dist/components/biz/business/header-search/header-logo-search/schema.mjs +2 -0
  88. package/dist/components/biz/business/header-search/header-logo-search/server.d.mts +3 -0
  89. package/dist/components/biz/business/header-search/header-logo-search/server.mjs +2 -0
  90. package/dist/components/biz/business/header-search/header-search/client.d.mts +12 -0
  91. package/dist/components/biz/business/header-search/header-search/client.mjs +2 -0
  92. package/dist/components/biz/business/header-search/header-search/index.d.mts +5 -0
  93. package/dist/components/biz/business/header-search/header-search/material.d.mts +10 -0
  94. package/dist/components/biz/business/header-search/header-search/material.mjs +2 -0
  95. package/dist/components/biz/business/header-search/header-search/schema.d.mts +14 -0
  96. package/dist/components/biz/business/header-search/header-search/schema.mjs +2 -0
  97. package/dist/components/biz/business/header-search/header-search/server.d.mts +3 -0
  98. package/dist/components/biz/business/header-search/header-search/server.mjs +2 -0
  99. package/dist/components/biz/business/header-search/index.d.mts +11 -0
  100. package/dist/components/biz/business/home-recommend/index.d.mts +9 -0
  101. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +2 -0
  102. package/dist/components/biz/business/home-recommend/types.d.mts +25 -0
  103. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/defaults/default-props.d.mts +10 -0
  104. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/defaults/default-props.mjs +2 -0
  105. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/index.d.mts +4 -0
  106. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/index.mjs +2 -0
  107. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.d.mts +13 -0
  108. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.mjs +2 -0
  109. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/component.mjs +2 -0
  110. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/data.schema.mjs +2 -0
  111. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/event.schema.mjs +2 -0
  112. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/index.d.mts +8 -0
  113. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/index.mjs +2 -0
  114. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/props.schema.mjs +2 -0
  115. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/style.schema.mjs +2 -0
  116. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/defaults/default-props.d.mts +10 -0
  117. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/defaults/default-props.mjs +2 -0
  118. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/index.d.mts +4 -0
  119. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/index.mjs +2 -0
  120. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.d.mts +13 -0
  121. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.mjs +2 -0
  122. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/component.mjs +2 -0
  123. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/data.schema.mjs +2 -0
  124. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/event.schema.mjs +2 -0
  125. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/index.d.mts +8 -0
  126. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/index.mjs +2 -0
  127. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/props.schema.mjs +2 -0
  128. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/style.schema.mjs +2 -0
  129. package/dist/components/biz/business/index.d.mts +21 -14
  130. package/dist/components/biz/business/index.mjs +1 -1
  131. package/dist/components/biz/business/large-feature-grid/client.d.mts +12 -0
  132. package/dist/components/biz/business/large-feature-grid/client.mjs +2 -0
  133. package/dist/components/biz/business/large-feature-grid/material.d.mts +10 -0
  134. package/dist/components/biz/business/large-feature-grid/material.mjs +2 -0
  135. package/dist/components/biz/business/large-feature-grid/schema.d.mts +14 -0
  136. package/dist/components/biz/business/large-feature-grid/schema.mjs +2 -0
  137. package/dist/components/biz/business/large-feature-grid/server.mjs +2 -0
  138. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs +1 -1
  139. package/dist/components/biz/business/profile/profile-header/material.d.mts +9 -0
  140. package/dist/components/biz/business/profile/profile-header/material.mjs +2 -0
  141. package/dist/components/biz/business/profile/profile-main/material.d.mts +9 -0
  142. package/dist/components/biz/business/profile/profile-main/material.mjs +2 -0
  143. package/dist/components/biz/business/shortcut-grid/client.d.mts +12 -0
  144. package/dist/components/biz/business/shortcut-grid/client.mjs +2 -0
  145. package/dist/components/biz/business/shortcut-grid/material.d.mts +10 -0
  146. package/dist/components/biz/business/shortcut-grid/material.mjs +2 -0
  147. package/dist/components/biz/business/shortcut-grid/schema.d.mts +14 -0
  148. package/dist/components/biz/business/shortcut-grid/schema.mjs +2 -0
  149. package/dist/components/biz/business/shortcut-grid/server.mjs +2 -0
  150. package/dist/components/biz/renderer/renderer.d.mts +2 -1
  151. package/dist/components/biz/utils/helpers/get-channel-list.d.mts +20 -0
  152. package/dist/components/biz/utils/helpers/get-channel-list.mjs +2 -0
  153. package/dist/components/biz/utils/index.d.mts +5 -4
  154. package/dist/components/biz/utils/schema/component.d.mts +1 -1
  155. package/dist/components/biz/utils/transformers/data.d.mts +3 -0
  156. package/dist/components/biz/utils/transformers/data.mjs +1 -1
  157. package/dist/components/common/blocked-dialog/blocked-dialog.d.mts +10 -0
  158. package/dist/components/common/blocked-dialog/blocked-dialog.mjs +2 -0
  159. package/dist/components/common/blocked-dialog/index.d.mts +2 -0
  160. package/dist/components/common/follow-button/index.mjs +1 -1
  161. package/dist/components/common/funhub-provider/funhub-provider.mjs +1 -1
  162. package/dist/components/common/icons/video.mjs +2 -0
  163. package/dist/components/common/list/video-list/video-list-item.d.mts +1 -1
  164. package/dist/components/common/list/video-list/video-list-item.mjs +1 -1
  165. package/dist/components/common/photo-grid/index.mjs +1 -1
  166. package/dist/components/common/top-nav-bar/client.mjs +1 -1
  167. package/dist/components/common/top-nav-bar/index.mjs +1 -1
  168. package/dist/components/pages/(follow)/_components/follow-button/index.mjs +1 -1
  169. package/dist/components/pages/feed-series/feed-series-client.mjs +1 -1
  170. package/dist/components/pages/feedback/_components/feedback-form.mjs +1 -1
  171. package/dist/components/pages/home/index.mjs +1 -1
  172. package/dist/components/pages/post-detail/post-detail-client.mjs +1 -1
  173. package/dist/components/pages/profile/_components/tabs/collect-tab/client.mjs +1 -1
  174. package/dist/components/pages/profile/_components/tabs/collect-tab/server.mjs +1 -1
  175. package/dist/components/pages/profile/_components/tabs/history-tab/client.mjs +1 -1
  176. package/dist/components/pages/profile/_components/tabs/like-tab/client.mjs +1 -1
  177. package/dist/components/pages/profile/_components/user-profile-container/client.mjs +1 -1
  178. package/dist/components/pages/profile/_components/user-profile-header/client.mjs +1 -1
  179. package/dist/components/pages/profile/utils.mjs +1 -1
  180. package/dist/components/pages/search/search-result/search-all.mjs +1 -1
  181. package/dist/components/pages/search/search-result/search-video-info.mjs +1 -1
  182. package/dist/components/pages/search/top-header.mjs +1 -1
  183. package/dist/components/pages/user-follow/_components/follow-top-header.mjs +1 -1
  184. package/dist/components/pages/video-detail/video-detail-client.mjs +1 -1
  185. package/dist/components/pages/video-list/index.d.mts +16 -0
  186. package/dist/components/pages/video-list/index.mjs +2 -0
  187. package/dist/components/pages/video-list/types.mjs +2 -0
  188. package/dist/components/pages/video-list/video-list-client.mjs +2 -0
  189. package/dist/components/pages/video-list/video-list-item.mjs +2 -0
  190. package/dist/components/ui/badge.d.mts +1 -1
  191. package/dist/components/ui/button.d.mts +1 -1
  192. package/dist/components/ui/image.d.mts +4 -4
  193. package/dist/hooks/use-content-operate.mjs +1 -1
  194. package/dist/i18n/locales/en.mjs +3 -1
  195. package/dist/i18n/locales/zh-CN.mjs +3 -1
  196. package/dist/materials.d.mts +24 -1
  197. package/dist/materials.mjs +1 -1
  198. package/dist/pages.d.mts +2 -1
  199. package/dist/pages.mjs +1 -1
  200. package/dist/service/generated/client.d.mts +28 -12
  201. package/dist/service/generated/client.mjs +1 -1
  202. package/dist/service/generated/tanstack.d.mts +34 -14
  203. package/dist/service/generated/tanstack.mjs +1 -1
  204. package/dist/service.d.mts +3 -3
  205. package/dist/service.mjs +1 -1
  206. package/dist/store/create-store.mjs +1 -1
  207. package/dist/store/modules/blocked-modal-store.d.mts +26 -0
  208. package/dist/store/modules/blocked-modal-store.mjs +2 -0
  209. package/dist/store/modules/user-store.d.mts +1 -1
  210. package/dist/store/modules/user-store.mjs +1 -1
  211. package/dist/store.d.mts +2 -1
  212. package/dist/store.mjs +1 -1
  213. package/dist/types.d.mts +1348 -129
  214. package/dist/utils/http.mjs +1 -1
  215. package/dist/utils/schema/index.d.mts +1 -1
  216. package/dist/utils/schema/material.d.mts +5 -0
  217. package/dist/utils/schema/utils.d.mts +1 -1
  218. package/dist/utils.d.mts +2 -2
  219. package/package.json +1 -1
@@ -1,4 +1,10 @@
1
1
 
2
- import "../../../../../../utils/schema/material.mjs";
3
- import "./client.mjs";
4
- import "zod";
2
+ import { DefineMaterialOption } from "../../../../../../utils/schema/material.mjs";
3
+ import { VideoDetailActionsClient } from "./client.mjs";
4
+ import * as zod from "zod";
5
+ import * as zod_v4_core0 from "zod/v4/core";
6
+
7
+ //#region components/biz/business/detail/materials/video-detail-actions/material.d.ts
8
+ declare const videoDetailActionsMaterial: DefineMaterialOption<typeof VideoDetailActionsClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "video-detail-actions">;
9
+ //#endregion
10
+ export { videoDetailActionsMaterial };
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { InferSchemaProps } from "../../../../../../utils/schema/schema.mjs";
3
3
  import "../../../../../../utils/schema/index.mjs";
4
+ import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
4
5
  import * as zod from "zod";
5
6
  import * as zod_v4_core0 from "zod/v4/core";
6
7
 
@@ -10,5 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
10
11
  */
11
12
  declare const videoDetailActionsInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
12
13
  type VideoDetailActionsInspectorProps = InferSchemaProps<typeof videoDetailActionsInspectorPropsSchema>;
14
+ /** 视频详情行为模块物料 props。 */
15
+ type VideoDetailActionsProps = VideoDetailActionsInspectorProps & {
16
+ /** 视频详情信息。 */information: SafeInformationType; /** 操作回写。 */
17
+ onUpdate: (data: Partial<SafeInformationType>) => void;
18
+ };
13
19
  //#endregion
14
- export { VideoDetailActionsInspectorProps, videoDetailActionsInspectorPropsSchema };
20
+ export { VideoDetailActionsInspectorProps, VideoDetailActionsProps, videoDetailActionsInspectorPropsSchema };
@@ -1,3 +1,3 @@
1
1
 
2
- import "./client.mjs";
2
+ import "./schema.mjs";
3
3
  import "react/jsx-runtime";
@@ -1,19 +1,8 @@
1
1
 
2
- import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
3
- import { VideoDetailInfoInspectorProps } from "./schema.mjs";
2
+ import { VideoDetailInfoProps } from "./schema.mjs";
4
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
4
 
6
5
  //#region components/biz/business/detail/materials/video-detail-info/client.d.ts
7
- interface VideoDetailInfoProps extends VideoDetailInfoInspectorProps {
8
- /** 视频详情信息。 */
9
- information: SafeInformationType;
10
- /** 当前选集数。 */
11
- currentSeriesNum: number;
12
- /** 选集变更回调。 */
13
- onEpisodeChange: (nextSeriesNum: number) => void;
14
- /** 是否展示。 */
15
- isShow?: boolean;
16
- }
17
6
  /**
18
7
  * 视频详情信息模块客户端组件。
19
8
  */
@@ -26,4 +15,4 @@ declare function VideoDetailInfoClient({
26
15
  isShow
27
16
  }: VideoDetailInfoProps): react_jsx_runtime0.JSX.Element | null;
28
17
  //#endregion
29
- export { VideoDetailInfoClient, VideoDetailInfoProps };
18
+ export { VideoDetailInfoClient };
@@ -1,5 +1,5 @@
1
1
 
2
- import { VideoDetailInfoInspectorProps, videoDetailInfoInspectorPropsSchema } from "./schema.mjs";
3
- import { VideoDetailInfoClient, VideoDetailInfoProps } from "./client.mjs";
4
- import "./material.mjs";
2
+ import { VideoDetailInfoInspectorProps, VideoDetailInfoProps, videoDetailInfoInspectorPropsSchema } from "./schema.mjs";
3
+ import { VideoDetailInfoClient } from "./client.mjs";
4
+ import { videoDetailInfoMaterial } from "./material.mjs";
5
5
  import "./server.mjs";
@@ -1,5 +1,15 @@
1
1
 
2
- import "../../../../../../utils/schema/material.mjs";
2
+ import { SchemaHasDefaultValue } from "../../../../../../utils/schema/schema.mjs";
3
+ import { DefineMaterialOption } from "../../../../../../utils/schema/material.mjs";
3
4
  import "../../../../../../utils/schema/index.mjs";
4
- import "./client.mjs";
5
- import "zod";
5
+ import { VideoDetailInfoClient } from "./client.mjs";
6
+ import * as zod from "zod";
7
+ import * as zod_v4_core0 from "zod/v4/core";
8
+
9
+ //#region components/biz/business/detail/materials/video-detail-info/material.d.ts
10
+ declare const videoDetailInfoMaterial: DefineMaterialOption<typeof VideoDetailInfoClient, zod.ZodObject<{
11
+ showTags: zod.ZodBoolean & SchemaHasDefaultValue;
12
+ showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
13
+ }, zod_v4_core0.$strip>, "video-detail-info">;
14
+ //#endregion
15
+ export { videoDetailInfoMaterial };
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { InferSchemaProps, SchemaHasDefaultValue } from "../../../../../../utils/schema/schema.mjs";
3
3
  import "../../../../../../utils/schema/index.mjs";
4
+ import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
4
5
  import * as zod from "zod";
5
6
  import * as zod_v4_core0 from "zod/v4/core";
6
7
 
@@ -13,5 +14,12 @@ declare const videoDetailInfoInspectorPropsSchema: zod.ZodObject<{
13
14
  showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
14
15
  }, zod_v4_core0.$strip>;
15
16
  type VideoDetailInfoInspectorProps = InferSchemaProps<typeof videoDetailInfoInspectorPropsSchema>;
17
+ /** 视频详情信息模块物料 props。 */
18
+ type VideoDetailInfoProps = VideoDetailInfoInspectorProps & {
19
+ /** 视频详情信息。 */information: SafeInformationType; /** 当前选集数。 */
20
+ currentSeriesNum: number; /** 选集变更回调。 */
21
+ onEpisodeChange: (nextSeriesNum: number) => void; /** 是否展示。 */
22
+ isShow?: boolean;
23
+ };
16
24
  //#endregion
17
- export { VideoDetailInfoInspectorProps, videoDetailInfoInspectorPropsSchema };
25
+ export { VideoDetailInfoInspectorProps, VideoDetailInfoProps, videoDetailInfoInspectorPropsSchema };
@@ -1,3 +1,3 @@
1
1
 
2
- import "./client.mjs";
2
+ import "./schema.mjs";
3
3
  import "react/jsx-runtime";
@@ -1,13 +1,8 @@
1
1
 
2
- import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
3
- import { VideoDetailInfoTitleInspectorProps } from "./schema.mjs";
2
+ import { VideoDetailInfoTitleProps } from "./schema.mjs";
4
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
4
 
6
5
  //#region components/biz/business/detail/materials/video-detail-info-title/client.d.ts
7
- interface VideoDetailInfoTitleProps extends VideoDetailInfoTitleInspectorProps {
8
- /** 视频详情信息。 */
9
- information: SafeInformationType;
10
- }
11
6
  /**
12
7
  * 标题变体物料客户端组件。
13
8
  */
@@ -15,4 +10,4 @@ declare function VideoDetailInfoTitleClient({
15
10
  information
16
11
  }: VideoDetailInfoTitleProps): react_jsx_runtime0.JSX.Element | null;
17
12
  //#endregion
18
- export { VideoDetailInfoTitleClient, VideoDetailInfoTitleProps };
13
+ export { VideoDetailInfoTitleClient };
@@ -1,5 +1,5 @@
1
1
 
2
- import { VideoDetailInfoTitleInspectorProps, videoDetailInfoTitleInspectorPropsSchema } from "./schema.mjs";
3
- import { VideoDetailInfoTitleClient, VideoDetailInfoTitleProps } from "./client.mjs";
4
- import "./material.mjs";
2
+ import { VideoDetailInfoTitleInspectorProps, VideoDetailInfoTitleProps, videoDetailInfoTitleInspectorPropsSchema } from "./schema.mjs";
3
+ import { VideoDetailInfoTitleClient } from "./client.mjs";
4
+ import { videoDetailInfoTitleMaterial } from "./material.mjs";
5
5
  import "./server.mjs";
@@ -1,4 +1,10 @@
1
1
 
2
- import "../../../../../../utils/schema/material.mjs";
3
- import "./client.mjs";
4
- import "zod";
2
+ import { DefineMaterialOption } from "../../../../../../utils/schema/material.mjs";
3
+ import { VideoDetailInfoTitleClient } from "./client.mjs";
4
+ import * as zod from "zod";
5
+ import * as zod_v4_core0 from "zod/v4/core";
6
+
7
+ //#region components/biz/business/detail/materials/video-detail-info-title/material.d.ts
8
+ declare const videoDetailInfoTitleMaterial: DefineMaterialOption<typeof VideoDetailInfoTitleClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "video-detail-info-title">;
9
+ //#endregion
10
+ export { videoDetailInfoTitleMaterial };
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { InferSchemaProps } from "../../../../../../utils/schema/schema.mjs";
3
3
  import "../../../../../../utils/schema/index.mjs";
4
+ import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
4
5
  import * as zod from "zod";
5
6
  import * as zod_v4_core0 from "zod/v4/core";
6
7
 
@@ -10,5 +11,9 @@ import * as zod_v4_core0 from "zod/v4/core";
10
11
  */
11
12
  declare const videoDetailInfoTitleInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
12
13
  type VideoDetailInfoTitleInspectorProps = InferSchemaProps<typeof videoDetailInfoTitleInspectorPropsSchema>;
14
+ /** 标题变体物料 props。 */
15
+ type VideoDetailInfoTitleProps = VideoDetailInfoTitleInspectorProps & {
16
+ /** 视频详情信息。 */information: SafeInformationType;
17
+ };
13
18
  //#endregion
14
- export { VideoDetailInfoTitleInspectorProps, videoDetailInfoTitleInspectorPropsSchema };
19
+ export { VideoDetailInfoTitleInspectorProps, VideoDetailInfoTitleProps, videoDetailInfoTitleInspectorPropsSchema };
@@ -1,3 +1,3 @@
1
1
 
2
- import "./client.mjs";
2
+ import "./schema.mjs";
3
3
  import "react/jsx-runtime";
@@ -1,17 +1,8 @@
1
1
 
2
- import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
3
- import { VideoDetailInfoTitleTagsEpisodesInspectorProps } from "./schema.mjs";
2
+ import { VideoDetailInfoTitleTagsEpisodesProps } from "./schema.mjs";
4
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
4
 
6
5
  //#region components/biz/business/detail/materials/video-detail-info-title-tags-episodes/client.d.ts
7
- interface VideoDetailInfoTitleTagsEpisodesProps extends VideoDetailInfoTitleTagsEpisodesInspectorProps {
8
- /** 视频详情信息。 */
9
- information: SafeInformationType;
10
- /** 当前选集数。 */
11
- currentSeriesNum: number;
12
- /** 选集变更回调。 */
13
- onEpisodeChange: (nextSeriesNum: number) => void;
14
- }
15
6
  /**
16
7
  * 标题+标签+选集变体物料客户端组件。
17
8
  */
@@ -23,4 +14,4 @@ declare function VideoDetailInfoTitleTagsEpisodesClient({
23
14
  showEpisodes
24
15
  }: VideoDetailInfoTitleTagsEpisodesProps): react_jsx_runtime0.JSX.Element | null;
25
16
  //#endregion
26
- export { VideoDetailInfoTitleTagsEpisodesClient, VideoDetailInfoTitleTagsEpisodesProps };
17
+ export { VideoDetailInfoTitleTagsEpisodesClient };
@@ -1,5 +1,5 @@
1
1
 
2
- import { VideoDetailInfoTitleTagsEpisodesInspectorProps, videoDetailInfoTitleTagsEpisodesInspectorPropsSchema } from "./schema.mjs";
3
- import { VideoDetailInfoTitleTagsEpisodesClient, VideoDetailInfoTitleTagsEpisodesProps } from "./client.mjs";
4
- import "./material.mjs";
2
+ import { VideoDetailInfoTitleTagsEpisodesInspectorProps, VideoDetailInfoTitleTagsEpisodesProps, videoDetailInfoTitleTagsEpisodesInspectorPropsSchema } from "./schema.mjs";
3
+ import { VideoDetailInfoTitleTagsEpisodesClient } from "./client.mjs";
4
+ import { videoDetailInfoTitleTagsEpisodesMaterial } from "./material.mjs";
5
5
  import "./server.mjs";
@@ -1,5 +1,15 @@
1
1
 
2
- import "../../../../../../utils/schema/material.mjs";
2
+ import { SchemaHasDefaultValue } from "../../../../../../utils/schema/schema.mjs";
3
+ import { DefineMaterialOption } from "../../../../../../utils/schema/material.mjs";
3
4
  import "../../../../../../utils/schema/index.mjs";
4
- import "./client.mjs";
5
- import "zod";
5
+ import { VideoDetailInfoTitleTagsEpisodesClient } from "./client.mjs";
6
+ import * as zod from "zod";
7
+ import * as zod_v4_core0 from "zod/v4/core";
8
+
9
+ //#region components/biz/business/detail/materials/video-detail-info-title-tags-episodes/material.d.ts
10
+ declare const videoDetailInfoTitleTagsEpisodesMaterial: DefineMaterialOption<typeof VideoDetailInfoTitleTagsEpisodesClient, zod.ZodObject<{
11
+ showTags: zod.ZodBoolean & SchemaHasDefaultValue;
12
+ showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
13
+ }, zod_v4_core0.$strip>, "video-detail-info-title-tags-episodes">;
14
+ //#endregion
15
+ export { videoDetailInfoTitleTagsEpisodesMaterial };
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { InferSchemaProps, SchemaHasDefaultValue } from "../../../../../../utils/schema/schema.mjs";
3
3
  import "../../../../../../utils/schema/index.mjs";
4
+ import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
4
5
  import * as zod from "zod";
5
6
  import * as zod_v4_core0 from "zod/v4/core";
6
7
 
@@ -13,5 +14,11 @@ declare const videoDetailInfoTitleTagsEpisodesInspectorPropsSchema: zod.ZodObjec
13
14
  showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
14
15
  }, zod_v4_core0.$strip>;
15
16
  type VideoDetailInfoTitleTagsEpisodesInspectorProps = InferSchemaProps<typeof videoDetailInfoTitleTagsEpisodesInspectorPropsSchema>;
17
+ /** 标题+标签+选集变体物料 props。 */
18
+ type VideoDetailInfoTitleTagsEpisodesProps = VideoDetailInfoTitleTagsEpisodesInspectorProps & {
19
+ /** 视频详情信息。 */information: SafeInformationType; /** 当前选集数。 */
20
+ currentSeriesNum: number; /** 选集变更回调。 */
21
+ onEpisodeChange: (nextSeriesNum: number) => void;
22
+ };
16
23
  //#endregion
17
- export { VideoDetailInfoTitleTagsEpisodesInspectorProps, videoDetailInfoTitleTagsEpisodesInspectorPropsSchema };
24
+ export { VideoDetailInfoTitleTagsEpisodesInspectorProps, VideoDetailInfoTitleTagsEpisodesProps, videoDetailInfoTitleTagsEpisodesInspectorPropsSchema };
@@ -1,3 +1,3 @@
1
1
 
2
- import "./client.mjs";
2
+ import "./schema.mjs";
3
3
  import "react/jsx-runtime";
@@ -1,17 +1,8 @@
1
1
 
2
- import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
3
- import { VideoDetailPlayerInspectorProps } from "./schema.mjs";
2
+ import { VideoDetailPlayerProps } from "./schema.mjs";
4
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
4
 
6
5
  //#region components/biz/business/detail/materials/video-detail-player/client.d.ts
7
- interface VideoDetailPlayerProps extends VideoDetailPlayerInspectorProps {
8
- /** 视频详情信息。 */
9
- information: SafeInformationType;
10
- /** 分集下标。 */
11
- episodeIndex: number;
12
- /** 续播秒数。 */
13
- resumeProgressSeconds: number;
14
- }
15
6
  /**
16
7
  * 视频播放器物料客户端组件。
17
8
  */
@@ -21,4 +12,4 @@ declare function VideoDetailPlayerClient({
21
12
  resumeProgressSeconds
22
13
  }: VideoDetailPlayerProps): react_jsx_runtime0.JSX.Element | null;
23
14
  //#endregion
24
- export { VideoDetailPlayerClient, VideoDetailPlayerProps };
15
+ export { VideoDetailPlayerClient };
@@ -1,5 +1,5 @@
1
1
 
2
- import { VideoDetailPlayerInspectorProps, videoDetailPlayerInspectorPropsSchema } from "./schema.mjs";
3
- import { VideoDetailPlayerClient, VideoDetailPlayerProps } from "./client.mjs";
4
- import "./material.mjs";
2
+ import { VideoDetailPlayerInspectorProps, VideoDetailPlayerProps, videoDetailPlayerInspectorPropsSchema } from "./schema.mjs";
3
+ import { VideoDetailPlayerClient } from "./client.mjs";
4
+ import { videoDetailPlayerMaterial } from "./material.mjs";
5
5
  import "./server.mjs";
@@ -1,4 +1,10 @@
1
1
 
2
- import "../../../../../../utils/schema/material.mjs";
3
- import "./client.mjs";
4
- import "zod";
2
+ import { DefineMaterialOption } from "../../../../../../utils/schema/material.mjs";
3
+ import { VideoDetailPlayerClient } from "./client.mjs";
4
+ import * as zod from "zod";
5
+ import * as zod_v4_core0 from "zod/v4/core";
6
+
7
+ //#region components/biz/business/detail/materials/video-detail-player/material.d.ts
8
+ declare const videoDetailPlayerMaterial: DefineMaterialOption<typeof VideoDetailPlayerClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "video-detail-player">;
9
+ //#endregion
10
+ export { videoDetailPlayerMaterial };
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { InferSchemaProps } from "../../../../../../utils/schema/schema.mjs";
3
3
  import "../../../../../../utils/schema/index.mjs";
4
+ import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
4
5
  import * as zod from "zod";
5
6
  import * as zod_v4_core0 from "zod/v4/core";
6
7
 
@@ -10,5 +11,11 @@ import * as zod_v4_core0 from "zod/v4/core";
10
11
  */
11
12
  declare const videoDetailPlayerInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
12
13
  type VideoDetailPlayerInspectorProps = InferSchemaProps<typeof videoDetailPlayerInspectorPropsSchema>;
14
+ /** 播放器物料 props。 */
15
+ type VideoDetailPlayerProps = VideoDetailPlayerInspectorProps & {
16
+ /** 视频详情信息。 */information: SafeInformationType; /** 分集下标。 */
17
+ episodeIndex: number; /** 续播秒数。 */
18
+ resumeProgressSeconds: number;
19
+ };
13
20
  //#endregion
14
- export { VideoDetailPlayerInspectorProps, videoDetailPlayerInspectorPropsSchema };
21
+ export { VideoDetailPlayerInspectorProps, VideoDetailPlayerProps, videoDetailPlayerInspectorPropsSchema };
@@ -1,3 +1,3 @@
1
1
 
2
- import "./client.mjs";
2
+ import "./schema.mjs";
3
3
  import "react/jsx-runtime";
@@ -1,12 +1,8 @@
1
1
 
2
- import { VideoDetailRecommendInspectorProps } from "./schema.mjs";
2
+ import { VideoDetailRecommendProps } from "./schema.mjs";
3
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region components/biz/business/detail/materials/video-detail-recommend/client.d.ts
6
- interface VideoDetailRecommendProps extends VideoDetailRecommendInspectorProps {
7
- /** 当前视频 id,用于过滤。 */
8
- detailId: string;
9
- }
10
6
  /**
11
7
  * 推荐模块客户端组件。
12
8
  */
@@ -24,4 +20,4 @@ declare function VideoDetailRecommendClient({
24
20
  items
25
21
  }: VideoDetailRecommendProps): react_jsx_runtime0.JSX.Element | null;
26
22
  //#endregion
27
- export { VideoDetailRecommendClient, VideoDetailRecommendProps };
23
+ export { VideoDetailRecommendClient };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{gContentGetGuessYouLikeVideos as e}from"../../../../../../service/generated/client.mjs";import{Box as t}from"../../../../../ui/box.mjs";import{Text as n}from"../../../../../ui/text.mjs";import{useRequest as r}from"../../../../../../hooks/query/use-query.mjs";import{useAppContext as i}from"../../../../../../hooks/use-app-context/index.mjs";import{MiniThreeCard as a}from"../../../../../common/cards/mini-three-card.mjs";import{useCardDecoration as o}from"../../../../../../hooks/use-card-decoration.mjs";import s from"../../../../../../assets/icons/detail/video_flag.mjs";import{applyPlayCountDelta as ee,buildEpisodeLabel as c,clampColumns as l,mergeManualAndPool as u,mockPagedList as d,resolveRows as f}from"./utils.mjs";import{useEffect as p,useMemo as m,useRef as h,useState as g}from"react";import{jsx as _,jsxs as v}from"react/jsx-runtime";import{useTranslations as y}from"next-intl";function b({detailId:b,rows:w,columns:T,smartTagEnabled:E,smartTagIds:D,title:O,showPlayCount:k,playCountDelta:A,showEpisode:j,enableInfinite:M,items:N}){let P=i(),te=y(`components.biz.business.detail`),{getVerticalHoCoverImageUrl:F,getTitleText:I}=o(),[L,R]=g(1),z=h(null),B=m(()=>D??[],[D]),V=m(()=>N??[],[N]),{data:H}=r([`video-detail-recommend`,b],async()=>!b||P===`editor`?null:await e(),{enabled:P===`renderer`&&!!b}),U=m(()=>{let e=H?.data?.videos;return Array.isArray(e)?e.map(e=>x(e)).filter(e=>!b||!e.id||e.id!==b):[]},[H?.data?.videos,b]),W=f(w,M),G=l(T),K=W*G,q=m(()=>new Set(V.map(e=>e.contentId)),[V]),J=m(()=>{let e=U.filter(e=>!q.has(e.id));if(!E||B.length===0)return e;let t=new Set(B.map(String));return e.filter(e=>(Array.isArray(e.source_tags)?e.source_tags:String(e.source_tags||``).split(`,`).filter(Boolean)).some(e=>t.has(String(e?.id??e))))},[q,U,E,B]),Y=m(()=>{if(!V.length)return[];let e=new Map(J.map(e=>[e.id,e]));return V.map(t=>{let n=e.get(t.contentId);if(!n)return null;let r=t.titleMode===`custom`?t.title:I(n),i=t.coverMode===`upload`?t.coverUrl:F(n);return{info:{...n,name:r||n.name,img_y:i||n.img_y,img_x:i||n.img_x},config:{showPlayCount:t.showPlayCount,playCountDelta:t.playCountDelta,showEpisode:t.showEpisode}}}).filter(Boolean)},[J,I,F,V]),X=m(()=>J.map(e=>({info:e})),[J]),Z=m(()=>u(Y,X,K),[Y,K,X]),Q=m(()=>{if(!M)return Z;let e=d(X,L,K,5);return L===1?Z:Z.concat(e)},[Z,M,L,K,X]),$=M&&L<5&&X.length>0;return p(()=>{M&&R(1)},[b,M]),p(()=>{if(!M)return;let e=z.current;if(!e||!$)return;let t=new IntersectionObserver(e=>{e[0]?.isIntersecting&&R(e=>Math.min(e+1,5))});return t.observe(e),()=>{t.disconnect()}},[M,$]),Q.length?v(t,{className:`w-full mt-[16px]`,children:[_(n,{className:`block pl-[12px] mb-[8px] text-text1 text-[18px] leading-[26px] font-bold`,children:O||te(`detailGuessLike.title`)}),_(t,{className:`w-full flex flex-wrap px-[12px]`,children:Q.map((e,t)=>{let n=e.config?.showPlayCount??k,r=e.config?.playCountDelta??A,i=e.config?.showEpisode??j,o=S(ee(e.info.play_count||0,r)),l=c(Number(e.info.update_status)===1?`done`:`updating`,e.info.episode_cnt||e.info.links?.length,e.info.episode_cnt||e.info.links?.length),u=Number.isFinite(G)&&G>0?`${100/G}%`:`33.333333%`;return _(a,{url:F(e.info),text:I(e.info),style:{width:u},bottomLeftChild:n?v(`div`,{className:`h-[20px] leading-[20px] text-[#fff] text-[12px] px-[4px] rounded-[4px] bg-[#333] ml-[4px] flex items-center`,children:[_(s,{className:`w-[16px] h-[auto] text-[#fff] mr-[4px]`}),o]}):null,bottomRightChild:i&&l?_(`div`,{className:`text-[#F59E0B] text-[12px] font-bold leading-[20px] pr-[8px]`,children:l}):null,linkPath:C(e.info)},`guess-like-${t}`)})}),M&&_(`div`,{ref:z,className:`h-[1px] w-full`})]}):null}function x(e){return{id:e.video_id||``,mid:``,name:e.name||``,cat_id:``,cat_name:``,status:`1`,status_text:``,create_time:``,content_type:0,episode_cnt:e.episode_count||0,show_at:e.show_at??``,position:``,img_type:e.img_type??``,img_x:e.img_x??``,img_y:e.img_y??``,img_width:``,img_height:``,play_count:e.play_count,preview_images:[],duration:String(e.duration??``),score:String(e.score??``),is_more_link:e.is_more_link?`y`:`n`,update_status:String(e.update_status??``),description:e.description??``,language:``,director:``,actor:``,area:``,issue_date:``,publisher:``,series:``,number:``,tags:[],source_tags:e.source_tags??``,source_actor:[],links:Array.isArray(e.episodes)?e.episodes.map(e=>({id:e.id??``,name:e.name??``,preview_m3u8_url:e.preview_m3u8_url??``,m3u8_url:e.m3u8_url??``})):[],money:``,up_user:``,source_username:``,task_id:``,file_status:``}}function S(e){let t=Number(e||`0`);return Number.isNaN(t)||t<=0?`0`:t>=1e4?`${(t/1e4).toFixed(1)}w`:t>=1e3?`${(t/1e3).toFixed(1)}k`:String(t)}function C(e){if(e.content_type===0){let t=encodeURIComponent(e.name||``);return`/video/${e.id}/${t}/episode/1`}return`/post/${e.id}`}export{b as VideoDetailRecommendClient};
2
+ "use client";import{gContentGetGuessYouLikeVideos as e}from"../../../../../../service/generated/client.mjs";import{Box as t}from"../../../../../ui/box.mjs";import{Text as n}from"../../../../../ui/text.mjs";import{useRequest as r}from"../../../../../../hooks/query/use-query.mjs";import{useAppContext as i}from"../../../../../../hooks/use-app-context/index.mjs";import a from"../../../../../../assets/icons/detail/video_flag.mjs";import{MiniThreeCard as o}from"../../../../../common/cards/mini-three-card.mjs";import{useCardDecoration as s}from"../../../../../../hooks/use-card-decoration.mjs";import{applyPlayCountDelta as ee,buildEpisodeLabel as c,clampColumns as l,mergeManualAndPool as u,mockPagedList as d,resolveRows as f}from"./utils.mjs";import{useEffect as p,useMemo as m,useRef as h,useState as g}from"react";import{jsx as _,jsxs as v}from"react/jsx-runtime";import{useTranslations as y}from"next-intl";function b({detailId:b,rows:w,columns:T,smartTagEnabled:E,smartTagIds:D,title:O,showPlayCount:k,playCountDelta:A,showEpisode:j,enableInfinite:M,items:N}){let P=i(),te=y(`components.biz.business.detail`),{getVerticalHoCoverImageUrl:F,getTitleText:I}=s(),[L,R]=g(1),z=h(null),B=m(()=>D??[],[D]),V=m(()=>N??[],[N]),{data:H}=r([`video-detail-recommend`,b],async()=>!b||P===`editor`?null:await e(),{enabled:P===`renderer`&&!!b}),U=m(()=>{let e=H?.data?.videos;return Array.isArray(e)?e.map(e=>x(e)).filter(e=>!b||!e.id||e.id!==b):[]},[H?.data?.videos,b]),W=f(w,M),G=l(T),K=W*G,q=m(()=>new Set(V.map(e=>e.contentId)),[V]),J=m(()=>{let e=U.filter(e=>!q.has(e.id));if(!E||B.length===0)return e;let t=new Set(B.map(String));return e.filter(e=>(Array.isArray(e.source_tags)?e.source_tags:String(e.source_tags||``).split(`,`).filter(Boolean)).some(e=>t.has(String(e?.id??e))))},[q,U,E,B]),Y=m(()=>{if(!V.length)return[];let e=new Map(J.map(e=>[e.id,e]));return V.map(t=>{let n=e.get(t.contentId);if(!n)return null;let r=t.titleMode===`custom`?t.title:I(n),i=t.coverMode===`upload`?t.coverUrl:F(n);return{info:{...n,name:r||n.name,img_y:i||n.img_y,img_x:i||n.img_x},config:{showPlayCount:t.showPlayCount,playCountDelta:t.playCountDelta,showEpisode:t.showEpisode}}}).filter(Boolean)},[J,I,F,V]),X=m(()=>J.map(e=>({info:e})),[J]),Z=m(()=>u(Y,X,K),[Y,K,X]),Q=m(()=>{if(!M)return Z;let e=d(X,L,K,5);return L===1?Z:Z.concat(e)},[Z,M,L,K,X]),$=M&&L<5&&X.length>0;return p(()=>{M&&R(1)},[b,M]),p(()=>{if(!M)return;let e=z.current;if(!e||!$)return;let t=new IntersectionObserver(e=>{e[0]?.isIntersecting&&R(e=>Math.min(e+1,5))});return t.observe(e),()=>{t.disconnect()}},[M,$]),Q.length?v(t,{className:`w-full mt-[16px]`,children:[_(n,{className:`block pl-[12px] mb-[8px] text-text1 text-[18px] leading-[26px] font-bold`,children:O||te(`detailGuessLike.title`)}),_(t,{className:`w-full flex flex-wrap px-[12px]`,children:Q.map((e,t)=>{let n=e.config?.showPlayCount??k,r=e.config?.playCountDelta??A,i=e.config?.showEpisode??j,s=S(ee(e.info.play_count||0,r)),l=c(Number(e.info.update_status)===1?`done`:`updating`,e.info.episode_cnt||e.info.links?.length,e.info.episode_cnt||e.info.links?.length),u=Number.isFinite(G)&&G>0?`${100/G}%`:`33.333333%`;return _(o,{url:F(e.info),text:I(e.info),style:{width:u},bottomLeftChild:n?v(`div`,{className:`h-[20px] leading-[20px] text-[#fff] text-[12px] px-[4px] rounded-[4px] bg-[#333] ml-[4px] flex items-center`,children:[_(a,{className:`w-[16px] h-[auto] text-[#fff] mr-[4px]`}),s]}):null,bottomRightChild:i&&l?_(`div`,{className:`text-[#F59E0B] text-[12px] font-bold leading-[20px] pr-[8px]`,children:l}):null,linkPath:C(e.info)},`guess-like-${t}`)})}),M&&_(`div`,{ref:z,className:`h-[1px] w-full`})]}):null}function x(e){return{id:e.video_id||``,mid:``,name:e.name||``,cat_id:``,cat_name:``,status:`1`,status_text:``,create_time:``,content_type:0,episode_cnt:e.episode_count||0,show_at:e.show_at??``,position:``,img_type:e.img_type??``,img_x:e.img_x??``,img_y:e.img_y??``,img_width:``,img_height:``,play_count:e.play_count,preview_images:[],duration:String(e.duration??``),score:String(e.score??``),is_more_link:e.is_more_link?`y`:`n`,update_status:String(e.update_status??``),description:e.description??``,language:``,director:``,actor:``,area:``,issue_date:``,publisher:``,series:``,number:``,tags:[],source_tags:e.source_tags??``,source_actor:[],links:Array.isArray(e.episodes)?e.episodes.map(e=>({id:e.id??``,name:e.name??``,preview_m3u8_url:e.preview_m3u8_url??``,m3u8_url:e.m3u8_url??``})):[],money:``,up_user:``,source_username:``,task_id:``,file_status:``}}function S(e){let t=Number(e||`0`);return Number.isNaN(t)||t<=0?`0`:t>=1e4?`${(t/1e4).toFixed(1)}w`:t>=1e3?`${(t/1e3).toFixed(1)}k`:String(t)}function C(e){if(e.content_type===0){let t=encodeURIComponent(e.name||``);return`/video/${e.id}/${t}/episode/1`}return`/post/${e.id}`}export{b as VideoDetailRecommendClient};
@@ -1,5 +1,5 @@
1
1
 
2
- import { VideoDetailRecommendInspectorProps, videoDetailRecommendInspectorPropsSchema } from "./schema.mjs";
3
- import { VideoDetailRecommendClient, VideoDetailRecommendProps } from "./client.mjs";
4
- import "./material.mjs";
2
+ import { VideoDetailRecommendInspectorProps, VideoDetailRecommendProps, videoDetailRecommendInspectorPropsSchema } from "./schema.mjs";
3
+ import { VideoDetailRecommendClient } from "./client.mjs";
4
+ import { videoDetailRecommendMaterial } from "./material.mjs";
5
5
  import "./server.mjs";
@@ -1,5 +1,38 @@
1
1
 
2
- import "../../../../../../utils/schema/material.mjs";
2
+ import { SchemaHasDefaultValue } from "../../../../../../utils/schema/schema.mjs";
3
+ import { DefineMaterialOption } from "../../../../../../utils/schema/material.mjs";
3
4
  import "../../../../../../utils/schema/index.mjs";
4
- import "./client.mjs";
5
- import "zod";
5
+ import { VideoDetailRecommendClient } from "./client.mjs";
6
+ import * as zod from "zod";
7
+ import * as zod_v4_core0 from "zod/v4/core";
8
+
9
+ //#region components/biz/business/detail/materials/video-detail-recommend/material.d.ts
10
+ declare const videoDetailRecommendMaterial: DefineMaterialOption<typeof VideoDetailRecommendClient, zod.ZodObject<{
11
+ rows: zod.ZodNumber & SchemaHasDefaultValue;
12
+ columns: zod.ZodNumber & SchemaHasDefaultValue;
13
+ smartTagEnabled: zod.ZodBoolean & SchemaHasDefaultValue;
14
+ title: zod.ZodString & SchemaHasDefaultValue;
15
+ showPlayCount: zod.ZodBoolean & SchemaHasDefaultValue;
16
+ playCountDelta: zod.ZodNumber & SchemaHasDefaultValue;
17
+ showEpisode: zod.ZodBoolean & SchemaHasDefaultValue;
18
+ enableInfinite: zod.ZodBoolean & SchemaHasDefaultValue;
19
+ smartTagIds: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
20
+ items: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
21
+ contentId: zod.ZodString;
22
+ coverMode: zod.ZodOptional<zod.ZodEnum<{
23
+ content: "content";
24
+ upload: "upload";
25
+ }>>;
26
+ coverUrl: zod.ZodOptional<zod.ZodString>;
27
+ titleMode: zod.ZodOptional<zod.ZodEnum<{
28
+ content: "content";
29
+ custom: "custom";
30
+ }>>;
31
+ title: zod.ZodOptional<zod.ZodString>;
32
+ showPlayCount: zod.ZodOptional<zod.ZodBoolean>;
33
+ playCountDelta: zod.ZodOptional<zod.ZodNumber>;
34
+ showEpisode: zod.ZodOptional<zod.ZodBoolean>;
35
+ }, zod_v4_core0.$strip>>>;
36
+ }, zod_v4_core0.$strip>, "video-detail-recommend">;
37
+ //#endregion
38
+ export { videoDetailRecommendMaterial };
@@ -32,5 +32,9 @@ declare const videoDetailRecommendInspectorPropsSchema: z.ZodObject<{
32
32
  }, z.core.$strip>>>;
33
33
  }, z.core.$strip>;
34
34
  type VideoDetailRecommendInspectorProps = z.infer<typeof videoDetailRecommendInspectorPropsSchema>;
35
+ /** 推荐模块物料 props。 */
36
+ type VideoDetailRecommendProps = VideoDetailRecommendInspectorProps & {
37
+ /** 当前视频 id,用于过滤。 */detailId: string;
38
+ };
35
39
  //#endregion
36
- export { VideoDetailRecommendInspectorProps, videoDetailRecommendInspectorPropsSchema };
40
+ export { VideoDetailRecommendInspectorProps, VideoDetailRecommendProps, videoDetailRecommendInspectorPropsSchema };
@@ -1,3 +1,3 @@
1
1
 
2
- import "./client.mjs";
2
+ import "./schema.mjs";
3
3
  import "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{useUserStore as e}from"../../../../store/modules/user-store.mjs";import{checkFollowStatus as t}from"../../../../utils/follow-service.mjs";import{useKeepAliveState as n}from"../../../common/keep-scroll-position/index.mjs";import{useFollowIdsState as r}from"../../../../store/modules/follow-ids-store.mjs";import{UserActivityListItem as i}from"../../../common/list/user-activity-list/user-activity-list-item.mjs";import a from"../../../common/follow-button/index.mjs";import{useCallback as o,useEffect as s,useMemo as c,useRef as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{useTranslations as f}from"next-intl";function p(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:0}function m(e){return typeof e==`string`?e.trim():typeof e==`number`?String(e):``}function h(e){let t=e?.medias;return Array.isArray(t)&&t.length>0?t:(Array.isArray(e.preview_images)?e.preview_images:[]).filter(Boolean).map(e=>({media_url:e,is_video:!1,cover_image:``}))}function g({information:g,initRecommendList:_}){let v=f(`components.biz.business.detail`),{isLogin:y,userInfo:b,userId:x}=e(),S=x||b?.userId||``,[C,w]=n(`post-detail-recommend-list-${g.id}`,_),{followIds:T,setFollowIds:E}=r(),D=l(new Set),O=c(()=>{let e=new Set;for(let t of C||[]){let n=m(t.author?.user_id??t?.up_user);n&&e.add(n)}return Array.from(e)},[C]);s(()=>{if(!y||!S||!O||O.length===0)return;let e=O.filter(e=>e!==S).filter(e=>!D.current.has(e));if(e.length===0)return;let n=!0;async function r(){let r=await t({app_id:0,follower_id:S,followee_ids:e});if(!n||!r?.success)return;let i=r.data?.is_following_map||{},a=new Set(T);for(let t of e)i[t]?a.add(t):a.delete(t),D.current.add(t);E(Array.from(a))}return r(),()=>{n=!1}},[S,T,y,O,E]);let k=o((e,t)=>{e&&w(n=>{let r=n.findIndex(t=>t.id===e);if(r===-1)return n;let i=[...n];return i[r]={...i[r],...t},i})},[w]);return!C||C.length===0?null:d(`section`,{className:`w-full mt-[-40px] border-t-[8px] border-bg2 pb-[68px]`,children:[u(`div`,{className:`w-full px-[16px] h-[40px] border-b-[1px] border-line1 flex items-center`,children:u(`p`,{className:`text-[16px] text-text1 font-bold`,children:v(`postRecommendList.title`)})}),C.map((e,t)=>{let n=m(e.author?.user_id??e?.up_user),r=!!(S&&n&&S===n),o=!!(n&&T.includes(n)),s=n&&!r?u(`div`,{onClick:e=>{e.stopPropagation(),e.preventDefault()},children:u(a,{userId:n,hasFollow:o})}):null;return u(`div`,{className:`border-b border-line1`,children:u(i,{type:2,content_id:e.id,rightSlot:s,author:{user_id:n,nick_name:e.author?.nickname||e.author?.name||``,avatar:e.author?.avatar_url||e.author?.avatar||``},create_time:e.show_at,content:e.description||e.info?.text||e.name,medias:h(e),like_count:p(e?.statics_cnt?.like_cnt??e.static?.like_cnt),dislike_count:p(e?.statics_cnt?.dislike_cnt??e.static?.dislike_cnt),comment_count:p(e?.statics_cnt?.comment_cnt??e.static?.comment_cnt),is_liked:!!e.like,is_dislike:!!e.dislike,onLikeSuccess:({isLiked:t,count:n})=>{let r=!!e.dislike,i=p(e?.statics_cnt?.dislike_cnt??e.static?.dislike_cnt),a=t&&r,o=a?Math.max(0,i-1):i;k(e.id,{like:t,dislike:a?!1:e.dislike,statics_cnt:{...e.statics_cnt,like_cnt:String(n),dislike_cnt:String(o)},static:{...e.static,like_cnt:n,dislike_cnt:o}})},onDislikeSuccess:({isDisliked:t,count:n})=>{let r=!!e.like,i=p(e?.statics_cnt?.like_cnt??e.static?.like_cnt),a=t&&r,o=a?Math.max(0,i-1):i;k(e.id,{dislike:t,like:a?!1:e.like,statics_cnt:{...e.statics_cnt,like_cnt:String(o),dislike_cnt:String(n)},static:{...e.static,like_cnt:o,dislike_cnt:n}})}})},`post-recommend-${e.id||t}`)})]})}export{g as PostRecommendList};
2
+ "use client";import{useFollowIdsState as e}from"../../../../store/modules/follow-ids-store.mjs";import{useUserStore as t}from"../../../../store/modules/user-store.mjs";import{checkFollowStatus as n}from"../../../../utils/follow-service.mjs";import{useKeepAliveState as r}from"../../../common/keep-scroll-position/index.mjs";import{UserActivityListItem as i}from"../../../common/list/user-activity-list/user-activity-list-item.mjs";import a from"../../../common/follow-button/index.mjs";import{useCallback as o,useEffect as s,useMemo as c,useRef as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{useTranslations as f}from"next-intl";function p(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:0}function m(e){return typeof e==`string`?e.trim():typeof e==`number`?String(e):``}function h(e){let t=e?.medias;return Array.isArray(t)&&t.length>0?t:(Array.isArray(e.preview_images)?e.preview_images:[]).filter(Boolean).map(e=>({media_url:e,is_video:!1,cover_image:``}))}function g({information:g,initRecommendList:_}){let v=f(`components.biz.business.detail`),{isLogin:y,userInfo:b,userId:x}=t(),S=x||b?.userId||``,[C,w]=r(`post-detail-recommend-list-${g.id}`,_),{followIds:T,setFollowIds:E}=e(),D=l(new Set),O=c(()=>{let e=new Set;for(let t of C||[]){let n=m(t.author?.user_id??t?.up_user);n&&e.add(n)}return Array.from(e)},[C]);s(()=>{if(!y||!S||!O||O.length===0)return;let e=O.filter(e=>e!==S).filter(e=>!D.current.has(e));if(e.length===0)return;let t=!0;async function r(){let r=await n({app_id:0,follower_id:S,followee_ids:e});if(!t||!r?.success)return;let i=r.data?.is_following_map||{},a=new Set(T);for(let t of e)i[t]?a.add(t):a.delete(t),D.current.add(t);E(Array.from(a))}return r(),()=>{t=!1}},[S,T,y,O,E]);let k=o((e,t)=>{e&&w(n=>{let r=n.findIndex(t=>t.id===e);if(r===-1)return n;let i=[...n];return i[r]={...i[r],...t},i})},[w]);return!C||C.length===0?null:d(`section`,{className:`w-full mt-[-40px] border-t-[8px] border-bg2 pb-[68px]`,children:[u(`div`,{className:`w-full px-[16px] h-[40px] border-b-[1px] border-line1 flex items-center`,children:u(`p`,{className:`text-[16px] text-text1 font-bold`,children:v(`postRecommendList.title`)})}),C.map((e,t)=>{let n=m(e.author?.user_id??e?.up_user),r=!!(S&&n&&S===n),o=!!(n&&T.includes(n)),s=n&&!r?u(`div`,{onClick:e=>{e.stopPropagation(),e.preventDefault()},children:u(a,{userId:n,hasFollow:o})}):null;return u(`div`,{className:`border-b border-line1`,children:u(i,{type:2,content_id:e.id,rightSlot:s,author:{user_id:n,nick_name:e.author?.nickname||e.author?.name||``,avatar:e.author?.avatar_url||e.author?.avatar||``},create_time:e.show_at,content:e.description||e.info?.text||e.name,medias:h(e),like_count:p(e?.statics_cnt?.like_cnt??e.static?.like_cnt),dislike_count:p(e?.statics_cnt?.dislike_cnt??e.static?.dislike_cnt),comment_count:p(e?.statics_cnt?.comment_cnt??e.static?.comment_cnt),is_liked:!!e.like,is_dislike:!!e.dislike,onLikeSuccess:({isLiked:t,count:n})=>{let r=!!e.dislike,i=p(e?.statics_cnt?.dislike_cnt??e.static?.dislike_cnt),a=t&&r,o=a?Math.max(0,i-1):i;k(e.id,{like:t,dislike:a?!1:e.dislike,statics_cnt:{...e.statics_cnt,like_cnt:String(n),dislike_cnt:String(o)},static:{...e.static,like_cnt:n,dislike_cnt:o}})},onDislikeSuccess:({isDisliked:t,count:n})=>{let r=!!e.like,i=p(e?.statics_cnt?.like_cnt??e.static?.like_cnt),a=t&&r,o=a?Math.max(0,i-1):i;k(e.id,{dislike:t,like:a?!1:e.like,statics_cnt:{...e.statics_cnt,like_cnt:String(o),dislike_cnt:String(n)},static:{...e.static,like_cnt:o,dislike_cnt:n}})}})},`post-recommend-${e.id||t}`)})]})}export{g as PostRecommendList};
@@ -0,0 +1,12 @@
1
+
2
+ import { FloatingBallInspectorProps } from "./schema.mjs";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region components/biz/business/floating-ball/client.d.ts
6
+ type FloatingBallClientProps = FloatingBallInspectorProps;
7
+ /**
8
+ * 悬浮球客户端组件,仅做占位展示,无交互逻辑。
9
+ */
10
+ declare function FloatingBallClient(_props: FloatingBallClientProps): react_jsx_runtime0.JSX.Element;
11
+ //#endregion
12
+ export { FloatingBallClient };
@@ -0,0 +1,2 @@
1
+
2
+ "use client";import{cn as e}from"../../../../utils/cn.mjs";import{Box as t}from"../../../ui/box.mjs";import{jsx as n}from"react/jsx-runtime";function r(r){return n(t,{as:`div`,className:e(`fixed bottom-6 right-6 z-50`,`flex h-14 w-14 items-center justify-center`,`rounded-full bg-primary text-primary-foreground shadow-lg`),"aria-label":`悬浮球`,children:n(`span`,{className:`text-lg font-medium`,children:`+`})})}export{r as FloatingBallClient};
@@ -0,0 +1,10 @@
1
+
2
+ import { DefineMaterialOption } from "../../../../utils/schema/material.mjs";
3
+ import { FloatingBallClient } from "./client.mjs";
4
+ import * as zod from "zod";
5
+ import * as zod_v4_core0 from "zod/v4/core";
6
+
7
+ //#region components/biz/business/floating-ball/material.d.ts
8
+ declare const floatingBallMaterial: DefineMaterialOption<typeof FloatingBallClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "floating-ball">;
9
+ //#endregion
10
+ export { floatingBallMaterial };
@@ -0,0 +1,2 @@
1
+
2
+ import{defineMaterial as e}from"../../../../utils/schema/material.mjs";import{FloatingBallClient as t}from"./client.mjs";import{floatingBallInspectorPropsSchema as n}from"./schema.mjs";import{FloatingBall as r}from"./server.mjs";const i=e({type:`floating-ball`,name:`悬浮球`,icon:`/static/components-thumb/floating_action_button.png`,category:`内容组件`,serverComponent:r,clientComponent:t,propsSchema:n});export{i as floatingBallMaterial};
@@ -0,0 +1,14 @@
1
+
2
+ import { InferSchemaProps } from "../../../../utils/schema/schema.mjs";
3
+ import "../../../../utils/schema/index.mjs";
4
+ import * as zod from "zod";
5
+ import * as zod_v4_core0 from "zod/v4/core";
6
+
7
+ //#region components/biz/business/floating-ball/schema.d.ts
8
+ /**
9
+ * 悬浮球物料暂不对外开放配置,仅做占位展示。
10
+ */
11
+ declare const floatingBallInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
12
+ type FloatingBallInspectorProps = InferSchemaProps<typeof floatingBallInspectorPropsSchema>;
13
+ //#endregion
14
+ export { FloatingBallInspectorProps };
@@ -0,0 +1,2 @@
1
+
2
+ import{defineComponentPropsSchema as e,getSchemaDefaultProps as t}from"../../../../utils/schema/schema.mjs";const n=e({});t(n);export{n as floatingBallInspectorPropsSchema};
@@ -0,0 +1,2 @@
1
+
2
+ import{FloatingBallClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as FloatingBall};
@@ -0,0 +1,12 @@
1
+
2
+ import { HeaderAvatarIconInspectorProps } from "./schema.mjs";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region components/biz/business/header-search/header-avatar-icon/client.d.ts
6
+ type HeaderAvatarIconClientProps = HeaderAvatarIconInspectorProps;
7
+ /**
8
+ * 顶部-头像框+icon 客户端组件,仅做占位展示。
9
+ */
10
+ declare function HeaderAvatarIconClient(_props: HeaderAvatarIconClientProps): react_jsx_runtime0.JSX.Element;
11
+ //#endregion
12
+ export { HeaderAvatarIconClient, HeaderAvatarIconClientProps };
@@ -0,0 +1,2 @@
1
+
2
+ "use client";import{cn as e}from"../../../../../utils/cn.mjs";import{Box as t}from"../../../../ui/box.mjs";import{jsx as n,jsxs as r}from"react/jsx-runtime";function i(i){return r(t,{as:`header`,className:e(`flex items-center justify-between gap-2 px-3 py-2`,`border-b bg-background`),"aria-label":`顶部-头像框+icon`,children:[n(t,{as:`div`,className:`h-8 w-8 shrink-0 rounded-full bg-muted`,"aria-hidden":!0}),r(t,{as:`div`,className:`flex gap-2`,"aria-hidden":!0,children:[n(t,{as:`div`,className:`flex h-8 w-8 items-center justify-center rounded-full bg-muted`,"aria-hidden":!0,children:n(`span`,{className:`text-sm text-muted-foreground`,children:`⊕`})}),n(t,{as:`div`,className:`flex h-8 w-8 items-center justify-center rounded-full bg-muted`,"aria-hidden":!0,children:n(`span`,{className:`text-sm text-muted-foreground`,children:`⋮`})})]})]})}export{i as HeaderAvatarIconClient};
@@ -0,0 +1,5 @@
1
+
2
+ import { HeaderAvatarIconInspectorProps, headerAvatarIconInspectorPropsSchema } from "./schema.mjs";
3
+ import { HeaderAvatarIconClient, HeaderAvatarIconClientProps } from "./client.mjs";
4
+ import { headerAvatarIconMaterial } from "./material.mjs";
5
+ import "./server.mjs";
@@ -0,0 +1,10 @@
1
+
2
+ import { DefineMaterialOption } from "../../../../../utils/schema/material.mjs";
3
+ import { HeaderAvatarIconClient } from "./client.mjs";
4
+ import * as zod from "zod";
5
+ import * as zod_v4_core0 from "zod/v4/core";
6
+
7
+ //#region components/biz/business/header-search/header-avatar-icon/material.d.ts
8
+ declare const headerAvatarIconMaterial: DefineMaterialOption<typeof HeaderAvatarIconClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "header-avatar-icon">;
9
+ //#endregion
10
+ export { headerAvatarIconMaterial };
@@ -0,0 +1,2 @@
1
+
2
+ import{defineMaterial as e}from"../../../../../utils/schema/material.mjs";import{HeaderAvatarIconClient as t}from"./client.mjs";import{headerAvatarIconInspectorPropsSchema as n}from"./schema.mjs";import{HeaderAvatarIcon as r}from"./server.mjs";const i=e({type:`header-avatar-icon`,name:`顶部-头像框+icon`,icon:`/static/components-thumb/header_avatar_icon.png`,category:`顶部功能`,serverComponent:r,clientComponent:t,propsSchema:n});export{i as headerAvatarIconMaterial};