@funhub/platform 0.1.37 → 0.1.41

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 (193) hide show
  1. package/README.md +6 -0
  2. package/config/tailwind/index.cjs +4 -0
  3. package/config/tailwind/index.mjs +4 -0
  4. package/dist/assets/images/subscript.mjs +2 -0
  5. package/dist/biz.mjs +1 -1
  6. package/dist/common.d.mts +1 -2
  7. package/dist/common.mjs +1 -1
  8. package/dist/components/biz/business/banner/variants/basic-banner/inspector-schema.d.mts +4 -0
  9. package/dist/components/biz/business/banner/variants/basic-banner/material.d.mts +4 -0
  10. package/dist/components/biz/business/banner/variants/basic-banner/runtime/client.d.mts +6 -1
  11. package/dist/components/biz/business/banner/variants/basic-banner/runtime/client.mjs +1 -1
  12. package/dist/components/biz/business/banner/variants/basic-banner/server.mjs +1 -1
  13. package/dist/components/biz/business/banner-carousel/client.mjs +1 -1
  14. package/dist/components/biz/business/banner-carousel/material.d.mts +4 -0
  15. package/dist/components/biz/business/banner-carousel/schema.d.mts +4 -0
  16. package/dist/components/biz/business/banner-carousel/server.mjs +1 -1
  17. package/dist/components/biz/business/channel-list/client.mjs +1 -1
  18. package/dist/components/biz/business/channel-list/material.d.mts +4 -0
  19. package/dist/components/biz/business/channel-list/schema.d.mts +4 -0
  20. package/dist/components/biz/business/comment/comment-input.mjs +1 -1
  21. package/dist/components/biz/business/detail/detail-operate.mjs +1 -1
  22. package/dist/components/biz/business/detail/materials/registry.d.mts +30 -3
  23. package/dist/components/biz/business/detail/materials/video-detail-actions/client.d.mts +2 -1
  24. package/dist/components/biz/business/detail/materials/video-detail-actions/client.mjs +1 -1
  25. package/dist/components/biz/business/detail/materials/video-detail-actions/material.d.mts +6 -1
  26. package/dist/components/biz/business/detail/materials/video-detail-actions/schema.d.mts +6 -1
  27. package/dist/components/biz/business/detail/materials/video-detail-actions/server.mjs +1 -1
  28. package/dist/components/biz/business/detail/materials/video-detail-info/client.d.mts +2 -1
  29. package/dist/components/biz/business/detail/materials/video-detail-info/client.mjs +1 -1
  30. package/dist/components/biz/business/detail/materials/video-detail-info/material.d.mts +4 -0
  31. package/dist/components/biz/business/detail/materials/video-detail-info/schema.d.mts +4 -0
  32. package/dist/components/biz/business/detail/materials/video-detail-info/server.mjs +1 -1
  33. package/dist/components/biz/business/detail/materials/video-detail-info-title/client.d.mts +2 -1
  34. package/dist/components/biz/business/detail/materials/video-detail-info-title/client.mjs +1 -1
  35. package/dist/components/biz/business/detail/materials/video-detail-info-title/material.d.mts +6 -1
  36. package/dist/components/biz/business/detail/materials/video-detail-info-title/schema.d.mts +6 -1
  37. package/dist/components/biz/business/detail/materials/video-detail-info-title/server.mjs +1 -1
  38. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/client.d.mts +2 -1
  39. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/client.mjs +1 -1
  40. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/material.d.mts +4 -0
  41. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/schema.d.mts +4 -0
  42. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/server.mjs +1 -1
  43. package/dist/components/biz/business/detail/materials/video-detail-player/client.d.mts +2 -1
  44. package/dist/components/biz/business/detail/materials/video-detail-player/client.mjs +1 -1
  45. package/dist/components/biz/business/detail/materials/video-detail-player/material.d.mts +6 -1
  46. package/dist/components/biz/business/detail/materials/video-detail-player/schema.d.mts +6 -1
  47. package/dist/components/biz/business/detail/materials/video-detail-player/server.mjs +1 -1
  48. package/dist/components/biz/business/detail/materials/video-detail-recommend/client.d.mts +2 -1
  49. package/dist/components/biz/business/detail/materials/video-detail-recommend/client.mjs +1 -1
  50. package/dist/components/biz/business/detail/materials/video-detail-recommend/material.d.mts +4 -0
  51. package/dist/components/biz/business/detail/materials/video-detail-recommend/schema.d.mts +4 -0
  52. package/dist/components/biz/business/detail/materials/video-detail-recommend/server.mjs +1 -1
  53. package/dist/components/biz/business/detail/video-hero.mjs +1 -1
  54. package/dist/components/biz/business/floating-ball/client.mjs +1 -1
  55. package/dist/components/biz/business/floating-ball/material.d.mts +4 -0
  56. package/dist/components/biz/business/floating-ball/schema.d.mts +4 -0
  57. package/dist/components/biz/business/floating-ball/server.mjs +1 -1
  58. package/dist/components/biz/business/header-search/header-avatar-icon/client.d.mts +3 -1
  59. package/dist/components/biz/business/header-search/header-avatar-icon/client.mjs +1 -1
  60. package/dist/components/biz/business/header-search/header-avatar-icon/material.d.mts +6 -1
  61. package/dist/components/biz/business/header-search/header-avatar-icon/schema.d.mts +6 -1
  62. package/dist/components/biz/business/header-search/header-avatar-icon/server.mjs +1 -1
  63. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.mjs +1 -1
  64. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.d.mts +4 -0
  65. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.d.mts +4 -0
  66. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.mjs +1 -1
  67. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.mjs +1 -1
  68. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.d.mts +4 -0
  69. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.d.mts +4 -0
  70. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.mjs +1 -1
  71. package/dist/components/biz/business/header-search/header-logo-search/client.mjs +1 -1
  72. package/dist/components/biz/business/header-search/header-logo-search/material.d.mts +4 -0
  73. package/dist/components/biz/business/header-search/header-logo-search/schema.d.mts +4 -0
  74. package/dist/components/biz/business/header-search/header-logo-search/server.mjs +1 -1
  75. package/dist/components/biz/business/header-search/header-search/client.d.mts +3 -1
  76. package/dist/components/biz/business/header-search/header-search/client.mjs +1 -1
  77. package/dist/components/biz/business/header-search/header-search/material.d.mts +6 -1
  78. package/dist/components/biz/business/header-search/header-search/schema.d.mts +6 -1
  79. package/dist/components/biz/business/header-search/header-search/server.mjs +1 -1
  80. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -1
  81. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/inspector-schema.d.mts +4 -0
  82. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/material.d.mts +4 -0
  83. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.d.mts +8 -1
  84. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.mjs +1 -1
  85. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/server.mjs +1 -1
  86. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/inspector-schema.d.mts +4 -0
  87. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/material.d.mts +4 -0
  88. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.d.mts +8 -1
  89. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.mjs +1 -1
  90. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/server.mjs +1 -1
  91. package/dist/components/biz/business/index.mjs +1 -1
  92. package/dist/components/biz/business/large-feature-grid/card-item.mjs +1 -1
  93. package/dist/components/biz/business/large-feature-grid/client.d.mts +15 -0
  94. package/dist/components/biz/business/large-feature-grid/client.mjs +1 -1
  95. package/dist/components/biz/business/large-feature-grid/material.d.mts +34 -4
  96. package/dist/components/biz/business/large-feature-grid/schema.d.mts +42 -0
  97. package/dist/components/biz/business/large-feature-grid/server.d.mts +15 -0
  98. package/dist/components/biz/business/large-feature-grid/server.mjs +1 -1
  99. package/dist/components/biz/business/marquee/client.mjs +1 -1
  100. package/dist/components/biz/business/marquee/material.d.mts +4 -0
  101. package/dist/components/biz/business/marquee/schema.d.mts +4 -0
  102. package/dist/components/biz/business/marquee/server.mjs +1 -1
  103. package/dist/components/biz/business/profile/profile-header/client.d.mts +2 -1
  104. package/dist/components/biz/business/profile/profile-header/client.mjs +1 -1
  105. package/dist/components/biz/business/profile/profile-header/material.d.mts +18 -2
  106. package/dist/components/biz/business/profile/profile-header/material.mjs +1 -1
  107. package/dist/components/biz/business/profile/profile-header/schema.d.mts +7 -2
  108. package/dist/components/biz/business/profile/profile-header/server.d.mts +4 -1
  109. package/dist/components/biz/business/profile/profile-header/server.mjs +1 -1
  110. package/dist/components/biz/business/profile/profile-header/user-profile-cover-background.mjs +1 -1
  111. package/dist/components/biz/business/profile/profile-main/client.d.mts +2 -1
  112. package/dist/components/biz/business/profile/profile-main/client.mjs +1 -1
  113. package/dist/components/biz/business/profile/profile-main/material.d.mts +6 -1
  114. package/dist/components/biz/business/profile/profile-main/material.mjs +1 -1
  115. package/dist/components/biz/business/profile/profile-main/schema.d.mts +7 -2
  116. package/dist/components/biz/business/profile/profile-main/server.mjs +1 -1
  117. package/dist/components/biz/business/profile/profile-main/shell.mjs +1 -1
  118. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.d.mts +5 -0
  119. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs +1 -1
  120. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/server.mjs +1 -1
  121. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.d.mts +5 -0
  122. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.mjs +1 -1
  123. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/server.mjs +1 -1
  124. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.d.mts +5 -0
  125. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.mjs +1 -1
  126. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/server.mjs +1 -1
  127. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/client.d.mts +6 -1
  128. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/client.mjs +1 -1
  129. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/server.mjs +1 -1
  130. package/dist/components/biz/business/profile/profile-main/utils.mjs +1 -1
  131. package/dist/components/biz/business/profile/profile-main/variants.d.mts +3 -3
  132. package/dist/components/biz/business/profile/profile-main/variants.mjs +1 -1
  133. package/dist/components/biz/business/search-history/client.mjs +1 -1
  134. package/dist/components/biz/business/search-history/material.d.mts +4 -0
  135. package/dist/components/biz/business/search-history/schema.d.mts +4 -0
  136. package/dist/components/biz/business/search-history/server.mjs +1 -1
  137. package/dist/components/biz/business/search-input/client.mjs +1 -1
  138. package/dist/components/biz/business/search-input/material.d.mts +4 -0
  139. package/dist/components/biz/business/search-input/schema.d.mts +4 -0
  140. package/dist/components/biz/business/search-input/server.mjs +1 -1
  141. package/dist/components/biz/business/shortcut-grid/client.mjs +1 -1
  142. package/dist/components/biz/business/shortcut-grid/material.d.mts +4 -0
  143. package/dist/components/biz/business/shortcut-grid/schema.d.mts +4 -0
  144. package/dist/components/biz/business/shortcut-grid/server.mjs +1 -1
  145. package/dist/components/biz/business/tab-bar/client.mjs +1 -1
  146. package/dist/components/biz/business/tab-bar/material.d.mts +14 -2
  147. package/dist/components/biz/business/tab-bar/schema.d.mts +14 -2
  148. package/dist/components/biz/business/tab-bar/schema.mjs +1 -1
  149. package/dist/components/biz/business/tab-bar/server.mjs +1 -1
  150. package/dist/components/biz/business/text-recommend/client.mjs +1 -1
  151. package/dist/components/biz/business/text-recommend/material.d.mts +4 -0
  152. package/dist/components/biz/business/text-recommend/schema.d.mts +4 -0
  153. package/dist/components/biz/business/text-recommend/server.mjs +1 -1
  154. package/dist/components/biz/business/video-horizontal-list/client.mjs +1 -1
  155. package/dist/components/biz/business/video-horizontal-list/material.d.mts +4 -0
  156. package/dist/components/biz/business/video-horizontal-list/schema.d.mts +4 -0
  157. package/dist/components/biz/business/video-horizontal-list/schema.mjs +1 -1
  158. package/dist/components/biz/business/video-horizontal-list/server.mjs +1 -1
  159. package/dist/components/biz/example/button/client.mjs +1 -1
  160. package/dist/components/biz/example/button/material.d.mts +4 -0
  161. package/dist/components/biz/example/button/schema.d.mts +4 -0
  162. package/dist/components/biz/example/button/server.d.mts +4 -1
  163. package/dist/components/biz/example/button/server.mjs +1 -1
  164. package/dist/components/common/list/post-list/post-list.d.mts +2 -0
  165. package/dist/components/common/list/post-list/post-list.mjs +1 -1
  166. package/dist/components/common/list/video-list/video-list.d.mts +2 -0
  167. package/dist/components/common/list/video-list/video-list.mjs +1 -1
  168. package/dist/components/pages/collection-create/form.mjs +1 -1
  169. package/dist/components/pages/collection-detail/_components/collection-detail-card.mjs +1 -1
  170. package/dist/components/pages/collection-detail/detail.mjs +1 -1
  171. package/dist/components/pages/feedback/_components/feedback-form.mjs +1 -1
  172. package/dist/components/ui/button.d.mts +1 -1
  173. package/dist/hooks.d.mts +1 -4
  174. package/dist/hooks.mjs +1 -1
  175. package/dist/i18n/locales/en.mjs +1 -1
  176. package/dist/i18n/locales/zh-CN.mjs +1 -1
  177. package/dist/utils/schema/index.d.mts +1 -1
  178. package/dist/utils/schema/material.d.mts +3 -2
  179. package/dist/utils/schema/schema.d.mts +18 -3
  180. package/dist/utils/schema/schema.mjs +1 -1
  181. package/dist/utils.d.mts +2 -2
  182. package/package.json +1 -1
  183. package/theme.css +4 -0
  184. package/dist/components/common/app-context/index.d.mts +0 -19
  185. package/dist/components/common/app-context/index.mjs +0 -2
  186. package/dist/components/common/app-context/provider.mjs +0 -2
  187. package/dist/components/common/icons/edit.mjs +0 -2
  188. package/dist/hooks/app-context.d.mts +0 -20
  189. package/dist/hooks/app-context.mjs +0 -2
  190. package/dist/hooks/get-app-context.d.mts +0 -19
  191. package/dist/hooks/get-app-context.mjs +0 -2
  192. package/dist/hooks/use-app-context/index.d.mts +0 -14
  193. package/dist/hooks/use-app-context/index.mjs +0 -2
@@ -12,7 +12,8 @@ declare function VideoDetailInfoClient({
12
12
  onEpisodeChange,
13
13
  showTags,
14
14
  showEpisodes,
15
- isShow
15
+ isShow,
16
+ mode
16
17
  }: VideoDetailInfoProps): react_jsx_runtime0.JSX.Element;
17
18
  //#endregion
18
19
  export { VideoDetailInfoClient };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{useAppContext as e}from"../../../../../../hooks/use-app-context/index.mjs";import{SeriesEpisodes as t}from"../../../../../common/series-episodes/index.mjs";import{DetailIntroduction as n}from"../../detail-introduction.mjs";import{editorPreviewInformation as r}from"../editor-preview.mjs";import{jsx as i,jsxs as a}from"react/jsx-runtime";function o({information:o,currentSeriesNum:s,onEpisodeChange:c,showTags:l=!1,showEpisodes:u=!1,isShow:d=!0}){let f=e()===`editor`||!o,p=f?r:o,m=Math.max(1,Number(s||1)),h=f?e=>{}:c,g=p?.is_more_link===`y`&&(p?.links?.length??0)>0;return a(`div`,{className:f?`pointer-events-none`:void 0,children:[i(n,{information:p,isShow:d,showTags:l}),u&&g&&i(t,{mode:`detail`,series_num:m,information:p,onEpisodeChange:h})]})}export{o as VideoDetailInfoClient};
2
+ "use client";import{SeriesEpisodes as e}from"../../../../../common/series-episodes/index.mjs";import{DetailIntroduction as t}from"../../detail-introduction.mjs";import{editorPreviewInformation as n}from"../editor-preview.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";function a({information:a,currentSeriesNum:o,onEpisodeChange:s,showTags:c=!1,showEpisodes:l=!1,isShow:u=!0,mode:d=`renderer`}){let f=d===`editor`||!a,p=f?n:a,m=Math.max(1,Number(o||1)),h=f?e=>{}:s,g=p?.is_more_link===`y`&&(p?.links?.length??0)>0;return i(`div`,{className:f?`pointer-events-none`:void 0,children:[r(t,{information:p,isShow:u,showTags:c}),l&&g&&r(e,{mode:`detail`,series_num:m,information:p,onEpisodeChange:h})]})}export{a as VideoDetailInfoClient};
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const videoDetailInfoMaterial: DefineMaterialOption<typeof VideoDetailInfo, typeof VideoDetailInfoClient, zod.ZodObject<{
12
12
  showTags: zod.ZodBoolean & SchemaHasDefaultValue;
13
13
  showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>, "video-detail-info">;
15
19
  //#endregion
16
20
  export { videoDetailInfoMaterial };
@@ -12,6 +12,10 @@ import * as zod_v4_core0 from "zod/v4/core";
12
12
  declare const videoDetailInfoInspectorPropsSchema: zod.ZodObject<{
13
13
  showTags: zod.ZodBoolean & SchemaHasDefaultValue;
14
14
  showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
15
+ mode: zod.ZodOptional<zod.ZodEnum<{
16
+ renderer: "renderer";
17
+ editor: "editor";
18
+ }>>;
15
19
  }, zod_v4_core0.$strip>;
16
20
  type VideoDetailInfoInspectorProps = InferSchemaProps<typeof videoDetailInfoInspectorPropsSchema>;
17
21
  /** 媒体信息-简介&选集物料 props。 */
@@ -1,2 +1,2 @@
1
1
 
2
- import{VideoDetailInfoClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as VideoDetailInfo};
2
+ import{VideoDetailInfoClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as VideoDetailInfo};
@@ -7,7 +7,8 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
7
7
  * 媒体信息物料客户端组件。
8
8
  */
9
9
  declare function VideoDetailInfoTitleClient({
10
- information
10
+ information,
11
+ mode
11
12
  }: VideoDetailInfoTitleProps): react_jsx_runtime0.JSX.Element | null;
12
13
  //#endregion
13
14
  export { VideoDetailInfoTitleClient };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../../../ui/box.mjs";import{useAppContext as t}from"../../../../../../hooks/use-app-context/index.mjs";import{useCardDecoration as n}from"../../../../../../hooks/use-card-decoration.mjs";import{DetailInfoTitle as r}from"../../detail-info-title.mjs";import{editorPreviewInformation as i}from"../editor-preview.mjs";import{jsx as a}from"react/jsx-runtime";function o({information:o}){let s=t()===`editor`||!o?i:o,{getTitleText:c}=n(),l=c(s);return l?a(e,{className:`w-full mt-[16px] px-[12px]`,children:a(r,{title:l})}):null}export{o as VideoDetailInfoTitleClient};
2
+ "use client";import{Box as e}from"../../../../../ui/box.mjs";import{useCardDecoration as t}from"../../../../../../hooks/use-card-decoration.mjs";import{DetailInfoTitle as n}from"../../detail-info-title.mjs";import{editorPreviewInformation as r}from"../editor-preview.mjs";import{jsx as i}from"react/jsx-runtime";function a({information:a,mode:o=`renderer`}){let s=o===`editor`||!a?r:a,{getTitleText:c}=t(),l=c(s);return l?i(e,{className:`w-full mt-[16px] px-[12px]`,children:i(n,{title:l})}):null}export{a as VideoDetailInfoTitleClient};
@@ -6,6 +6,11 @@ import * as zod from "zod";
6
6
  import * as zod_v4_core0 from "zod/v4/core";
7
7
 
8
8
  //#region components/biz/business/detail/materials/video-detail-info-title/material.d.ts
9
- declare const videoDetailInfoTitleMaterial: DefineMaterialOption<typeof VideoDetailInfoTitle, typeof VideoDetailInfoTitleClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "video-detail-info-title">;
9
+ declare const videoDetailInfoTitleMaterial: DefineMaterialOption<typeof VideoDetailInfoTitle, typeof VideoDetailInfoTitleClient, zod.ZodObject<{
10
+ mode: zod.ZodOptional<zod.ZodEnum<{
11
+ renderer: "renderer";
12
+ editor: "editor";
13
+ }>>;
14
+ }, zod_v4_core0.$strip>, "video-detail-info-title">;
10
15
  //#endregion
11
16
  export { videoDetailInfoTitleMaterial };
@@ -9,7 +9,12 @@ import * as zod_v4_core0 from "zod/v4/core";
9
9
  /**
10
10
  * 媒体信息物料暂不对外开放配置。
11
11
  */
12
- declare const videoDetailInfoTitleInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
12
+ declare const videoDetailInfoTitleInspectorPropsSchema: zod.ZodObject<{
13
+ mode: zod.ZodOptional<zod.ZodEnum<{
14
+ renderer: "renderer";
15
+ editor: "editor";
16
+ }>>;
17
+ }, zod_v4_core0.$strip>;
13
18
  type VideoDetailInfoTitleInspectorProps = InferSchemaProps<typeof videoDetailInfoTitleInspectorPropsSchema>;
14
19
  /** 媒体信息物料 props。 */
15
20
  type VideoDetailInfoTitleProps = VideoDetailInfoTitleInspectorProps & {
@@ -1,2 +1,2 @@
1
1
 
2
- import{VideoDetailInfoTitleClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as VideoDetailInfoTitle};
2
+ import{VideoDetailInfoTitleClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as VideoDetailInfoTitle};
@@ -11,7 +11,8 @@ declare function VideoDetailInfoTitleTagsEpisodesClient({
11
11
  currentSeriesNum,
12
12
  onEpisodeChange,
13
13
  showTags,
14
- showEpisodes
14
+ showEpisodes,
15
+ mode
15
16
  }: VideoDetailInfoTitleTagsEpisodesProps): react_jsx_runtime0.JSX.Element | null;
16
17
  //#endregion
17
18
  export { VideoDetailInfoTitleTagsEpisodesClient };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../../../ui/box.mjs";import{useAppContext as t}from"../../../../../../hooks/use-app-context/index.mjs";import{useCardDecoration as n}from"../../../../../../hooks/use-card-decoration.mjs";import{SeriesEpisodes as r}from"../../../../../common/series-episodes/index.mjs";import{DetailInfoTags as i}from"../../detail-info-tags.mjs";import{DetailInfoTitle as a}from"../../detail-info-title.mjs";import{editorPreviewInformation as o}from"../editor-preview.mjs";import{jsx as s,jsxs as c}from"react/jsx-runtime";function l({information:l,currentSeriesNum:u,onEpisodeChange:d,showTags:f=!0,showEpisodes:p=!0}){let m=t()===`editor`||!l,h=m?o:l,g=Math.max(1,Number(u||1)),_=m?e=>{}:d,{getTitleText:v}=n(),y=v(h),b=h?.is_more_link===`y`&&(h?.links?.length??0)>0,x=f&&(h.tags?.length??0)>0,S=p&&b;return!y&&!x&&!S?null:c(e,{className:`w-full mt-[16px] ${m?`pointer-events-none`:``}`,children:[c(e,{className:`px-[12px]`,children:[y&&s(a,{title:y}),x&&s(i,{tags:h.tags||[],className:`mt-[12px]`})]}),S&&s(r,{mode:`detail`,series_num:g,information:h,onEpisodeChange:_})]})}export{l as VideoDetailInfoTitleTagsEpisodesClient};
2
+ "use client";import{Box as e}from"../../../../../ui/box.mjs";import{useCardDecoration as t}from"../../../../../../hooks/use-card-decoration.mjs";import{SeriesEpisodes as n}from"../../../../../common/series-episodes/index.mjs";import{DetailInfoTags as r}from"../../detail-info-tags.mjs";import{DetailInfoTitle as i}from"../../detail-info-title.mjs";import{editorPreviewInformation as a}from"../editor-preview.mjs";import{jsx as o,jsxs as s}from"react/jsx-runtime";function c({information:c,currentSeriesNum:l,onEpisodeChange:u,showTags:d=!0,showEpisodes:f=!0,mode:p=`renderer`}){let m=p===`editor`||!c,h=m?a:c,g=Math.max(1,Number(l||1)),_=m?e=>{}:u,{getTitleText:v}=t(),y=v(h),b=h?.is_more_link===`y`&&(h?.links?.length??0)>0,x=d&&(h.tags?.length??0)>0,S=f&&b;return!y&&!x&&!S?null:s(e,{className:`w-full mt-[16px] ${m?`pointer-events-none`:``}`,children:[s(e,{className:`px-[12px]`,children:[y&&o(i,{title:y}),x&&o(r,{tags:h.tags||[],className:`mt-[12px]`})]}),S&&o(n,{mode:`detail`,series_num:g,information:h,onEpisodeChange:_})]})}export{c as VideoDetailInfoTitleTagsEpisodesClient};
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const videoDetailInfoTitleTagsEpisodesMaterial: DefineMaterialOption<typeof VideoDetailInfoTitleTagsEpisodes, typeof VideoDetailInfoTitleTagsEpisodesClient, zod.ZodObject<{
12
12
  showTags: zod.ZodBoolean & SchemaHasDefaultValue;
13
13
  showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>, "video-detail-info-title-tags-episodes">;
15
19
  //#endregion
16
20
  export { videoDetailInfoTitleTagsEpisodesMaterial };
@@ -12,6 +12,10 @@ import * as zod_v4_core0 from "zod/v4/core";
12
12
  declare const videoDetailInfoTitleTagsEpisodesInspectorPropsSchema: zod.ZodObject<{
13
13
  showTags: zod.ZodBoolean & SchemaHasDefaultValue;
14
14
  showEpisodes: zod.ZodBoolean & SchemaHasDefaultValue;
15
+ mode: zod.ZodOptional<zod.ZodEnum<{
16
+ renderer: "renderer";
17
+ editor: "editor";
18
+ }>>;
15
19
  }, zod_v4_core0.$strip>;
16
20
  type VideoDetailInfoTitleTagsEpisodesInspectorProps = InferSchemaProps<typeof videoDetailInfoTitleTagsEpisodesInspectorPropsSchema>;
17
21
  /** 媒体信息-选集物料 props。 */
@@ -1,2 +1,2 @@
1
1
 
2
- import{VideoDetailInfoTitleTagsEpisodesClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as VideoDetailInfoTitleTagsEpisodes};
2
+ import{VideoDetailInfoTitleTagsEpisodesClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as VideoDetailInfoTitleTagsEpisodes};
@@ -9,7 +9,8 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
9
9
  declare function VideoDetailPlayerClient({
10
10
  information,
11
11
  episodeIndex,
12
- resumeProgressSeconds
12
+ resumeProgressSeconds,
13
+ mode
13
14
  }: VideoDetailPlayerProps): react_jsx_runtime0.JSX.Element;
14
15
  //#endregion
15
16
  export { VideoDetailPlayerClient };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{useAppContext as e}from"../../../../../../hooks/use-app-context/index.mjs";import{editorPreviewInformation as t}from"../editor-preview.mjs";import{DetailHero as n}from"../../video-hero.mjs";import{jsx as r}from"react/jsx-runtime";function i({information:i,episodeIndex:a,resumeProgressSeconds:o}){let s=e()===`editor`||!i,c=s?{...t,id:``,mid:``}:i;return r(`div`,{className:s?`pointer-events-none`:void 0,children:r(n,{isVideo:!0,information:c,episodeIndex:s?0:a,resumeProgressSeconds:s?0:o})})}export{i as VideoDetailPlayerClient};
2
+ "use client";import{editorPreviewInformation as e}from"../editor-preview.mjs";import{DetailHero as t}from"../../video-hero.mjs";import{jsx as n}from"react/jsx-runtime";function r({information:r,episodeIndex:i,resumeProgressSeconds:a,mode:o=`renderer`}){let s=o===`editor`||!r,c=s?{...e,id:``,mid:``}:r;return n(`div`,{className:s?`pointer-events-none`:void 0,children:n(t,{mode:o,isVideo:!0,information:c,episodeIndex:s?0:i,resumeProgressSeconds:s?0:a})})}export{r as VideoDetailPlayerClient};
@@ -6,6 +6,11 @@ import * as zod from "zod";
6
6
  import * as zod_v4_core0 from "zod/v4/core";
7
7
 
8
8
  //#region components/biz/business/detail/materials/video-detail-player/material.d.ts
9
- declare const videoDetailPlayerMaterial: DefineMaterialOption<typeof VideoDetailPlayer, typeof VideoDetailPlayerClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "video-detail-player">;
9
+ declare const videoDetailPlayerMaterial: DefineMaterialOption<typeof VideoDetailPlayer, typeof VideoDetailPlayerClient, zod.ZodObject<{
10
+ mode: zod.ZodOptional<zod.ZodEnum<{
11
+ renderer: "renderer";
12
+ editor: "editor";
13
+ }>>;
14
+ }, zod_v4_core0.$strip>, "video-detail-player">;
10
15
  //#endregion
11
16
  export { videoDetailPlayerMaterial };
@@ -9,7 +9,12 @@ import * as zod_v4_core0 from "zod/v4/core";
9
9
  /**
10
10
  * 播放器物料暂不对外开放配置。
11
11
  */
12
- declare const videoDetailPlayerInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
12
+ declare const videoDetailPlayerInspectorPropsSchema: zod.ZodObject<{
13
+ mode: zod.ZodOptional<zod.ZodEnum<{
14
+ renderer: "renderer";
15
+ editor: "editor";
16
+ }>>;
17
+ }, zod_v4_core0.$strip>;
13
18
  type VideoDetailPlayerInspectorProps = InferSchemaProps<typeof videoDetailPlayerInspectorPropsSchema>;
14
19
  /** 播放器物料 props。 */
15
20
  type VideoDetailPlayerProps = VideoDetailPlayerInspectorProps & {
@@ -1,2 +1,2 @@
1
1
 
2
- import{VideoDetailPlayerClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as VideoDetailPlayer};
2
+ import{VideoDetailPlayerClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as VideoDetailPlayer};
@@ -17,7 +17,8 @@ declare function VideoDetailRecommendClient({
17
17
  playCountDelta,
18
18
  showEpisode,
19
19
  enableInfinite,
20
- items
20
+ items,
21
+ mode
21
22
  }: VideoDetailRecommendProps): react_jsx_runtime0.JSX.Element | null;
22
23
  //#endregion
23
24
  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 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{buildEditorPreviewRecommendList as c}from"../editor-preview.mjs";import{applyPlayCountDelta as ee,buildEpisodeLabel as l,clampColumns as u,mergeManualAndPool as d,mockPagedList as f,resolveRows as p}from"./utils.mjs";import{useEffect as m,useMemo as h,useRef as g,useState as te}from"react";import{jsx as _,jsxs as v}from"react/jsx-runtime";import{useTranslations as y}from"next-intl";function b({detailId:b,rows:re,columns:ie,smartTagEnabled:C,smartTagIds:w,title:T,showPlayCount:E,playCountDelta:D,showEpisode:O,enableInfinite:k,items:A}){let j=i()===`editor`,M=j||!b,ae=y(`components.biz.business.detail`),{getVerticalHoCoverImageUrl:N,getTitleText:P}=s(),[F,I]=te(1),L=g(null),R=h(()=>w??[],[w]),z=h(()=>A??[],[A]),B=!!k&&!j,V=p(re,B),H=u(ie),U=V*H,W=h(()=>c(U),[U]),{data:G}=r([`video-detail-recommend`,b],async()=>!b||M?null:await e(),{enabled:!M&&!!b}),K=h(()=>{if(M)return W;let e=G?.data?.videos;return Array.isArray(e)?e.map(e=>x(e)).filter(e=>!b||!e.id||e.id!==b):[]},[G?.data?.videos,b,W,M]),q=h(()=>new Set(z.map(e=>e.contentId)),[z]),J=h(()=>{if(M)return K;let e=K.filter(e=>!q.has(e.id));if(!C||R.length===0)return e;let t=new Set(R.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))))},[M,q,K,C,R]),Y=h(()=>{if(!z.length)return[];let e=new Map(J.map(e=>[e.id,e]));return z.map((t,n)=>{let r=W[n%Math.max(1,W.length)],i=e.get(t.contentId)??(M?{...r,id:t.contentId||r.id||`preview-manual-${n+1}`,name:r.name||`猜你喜欢 ${n+1}`}:null);if(!i)return null;let a=t.titleMode===`custom`?t.title:P(i),o=t.coverMode===`upload`?t.coverUrl:N(i);return{info:{...i,name:a||i.name,img_y:o||i.img_y,img_x:o||i.img_x},config:{showPlayCount:t.showPlayCount,playCountDelta:t.playCountDelta,showEpisode:t.showEpisode}}}).filter(Boolean)},[W,J,P,N,M,z]),X=h(()=>J.map(e=>({info:e})),[J]),Z=h(()=>d(Y,X,U),[Y,U,X]),Q=h(()=>{if(!B)return Z;let e=f(X,F,U,5);return F===1?Z:Z.concat(e)},[Z,F,U,X,B]),$=B&&F<5&&X.length>0;return m(()=>{B&&I(1)},[b,B]),m(()=>{if(!B)return;let e=L.current;if(!e||!$)return;let t=new IntersectionObserver(e=>{e[0]?.isIntersecting&&I(e=>Math.min(e+1,5))});return t.observe(e),()=>{t.disconnect()}},[$,B]),Q.length?v(t,{className:`w-full mt-[16px] ${M?`pointer-events-none`:``}`,children:[_(n,{className:`block pl-[12px] mb-[8px] text-text1 text-[18px] leading-[26px] font-bold`,children:T||ae(`detailGuessLike.title`)}),_(t,{className:`w-full flex flex-wrap px-[12px]`,children:Q.map((e,t)=>{let n=e.config?.showPlayCount??E,r=e.config?.playCountDelta??D,i=e.config?.showEpisode??O,s=S(ee(e.info.play_count||0,r)),c=l(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(H)&&H>0?`${100/H}%`:`33.333333%`;return _(o,{url:N(e.info),text:P(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&&c?_(`div`,{className:`text-[#F59E0B] text-[12px] font-bold leading-[20px] pr-[8px]`,children:c}):null,linkPath:M?``:ne(e.info)},`guess-like-${t}`)})}),B&&_(`div`,{ref:L,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 ne(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 i from"../../../../../../assets/icons/detail/video_flag.mjs";import{MiniThreeCard as a}from"../../../../../common/cards/mini-three-card.mjs";import{useCardDecoration as o}from"../../../../../../hooks/use-card-decoration.mjs";import{buildEditorPreviewRecommendList as s}from"../editor-preview.mjs";import{applyPlayCountDelta as c,buildEpisodeLabel as l,clampColumns as u,mergeManualAndPool as d,mockPagedList as f,resolveRows as p}from"./utils.mjs";import{useEffect as m,useMemo as h,useRef as ee,useState as g}from"react";import{jsx as _,jsxs as v}from"react/jsx-runtime";import{useTranslations as te}from"next-intl";function y({detailId:y,rows:b,columns:x,smartTagEnabled:S,smartTagIds:C,title:w,showPlayCount:T,playCountDelta:E,showEpisode:D,enableInfinite:O,items:k,mode:A=`renderer`}){let j=A===`editor`,M=j||!y,ae=te(`components.biz.business.detail`),{getVerticalHoCoverImageUrl:N,getTitleText:P}=o(),[F,I]=g(1),L=ee(null),R=h(()=>C??[],[C]),z=h(()=>k??[],[k]),B=!!O&&!j,V=p(b,B),H=u(x),U=V*H,W=h(()=>s(U),[U]),{data:G}=r([`video-detail-recommend`,y],async()=>!y||M?null:await e(),{enabled:!M&&!!y}),K=h(()=>{if(M)return W;let e=G?.data?.videos;return Array.isArray(e)?e.map(e=>ne(e)).filter(e=>!y||!e.id||e.id!==y):[]},[G?.data?.videos,y,W,M]),q=h(()=>new Set(z.map(e=>e.contentId)),[z]),J=h(()=>{if(M)return K;let e=K.filter(e=>!q.has(e.id));if(!S||R.length===0)return e;let t=new Set(R.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))))},[M,q,K,S,R]),Y=h(()=>{if(!z.length)return[];let e=new Map(J.map(e=>[e.id,e]));return z.map((t,n)=>{let r=W[n%Math.max(1,W.length)],i=e.get(t.contentId)??(M?{...r,id:t.contentId||r.id||`preview-manual-${n+1}`,name:r.name||`猜你喜欢 ${n+1}`}:null);if(!i)return null;let a=t.titleMode===`custom`?t.title:P(i),o=t.coverMode===`upload`?t.coverUrl:N(i);return{info:{...i,name:a||i.name,img_y:o||i.img_y,img_x:o||i.img_x},config:{showPlayCount:t.showPlayCount,playCountDelta:t.playCountDelta,showEpisode:t.showEpisode}}}).filter(Boolean)},[W,J,P,N,M,z]),X=h(()=>J.map(e=>({info:e})),[J]),Z=h(()=>d(Y,X,U),[Y,U,X]),Q=h(()=>{if(!B)return Z;let e=f(X,F,U,5);return F===1?Z:Z.concat(e)},[Z,F,U,X,B]),$=B&&F<5&&X.length>0;return m(()=>{B&&I(1)},[y,B]),m(()=>{if(!B)return;let e=L.current;if(!e||!$)return;let t=new IntersectionObserver(e=>{e[0]?.isIntersecting&&I(e=>Math.min(e+1,5))});return t.observe(e),()=>{t.disconnect()}},[$,B]),Q.length?v(t,{className:`w-full mt-[16px] ${M?`pointer-events-none`:``}`,children:[_(n,{className:`block pl-[12px] mb-[8px] text-text1 text-[18px] leading-[26px] font-bold`,children:w||ae(`detailGuessLike.title`)}),_(t,{className:`w-full flex flex-wrap px-[12px]`,children:Q.map((e,t)=>{let n=e.config?.showPlayCount??T,r=e.config?.playCountDelta??E,o=e.config?.showEpisode??D,s=re(c(e.info.play_count||0,r)),u=l(Number(e.info.update_status)===1?`done`:`updating`,e.info.episode_cnt||e.info.links?.length,e.info.episode_cnt||e.info.links?.length),d=Number.isFinite(H)&&H>0?`${100/H}%`:`33.333333%`;return _(a,{url:N(e.info),text:P(e.info),style:{width:d},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:[_(i,{className:`w-[16px] h-[auto] text-[#fff] mr-[4px]`}),s]}):null,bottomRightChild:o&&u?_(`div`,{className:`text-[#F59E0B] text-[12px] font-bold leading-[20px] pr-[8px]`,children:u}):null,linkPath:M?``:ie(e.info)},`guess-like-${t}`)})}),B&&_(`div`,{ref:L,className:`h-[1px] w-full`})]}):null}function ne(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 re(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 ie(e){if(e.content_type===0){let t=encodeURIComponent(e.name||``);return`/video/${e.id}/${t}/episode/1`}return`/post/${e.id}`}export{y as VideoDetailRecommendClient};
@@ -34,6 +34,10 @@ declare const videoDetailRecommendMaterial: DefineMaterialOption<typeof VideoDet
34
34
  playCountDelta: zod.ZodOptional<zod.ZodNumber>;
35
35
  showEpisode: zod.ZodOptional<zod.ZodBoolean>;
36
36
  }, zod_v4_core0.$strip>>>;
37
+ mode: zod.ZodOptional<zod.ZodEnum<{
38
+ renderer: "renderer";
39
+ editor: "editor";
40
+ }>>;
37
41
  }, zod_v4_core0.$strip>, "video-detail-recommend">;
38
42
  //#endregion
39
43
  export { videoDetailRecommendMaterial };
@@ -30,6 +30,10 @@ declare const videoDetailRecommendInspectorPropsSchema: z$1.ZodObject<{
30
30
  playCountDelta: z$1.ZodOptional<z$1.ZodNumber>;
31
31
  showEpisode: z$1.ZodOptional<z$1.ZodBoolean>;
32
32
  }, z$1.core.$strip>>>;
33
+ mode: z$1.ZodOptional<z$1.ZodEnum<{
34
+ renderer: "renderer";
35
+ editor: "editor";
36
+ }>>;
33
37
  }, z$1.core.$strip>;
34
38
  type VideoDetailRecommendInspectorProps = z$1.infer<typeof videoDetailRecommendInspectorPropsSchema>;
35
39
  /** 推荐模块物料 props。 */
@@ -1,2 +1,2 @@
1
1
 
2
- import{VideoDetailRecommendClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as VideoDetailRecommend};
2
+ import{VideoDetailRecommendClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as VideoDetailRecommend};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{cn as e}from"../../../../utils/cn.mjs";import{pxToVw as t}from"../../../../utils/helper.mjs";import{Image as n}from"../../../ui/image.mjs";import{Box as r}from"../../../ui/box.mjs";import{Text as i}from"../../../ui/text.mjs";import{useAppContext as a}from"../../../../hooks/use-app-context/index.mjs";import{useBrowseReport as o}from"../../../../hooks/use-browse-report.mjs";import{MediaPreview as s,useMediaPreview as c}from"../../../common/media-preview/index.mjs";import l from"../../../common/video-player/index.mjs";import{UserActivityMediaGrid as u}from"../../../common/list/user-activity-list/user-activity-list-item.mjs";import{memo as d,useCallback as f,useEffect as p,useMemo as m,useRef as h}from"react";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";import{useTranslations as y}from"next-intl";const b=d(({information:t,isVideo:n,episodeIndex:o=0,resumeProgressSeconds:l=0,className:d=``})=>{let p=a()===`editor`,h=m(()=>({id:t.id,name:t.name,preview_images:t.preview_images,img_y:t.img_y,img_x:t.img_x}),[t.id,t.name,t.preview_images,t.img_y,t.img_x]),g=m(()=>{let e=t?.medias,n=Array.isArray(e)?e.filter(Boolean):[];return n.length>0?n:(h.preview_images?.length?h.preview_images:[h.img_y||h.img_x||``].filter(Boolean)).filter(Boolean).map(e=>({media_url:e,is_video:!1,cover_image:``}))},[h.img_x,h.img_y,h.preview_images,t]),y=c(),b=m(()=>g.filter(Boolean).map(e=>{let n=e?.is_video?`video`:`image`,r=String(e?.media_url||``),i=e?.cover_image||t.img_y||t.img_x;return{src:r,type:n,...i?{cover:String(i)}:{}}}).filter(e=>!!e.src),[t.img_x,t.img_y,g]),S=f(e=>{p||!b.length||y.open(b,e)},[p,y,b]);return p?_(`img`,{src:`/static/components-thumb/video_player.png`,alt:`video-preview`,className:`w-full block`}):n?_(x,{information:t,episodeIndex:o,resumeProgressSeconds:l,isEditor:p}):v(`div`,{className:e(`w-full`,d),children:[v(r,{className:`mt-3 px-[12px] space-y-1`,children:[_(i,{as:`p`,className:`break-all`,dangerouslySetInnerHTML:{__html:t.description}}),_(u,{medias:g,onItemClick:S})]}),_(s,{})]})});b.displayName=`DetailHero`;const x=d(({information:e,episodeIndex:t,resumeProgressSeconds:n,isEditor:r})=>{let i=m(()=>({id:e.id,mid:e.mid,img_width:e.img_width,img_height:e.img_height,img_y:e.img_y,img_x:e.img_x,preview_images:e.preview_images}),[e.id,e.mid,e.img_width,e.img_height,e.img_y,e.img_x,e.preview_images]);return _(S,{information:{...e,...i},episodeIndex:t,resumeProgressSeconds:n,isEditor:r})},(e,t)=>{let n=e.information,r=t.information;return n.id===r.id&&n.mid===r.mid&&n.img_width===r.img_width&&n.img_height===r.img_height&&n.img_y===r.img_y&&n.img_x===r.img_x&&e.resumeProgressSeconds===t.resumeProgressSeconds&&e.episodeIndex===t.episodeIndex&&e.isEditor===t.isEditor});x.displayName=`StableDetailPlayerBox`;function S({information:e,episodeIndex:i,resumeProgressSeconds:a,isEditor:s}){let c=y(`components.biz.business.detail`),u=h(0),d=h(0),b=Math.max(0,Number(i)||0),x=b+1,S=m(()=>e?.id,[e?.id]),E=m(()=>({id:e.id,mid:e.mid,img_width:e.img_width,img_height:e.img_height,img_y:e.img_y,img_x:e.img_x,preview_images:e.preview_images,links:e.links}),[e.id,e.mid,e.img_width,e.img_height,e.img_y,e.img_x,e.preview_images,e.links]),D=m(()=>E.mid||E.id,[E.id,E.mid]),O=m(()=>{let e=E.links?.[b]?.id;return e?String(e):`ep-${b+1}`},[b,E.links]),k=m(()=>`__reportData_detail_page__${E.id}:${O}`,[O,E.id]),A=m(()=>{if(s||typeof window>`u`)return 0;try{let e=sessionStorage.getItem(k);if(!e)return 0;let t=JSON.parse(e),n=Number(t.currentTime||0),r=Number(t.duration||0);if(!Number.isFinite(n)||!Number.isFinite(r))return 0;if(n>0&&r>0)return n}catch(e){console.error(`读取 sessionStorage 数据失败:`,e)}return 0},[s,k]),j=m(()=>{let e=Number(a||0);return Number.isFinite(e)&&e>0?e:0},[a]),M=m(()=>j>0?j:A,[j,A]),N=m(()=>{let t=T(e),n=t[t.length?Math.max(0,Math.min(b,t.length-1)):0]?.url||``,r=!!t.length;if(!r)return{hasVideo:!1,hlsList:[],videoUrl:``,width:1,height:1,resolution:`0x0`,aspectRatio:1,poster:``};let i=Number(E.img_width||0)||1,a=Number(E.img_height||0)||1;return{hasVideo:r,hlsList:t,videoUrl:n,width:i,height:a,resolution:C(i,a),aspectRatio:(i||1)/(a||1),poster:E.img_y||E.img_x||E.preview_images?.[0]||``}},[e.id,e.links,b,E.img_width,E.img_height,E.img_y,E.img_x,E.preview_images]),P=f((e,t)=>{u.current=e,d.current=t},[]),F=m(()=>N.videoUrl.endsWith(`m3u8`)?{startTimeSeconds:M,preload:`none`}:{startTimeSeconds:M},[M,N.videoUrl]);p(()=>{u.current=0,d.current=0},[S,b]);let I=o({contentId:S,browseEpisode:x,contentType:1,enabled:!s&&!!S,intervalMs:60*1e3,getCurrentTimeSeconds:()=>u.current,getDurationSeconds:()=>d.current});if(p(()=>{if(s)return;let e=()=>{if(!(typeof window>`u`)&&!(u.current<=0||d.current<=0))try{sessionStorage.setItem(k,JSON.stringify({episodeId:O,currentTime:u.current,duration:d.current}))}catch(e){console.error(`写入 sessionStorage 失败:`,e)}},t=()=>{e()},n=()=>{document.visibilityState===`hidden`&&e()},r=()=>{e()};return window.addEventListener(`beforeunload`,t),document.addEventListener(`visibilitychange`,n),window.addEventListener(`popstate`,r),()=>{window.removeEventListener(`beforeunload`,t),document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`popstate`,r),e()}},[O,s,k]),!N.hasVideo)return _(`div`,{className:`mt-3 rounded-xl bg-bg1 px-3 py-10 text-center text-text3`,children:c(`videoHero.noVideos`)});let L=w(430,N.aspectRatio,242),R=L.height>0?t(L.height):`auto`,z=t(242);return v(g,{children:[_(r,{suppressHydrationWarning:!0,className:`w-full`,style:{height:R,maxWidth:`100%`,maxHeight:z}}),v(r,{className:`w-full relative bg-bg2 !fixed !top-[44px] !left-0 z-[10]`,children:[N.poster&&v(`div`,{className:`w-full h-full bg-bg2 absolute top-0 left-0 z-[1] overflow-hidden`,style:{height:R},children:[_(n,{src:N.poster,alt:c(`videoHero.coverAlt`),fill:!0,className:`object-cover`,priority:!0}),_(`div`,{className:`w-full h-full absolute top-0 left-0 z-[1] bg-[rgba(255,255,255,0.2)] backdrop-blur-[4px]`})]}),_(r,{suppressHydrationWarning:!0,"data-aspect-ratio":N.resolution,className:`w-full overflow-hidden flex justify-center relative z-[2]`,style:{height:R,maxWidth:`100%`,maxHeight:z,backdropFilter:`blur(0)`,WebkitBackdropFilter:`blur(0)`},children:_(l,{plyerId:`detail-player-${E.id}-${b}`,parentId:D,resolution:N.resolution||`0x0`,videoUrl:N.videoUrl,poster:N.poster,mergeConfig:F,onProgressUpdate:s?void 0:P,onPlay:s?void 0:I.handlePlay,onPause:s?void 0:I.handlePause,onEnded:s?void 0:I.handleEnded},`stable-player-${E.id}-${b}`)})]})]})}function C(e,t){return!e||!t?``:`${e}x${t}`}function w(e,t,n){let r=e/t;return r<=n?{width:e,height:r}:{width:n*t,height:n}}function T(e){let t=e.links||[];return t.length>0?t.map((e,t)=>({text:e.name||String(t+1),url:e.m3u8_url||e.preview_m3u8_url||``,definition:``,isDefault:t===0})).filter(e=>e.url):[]}export{b as DetailHero};
2
+ "use client";import{cn as e}from"../../../../utils/cn.mjs";import{pxToVw as t}from"../../../../utils/helper.mjs";import{Image as n}from"../../../ui/image.mjs";import{Box as r}from"../../../ui/box.mjs";import{Text as i}from"../../../ui/text.mjs";import{useBrowseReport as a}from"../../../../hooks/use-browse-report.mjs";import{MediaPreview as o,useMediaPreview as s}from"../../../common/media-preview/index.mjs";import c from"../../../common/video-player/index.mjs";import{UserActivityMediaGrid as l}from"../../../common/list/user-activity-list/user-activity-list-item.mjs";import{memo as u,useCallback as d,useEffect as f,useMemo as p,useRef as m}from"react";import{Fragment as h,jsx as g,jsxs as _}from"react/jsx-runtime";import{useTranslations as v}from"next-intl";const y=u(({mode:t=`renderer`,information:n,isVideo:a,episodeIndex:c=0,resumeProgressSeconds:u=0,className:f=``})=>{let m=t===`editor`,h=p(()=>({id:n.id,name:n.name,preview_images:n.preview_images,img_y:n.img_y,img_x:n.img_x}),[n.id,n.name,n.preview_images,n.img_y,n.img_x]),v=p(()=>{let e=n?.medias,t=Array.isArray(e)?e.filter(Boolean):[];return t.length>0?t:(h.preview_images?.length?h.preview_images:[h.img_y||h.img_x||``].filter(Boolean)).filter(Boolean).map(e=>({media_url:e,is_video:!1,cover_image:``}))},[h.img_x,h.img_y,h.preview_images,n]),y=s(),x=p(()=>v.filter(Boolean).map(e=>{let t=e?.is_video?`video`:`image`,r=String(e?.media_url||``),i=e?.cover_image||n.img_y||n.img_x;return{src:r,type:t,...i?{cover:String(i)}:{}}}).filter(e=>!!e.src),[n.img_x,n.img_y,v]),S=d(e=>{m||!x.length||y.open(x,e)},[m,y,x]);return m?g(`img`,{src:`/static/components-thumb/video_player.png`,alt:`video-preview`,className:`w-full block`}):a?g(b,{information:n,episodeIndex:c,resumeProgressSeconds:u,isEditor:m}):_(`div`,{className:e(`w-full`,f),children:[_(r,{className:`mt-3 px-[12px] space-y-1`,children:[g(i,{as:`p`,className:`break-all`,dangerouslySetInnerHTML:{__html:n.description}}),g(l,{medias:v,onItemClick:S})]}),g(o,{})]})});y.displayName=`DetailHero`;const b=u(({information:e,episodeIndex:t,resumeProgressSeconds:n,isEditor:r})=>{let i=p(()=>({id:e.id,mid:e.mid,img_width:e.img_width,img_height:e.img_height,img_y:e.img_y,img_x:e.img_x,preview_images:e.preview_images}),[e.id,e.mid,e.img_width,e.img_height,e.img_y,e.img_x,e.preview_images]);return g(x,{information:{...e,...i},episodeIndex:t,resumeProgressSeconds:n,isEditor:r})},(e,t)=>{let n=e.information,r=t.information;return n.id===r.id&&n.mid===r.mid&&n.img_width===r.img_width&&n.img_height===r.img_height&&n.img_y===r.img_y&&n.img_x===r.img_x&&e.resumeProgressSeconds===t.resumeProgressSeconds&&e.episodeIndex===t.episodeIndex&&e.isEditor===t.isEditor});b.displayName=`StableDetailPlayerBox`;function x({information:e,episodeIndex:i,resumeProgressSeconds:o,isEditor:s}){let l=v(`components.biz.business.detail`),u=m(0),y=m(0),b=Math.max(0,Number(i)||0),x=b+1,T=p(()=>e?.id,[e?.id]),E=p(()=>({id:e.id,mid:e.mid,img_width:e.img_width,img_height:e.img_height,img_y:e.img_y,img_x:e.img_x,preview_images:e.preview_images,links:e.links}),[e.id,e.mid,e.img_width,e.img_height,e.img_y,e.img_x,e.preview_images,e.links]),D=p(()=>E.mid||E.id,[E.id,E.mid]),O=p(()=>{let e=E.links?.[b]?.id;return e?String(e):`ep-${b+1}`},[b,E.links]),k=p(()=>`__reportData_detail_page__${E.id}:${O}`,[O,E.id]),A=p(()=>{if(s||typeof window>`u`)return 0;try{let e=sessionStorage.getItem(k);if(!e)return 0;let t=JSON.parse(e),n=Number(t.currentTime||0),r=Number(t.duration||0);if(!Number.isFinite(n)||!Number.isFinite(r))return 0;if(n>0&&r>0)return n}catch(e){console.error(`读取 sessionStorage 数据失败:`,e)}return 0},[s,k]),j=p(()=>{let e=Number(o||0);return Number.isFinite(e)&&e>0?e:0},[o]),M=p(()=>j>0?j:A,[j,A]),N=p(()=>{let t=w(e),n=t[t.length?Math.max(0,Math.min(b,t.length-1)):0]?.url||``,r=!!t.length;if(!r)return{hasVideo:!1,hlsList:[],videoUrl:``,width:1,height:1,resolution:`0x0`,aspectRatio:1,poster:``};let i=Number(E.img_width||0)||1,a=Number(E.img_height||0)||1;return{hasVideo:r,hlsList:t,videoUrl:n,width:i,height:a,resolution:S(i,a),aspectRatio:(i||1)/(a||1),poster:E.img_y||E.img_x||E.preview_images?.[0]||``}},[e.id,e.links,b,E.img_width,E.img_height,E.img_y,E.img_x,E.preview_images]),P=d((e,t)=>{u.current=e,y.current=t},[]),F=p(()=>N.videoUrl.endsWith(`m3u8`)?{startTimeSeconds:M,preload:`none`}:{startTimeSeconds:M},[M,N.videoUrl]);f(()=>{u.current=0,y.current=0},[T,b]);let I=a({contentId:T,browseEpisode:x,contentType:1,enabled:!s&&!!T,intervalMs:60*1e3,getCurrentTimeSeconds:()=>u.current,getDurationSeconds:()=>y.current});if(f(()=>{if(s)return;let e=()=>{if(!(typeof window>`u`)&&!(u.current<=0||y.current<=0))try{sessionStorage.setItem(k,JSON.stringify({episodeId:O,currentTime:u.current,duration:y.current}))}catch(e){console.error(`写入 sessionStorage 失败:`,e)}},t=()=>{e()},n=()=>{document.visibilityState===`hidden`&&e()},r=()=>{e()};return window.addEventListener(`beforeunload`,t),document.addEventListener(`visibilitychange`,n),window.addEventListener(`popstate`,r),()=>{window.removeEventListener(`beforeunload`,t),document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`popstate`,r),e()}},[O,s,k]),!N.hasVideo)return g(`div`,{className:`mt-3 rounded-xl bg-bg1 px-3 py-10 text-center text-text3`,children:l(`videoHero.noVideos`)});let L=C(430,N.aspectRatio,242),R=L.height>0?t(L.height):`auto`,z=t(242);return _(h,{children:[g(r,{suppressHydrationWarning:!0,className:`w-full`,style:{height:R,maxWidth:`100%`,maxHeight:z}}),_(r,{className:`w-full relative bg-bg2 !fixed !top-[44px] !left-0 z-[10]`,children:[N.poster&&_(`div`,{className:`w-full h-full bg-bg2 absolute top-0 left-0 z-[1] overflow-hidden`,style:{height:R},children:[g(n,{src:N.poster,alt:l(`videoHero.coverAlt`),fill:!0,className:`object-cover`,priority:!0}),g(`div`,{className:`w-full h-full absolute top-0 left-0 z-[1] bg-[rgba(255,255,255,0.2)] backdrop-blur-[4px]`})]}),g(r,{suppressHydrationWarning:!0,"data-aspect-ratio":N.resolution,className:`w-full overflow-hidden flex justify-center relative z-[2]`,style:{height:R,maxWidth:`100%`,maxHeight:z,backdropFilter:`blur(0)`,WebkitBackdropFilter:`blur(0)`},children:g(c,{plyerId:`detail-player-${E.id}-${b}`,parentId:D,resolution:N.resolution||`0x0`,videoUrl:N.videoUrl,poster:N.poster,mergeConfig:F,onProgressUpdate:s?void 0:P,onPlay:s?void 0:I.handlePlay,onPause:s?void 0:I.handlePause,onEnded:s?void 0:I.handleEnded},`stable-player-${E.id}-${b}`)})]})]})}function S(e,t){return!e||!t?``:`${e}x${t}`}function C(e,t,n){let r=e/t;return r<=n?{width:e,height:r}:{width:n*t,height:n}}function w(e){let t=e.links||[];return t.length>0?t.map((e,t)=>({text:e.name||String(t+1),url:e.m3u8_url||e.preview_m3u8_url||``,definition:``,isDefault:t===0})).filter(e=>e.url):[]}export{y as DetailHero};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Image as e}from"../../../ui/image.mjs";import{Box as t}from"../../../ui/box.mjs";import{jsx as n}from"react/jsx-runtime";import r from"next/link";function i(i){let{icon:a,href:o}=i;return n(r,{href:o,className:`fixed bottom-[100px] right-[20px] z-50 block h-[50px] w-[50px] overflow-hidden rounded-[16px]`,children:n(t,{className:`flex h-full w-full shadow-lg relative`,"aria-label":`悬浮球`,children:n(e,{src:a,alt:`悬浮球`,fill:!0,className:`object-cover`})})})}export{i as FloatingBallClient};
2
+ "use client";import{Image as e}from"../../../ui/image.mjs";import{Box as t}from"../../../ui/box.mjs";import{jsx as n}from"react/jsx-runtime";import r from"next/link";function i(i){let{icon:a,href:o,mode:s=`renderer`}=i;return n(r,{href:o,className:s===`editor`?`fixed bottom-[100px] right-[20px] z-50 block h-[50px] w-[50px] overflow-hidden rounded-[16px] pointer-events-none`:`fixed bottom-[100px] right-[20px] z-50 block h-[50px] w-[50px] overflow-hidden rounded-[16px]`,children:n(t,{className:`flex h-full w-full shadow-lg relative`,"aria-label":`悬浮球`,children:n(e,{src:a,alt:`悬浮球`,fill:!0,className:`object-cover`})})})}export{i as FloatingBallClient};
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const floatingBallMaterial: DefineMaterialOption<typeof FloatingBall, typeof FloatingBallClient, zod.ZodObject<{
12
12
  icon: zod.ZodString & SchemaHasDefaultValue;
13
13
  href: zod.ZodString & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>, "floating-ball">;
15
19
  //#endregion
16
20
  export { floatingBallMaterial };
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const floatingBallInspectorPropsSchema: zod.ZodObject<{
12
12
  icon: zod.ZodString & SchemaHasDefaultValue;
13
13
  href: zod.ZodString & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>;
15
19
  declare const floatingBallInspectorDefaultProps: {
16
20
  icon: string;
@@ -1,2 +1,2 @@
1
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};
2
+ import{FloatingBallClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as FloatingBall};
@@ -7,6 +7,8 @@ type HeaderAvatarIconClientProps = HeaderAvatarIconInspectorProps;
7
7
  /**
8
8
  * 顶部-头像框+icon
9
9
  */
10
- declare function HeaderAvatarIconClient(_props: HeaderAvatarIconClientProps): react_jsx_runtime0.JSX.Element;
10
+ declare function HeaderAvatarIconClient({
11
+ mode
12
+ }: HeaderAvatarIconClientProps): react_jsx_runtime0.JSX.Element;
11
13
  //#endregion
12
14
  export { HeaderAvatarIconClient, HeaderAvatarIconClientProps };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../../ui/box.mjs";import t from"../../../../../assets/icons/search.mjs";import{UserAvatar as n}from"../shared/avatar.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";import a from"next/link";function o(o){return i(e,{as:`header`,className:`px-[12px] py-[8px] flex gap-[16px] items-center justify-between`,children:[r(n,{}),r(a,{href:`/search`,"aria-label":`打开搜索页`,children:r(t,{className:`w-[22px] h-[22px] text-text1`,"aria-hidden":!0})})]})}export{o as HeaderAvatarIconClient};
2
+ "use client";import{Box as e}from"../../../../ui/box.mjs";import t from"../../../../../assets/icons/search.mjs";import{UserAvatar as n}from"../shared/avatar.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";import a from"next/link";function o({mode:o=`renderer`}){return i(e,{as:`header`,className:o===`editor`?`px-[12px] py-[8px] flex gap-[16px] items-center justify-between pointer-events-none`:`px-[12px] py-[8px] flex gap-[16px] items-center justify-between`,children:[r(n,{}),r(a,{href:`/search`,"aria-label":`打开搜索页`,children:r(t,{className:`w-[22px] h-[22px] text-text1`,"aria-hidden":!0})})]})}export{o as HeaderAvatarIconClient};
@@ -6,6 +6,11 @@ import * as zod from "zod";
6
6
  import * as zod_v4_core0 from "zod/v4/core";
7
7
 
8
8
  //#region components/biz/business/header-search/header-avatar-icon/material.d.ts
9
- declare const headerAvatarIconMaterial: DefineMaterialOption<typeof HeaderAvatarIcon, typeof HeaderAvatarIconClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "header-avatar-icon">;
9
+ declare const headerAvatarIconMaterial: DefineMaterialOption<typeof HeaderAvatarIcon, typeof HeaderAvatarIconClient, zod.ZodObject<{
10
+ mode: zod.ZodOptional<zod.ZodEnum<{
11
+ renderer: "renderer";
12
+ editor: "editor";
13
+ }>>;
14
+ }, zod_v4_core0.$strip>, "header-avatar-icon">;
10
15
  //#endregion
11
16
  export { headerAvatarIconMaterial };
@@ -8,7 +8,12 @@ import * as zod_v4_core0 from "zod/v4/core";
8
8
  /**
9
9
  * 顶部-头像框+icon 物料暂不对外开放配置,仅做占位展示。
10
10
  */
11
- declare const headerAvatarIconInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
11
+ declare const headerAvatarIconInspectorPropsSchema: zod.ZodObject<{
12
+ mode: zod.ZodOptional<zod.ZodEnum<{
13
+ renderer: "renderer";
14
+ editor: "editor";
15
+ }>>;
16
+ }, zod_v4_core0.$strip>;
12
17
  type HeaderAvatarIconInspectorProps = InferSchemaProps<typeof headerAvatarIconInspectorPropsSchema>;
13
18
  //#endregion
14
19
  export { HeaderAvatarIconInspectorProps, headerAvatarIconInspectorPropsSchema };
@@ -1,2 +1,2 @@
1
1
 
2
- import{HeaderAvatarIconClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as HeaderAvatarIcon};
2
+ import{HeaderAvatarIconClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as HeaderAvatarIcon};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../../ui/box.mjs";import{UserAvatar as t}from"../shared/avatar.mjs";import{Logo as n}from"../shared/logo.mjs";import{Search as r}from"../shared/search.mjs";import{headerAvatarLogoSearchInspectorDefaultProps as i}from"./schema.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";function s(s){let{logoSrc:c,logoHref:l}={...i,...s};return o(e,{as:`header`,className:`px-[12px] py-[8px] flex gap-[8px] items-center`,children:[a(t,{}),a(r,{}),a(n,{logoSrc:c,logoHref:l})]})}export{s as HeaderAvatarLogoSearchClient};
2
+ "use client";import{Box as e}from"../../../../ui/box.mjs";import{UserAvatar as t}from"../shared/avatar.mjs";import{Logo as n}from"../shared/logo.mjs";import{Search as r}from"../shared/search.mjs";import{headerAvatarLogoSearchInspectorDefaultProps as i}from"./schema.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";function s(s){let{mode:c=`renderer`,...l}=s,u=c===`editor`,{logoSrc:d,logoHref:f}={...i,...l};return o(e,{as:`header`,className:u?`px-[12px] py-[8px] flex gap-[8px] items-center pointer-events-none`:`px-[12px] py-[8px] flex gap-[8px] items-center`,children:[a(t,{}),a(r,{}),a(n,{logoSrc:d,logoHref:f})]})}export{s as HeaderAvatarLogoSearchClient};
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const headerAvatarLogoSearchMaterial: DefineMaterialOption<typeof HeaderAvatarLogoSearch, typeof HeaderAvatarLogoSearchClient, zod.ZodObject<{
12
12
  logoSrc: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
13
13
  logoHref: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>, "header-avatar-logo-search">;
15
19
  //#endregion
16
20
  export { headerAvatarLogoSearchMaterial };
@@ -13,6 +13,10 @@ import * as zod_v4_core0 from "zod/v4/core";
13
13
  declare const headerAvatarLogoSearchInspectorPropsSchema: zod.ZodObject<{
14
14
  logoSrc: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
15
15
  logoHref: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
16
+ mode: zod.ZodOptional<zod.ZodEnum<{
17
+ renderer: "renderer";
18
+ editor: "editor";
19
+ }>>;
16
20
  }, zod_v4_core0.$strip>;
17
21
  type HeaderAvatarLogoSearchInspectorProps = InferSchemaProps<typeof headerAvatarLogoSearchInspectorPropsSchema>;
18
22
  //#endregion
@@ -1,2 +1,2 @@
1
1
 
2
- import{HeaderAvatarLogoSearchClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as HeaderAvatarLogoSearch};
2
+ import{HeaderAvatarLogoSearchClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as HeaderAvatarLogoSearch};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../../ui/box.mjs";import t from"../../../../../assets/icons/search.mjs";import{UserAvatar as n}from"../shared/avatar.mjs";import{Logo as r}from"../shared/logo.mjs";import{headerAvatarLogoSearchIconInspectorDefaultProps as i}from"./schema.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";import s from"next/link";function c(c){let{logoSrc:l,logoHref:u}={...i,...c};return o(e,{as:`header`,className:`px-[12px] py-[8px] flex gap-[16px] items-center`,children:[a(n,{}),a(e,{className:`flex-1`}),a(s,{href:`/search`,"aria-label":`打开搜索页`,children:a(t,{className:`w-[22px] h-[22px] text-text1`,"aria-hidden":!0})}),a(r,{logoSrc:l,logoHref:u})]})}export{c as HeaderAvatarLogoSearchIconClient};
2
+ "use client";import{Box as e}from"../../../../ui/box.mjs";import t from"../../../../../assets/icons/search.mjs";import{UserAvatar as n}from"../shared/avatar.mjs";import{Logo as r}from"../shared/logo.mjs";import{headerAvatarLogoSearchIconInspectorDefaultProps as i}from"./schema.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";import s from"next/link";function c(c){let{mode:l=`renderer`,...u}=c,d=l===`editor`,{logoSrc:f,logoHref:p}={...i,...u};return o(e,{as:`header`,className:d?`px-[12px] py-[8px] flex gap-[16px] items-center pointer-events-none`:`px-[12px] py-[8px] flex gap-[16px] items-center`,children:[a(n,{}),a(e,{className:`flex-1`}),a(s,{href:`/search`,"aria-label":`打开搜索页`,children:a(t,{className:`w-[22px] h-[22px] text-text1`,"aria-hidden":!0})}),a(r,{logoSrc:f,logoHref:p})]})}export{c as HeaderAvatarLogoSearchIconClient};
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const headerAvatarLogoSearchIconMaterial: DefineMaterialOption<typeof HeaderAvatarLogoSearchIcon, typeof HeaderAvatarLogoSearchIconClient, zod.ZodObject<{
12
12
  logoSrc: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
13
13
  logoHref: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>, "header-avatar-logo-search-icon">;
15
19
  //#endregion
16
20
  export { headerAvatarLogoSearchIconMaterial };
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const headerAvatarLogoSearchIconInspectorPropsSchema: zod.ZodObject<{
12
12
  logoSrc: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
13
13
  logoHref: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>;
15
19
  type HeaderAvatarLogoSearchIconInspectorProps = InferSchemaProps<typeof headerAvatarLogoSearchIconInspectorPropsSchema>;
16
20
  //#endregion
@@ -1,2 +1,2 @@
1
1
 
2
- import{HeaderAvatarLogoSearchIconClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as HeaderAvatarLogoSearchIcon};
2
+ import{HeaderAvatarLogoSearchIconClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as HeaderAvatarLogoSearchIcon};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../../ui/box.mjs";import{Logo as t}from"../shared/logo.mjs";import{Search as n}from"../shared/search.mjs";import{headerLogoSearchInspectorDefaultProps as r}from"./schema.mjs";import{jsx as i,jsxs as a}from"react/jsx-runtime";function o(o){let{logoSrc:s,logoHref:c}={...r,...o};return a(e,{as:`header`,className:`px-[12px] py-[8px] flex gap-[8px]`,children:[i(t,{logoSrc:s,logoHref:c}),i(n,{})]})}export{o as HeaderLogoSearchClient};
2
+ "use client";import{Box as e}from"../../../../ui/box.mjs";import{Logo as t}from"../shared/logo.mjs";import{Search as n}from"../shared/search.mjs";import{headerLogoSearchInspectorDefaultProps as r}from"./schema.mjs";import{jsx as i,jsxs as a}from"react/jsx-runtime";function o(o){let{mode:s=`renderer`,...c}=o,l=s===`editor`,{logoSrc:u,logoHref:d}={...r,...c};return a(e,{as:`header`,className:l?`px-[12px] py-[8px] flex gap-[8px] pointer-events-none`:`px-[12px] py-[8px] flex gap-[8px]`,children:[i(t,{logoSrc:u,logoHref:d}),i(n,{})]})}export{o as HeaderLogoSearchClient};
@@ -11,6 +11,10 @@ import * as zod_v4_core0 from "zod/v4/core";
11
11
  declare const headerLogoSearchMaterial: DefineMaterialOption<typeof HeaderLogoSearch, typeof HeaderLogoSearchClient, zod.ZodObject<{
12
12
  logoSrc: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
13
13
  logoHref: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
14
+ mode: zod.ZodOptional<zod.ZodEnum<{
15
+ renderer: "renderer";
16
+ editor: "editor";
17
+ }>>;
14
18
  }, zod_v4_core0.$strip>, "header-logo-search">;
15
19
  //#endregion
16
20
  export { headerLogoSearchMaterial };
@@ -13,6 +13,10 @@ import * as zod_v4_core0 from "zod/v4/core";
13
13
  declare const headerLogoSearchInspectorPropsSchema: zod.ZodObject<{
14
14
  logoSrc: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
15
15
  logoHref: zod.ZodOptional<zod.ZodString> & SchemaHasDefaultValue;
16
+ mode: zod.ZodOptional<zod.ZodEnum<{
17
+ renderer: "renderer";
18
+ editor: "editor";
19
+ }>>;
16
20
  }, zod_v4_core0.$strip>;
17
21
  type HeaderLogoSearchInspectorProps = InferSchemaProps<typeof headerLogoSearchInspectorPropsSchema>;
18
22
  //#endregion
@@ -1,2 +1,2 @@
1
1
 
2
- import{HeaderLogoSearchClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as HeaderLogoSearch};
2
+ import{HeaderLogoSearchClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as HeaderLogoSearch};
@@ -7,6 +7,8 @@ type HeaderSearchClientProps = HeaderSearchInspectorProps;
7
7
  /**
8
8
  * 顶部-搜索框
9
9
  */
10
- declare function HeaderSearchClient(_props: HeaderSearchClientProps): react_jsx_runtime0.JSX.Element;
10
+ declare function HeaderSearchClient({
11
+ mode
12
+ }: HeaderSearchClientProps): react_jsx_runtime0.JSX.Element;
11
13
  //#endregion
12
14
  export { HeaderSearchClient, HeaderSearchClientProps };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../../ui/box.mjs";import{Search as t}from"../shared/search.mjs";import{jsx as n}from"react/jsx-runtime";function r(r){return n(e,{as:`header`,className:`px-[12px] py-[8px]`,children:n(t,{})})}export{r as HeaderSearchClient};
2
+ "use client";import{Box as e}from"../../../../ui/box.mjs";import{Search as t}from"../shared/search.mjs";import{jsx as n}from"react/jsx-runtime";function r({mode:r=`renderer`}){return n(e,{as:`header`,className:r===`editor`?`px-[12px] py-[8px] pointer-events-none`:`px-[12px] py-[8px]`,children:n(t,{})})}export{r as HeaderSearchClient};
@@ -6,6 +6,11 @@ import * as zod from "zod";
6
6
  import * as zod_v4_core0 from "zod/v4/core";
7
7
 
8
8
  //#region components/biz/business/header-search/header-search/material.d.ts
9
- declare const headerSearchMaterial: DefineMaterialOption<typeof HeaderSearch, typeof HeaderSearchClient, zod.ZodObject<{}, zod_v4_core0.$strip>, "header-search">;
9
+ declare const headerSearchMaterial: DefineMaterialOption<typeof HeaderSearch, typeof HeaderSearchClient, zod.ZodObject<{
10
+ mode: zod.ZodOptional<zod.ZodEnum<{
11
+ renderer: "renderer";
12
+ editor: "editor";
13
+ }>>;
14
+ }, zod_v4_core0.$strip>, "header-search">;
10
15
  //#endregion
11
16
  export { headerSearchMaterial };
@@ -8,7 +8,12 @@ import * as zod_v4_core0 from "zod/v4/core";
8
8
  /**
9
9
  * 顶部-搜索框 物料暂不对外开放配置,仅做占位展示。
10
10
  */
11
- declare const headerSearchInspectorPropsSchema: zod.ZodObject<{}, zod_v4_core0.$strip>;
11
+ declare const headerSearchInspectorPropsSchema: zod.ZodObject<{
12
+ mode: zod.ZodOptional<zod.ZodEnum<{
13
+ renderer: "renderer";
14
+ editor: "editor";
15
+ }>>;
16
+ }, zod_v4_core0.$strip>;
12
17
  type HeaderSearchInspectorProps = InferSchemaProps<typeof headerSearchInspectorPropsSchema>;
13
18
  //#endregion
14
19
  export { HeaderSearchInspectorProps, headerSearchInspectorPropsSchema };
@@ -1,2 +1,2 @@
1
1
 
2
- import{HeaderSearchClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){return t(e,{...n})}export{n as HeaderSearch};
2
+ import{HeaderSearchClient as e}from"./client.mjs";import{jsx as t}from"react/jsx-runtime";function n(n){let{mode:r=`renderer`,...i}=n;return t(e,{...i,mode:r})}export{n as HeaderSearch};