@funhub/platform 0.1.160-beta.0 → 0.1.161

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 (87) hide show
  1. package/dist/biz.d.mts +1 -22
  2. package/dist/biz.mjs +1 -1
  3. package/dist/components/biz/business/banner-carousel/client.d.mts +19 -0
  4. package/dist/components/biz/business/banner-carousel/client.mjs +1 -1
  5. package/dist/components/biz/business/banner-carousel/default-props.mjs +1 -1
  6. package/dist/components/biz/business/banner-carousel/material.d.mts +4 -1
  7. package/dist/components/biz/business/banner-carousel/material.mjs +1 -1
  8. package/dist/components/biz/business/banner-carousel/schema.d.mts +2 -0
  9. package/dist/components/biz/business/banner-carousel/schema.mjs +1 -1
  10. package/dist/components/biz/business/banner-carousel/server.d.mts +4 -2
  11. package/dist/components/biz/business/banner-carousel/server.mjs +1 -1
  12. package/dist/components/biz/business/channel-list/client.mjs +1 -1
  13. package/dist/components/biz/business/detail/shared/detail-follow-action.mjs +1 -1
  14. package/dist/components/biz/business/detail/shared/runtime-context-provider.mjs +1 -1
  15. package/dist/components/biz/business/detail/shared/use-video-detail-webview-bridge.mjs +1 -1
  16. package/dist/components/biz/business/detail/video-detail-actions/client.mjs +1 -1
  17. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -1
  18. package/dist/components/biz/business/index.d.mts +0 -22
  19. package/dist/components/biz/business/large-feature-grid/card-item.mjs +1 -1
  20. package/dist/components/biz/business/large-feature-grid/client.mjs +1 -1
  21. package/dist/components/common/series-episodes/index.mjs +1 -1
  22. package/dist/components/common/video-player/index.mjs +4 -4
  23. package/dist/components/common/video-player/process-m3u8-cache.mjs +1 -1
  24. package/dist/components/pages/home/client.mjs +1 -1
  25. package/dist/components/pages/login/verify.mjs +1 -1
  26. package/dist/components/pages/video-detail/video-detail-client.mjs +1 -1
  27. package/dist/components/pages/video-list/index.mjs +1 -1
  28. package/dist/components/pages/video-list/video-list-client.mjs +1 -1
  29. package/dist/components/ui/badge.d.mts +1 -1
  30. package/dist/components/ui/button.d.mts +2 -2
  31. package/dist/hooks.d.mts +1 -1
  32. package/dist/materials.d.mts +1 -6
  33. package/dist/materials.mjs +1 -1
  34. package/dist/service.d.mts +1 -2
  35. package/dist/service.mjs +1 -1
  36. package/dist/utils/schema/inspector.d.mts +2 -2
  37. package/dist/utils/schema/material.d.mts +0 -1
  38. package/package.json +1 -1
  39. package/dist/components/biz/business/advertisement/ad-match.d.mts +0 -98
  40. package/dist/components/biz/business/advertisement/ad-match.mjs +0 -2
  41. package/dist/components/biz/business/advertisement/ad-provider.d.mts +0 -33
  42. package/dist/components/biz/business/advertisement/ad-provider.mjs +0 -2
  43. package/dist/components/biz/business/advertisement/ad-query.d.mts +0 -27
  44. package/dist/components/biz/business/advertisement/ad-query.mjs +0 -2
  45. package/dist/components/biz/business/advertisement/ad-runtime-provider.d.mts +0 -25
  46. package/dist/components/biz/business/advertisement/ad-runtime-provider.mjs +0 -2
  47. package/dist/components/biz/business/advertisement/banner-ad/client.d.mts +0 -18
  48. package/dist/components/biz/business/advertisement/banner-ad/client.mjs +0 -2
  49. package/dist/components/biz/business/advertisement/banner-ad/index.d.mts +0 -5
  50. package/dist/components/biz/business/advertisement/banner-ad/material.d.mts +0 -30
  51. package/dist/components/biz/business/advertisement/banner-ad/material.mjs +0 -2
  52. package/dist/components/biz/business/advertisement/banner-ad/schema.d.mts +0 -75
  53. package/dist/components/biz/business/advertisement/banner-ad/schema.mjs +0 -2
  54. package/dist/components/biz/business/advertisement/banner-ad/server.d.mts +0 -11
  55. package/dist/components/biz/business/advertisement/banner-ad/server.mjs +0 -2
  56. package/dist/components/biz/business/advertisement/feed-ad/index.d.mts +0 -39
  57. package/dist/components/biz/business/advertisement/feed-ad/index.mjs +0 -2
  58. package/dist/components/biz/business/advertisement/floating-ad/client.d.mts +0 -21
  59. package/dist/components/biz/business/advertisement/floating-ad/client.mjs +0 -2
  60. package/dist/components/biz/business/advertisement/floating-ad/index.d.mts +0 -5
  61. package/dist/components/biz/business/advertisement/floating-ad/material.d.mts +0 -25
  62. package/dist/components/biz/business/advertisement/floating-ad/material.mjs +0 -2
  63. package/dist/components/biz/business/advertisement/floating-ad/schema.d.mts +0 -75
  64. package/dist/components/biz/business/advertisement/floating-ad/schema.mjs +0 -2
  65. package/dist/components/biz/business/advertisement/floating-ad/server.d.mts +0 -11
  66. package/dist/components/biz/business/advertisement/floating-ad/server.mjs +0 -2
  67. package/dist/components/biz/business/advertisement/icon-ad/client.d.mts +0 -16
  68. package/dist/components/biz/business/advertisement/icon-ad/client.mjs +0 -2
  69. package/dist/components/biz/business/advertisement/icon-ad/index.d.mts +0 -5
  70. package/dist/components/biz/business/advertisement/icon-ad/material.d.mts +0 -29
  71. package/dist/components/biz/business/advertisement/icon-ad/material.mjs +0 -2
  72. package/dist/components/biz/business/advertisement/icon-ad/schema.d.mts +0 -69
  73. package/dist/components/biz/business/advertisement/icon-ad/schema.mjs +0 -2
  74. package/dist/components/biz/business/advertisement/icon-ad/server.d.mts +0 -11
  75. package/dist/components/biz/business/advertisement/icon-ad/server.mjs +0 -2
  76. package/dist/components/biz/business/advertisement/index.d.mts +0 -26
  77. package/dist/components/biz/business/advertisement/text-ad/client.d.mts +0 -15
  78. package/dist/components/biz/business/advertisement/text-ad/client.mjs +0 -2
  79. package/dist/components/biz/business/advertisement/text-ad/index.d.mts +0 -5
  80. package/dist/components/biz/business/advertisement/text-ad/material.d.mts +0 -27
  81. package/dist/components/biz/business/advertisement/text-ad/material.mjs +0 -2
  82. package/dist/components/biz/business/advertisement/text-ad/schema.d.mts +0 -53
  83. package/dist/components/biz/business/advertisement/text-ad/schema.mjs +0 -2
  84. package/dist/components/biz/business/advertisement/text-ad/server.d.mts +0 -11
  85. package/dist/components/biz/business/advertisement/text-ad/server.mjs +0 -2
  86. package/dist/service/advertisement.d.mts +0 -172
  87. package/dist/service/advertisement.mjs +0 -2
package/dist/biz.d.mts CHANGED
@@ -39,27 +39,6 @@ import { defaultProps as defaultProps$23 } from "./components/biz/basics/search/
39
39
  import { TagSearchClient } from "./components/biz/basics/search/variants/tag-search/runtime/client.mjs";
40
40
  import { schema as schema$25 } from "./components/biz/basics/search/variants/tag-search/schema/index.mjs";
41
41
  import "./components/biz/basics/index.mjs";
42
- import { BannerAdInspectorProps, BannerAdItem, BannerAdProps, BannerAdStyleSize, bannerAdInspectorDefaultProps, bannerAdInspectorPropsSchema, bannerAdStyleSizeOptions } from "./components/biz/business/advertisement/banner-ad/schema.mjs";
43
- import { FloatingAdEditableProps, FloatingAdInspectorProps, FloatingAdItem, FloatingAdProps, floatingAdInspectorDefaultProps, floatingAdInspectorPropsSchema } from "./components/biz/business/advertisement/floating-ad/schema.mjs";
44
- import { IconAdInspectorProps, IconAdItem, IconAdProps, iconAdInspectorDefaultProps, iconAdInspectorPropsSchema } from "./components/biz/business/advertisement/icon-ad/schema.mjs";
45
- import { TextAdInspectorProps, TextAdItem, TextAdProps, textAdInspectorDefaultProps, textAdInspectorPropsSchema } from "./components/biz/business/advertisement/text-ad/schema.mjs";
46
- import { AdsMatchExtData, adaptBannerAdProps, adaptFloatingAdItem, adaptIconAdProps, adaptPopupAdMaterials, adaptTextAdProps, buildAdsMatchRequest, getFirstMatchedMaterial, hasMatchedAds, parseAdsMatchExtData, resolveAdsAppCode, sortAdsMatchMaterials } from "./components/biz/business/advertisement/ad-match.mjs";
47
- import { AdProvider, AdProviderProps, AdProviderValue, useAdProvider } from "./components/biz/business/advertisement/ad-provider.mjs";
48
- import { AdsMatchQueryOptions, createAdsMatchPrefetchItem, createAdsMatchQueryFn, getAdsMatchQueryKey } from "./components/biz/business/advertisement/ad-query.mjs";
49
- import { AdRuntimeProvider, AdRuntimeProviderProps } from "./components/biz/business/advertisement/ad-runtime-provider.mjs";
50
- import { BannerAd } from "./components/biz/business/advertisement/banner-ad/client.mjs";
51
- import { BannerAdServer } from "./components/biz/business/advertisement/banner-ad/server.mjs";
52
- import { bannerAdMaterial } from "./components/biz/business/advertisement/banner-ad/material.mjs";
53
- import { FeedAdBadge, FeedAdItemLike, getFeedAdIcon, getFeedAdJumpUrl, isFeedAdItem } from "./components/biz/business/advertisement/feed-ad/index.mjs";
54
- import { FloatingAd } from "./components/biz/business/advertisement/floating-ad/client.mjs";
55
- import { FloatingAdServer } from "./components/biz/business/advertisement/floating-ad/server.mjs";
56
- import { floatingAdMaterial } from "./components/biz/business/advertisement/floating-ad/material.mjs";
57
- import { IconAd } from "./components/biz/business/advertisement/icon-ad/client.mjs";
58
- import { IconAdServer } from "./components/biz/business/advertisement/icon-ad/server.mjs";
59
- import { iconAdMaterial } from "./components/biz/business/advertisement/icon-ad/material.mjs";
60
- import { TextAd } from "./components/biz/business/advertisement/text-ad/client.mjs";
61
- import { TextAdServer } from "./components/biz/business/advertisement/text-ad/server.mjs";
62
- import { textAdMaterial } from "./components/biz/business/advertisement/text-ad/material.mjs";
63
42
  import { defaultProps } from "./components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs";
64
43
  import { BasicBannerClient } from "./components/biz/business/banner/variants/basic-banner/runtime/client.mjs";
65
44
  import { schema } from "./components/biz/business/banner/variants/basic-banner/schema/index.mjs";
@@ -174,4 +153,4 @@ import { exampleButtonMaterial } from "./components/biz/example/button/material.
174
153
  import "./components/biz/example/button/index.mjs";
175
154
  import { NodeDocument, PageDocument, PageMeta, Renderer, RendererDocument, RendererMaterial, RendererMode, RendererProps } from "./components/biz/renderer/renderer.mjs";
176
155
  import "./components/biz/renderer/index.mjs";
177
- export { AdProvider, AdProviderProps, AdProviderValue, AdRuntimeProvider, AdRuntimeProviderProps, AdsMatchExtData, AdsMatchQueryOptions, BannerAd, BannerAdInspectorProps, BannerAdItem, BannerAdProps, BannerAdServer, BannerAdStyleSize, BaseComponentProps, BasicBannerClient as BasicBanner, defaultProps as BasicBannerDefaultData, BasicBanner as BasicBannerMaterialComponent, schema as BasicBannerSchema, BasicFeatureGridClient as BasicFeatureGrid, defaultProps$1 as BasicFeatureGridDefaultData, schema$1 as BasicFeatureGridSchema, BasicFullscreen, FullscreenFeedClient as BasicFullscreenFeed, defaultProps$2 as BasicFullscreenFeedDefaultData, schema$2 as BasicFullscreenFeedSchema, BasicLogoClient as BasicLogo, defaultProps$3 as BasicLogoDefaultData, schema$3 as BasicLogoSchema, BasicNavBarClient as BasicNavBar, defaultProps$4 as BasicNavBarDefaultData, schema$4 as BasicNavBarSchema, BasicPostCardClient as BasicPostCard, defaultProps$5 as BasicPostCardDefaultData, schema$5 as BasicPostCardSchema, BasicRecommendedUsersClient as BasicRecommendedUsers, defaultProps$6 as BasicRecommendedUsersDefaultData, schema$6 as BasicRecommendedUsersSchema, BasicSearchClient as BasicSearch, BasicSearchBarClient as BasicSearchBar, defaultProps$7 as BasicSearchBarDefaultData, schema$7 as BasicSearchBarSchema, defaultProps$8 as BasicSearchDefaultData, schema$8 as BasicSearchSchema, Button, ButtonClient, ButtonInspectorProps, ButtonProps, CARD_SPEC_MAP, CardCornerMode, CardGrid2x3Client as CardGrid2x3, defaultProps$9 as CardGrid2x3DefaultData, CardGrid2x3InfiniteClient as CardGrid2x3Infinite, defaultProps$10 as CardGrid2x3InfiniteDefaultData, schema$9 as CardGrid2x3InfiniteSchema, schema$10 as CardGrid2x3Schema, CardGrid2x4Client as CardGrid2x4, defaultProps$11 as CardGrid2x4DefaultData, schema$11 as CardGrid2x4Schema, CardGrid3x3Client as CardGrid3x3, defaultProps$12 as CardGrid3x3DefaultData, CardGrid3x3InfiniteClient as CardGrid3x3Infinite, defaultProps$13 as CardGrid3x3InfiniteDefaultData, schema$12 as CardGrid3x3InfiniteSchema, schema$13 as CardGrid3x3Schema, defaultProps$14 as CardItemDefaultData, schema$14 as CardItemSchema, defaultProps$15 as CardLayoutDefaultData, schema$15 as CardLayoutSchema, CardSpec, ChannelDataItem, CollectTab, CollectTabProps, CollectTabServer, CommonStyleSchema, ComponentMaterial, ComponentSchema, ComponentType, ContentBlockItem, DataBinding, DataBindingField, DataBindingSourceType, DataBindingUIMode, DataSchema, DataSlot, DataSourceType, DetailSearchBarClient as DetailSearchBar, defaultProps$16 as DetailSearchBarDefaultData, schema$16 as DetailSearchBarSchema, EventDefinition, EventSchema, ExtractedDataItem, FeedAdBadge, FeedAdItemLike, FieldSchema, FieldType, FilterSearchClient as FilterSearch, FilterSearchBarClient as FilterSearchBar, defaultProps$17 as FilterSearchBarDefaultData, schema$17 as FilterSearchBarSchema, defaultProps$18 as FilterSearchDefaultData, schema$18 as FilterSearchSchema, FloatingAd, FloatingAdEditableProps, FloatingAdInspectorProps, FloatingAdItem, FloatingAdProps, FloatingAdServer, FloatingBall, FloatingBallClient, FloatingBallClientProps, FloatingBallInspectorProps, FullscreenPostFeedClient as FullscreenFeedClient, defaultProps$19 as FullscreenPostFeedDefaultData, schema$19 as FullscreenPostFeedSchema, FullscreenVideoFeedClient as FullscreenVideoClient, defaultProps$20 as FullscreenVideoFeedDefaultData, schema$20 as FullscreenVideoFeedSchema, HistoryTab, HistoryTabProps, HistoryTabServer, HomeRecommendGridClient as HomeRecommendGrid, homeRecommendGridInspectorDefaultProps as HomeRecommendGridDefaultData, HomeRecommendGrid as HomeRecommendGridMaterialComponent, schema$21 as HomeRecommendGridSchema, HomeRecommendWaterfallClient as HomeRecommendWaterfall, homeRecommendWaterfallInspectorDefaultProps as HomeRecommendWaterfallDefaultData, HomeRecommendWaterfall as HomeRecommendWaterfallMaterialComponent, schema$22 as HomeRecommendWaterfallSchema, IconAd, IconAdInspectorProps, IconAdItem, IconAdProps, IconAdServer, ImageTextRecommendClient, ImageTextRecommendProps, ImageTextRecommendServer, LikeDetailItem, LikeTab, LikeTabProps, LikeTabServer, MarqueeClient, MarqueeProps, MarqueeServer, MaterialRegistry, NodeDocument, PageDocument, PageMeta, ProfileHeaderInspectorProps, ProfileMainInspectorProps, PropDefinition, PropSchema, PublishTab, PublishTabProps, PublishTabServer, PublishTabUserInfo, RawContentData, Renderer, RendererDocument, RendererMaterial, RendererMode, RendererProps, SearchHistoryClient, SearchHistoryProps, SearchHistoryServer, SearchInputClient, SearchInputInspectorProps, SearchInputProps, SearchInputServer, SimpleSearchClient as SimpleSearch, defaultProps$21 as SimpleSearchDefaultData, schema$23 as SimpleSearchSchema, StylePropDefinition, StyleSchema, TabBarClient, TabBarInspectorProps, TabBarItem, TabBarItemConfigType, TabBarProps, TabBarServer, TagSearchClient as TagSearch, TagSearchBarClient as TagSearchBar, defaultProps$22 as TagSearchBarDefaultData, schema$24 as TagSearchBarSchema, defaultProps$23 as TagSearchDefaultData, schema$25 as TagSearchSchema, TextAd, TextAdInspectorProps, TextAdItem, TextAdProps, TextAdServer, TextRecommendClient, TextRecommendProps, TextRecommendServer, UserProfileHeaderAuthConfig, UserProfileHeaderClient, UserProfileHeaderClientProps, UserProfileMain, UserProfileMainClient, UserProfileMainProps, UserProfileMainRenderMode, UserProfileMainShell, UserProfileMainShellProps, adaptBannerAdProps, adaptFloatingAdItem, adaptIconAdProps, adaptPopupAdMaterials, adaptTextAdProps, bannerAdInspectorDefaultProps, bannerAdInspectorPropsSchema, bannerAdMaterial, bannerAdStyleSizeOptions, basicBannerInspectorDefaultProps, basicBannerInspectorPropsSchema, basicBannerMaterial, buildAdsMatchRequest, buildContentUrl, buttonInspectorDefaultProps, buttonInspectorPropsSchema, commonStyleSchema, commonStylesToInline, createAdsMatchPrefetchItem, createAdsMatchQueryFn, customStylesToInline, defaultMarqueePeriod, exampleButtonMaterial, extractDataByComponentType, floatingAdInspectorDefaultProps, floatingAdInspectorPropsSchema, floatingAdMaterial, floatingBallInspectorDefaultProps, floatingBallInspectorPropsSchema, floatingBallMaterial, getAdsMatchQueryKey, getCardSpecConfig, getChannelList, getDefaultMarqueePeriod, getFeedAdIcon, getFeedAdJumpUrl, getFirstMatchedMaterial, hasMatchedAds, homeRecommendGridInspectorDefaultProps, homeRecommendGridInspectorPropsSchema, homeRecommendGridMaterial, homeRecommendWaterfallInspectorDefaultProps, homeRecommendWaterfallInspectorPropsSchema, homeRecommendWaterfallMaterial, iconAdInspectorDefaultProps, iconAdInspectorPropsSchema, iconAdMaterial, imageTextRecommendInspectorPropsSchema, imageTextRecommendMaterial, isFeedAdItem, marqueeInspectorPropsSchema, marqueeMaterial, mergeStyles, parseAdsMatchExtData, profileHeaderInspectorDefaultProps, profileHeaderInspectorPropsSchema, profileHeaderMaterial, profileHeaderMaterialWithDisabledBackground, profileMainCollectCollectionTabOptions, profileMainCollectTabOptions, profileMainHistoryTabOptions, profileMainInspectorDefaultProps, profileMainInspectorPropsSchema, profileMainLikeTabOptions, profileMainMaterial, profileMainMineTabOptions, profileMainProfileTabOptions, profileMainTabOptions, resolveAdsAppCode, searchHistoryInspectorPropsSchema, searchHistoryMaterial, searchInputInspectorDefaultProps, searchInputInspectorPropsSchema, searchInputMaterial, sortAdsMatchMaterials, tabBarInspectorDefaultProps, tabBarInspectorPropsSchema, tabBarMaterial, textAdInspectorDefaultProps, textAdInspectorPropsSchema, textAdMaterial, textRecommendInspectorPropsSchema, textRecommendMaterial, transformContentListToCardItems, transformContentToCardItem, useAdProvider };
156
+ export { BaseComponentProps, BasicBannerClient as BasicBanner, defaultProps as BasicBannerDefaultData, BasicBanner as BasicBannerMaterialComponent, schema as BasicBannerSchema, BasicFeatureGridClient as BasicFeatureGrid, defaultProps$1 as BasicFeatureGridDefaultData, schema$1 as BasicFeatureGridSchema, BasicFullscreen, FullscreenFeedClient as BasicFullscreenFeed, defaultProps$2 as BasicFullscreenFeedDefaultData, schema$2 as BasicFullscreenFeedSchema, BasicLogoClient as BasicLogo, defaultProps$3 as BasicLogoDefaultData, schema$3 as BasicLogoSchema, BasicNavBarClient as BasicNavBar, defaultProps$4 as BasicNavBarDefaultData, schema$4 as BasicNavBarSchema, BasicPostCardClient as BasicPostCard, defaultProps$5 as BasicPostCardDefaultData, schema$5 as BasicPostCardSchema, BasicRecommendedUsersClient as BasicRecommendedUsers, defaultProps$6 as BasicRecommendedUsersDefaultData, schema$6 as BasicRecommendedUsersSchema, BasicSearchClient as BasicSearch, BasicSearchBarClient as BasicSearchBar, defaultProps$7 as BasicSearchBarDefaultData, schema$7 as BasicSearchBarSchema, defaultProps$8 as BasicSearchDefaultData, schema$8 as BasicSearchSchema, Button, ButtonClient, ButtonInspectorProps, ButtonProps, CARD_SPEC_MAP, CardCornerMode, CardGrid2x3Client as CardGrid2x3, defaultProps$9 as CardGrid2x3DefaultData, CardGrid2x3InfiniteClient as CardGrid2x3Infinite, defaultProps$10 as CardGrid2x3InfiniteDefaultData, schema$9 as CardGrid2x3InfiniteSchema, schema$10 as CardGrid2x3Schema, CardGrid2x4Client as CardGrid2x4, defaultProps$11 as CardGrid2x4DefaultData, schema$11 as CardGrid2x4Schema, CardGrid3x3Client as CardGrid3x3, defaultProps$12 as CardGrid3x3DefaultData, CardGrid3x3InfiniteClient as CardGrid3x3Infinite, defaultProps$13 as CardGrid3x3InfiniteDefaultData, schema$12 as CardGrid3x3InfiniteSchema, schema$13 as CardGrid3x3Schema, defaultProps$14 as CardItemDefaultData, schema$14 as CardItemSchema, defaultProps$15 as CardLayoutDefaultData, schema$15 as CardLayoutSchema, CardSpec, ChannelDataItem, CollectTab, CollectTabProps, CollectTabServer, CommonStyleSchema, ComponentMaterial, ComponentSchema, ComponentType, ContentBlockItem, DataBinding, DataBindingField, DataBindingSourceType, DataBindingUIMode, DataSchema, DataSlot, DataSourceType, DetailSearchBarClient as DetailSearchBar, defaultProps$16 as DetailSearchBarDefaultData, schema$16 as DetailSearchBarSchema, EventDefinition, EventSchema, ExtractedDataItem, FieldSchema, FieldType, FilterSearchClient as FilterSearch, FilterSearchBarClient as FilterSearchBar, defaultProps$17 as FilterSearchBarDefaultData, schema$17 as FilterSearchBarSchema, defaultProps$18 as FilterSearchDefaultData, schema$18 as FilterSearchSchema, FloatingBall, FloatingBallClient, FloatingBallClientProps, FloatingBallInspectorProps, FullscreenPostFeedClient as FullscreenFeedClient, defaultProps$19 as FullscreenPostFeedDefaultData, schema$19 as FullscreenPostFeedSchema, FullscreenVideoFeedClient as FullscreenVideoClient, defaultProps$20 as FullscreenVideoFeedDefaultData, schema$20 as FullscreenVideoFeedSchema, HistoryTab, HistoryTabProps, HistoryTabServer, HomeRecommendGridClient as HomeRecommendGrid, homeRecommendGridInspectorDefaultProps as HomeRecommendGridDefaultData, HomeRecommendGrid as HomeRecommendGridMaterialComponent, schema$21 as HomeRecommendGridSchema, HomeRecommendWaterfallClient as HomeRecommendWaterfall, homeRecommendWaterfallInspectorDefaultProps as HomeRecommendWaterfallDefaultData, HomeRecommendWaterfall as HomeRecommendWaterfallMaterialComponent, schema$22 as HomeRecommendWaterfallSchema, ImageTextRecommendClient, ImageTextRecommendProps, ImageTextRecommendServer, LikeDetailItem, LikeTab, LikeTabProps, LikeTabServer, MarqueeClient, MarqueeProps, MarqueeServer, MaterialRegistry, NodeDocument, PageDocument, PageMeta, ProfileHeaderInspectorProps, ProfileMainInspectorProps, PropDefinition, PropSchema, PublishTab, PublishTabProps, PublishTabServer, PublishTabUserInfo, RawContentData, Renderer, RendererDocument, RendererMaterial, RendererMode, RendererProps, SearchHistoryClient, SearchHistoryProps, SearchHistoryServer, SearchInputClient, SearchInputInspectorProps, SearchInputProps, SearchInputServer, SimpleSearchClient as SimpleSearch, defaultProps$21 as SimpleSearchDefaultData, schema$23 as SimpleSearchSchema, StylePropDefinition, StyleSchema, TabBarClient, TabBarInspectorProps, TabBarItem, TabBarItemConfigType, TabBarProps, TabBarServer, TagSearchClient as TagSearch, TagSearchBarClient as TagSearchBar, defaultProps$22 as TagSearchBarDefaultData, schema$24 as TagSearchBarSchema, defaultProps$23 as TagSearchDefaultData, schema$25 as TagSearchSchema, TextRecommendClient, TextRecommendProps, TextRecommendServer, UserProfileHeaderAuthConfig, UserProfileHeaderClient, UserProfileHeaderClientProps, UserProfileMain, UserProfileMainClient, UserProfileMainProps, UserProfileMainRenderMode, UserProfileMainShell, UserProfileMainShellProps, basicBannerInspectorDefaultProps, basicBannerInspectorPropsSchema, basicBannerMaterial, buildContentUrl, buttonInspectorDefaultProps, buttonInspectorPropsSchema, commonStyleSchema, commonStylesToInline, customStylesToInline, defaultMarqueePeriod, exampleButtonMaterial, extractDataByComponentType, floatingBallInspectorDefaultProps, floatingBallInspectorPropsSchema, floatingBallMaterial, getCardSpecConfig, getChannelList, getDefaultMarqueePeriod, homeRecommendGridInspectorDefaultProps, homeRecommendGridInspectorPropsSchema, homeRecommendGridMaterial, homeRecommendWaterfallInspectorDefaultProps, homeRecommendWaterfallInspectorPropsSchema, homeRecommendWaterfallMaterial, imageTextRecommendInspectorPropsSchema, imageTextRecommendMaterial, marqueeInspectorPropsSchema, marqueeMaterial, mergeStyles, profileHeaderInspectorDefaultProps, profileHeaderInspectorPropsSchema, profileHeaderMaterial, profileHeaderMaterialWithDisabledBackground, profileMainCollectCollectionTabOptions, profileMainCollectTabOptions, profileMainHistoryTabOptions, profileMainInspectorDefaultProps, profileMainInspectorPropsSchema, profileMainLikeTabOptions, profileMainMaterial, profileMainMineTabOptions, profileMainProfileTabOptions, profileMainTabOptions, searchHistoryInspectorPropsSchema, searchHistoryMaterial, searchInputInspectorDefaultProps, searchInputInspectorPropsSchema, searchInputMaterial, tabBarInspectorDefaultProps, tabBarInspectorPropsSchema, tabBarMaterial, textRecommendInspectorPropsSchema, textRecommendMaterial, transformContentListToCardItems, transformContentToCardItem };
package/dist/biz.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
 
2
- import{CARD_SPEC_MAP as ee,CardSpec as te,getCardSpecConfig as ne}from"./components/biz/utils/constants/card-spec.mjs";import{getChannelList as re}from"./components/biz/utils/helpers/get-channel-list.mjs";import{buildContentUrl as e}from"./components/biz/utils/helpers/url.mjs";import{DataBindingUIMode as t,DataSourceType as n}from"./components/biz/utils/schema/data.mjs";import{commonStylesToInline as r,customStylesToInline as i,mergeStyles as a}from"./components/biz/utils/styles/helpers.mjs";import{commonStyleSchema as o}from"./components/biz/utils/styles/schema.mjs";import{transformContentListToCardItems as s,transformContentToCardItem as c}from"./components/biz/utils/transformers/card-grid.mjs";import{defaultProps as l}from"./components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs";import{schema as u}from"./components/biz/business/banner/variants/basic-banner/schema/index.mjs";import{defaultProps as d}from"./components/biz/business/feature-grid/variants/basic-feature-grid/defaults/default-props.mjs";import{schema as f}from"./components/biz/business/feature-grid/variants/basic-feature-grid/schema/index.mjs";import{BasicFullscreen as p}from"./components/biz/basics/fullscreen-feed/basic-fullscreen.mjs";import{defaultProps as m}from"./components/biz/basics/fullscreen-feed/defaults/default-props.mjs";import{schema as h}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/index.mjs";import{schema as g}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/index.mjs";import{adaptBannerAdProps as _,adaptFloatingAdItem as v,adaptIconAdProps as y,adaptPopupAdMaterials as b,adaptTextAdProps as x,buildAdsMatchRequest as S,getFirstMatchedMaterial as C,hasMatchedAds as w,parseAdsMatchExtData as T,resolveAdsAppCode as E,sortAdsMatchMaterials as D}from"./components/biz/business/advertisement/ad-match.mjs";import{createAdsMatchPrefetchItem as O,createAdsMatchQueryFn as k,getAdsMatchQueryKey as A}from"./components/biz/business/advertisement/ad-query.mjs";import{AdProvider as j,useAdProvider as M}from"./components/biz/business/advertisement/ad-provider.mjs";import{AdRuntimeProvider as N}from"./components/biz/business/advertisement/ad-runtime-provider.mjs";import{BannerAd as P}from"./components/biz/business/advertisement/banner-ad/client.mjs";import{bannerAdInspectorDefaultProps as F,bannerAdInspectorPropsSchema as I,bannerAdStyleSizeOptions as L}from"./components/biz/business/advertisement/banner-ad/schema.mjs";import{BannerAdServer as R}from"./components/biz/business/advertisement/banner-ad/server.mjs";import{bannerAdMaterial as z}from"./components/biz/business/advertisement/banner-ad/material.mjs";import{FeedAdBadge as B,getFeedAdIcon as V,getFeedAdJumpUrl as H,isFeedAdItem as U}from"./components/biz/business/advertisement/feed-ad/index.mjs";import{FloatingAd as W}from"./components/biz/business/advertisement/floating-ad/client.mjs";import{floatingAdInspectorDefaultProps as G,floatingAdInspectorPropsSchema as K}from"./components/biz/business/advertisement/floating-ad/schema.mjs";import{FloatingAdServer as q}from"./components/biz/business/advertisement/floating-ad/server.mjs";import{floatingAdMaterial as J}from"./components/biz/business/advertisement/floating-ad/material.mjs";import{IconAd as Y}from"./components/biz/business/advertisement/icon-ad/client.mjs";import{iconAdInspectorDefaultProps as X,iconAdInspectorPropsSchema as ie}from"./components/biz/business/advertisement/icon-ad/schema.mjs";import{IconAdServer as ae}from"./components/biz/business/advertisement/icon-ad/server.mjs";import{iconAdMaterial as oe}from"./components/biz/business/advertisement/icon-ad/material.mjs";import{defaultMarqueePeriod as se,getDefaultMarqueePeriod as ce,marqueeInspectorPropsSchema as le}from"./components/biz/business/marquee/schema.mjs";import{MarqueeClient as ue}from"./components/biz/business/marquee/client.mjs";import{MarqueeServer as de}from"./components/biz/business/marquee/server.mjs";import{marqueeMaterial as fe}from"./components/biz/business/marquee/material.mjs";import{TextAd as pe}from"./components/biz/business/advertisement/text-ad/client.mjs";import{textAdInspectorDefaultProps as me,textAdInspectorPropsSchema as he}from"./components/biz/business/advertisement/text-ad/schema.mjs";import{TextAdServer as ge}from"./components/biz/business/advertisement/text-ad/server.mjs";import{textAdMaterial as _e}from"./components/biz/business/advertisement/text-ad/material.mjs";import{defaultProps as ve}from"./components/biz/basics/logo/variants/basic-logo/defaults/default-props.mjs";import{defaultProps as ye}from"./components/biz/basics/search/variants/basic-search/defaults/default-props.mjs";import{defaultProps as be}from"./components/biz/business/search-bar/variants/detail-search-bar/defaults/default-props.mjs";import{defaultProps as xe}from"./components/biz/basics/search/variants/simple-search/defaults/default-props.mjs";import{schema as Se}from"./components/biz/basics/search/variants/simple-search/schema/index.mjs";import Ce from"./components/biz/basics/search/variants/simple-search/index.mjs";import{schema as we}from"./components/biz/business/search-bar/variants/detail-search-bar/schema/index.mjs";import Te from"./components/biz/business/search-bar/variants/detail-search-bar/index.mjs";import{homeRecommendGridInspectorDefaultProps as Z,homeRecommendGridInspectorPropsSchema as Ee}from"./components/biz/business/home-recommend/home-recommend-grid/inspector-schema.mjs";import{schema as De}from"./components/biz/business/home-recommend/home-recommend-grid/schema.mjs";import{homeRecommendWaterfallInspectorDefaultProps as Q,homeRecommendWaterfallInspectorPropsSchema as Oe}from"./components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.mjs";import{schema as ke}from"./components/biz/business/home-recommend/home-recommend-waterfall/schema.mjs";import{schema as Ae}from"./components/biz/business/post-card/variants/basic-post-card/schema/index.mjs";import{defaultProps as je}from"./components/biz/business/recommended-users/variants/basic-recommended-users/defaults/default-props.mjs";import{schema as Me}from"./components/biz/business/recommended-users/variants/basic-recommended-users/schema/index.mjs";import{ComponentType as Ne,extractDataByComponentType as Pe}from"./components/biz/utils/transformers/data.mjs";import{defaultProps as Fe}from"./components/biz/basics/card-item/defaults/default-props.mjs";import{schema as Ie}from"./components/biz/basics/card-item/schema/index.mjs";import{defaultProps as Le}from"./components/biz/basics/card-layout/defaults/default-props.mjs";import{schema as Re}from"./components/biz/basics/card-layout/schema/index.mjs";import{schema as ze}from"./components/biz/basics/fullscreen-feed/schema/index.mjs";import Be from"./components/biz/basics/fullscreen-feed/index.mjs";import{schema as Ve}from"./components/biz/basics/logo/variants/basic-logo/schema/index.mjs";import He from"./components/biz/basics/logo/variants/basic-logo/index.mjs";import{schema as Ue}from"./components/biz/basics/search/variants/basic-search/schema/index.mjs";import We from"./components/biz/basics/search/variants/basic-search/index.mjs";import{defaultProps as Ge}from"./components/biz/basics/search/variants/filter-search/defaults/default-props.mjs";import{schema as Ke}from"./components/biz/basics/search/variants/filter-search/schema/index.mjs";import qe from"./components/biz/basics/search/variants/filter-search/index.mjs";import{defaultProps as Je}from"./components/biz/basics/search/variants/tag-search/defaults/default-props.mjs";import{schema as Ye}from"./components/biz/basics/search/variants/tag-search/schema/index.mjs";import Xe from"./components/biz/basics/search/variants/tag-search/index.mjs";import{basicBannerInspectorDefaultProps as Ze,basicBannerInspectorPropsSchema as Qe}from"./components/biz/business/banner/variants/basic-banner/inspector-schema.mjs";import{BasicBanner as $e}from"./components/biz/business/banner/variants/basic-banner/server.mjs";import{basicBannerMaterial as et}from"./components/biz/business/banner/variants/basic-banner/material.mjs";import tt from"./components/biz/business/banner/variants/basic-banner/index.mjs";import{defaultProps as nt}from"./components/biz/business/card-grid/variants/card-grid-2x3/defaults/default-props.mjs";import{schema as rt}from"./components/biz/business/card-grid/variants/card-grid-2x3/schema/index.mjs";import it from"./components/biz/business/card-grid/variants/card-grid-2x3/index.mjs";import{defaultProps as at}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/defaults/default-props.mjs";import{schema as ot}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/index.mjs";import st from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/index.mjs";import{defaultProps as ct}from"./components/biz/business/card-grid/variants/card-grid-2x4/defaults/default-props.mjs";import{schema as $}from"./components/biz/business/card-grid/variants/card-grid-2x4/schema/index.mjs";import lt from"./components/biz/business/card-grid/variants/card-grid-2x4/index.mjs";import{defaultProps as ut}from"./components/biz/business/card-grid/variants/card-grid-3x3/defaults/default-props.mjs";import{schema as dt}from"./components/biz/business/card-grid/variants/card-grid-3x3/schema/index.mjs";import ft from"./components/biz/business/card-grid/variants/card-grid-3x3/index.mjs";import{defaultProps as pt}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/defaults/default-props.mjs";import{schema as mt}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/index.mjs";import ht from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/index.mjs";import gt from"./components/biz/business/feature-grid/variants/basic-feature-grid/index.mjs";import{FloatingBallClient as _t}from"./components/biz/business/floating-ball/client.mjs";import{floatingBallInspectorDefaultProps as vt,floatingBallInspectorPropsSchema as yt}from"./components/biz/business/floating-ball/schema.mjs";import{FloatingBall as bt}from"./components/biz/business/floating-ball/server.mjs";import{floatingBallMaterial as xt}from"./components/biz/business/floating-ball/material.mjs";import{defaultProps as St}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/defaults/default-props.mjs";import Ct from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/index.mjs";import{defaultProps as wt}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/defaults/default-props.mjs";import Tt from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/index.mjs";import{HomeRecommendGrid as Et}from"./components/biz/business/home-recommend/home-recommend-grid/server.mjs";import{homeRecommendGridMaterial as Dt}from"./components/biz/business/home-recommend/home-recommend-grid/material.mjs";import Ot from"./components/biz/business/home-recommend/home-recommend-grid/index.mjs";import{HomeRecommendWaterfall as kt}from"./components/biz/business/home-recommend/home-recommend-waterfall/server.mjs";import{homeRecommendWaterfallMaterial as At}from"./components/biz/business/home-recommend/home-recommend-waterfall/material.mjs";import jt from"./components/biz/business/home-recommend/home-recommend-waterfall/index.mjs";import{ImageTextRecommendClient as Mt}from"./components/biz/business/image-text-recommend/client.mjs";import{imageTextRecommendInspectorPropsSchema as Nt}from"./components/biz/business/image-text-recommend/schema.mjs";import{ImageTextRecommendServer as Pt}from"./components/biz/business/image-text-recommend/server.mjs";import{imageTextRecommendMaterial as Ft}from"./components/biz/business/image-text-recommend/material.mjs";import{defaultProps as It}from"./components/biz/business/nav-bar/variants/basic-nav-bar/defaults/default-props.mjs";import{schema as Lt}from"./components/biz/business/nav-bar/variants/basic-nav-bar/schema/index.mjs";import Rt from"./components/biz/business/nav-bar/variants/basic-nav-bar/index.mjs";import{defaultProps as zt}from"./components/biz/business/post-card/variants/basic-post-card/defaults/default-props.mjs";import Bt from"./components/biz/business/post-card/variants/basic-post-card/index.mjs";import{UserProfileHeaderClient as Vt}from"./components/biz/business/profile/profile-header/client.mjs";import{profileHeaderInspectorDefaultProps as Ht,profileHeaderInspectorPropsSchema as Ut}from"./components/biz/business/profile/profile-header/schema.mjs";import{profileHeaderMaterial as Wt,profileHeaderMaterialWithDisabledBackground as Gt}from"./components/biz/business/profile/profile-header/material.mjs";import{profileMainCollectCollectionTabOptions as Kt,profileMainCollectTabOptions as qt,profileMainHistoryTabOptions as Jt,profileMainLikeTabOptions as Yt,profileMainMineTabOptions as Xt,profileMainProfileTabOptions as Zt,profileMainTabOptions as Qt}from"./components/biz/business/profile/profile-main/variants.mjs";import{UserProfileMainShell as $t}from"./components/biz/business/profile/profile-main/shell.mjs";import{CollectTab as en}from"./components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs";import{HistoryTab as tn}from"./components/biz/business/profile/profile-main/tabs/history-tab/client.mjs";import{LikeTab as nn}from"./components/biz/business/profile/profile-main/tabs/like-tab/client.mjs";import{UserProfileMainClient as rn}from"./components/biz/business/profile/profile-main/client.mjs";import{profileMainInspectorDefaultProps as an,profileMainInspectorPropsSchema as on}from"./components/biz/business/profile/profile-main/schema.mjs";import{UserProfileMain as sn}from"./components/biz/business/profile/profile-main/server.mjs";import{profileMainMaterial as cn}from"./components/biz/business/profile/profile-main/material.mjs";import{CollectTabServer as ln}from"./components/biz/business/profile/profile-main/tabs/collect-tab/server.mjs";import{HistoryTabServer as un}from"./components/biz/business/profile/profile-main/tabs/history-tab/server.mjs";import{LikeTabServer as dn}from"./components/biz/business/profile/profile-main/tabs/like-tab/server.mjs";import{PublishTab as fn}from"./components/biz/business/profile/profile-main/tabs/publish-tab/client.mjs";import{PublishTabServer as pn}from"./components/biz/business/profile/profile-main/tabs/publish-tab/server.mjs";import mn from"./components/biz/business/recommended-users/variants/basic-recommended-users/index.mjs";import{defaultProps as hn}from"./components/biz/business/search-bar/variants/basic-search-bar/defaults/default-props.mjs";import{schema as gn}from"./components/biz/business/search-bar/variants/basic-search-bar/schema/index.mjs";import _n from"./components/biz/business/search-bar/variants/basic-search-bar/index.mjs";import{defaultProps as vn}from"./components/biz/business/search-bar/variants/filter-search-bar/defaults/default-props.mjs";import{schema as yn}from"./components/biz/business/search-bar/variants/filter-search-bar/schema/index.mjs";import bn from"./components/biz/business/search-bar/variants/filter-search-bar/index.mjs";import{defaultProps as xn}from"./components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs";import{schema as Sn}from"./components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs";import Cn from"./components/biz/business/search-bar/variants/tag-search-bar/index.mjs";import{SearchHistoryClient as wn}from"./components/biz/business/search-history/client.mjs";import{searchHistoryInspectorPropsSchema as Tn}from"./components/biz/business/search-history/schema.mjs";import{SearchHistoryServer as En}from"./components/biz/business/search-history/server.mjs";import{searchHistoryMaterial as Dn}from"./components/biz/business/search-history/material.mjs";import{SearchInputClient as On}from"./components/biz/business/search-input/client.mjs";import{searchInputInspectorDefaultProps as kn,searchInputInspectorPropsSchema as An}from"./components/biz/business/search-input/schema.mjs";import{SearchInputServer as jn}from"./components/biz/business/search-input/server.mjs";import{searchInputMaterial as Mn}from"./components/biz/business/search-input/material.mjs";import{TabBarClient as Nn}from"./components/biz/business/tab-bar/client.mjs";import{tabBarInspectorDefaultProps as Pn,tabBarInspectorPropsSchema as Fn}from"./components/biz/business/tab-bar/schema.mjs";import{TabBarServer as In}from"./components/biz/business/tab-bar/server.mjs";import{tabBarMaterial as Ln}from"./components/biz/business/tab-bar/material.mjs";import{TextRecommendClient as Rn}from"./components/biz/business/text-recommend/client.mjs";import{textRecommendInspectorPropsSchema as zn}from"./components/biz/business/text-recommend/schema.mjs";import{TextRecommendServer as Bn}from"./components/biz/business/text-recommend/server.mjs";import{textRecommendMaterial as Vn}from"./components/biz/business/text-recommend/material.mjs";import{ButtonClient as Hn}from"./components/biz/example/button/client.mjs";import{buttonInspectorDefaultProps as Un,buttonInspectorPropsSchema as Wn}from"./components/biz/example/button/schema.mjs";import{Button as Gn}from"./components/biz/example/button/server.mjs";import{exampleButtonMaterial as Kn}from"./components/biz/example/button/material.mjs";import{Renderer as qn}from"./components/biz/renderer/renderer.mjs";export{j as AdProvider,N as AdRuntimeProvider,P as BannerAd,R as BannerAdServer,tt as BasicBanner,l as BasicBannerDefaultData,$e as BasicBannerMaterialComponent,u as BasicBannerSchema,gt as BasicFeatureGrid,d as BasicFeatureGridDefaultData,f as BasicFeatureGridSchema,p as BasicFullscreen,Be as BasicFullscreenFeed,m as BasicFullscreenFeedDefaultData,ze as BasicFullscreenFeedSchema,He as BasicLogo,ve as BasicLogoDefaultData,Ve as BasicLogoSchema,Rt as BasicNavBar,It as BasicNavBarDefaultData,Lt as BasicNavBarSchema,Bt as BasicPostCard,zt as BasicPostCardDefaultData,Ae as BasicPostCardSchema,mn as BasicRecommendedUsers,je as BasicRecommendedUsersDefaultData,Me as BasicRecommendedUsersSchema,We as BasicSearch,_n as BasicSearchBar,hn as BasicSearchBarDefaultData,gn as BasicSearchBarSchema,ye as BasicSearchDefaultData,Ue as BasicSearchSchema,Gn as Button,Hn as ButtonClient,ee as CARD_SPEC_MAP,it as CardGrid2x3,nt as CardGrid2x3DefaultData,st as CardGrid2x3Infinite,at as CardGrid2x3InfiniteDefaultData,ot as CardGrid2x3InfiniteSchema,rt as CardGrid2x3Schema,lt as CardGrid2x4,ct as CardGrid2x4DefaultData,$ as CardGrid2x4Schema,ft as CardGrid3x3,ut as CardGrid3x3DefaultData,ht as CardGrid3x3Infinite,pt as CardGrid3x3InfiniteDefaultData,mt as CardGrid3x3InfiniteSchema,dt as CardGrid3x3Schema,Fe as CardItemDefaultData,Ie as CardItemSchema,Le as CardLayoutDefaultData,Re as CardLayoutSchema,te as CardSpec,en as CollectTab,ln as CollectTabServer,Ne as ComponentType,t as DataBindingUIMode,n as DataSourceType,Te as DetailSearchBar,be as DetailSearchBarDefaultData,we as DetailSearchBarSchema,B as FeedAdBadge,qe as FilterSearch,bn as FilterSearchBar,vn as FilterSearchBarDefaultData,yn as FilterSearchBarSchema,Ge as FilterSearchDefaultData,Ke as FilterSearchSchema,W as FloatingAd,q as FloatingAdServer,bt as FloatingBall,_t as FloatingBallClient,Ct as FullscreenFeedClient,St as FullscreenPostFeedDefaultData,h as FullscreenPostFeedSchema,Tt as FullscreenVideoClient,wt as FullscreenVideoFeedDefaultData,g as FullscreenVideoFeedSchema,tn as HistoryTab,un as HistoryTabServer,Ot as HomeRecommendGrid,Z as HomeRecommendGridDefaultData,Et as HomeRecommendGridMaterialComponent,De as HomeRecommendGridSchema,jt as HomeRecommendWaterfall,Q as HomeRecommendWaterfallDefaultData,kt as HomeRecommendWaterfallMaterialComponent,ke as HomeRecommendWaterfallSchema,Y as IconAd,ae as IconAdServer,Mt as ImageTextRecommendClient,Pt as ImageTextRecommendServer,nn as LikeTab,dn as LikeTabServer,ue as MarqueeClient,de as MarqueeServer,fn as PublishTab,pn as PublishTabServer,qn as Renderer,wn as SearchHistoryClient,En as SearchHistoryServer,On as SearchInputClient,jn as SearchInputServer,Ce as SimpleSearch,xe as SimpleSearchDefaultData,Se as SimpleSearchSchema,Nn as TabBarClient,In as TabBarServer,Xe as TagSearch,Cn as TagSearchBar,xn as TagSearchBarDefaultData,Sn as TagSearchBarSchema,Je as TagSearchDefaultData,Ye as TagSearchSchema,pe as TextAd,ge as TextAdServer,Rn as TextRecommendClient,Bn as TextRecommendServer,Vt as UserProfileHeaderClient,sn as UserProfileMain,rn as UserProfileMainClient,$t as UserProfileMainShell,_ as adaptBannerAdProps,v as adaptFloatingAdItem,y as adaptIconAdProps,b as adaptPopupAdMaterials,x as adaptTextAdProps,F as bannerAdInspectorDefaultProps,I as bannerAdInspectorPropsSchema,z as bannerAdMaterial,L as bannerAdStyleSizeOptions,Ze as basicBannerInspectorDefaultProps,Qe as basicBannerInspectorPropsSchema,et as basicBannerMaterial,S as buildAdsMatchRequest,e as buildContentUrl,Un as buttonInspectorDefaultProps,Wn as buttonInspectorPropsSchema,o as commonStyleSchema,r as commonStylesToInline,O as createAdsMatchPrefetchItem,k as createAdsMatchQueryFn,i as customStylesToInline,se as defaultMarqueePeriod,Kn as exampleButtonMaterial,Pe as extractDataByComponentType,G as floatingAdInspectorDefaultProps,K as floatingAdInspectorPropsSchema,J as floatingAdMaterial,vt as floatingBallInspectorDefaultProps,yt as floatingBallInspectorPropsSchema,xt as floatingBallMaterial,A as getAdsMatchQueryKey,ne as getCardSpecConfig,re as getChannelList,ce as getDefaultMarqueePeriod,V as getFeedAdIcon,H as getFeedAdJumpUrl,C as getFirstMatchedMaterial,w as hasMatchedAds,Z as homeRecommendGridInspectorDefaultProps,Ee as homeRecommendGridInspectorPropsSchema,Dt as homeRecommendGridMaterial,Q as homeRecommendWaterfallInspectorDefaultProps,Oe as homeRecommendWaterfallInspectorPropsSchema,At as homeRecommendWaterfallMaterial,X as iconAdInspectorDefaultProps,ie as iconAdInspectorPropsSchema,oe as iconAdMaterial,Nt as imageTextRecommendInspectorPropsSchema,Ft as imageTextRecommendMaterial,U as isFeedAdItem,le as marqueeInspectorPropsSchema,fe as marqueeMaterial,a as mergeStyles,T as parseAdsMatchExtData,Ht as profileHeaderInspectorDefaultProps,Ut as profileHeaderInspectorPropsSchema,Wt as profileHeaderMaterial,Gt as profileHeaderMaterialWithDisabledBackground,Kt as profileMainCollectCollectionTabOptions,qt as profileMainCollectTabOptions,Jt as profileMainHistoryTabOptions,an as profileMainInspectorDefaultProps,on as profileMainInspectorPropsSchema,Yt as profileMainLikeTabOptions,cn as profileMainMaterial,Xt as profileMainMineTabOptions,Zt as profileMainProfileTabOptions,Qt as profileMainTabOptions,E as resolveAdsAppCode,Tn as searchHistoryInspectorPropsSchema,Dn as searchHistoryMaterial,kn as searchInputInspectorDefaultProps,An as searchInputInspectorPropsSchema,Mn as searchInputMaterial,D as sortAdsMatchMaterials,Pn as tabBarInspectorDefaultProps,Fn as tabBarInspectorPropsSchema,Ln as tabBarMaterial,me as textAdInspectorDefaultProps,he as textAdInspectorPropsSchema,_e as textAdMaterial,zn as textRecommendInspectorPropsSchema,Vn as textRecommendMaterial,s as transformContentListToCardItems,c as transformContentToCardItem,M as useAdProvider};
2
+ import{CARD_SPEC_MAP as ee,CardSpec as te,getCardSpecConfig as e}from"./components/biz/utils/constants/card-spec.mjs";import{getChannelList as t}from"./components/biz/utils/helpers/get-channel-list.mjs";import{buildContentUrl as n}from"./components/biz/utils/helpers/url.mjs";import{DataBindingUIMode as r,DataSourceType as i}from"./components/biz/utils/schema/data.mjs";import{commonStylesToInline as a,customStylesToInline as o,mergeStyles as s}from"./components/biz/utils/styles/helpers.mjs";import{commonStyleSchema as c}from"./components/biz/utils/styles/schema.mjs";import{transformContentListToCardItems as l,transformContentToCardItem as u}from"./components/biz/utils/transformers/card-grid.mjs";import{defaultProps as d}from"./components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs";import{schema as f}from"./components/biz/business/banner/variants/basic-banner/schema/index.mjs";import{defaultProps as p}from"./components/biz/business/feature-grid/variants/basic-feature-grid/defaults/default-props.mjs";import{schema as m}from"./components/biz/business/feature-grid/variants/basic-feature-grid/schema/index.mjs";import{BasicFullscreen as h}from"./components/biz/basics/fullscreen-feed/basic-fullscreen.mjs";import{defaultProps as g}from"./components/biz/basics/fullscreen-feed/defaults/default-props.mjs";import{schema as _}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/index.mjs";import{schema as v}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/index.mjs";import{defaultProps as y}from"./components/biz/basics/logo/variants/basic-logo/defaults/default-props.mjs";import{defaultProps as b}from"./components/biz/basics/search/variants/basic-search/defaults/default-props.mjs";import{defaultProps as x}from"./components/biz/business/search-bar/variants/detail-search-bar/defaults/default-props.mjs";import{defaultProps as S}from"./components/biz/basics/search/variants/simple-search/defaults/default-props.mjs";import{schema as C}from"./components/biz/basics/search/variants/simple-search/schema/index.mjs";import w from"./components/biz/basics/search/variants/simple-search/index.mjs";import{schema as T}from"./components/biz/business/search-bar/variants/detail-search-bar/schema/index.mjs";import E from"./components/biz/business/search-bar/variants/detail-search-bar/index.mjs";import{homeRecommendGridInspectorDefaultProps as D,homeRecommendGridInspectorPropsSchema as O}from"./components/biz/business/home-recommend/home-recommend-grid/inspector-schema.mjs";import{schema as k}from"./components/biz/business/home-recommend/home-recommend-grid/schema.mjs";import{homeRecommendWaterfallInspectorDefaultProps as A,homeRecommendWaterfallInspectorPropsSchema as j}from"./components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.mjs";import{schema as M}from"./components/biz/business/home-recommend/home-recommend-waterfall/schema.mjs";import{schema as N}from"./components/biz/business/post-card/variants/basic-post-card/schema/index.mjs";import{defaultProps as P}from"./components/biz/business/recommended-users/variants/basic-recommended-users/defaults/default-props.mjs";import{schema as F}from"./components/biz/business/recommended-users/variants/basic-recommended-users/schema/index.mjs";import{ComponentType as I,extractDataByComponentType as L}from"./components/biz/utils/transformers/data.mjs";import{defaultProps as R}from"./components/biz/basics/card-item/defaults/default-props.mjs";import{schema as z}from"./components/biz/basics/card-item/schema/index.mjs";import{defaultProps as B}from"./components/biz/basics/card-layout/defaults/default-props.mjs";import{schema as V}from"./components/biz/basics/card-layout/schema/index.mjs";import{schema as H}from"./components/biz/basics/fullscreen-feed/schema/index.mjs";import U from"./components/biz/basics/fullscreen-feed/index.mjs";import{schema as W}from"./components/biz/basics/logo/variants/basic-logo/schema/index.mjs";import G from"./components/biz/basics/logo/variants/basic-logo/index.mjs";import{schema as K}from"./components/biz/basics/search/variants/basic-search/schema/index.mjs";import q from"./components/biz/basics/search/variants/basic-search/index.mjs";import{defaultProps as J}from"./components/biz/basics/search/variants/filter-search/defaults/default-props.mjs";import{schema as Y}from"./components/biz/basics/search/variants/filter-search/schema/index.mjs";import X from"./components/biz/basics/search/variants/filter-search/index.mjs";import{defaultProps as Z}from"./components/biz/basics/search/variants/tag-search/defaults/default-props.mjs";import{schema as Q}from"./components/biz/basics/search/variants/tag-search/schema/index.mjs";import ne from"./components/biz/basics/search/variants/tag-search/index.mjs";import{basicBannerInspectorDefaultProps as re,basicBannerInspectorPropsSchema as ie}from"./components/biz/business/banner/variants/basic-banner/inspector-schema.mjs";import{BasicBanner as ae}from"./components/biz/business/banner/variants/basic-banner/server.mjs";import{basicBannerMaterial as oe}from"./components/biz/business/banner/variants/basic-banner/material.mjs";import se from"./components/biz/business/banner/variants/basic-banner/index.mjs";import{defaultProps as ce}from"./components/biz/business/card-grid/variants/card-grid-2x3/defaults/default-props.mjs";import{schema as le}from"./components/biz/business/card-grid/variants/card-grid-2x3/schema/index.mjs";import ue from"./components/biz/business/card-grid/variants/card-grid-2x3/index.mjs";import{defaultProps as de}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/defaults/default-props.mjs";import{schema as fe}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/index.mjs";import pe from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/index.mjs";import{defaultProps as me}from"./components/biz/business/card-grid/variants/card-grid-2x4/defaults/default-props.mjs";import{schema as he}from"./components/biz/business/card-grid/variants/card-grid-2x4/schema/index.mjs";import ge from"./components/biz/business/card-grid/variants/card-grid-2x4/index.mjs";import{defaultProps as _e}from"./components/biz/business/card-grid/variants/card-grid-3x3/defaults/default-props.mjs";import{schema as ve}from"./components/biz/business/card-grid/variants/card-grid-3x3/schema/index.mjs";import ye from"./components/biz/business/card-grid/variants/card-grid-3x3/index.mjs";import{defaultProps as be}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/defaults/default-props.mjs";import{schema as xe}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/index.mjs";import Se from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/index.mjs";import Ce from"./components/biz/business/feature-grid/variants/basic-feature-grid/index.mjs";import{FloatingBallClient as we}from"./components/biz/business/floating-ball/client.mjs";import{floatingBallInspectorDefaultProps as Te,floatingBallInspectorPropsSchema as Ee}from"./components/biz/business/floating-ball/schema.mjs";import{FloatingBall as De}from"./components/biz/business/floating-ball/server.mjs";import{floatingBallMaterial as Oe}from"./components/biz/business/floating-ball/material.mjs";import{defaultProps as ke}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/defaults/default-props.mjs";import Ae from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/index.mjs";import{defaultProps as je}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/defaults/default-props.mjs";import Me from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/index.mjs";import{HomeRecommendGrid as Ne}from"./components/biz/business/home-recommend/home-recommend-grid/server.mjs";import{homeRecommendGridMaterial as Pe}from"./components/biz/business/home-recommend/home-recommend-grid/material.mjs";import $ from"./components/biz/business/home-recommend/home-recommend-grid/index.mjs";import{HomeRecommendWaterfall as Fe}from"./components/biz/business/home-recommend/home-recommend-waterfall/server.mjs";import{homeRecommendWaterfallMaterial as Ie}from"./components/biz/business/home-recommend/home-recommend-waterfall/material.mjs";import Le from"./components/biz/business/home-recommend/home-recommend-waterfall/index.mjs";import{ImageTextRecommendClient as Re}from"./components/biz/business/image-text-recommend/client.mjs";import{imageTextRecommendInspectorPropsSchema as ze}from"./components/biz/business/image-text-recommend/schema.mjs";import{ImageTextRecommendServer as Be}from"./components/biz/business/image-text-recommend/server.mjs";import{imageTextRecommendMaterial as Ve}from"./components/biz/business/image-text-recommend/material.mjs";import{defaultMarqueePeriod as He,getDefaultMarqueePeriod as Ue,marqueeInspectorPropsSchema as We}from"./components/biz/business/marquee/schema.mjs";import{MarqueeClient as Ge}from"./components/biz/business/marquee/client.mjs";import{MarqueeServer as Ke}from"./components/biz/business/marquee/server.mjs";import{marqueeMaterial as qe}from"./components/biz/business/marquee/material.mjs";import{defaultProps as Je}from"./components/biz/business/nav-bar/variants/basic-nav-bar/defaults/default-props.mjs";import{schema as Ye}from"./components/biz/business/nav-bar/variants/basic-nav-bar/schema/index.mjs";import Xe from"./components/biz/business/nav-bar/variants/basic-nav-bar/index.mjs";import{defaultProps as Ze}from"./components/biz/business/post-card/variants/basic-post-card/defaults/default-props.mjs";import Qe from"./components/biz/business/post-card/variants/basic-post-card/index.mjs";import{UserProfileHeaderClient as $e}from"./components/biz/business/profile/profile-header/client.mjs";import{profileHeaderInspectorDefaultProps as et,profileHeaderInspectorPropsSchema as tt}from"./components/biz/business/profile/profile-header/schema.mjs";import{profileHeaderMaterial as nt,profileHeaderMaterialWithDisabledBackground as rt}from"./components/biz/business/profile/profile-header/material.mjs";import{profileMainCollectCollectionTabOptions as it,profileMainCollectTabOptions as at,profileMainHistoryTabOptions as ot,profileMainLikeTabOptions as st,profileMainMineTabOptions as ct,profileMainProfileTabOptions as lt,profileMainTabOptions as ut}from"./components/biz/business/profile/profile-main/variants.mjs";import{UserProfileMainShell as dt}from"./components/biz/business/profile/profile-main/shell.mjs";import{CollectTab as ft}from"./components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs";import{HistoryTab as pt}from"./components/biz/business/profile/profile-main/tabs/history-tab/client.mjs";import{LikeTab as mt}from"./components/biz/business/profile/profile-main/tabs/like-tab/client.mjs";import{UserProfileMainClient as ht}from"./components/biz/business/profile/profile-main/client.mjs";import{profileMainInspectorDefaultProps as gt,profileMainInspectorPropsSchema as _t}from"./components/biz/business/profile/profile-main/schema.mjs";import{UserProfileMain as vt}from"./components/biz/business/profile/profile-main/server.mjs";import{profileMainMaterial as yt}from"./components/biz/business/profile/profile-main/material.mjs";import{CollectTabServer as bt}from"./components/biz/business/profile/profile-main/tabs/collect-tab/server.mjs";import{HistoryTabServer as xt}from"./components/biz/business/profile/profile-main/tabs/history-tab/server.mjs";import{LikeTabServer as St}from"./components/biz/business/profile/profile-main/tabs/like-tab/server.mjs";import{PublishTab as Ct}from"./components/biz/business/profile/profile-main/tabs/publish-tab/client.mjs";import{PublishTabServer as wt}from"./components/biz/business/profile/profile-main/tabs/publish-tab/server.mjs";import Tt from"./components/biz/business/recommended-users/variants/basic-recommended-users/index.mjs";import{defaultProps as Et}from"./components/biz/business/search-bar/variants/basic-search-bar/defaults/default-props.mjs";import{schema as Dt}from"./components/biz/business/search-bar/variants/basic-search-bar/schema/index.mjs";import Ot from"./components/biz/business/search-bar/variants/basic-search-bar/index.mjs";import{defaultProps as kt}from"./components/biz/business/search-bar/variants/filter-search-bar/defaults/default-props.mjs";import{schema as At}from"./components/biz/business/search-bar/variants/filter-search-bar/schema/index.mjs";import jt from"./components/biz/business/search-bar/variants/filter-search-bar/index.mjs";import{defaultProps as Mt}from"./components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs";import{schema as Nt}from"./components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs";import Pt from"./components/biz/business/search-bar/variants/tag-search-bar/index.mjs";import{SearchHistoryClient as Ft}from"./components/biz/business/search-history/client.mjs";import{searchHistoryInspectorPropsSchema as It}from"./components/biz/business/search-history/schema.mjs";import{SearchHistoryServer as Lt}from"./components/biz/business/search-history/server.mjs";import{searchHistoryMaterial as Rt}from"./components/biz/business/search-history/material.mjs";import{SearchInputClient as zt}from"./components/biz/business/search-input/client.mjs";import{searchInputInspectorDefaultProps as Bt,searchInputInspectorPropsSchema as Vt}from"./components/biz/business/search-input/schema.mjs";import{SearchInputServer as Ht}from"./components/biz/business/search-input/server.mjs";import{searchInputMaterial as Ut}from"./components/biz/business/search-input/material.mjs";import{TabBarClient as Wt}from"./components/biz/business/tab-bar/client.mjs";import{tabBarInspectorDefaultProps as Gt,tabBarInspectorPropsSchema as Kt}from"./components/biz/business/tab-bar/schema.mjs";import{TabBarServer as qt}from"./components/biz/business/tab-bar/server.mjs";import{tabBarMaterial as Jt}from"./components/biz/business/tab-bar/material.mjs";import{TextRecommendClient as Yt}from"./components/biz/business/text-recommend/client.mjs";import{textRecommendInspectorPropsSchema as Xt}from"./components/biz/business/text-recommend/schema.mjs";import{TextRecommendServer as Zt}from"./components/biz/business/text-recommend/server.mjs";import{textRecommendMaterial as Qt}from"./components/biz/business/text-recommend/material.mjs";import{ButtonClient as $t}from"./components/biz/example/button/client.mjs";import{buttonInspectorDefaultProps as en,buttonInspectorPropsSchema as tn}from"./components/biz/example/button/schema.mjs";import{Button as nn}from"./components/biz/example/button/server.mjs";import{exampleButtonMaterial as rn}from"./components/biz/example/button/material.mjs";import{Renderer as an}from"./components/biz/renderer/renderer.mjs";export{se as BasicBanner,d as BasicBannerDefaultData,ae as BasicBannerMaterialComponent,f as BasicBannerSchema,Ce as BasicFeatureGrid,p as BasicFeatureGridDefaultData,m as BasicFeatureGridSchema,h as BasicFullscreen,U as BasicFullscreenFeed,g as BasicFullscreenFeedDefaultData,H as BasicFullscreenFeedSchema,G as BasicLogo,y as BasicLogoDefaultData,W as BasicLogoSchema,Xe as BasicNavBar,Je as BasicNavBarDefaultData,Ye as BasicNavBarSchema,Qe as BasicPostCard,Ze as BasicPostCardDefaultData,N as BasicPostCardSchema,Tt as BasicRecommendedUsers,P as BasicRecommendedUsersDefaultData,F as BasicRecommendedUsersSchema,q as BasicSearch,Ot as BasicSearchBar,Et as BasicSearchBarDefaultData,Dt as BasicSearchBarSchema,b as BasicSearchDefaultData,K as BasicSearchSchema,nn as Button,$t as ButtonClient,ee as CARD_SPEC_MAP,ue as CardGrid2x3,ce as CardGrid2x3DefaultData,pe as CardGrid2x3Infinite,de as CardGrid2x3InfiniteDefaultData,fe as CardGrid2x3InfiniteSchema,le as CardGrid2x3Schema,ge as CardGrid2x4,me as CardGrid2x4DefaultData,he as CardGrid2x4Schema,ye as CardGrid3x3,_e as CardGrid3x3DefaultData,Se as CardGrid3x3Infinite,be as CardGrid3x3InfiniteDefaultData,xe as CardGrid3x3InfiniteSchema,ve as CardGrid3x3Schema,R as CardItemDefaultData,z as CardItemSchema,B as CardLayoutDefaultData,V as CardLayoutSchema,te as CardSpec,ft as CollectTab,bt as CollectTabServer,I as ComponentType,r as DataBindingUIMode,i as DataSourceType,E as DetailSearchBar,x as DetailSearchBarDefaultData,T as DetailSearchBarSchema,X as FilterSearch,jt as FilterSearchBar,kt as FilterSearchBarDefaultData,At as FilterSearchBarSchema,J as FilterSearchDefaultData,Y as FilterSearchSchema,De as FloatingBall,we as FloatingBallClient,Ae as FullscreenFeedClient,ke as FullscreenPostFeedDefaultData,_ as FullscreenPostFeedSchema,Me as FullscreenVideoClient,je as FullscreenVideoFeedDefaultData,v as FullscreenVideoFeedSchema,pt as HistoryTab,xt as HistoryTabServer,$ as HomeRecommendGrid,D as HomeRecommendGridDefaultData,Ne as HomeRecommendGridMaterialComponent,k as HomeRecommendGridSchema,Le as HomeRecommendWaterfall,A as HomeRecommendWaterfallDefaultData,Fe as HomeRecommendWaterfallMaterialComponent,M as HomeRecommendWaterfallSchema,Re as ImageTextRecommendClient,Be as ImageTextRecommendServer,mt as LikeTab,St as LikeTabServer,Ge as MarqueeClient,Ke as MarqueeServer,Ct as PublishTab,wt as PublishTabServer,an as Renderer,Ft as SearchHistoryClient,Lt as SearchHistoryServer,zt as SearchInputClient,Ht as SearchInputServer,w as SimpleSearch,S as SimpleSearchDefaultData,C as SimpleSearchSchema,Wt as TabBarClient,qt as TabBarServer,ne as TagSearch,Pt as TagSearchBar,Mt as TagSearchBarDefaultData,Nt as TagSearchBarSchema,Z as TagSearchDefaultData,Q as TagSearchSchema,Yt as TextRecommendClient,Zt as TextRecommendServer,$e as UserProfileHeaderClient,vt as UserProfileMain,ht as UserProfileMainClient,dt as UserProfileMainShell,re as basicBannerInspectorDefaultProps,ie as basicBannerInspectorPropsSchema,oe as basicBannerMaterial,n as buildContentUrl,en as buttonInspectorDefaultProps,tn as buttonInspectorPropsSchema,c as commonStyleSchema,a as commonStylesToInline,o as customStylesToInline,He as defaultMarqueePeriod,rn as exampleButtonMaterial,L as extractDataByComponentType,Te as floatingBallInspectorDefaultProps,Ee as floatingBallInspectorPropsSchema,Oe as floatingBallMaterial,e as getCardSpecConfig,t as getChannelList,Ue as getDefaultMarqueePeriod,D as homeRecommendGridInspectorDefaultProps,O as homeRecommendGridInspectorPropsSchema,Pe as homeRecommendGridMaterial,A as homeRecommendWaterfallInspectorDefaultProps,j as homeRecommendWaterfallInspectorPropsSchema,Ie as homeRecommendWaterfallMaterial,ze as imageTextRecommendInspectorPropsSchema,Ve as imageTextRecommendMaterial,We as marqueeInspectorPropsSchema,qe as marqueeMaterial,s as mergeStyles,et as profileHeaderInspectorDefaultProps,tt as profileHeaderInspectorPropsSchema,nt as profileHeaderMaterial,rt as profileHeaderMaterialWithDisabledBackground,it as profileMainCollectCollectionTabOptions,at as profileMainCollectTabOptions,ot as profileMainHistoryTabOptions,gt as profileMainInspectorDefaultProps,_t as profileMainInspectorPropsSchema,st as profileMainLikeTabOptions,yt as profileMainMaterial,ct as profileMainMineTabOptions,lt as profileMainProfileTabOptions,ut as profileMainTabOptions,It as searchHistoryInspectorPropsSchema,Rt as searchHistoryMaterial,Bt as searchInputInspectorDefaultProps,Vt as searchInputInspectorPropsSchema,Ut as searchInputMaterial,Gt as tabBarInspectorDefaultProps,Kt as tabBarInspectorPropsSchema,Jt as tabBarMaterial,Xt as textRecommendInspectorPropsSchema,Qt as textRecommendMaterial,l as transformContentListToCardItems,u as transformContentToCardItem};
@@ -0,0 +1,19 @@
1
+
2
+ import { BaseComponentProps } from "../../utils/types/component.mjs";
3
+ import "../../utils/index.mjs";
4
+ import { MaterialComponentMode } from "../../../../utils/schema/schema.mjs";
5
+ import "../../../../utils.mjs";
6
+ import { BasicBannerProps } from "./server.mjs";
7
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
8
+
9
+ //#region components/biz/business/banner-carousel/client.d.ts
10
+ declare function BannerCarouselClient({
11
+ mode,
12
+ props: propsConfig,
13
+ styles,
14
+ events
15
+ }: BaseComponentProps<any> & {
16
+ mode?: MaterialComponentMode;
17
+ } & BasicBannerProps): react_jsx_runtime0.JSX.Element | null;
18
+ //#endregion
19
+ export { BannerCarouselClient };
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{mergeStyles as e}from"../../utils/styles/helpers.mjs";import{Button as t}from"../../../ui/button.mjs";import{Image as n}from"../../../ui/image.mjs";import{Box as r}from"../../../ui/box.mjs";import{Carousel as i,CarouselContent as a,CarouselItem as o}from"../../../ui/carousel.mjs";import{Text as s}from"../../../ui/text.mjs";import c from"../../../ui/link.mjs";import{defaultProps as l}from"./default-props.mjs";import u from"clsx";import{useIsClient as d}from"foxact/use-is-client";import{useEffect as f,useRef as p,useState as m}from"react";import{jsx as h,jsxs as g}from"react/jsx-runtime";const _={list:[]};function v({mode:v=`renderer`,props:y=_,styles:b,events:x}){let S=v===`editor`,{autoplay:C=l.autoplay,interval:w=l.interval,loop:T=l.loop,showTitle:E=l.showTitle,showIndicator:D=l.showIndicator,list:O=[]}={...l,...y},[k,A]=m(),[j,M]=m(0),N=d(),P=p(null);if(f(()=>{if(!k||!N)return;let e=()=>{M(k.selectedScrollSnap())};return k.on(`select`,e),e(),()=>{k.off(`select`,e)}},[k,x,N]),f(()=>!C||!k||O.length<=1?void 0:(P.current=setInterval(()=>{k.canScrollNext()?k.scrollNext():T&&k.scrollTo(0)},w*1e3),()=>{P.current&&=(clearInterval(P.current),null)}),[C,k,w,T,O.length]),!O||O.length===0)return null;let F=O[j],I=b?e(b,{}):void 0;return g(r,{className:S?`relative w-full pointer-events-none`:`relative w-full`,style:I,children:[h(i,{setApi:A,opts:{align:`start`,loop:T,skipSnaps:!1,dragFree:!1},className:`w-full`,children:h(a,{className:`ml-0`,children:O.map((e,t)=>h(o,{className:`pl-0`,children:h(c,{href:e.target,className:`block relative w-full h-[242px] overflow-hidden touch-manipulation`,children:h(n,{src:e.coverUrl,alt:e.title||`Banner ${t+1}`,fill:!0,objectFit:`cover`,unoptimized:!0})})},t))})}),E&&F?.title&&h(r,{className:`absolute bottom-[8px] left-[8px]`,children:h(s,{as:`p`,className:`text-white text-[16px] line-clamp-1`,children:F.title})}),D&&O.length>1&&h(r,{className:`absolute bottom-[16px] right-[8px] flex items-center gap-[4px]`,children:O.map((e,n)=>h(t,{type:`button`,size:`xs`,className:u(`transition-all duration-300 rounded-full !p-0 px-0`,n===j?`w-[10px] h-[6px] bg-black`:`w-[6px] h-[6px] bg-white/50`),style:{padding:`0 !important`},"aria-label":`跳转到第 ${n+1} 个 Banner`},n))})]})}export{v as default};
2
+ "use client";import{mergeStyles as e}from"../../utils/styles/helpers.mjs";import{Button as t}from"../../../ui/button.mjs";import{Image as n}from"../../../ui/image.mjs";import{Box as r}from"../../../ui/box.mjs";import{Carousel as i,CarouselContent as a,CarouselItem as o}from"../../../ui/carousel.mjs";import{Text as s}from"../../../ui/text.mjs";import c from"../../../ui/link.mjs";import l from"../../../../assets/icons/detail/video_flag.mjs";import{defaultProps as u}from"./default-props.mjs";import d from"clsx";import{useIsClient as f}from"foxact/use-is-client";import{useEffect as p,useRef as m,useState as h}from"react";import{jsx as g,jsxs as _}from"react/jsx-runtime";const v={list:[]};function y(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0`;if(t>=1e4){let e=t/1e4;return`${e%1==0?e:e.toFixed(1)}万`}if(t>=1e3){let e=t/1e3;return`${e%1==0?e:e.toFixed(1)}千`}return String(Math.floor(t))}function b(e){let t=e.playCount;if(typeof t==`number`&&Number.isFinite(t))return t;let n=e.video;if(!n||typeof n!=`object`)return 0;let r=n;return Number(r.static?.browse_cnt??r.play_count??0)||0}function x({mode:x=`renderer`,props:S=v,styles:C,events:w}){let T=x===`editor`,{autoplay:E=u.autoplay,interval:D=u.interval,loop:O=u.loop,showTitle:k=u.showTitle,showIndicator:A=u.showIndicator,list:j=[]}={...u,...S},[M,N]=h(),[P,F]=h(0),I=f(),L=m(null);if(p(()=>{if(!M||!I)return;let e=()=>{F(M.selectedScrollSnap())};return M.on(`select`,e),e(),()=>{M.off(`select`,e)}},[M,w,I]),p(()=>{if(!(!E||!M||j.length<=1))return L.current=setInterval(()=>{M.canScrollNext()?M.scrollNext():O&&M.scrollTo(0)},D*1e3),()=>{L.current&&=(clearInterval(L.current),null)}},[E,M,D,O,j.length]),!j||j.length===0)return null;let R=j[P],z=C?e(C,{}):void 0,B=R?.badgeUrl||``,V=R?.showPlayCount??!0,H=R?.showEpisodeCount??!0,U=b(R),W=typeof R?.episodeInfo==`string`?R.episodeInfo.trim():``;return _(r,{className:d(`relative w-full overflow-hidden`,T&&`pointer-events-none`),style:z,children:[g(i,{setApi:N,opts:{align:`start`,loop:O,skipSnaps:!1,dragFree:!1},className:`w-full`,children:g(a,{className:`ml-0`,children:j.map((e,t)=>g(o,{className:`pl-0`,children:g(c,{href:e.target,className:`block relative w-full h-[219px] overflow-hidden touch-manipulation`,children:g(n,{src:e.coverUrl,alt:e.title||`Banner ${t+1}`,fill:!0,objectFit:`cover`,unoptimized:!0})})},t))})}),g(r,{className:`absolute inset-0 pointer-events-none flex flex-col justify-end`,style:{background:`linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%)`},children:_(r,{className:`flex items-end justify-between gap-2 p-[8px]`,children:[_(r,{className:`flex-1 min-w-0 flex flex-col gap-[4px]`,children:[k&&R?.title!=null&&g(s,{as:`p`,className:`text-white text-[16px] leading-[24px] font-bold line-clamp-1`,children:String(R.title)}),_(r,{className:`flex items-center gap-[8px]`,children:[V&&_(r,{className:`flex items-center gap-[4px] px-[4px] py-0 rounded-[4px] bg-white/10 shrink-0`,children:[g(l,{className:`w-[12px] h-[12px] text-white shrink-0`}),g(s,{as:`span`,className:`text-white text-[12px] leading-[20px]`,children:y(U)})]}),H&&W&&g(s,{as:`span`,className:`text-white text-[12px] leading-[20px] shrink-0`,children:W})]})]}),A&&j.length>1&&g(r,{className:`flex items-center gap-[4px] py-[4px] shrink-0 pointer-events-auto`,children:j.map((e,n)=>g(t,{type:`button`,size:`xs`,className:d(`transition-all duration-300 rounded-full !p-0 shrink-0`,n===P?`w-[10px] h-[6px] bg-theme5`:`w-[6px] h-[6px] bg-white/30`),style:{padding:`0 !important`},"aria-label":`跳转到第 ${n+1} 个 Banner`,onClick:()=>M?.scrollTo(n)},n))})]})}),B&&g(r,{className:`absolute top-0 right-0 overflow-hidden rounded-bl-[8px] pointer-events-none`,children:g(n,{src:B,alt:``,width:37,height:20,className:`object-contain`,unoptimized:!0})})]})}export{x as default};
@@ -1,2 +1,2 @@
1
1
 
2
- const e={autoplay:!0,interval:3,loop:!0,showTitle:!1,showIndicator:!0,list:[]};export{e as defaultProps};
2
+ const e={autoplay:!0,interval:3,loop:!0,showTitle:!0,showIndicator:!0,list:[]};export{e as defaultProps};
@@ -3,11 +3,12 @@ import { SchemaHasDefaultValue } from "../../../../utils/schema/schema.mjs";
3
3
  import { DefineMaterialOption } from "../../../../utils/schema/material.mjs";
4
4
  import "../../../../utils.mjs";
5
5
  import { BannerCarousel } from "./server.mjs";
6
+ import { BannerCarouselClient } from "./client.mjs";
6
7
  import * as zod from "zod";
7
8
  import * as zod_v4_core0 from "zod/v4/core";
8
9
 
9
10
  //#region components/biz/business/banner-carousel/material.d.ts
10
- declare const BannerCarouselMaterial: DefineMaterialOption<typeof BannerCarousel, typeof BannerCarousel, zod.ZodObject<{
11
+ declare const BannerCarouselMaterial: DefineMaterialOption<typeof BannerCarousel, typeof BannerCarouselClient, zod.ZodObject<{
11
12
  readonly interval: zod.ZodNumber & SchemaHasDefaultValue;
12
13
  readonly list: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
13
14
  contentId: zod.ZodOptional<zod.ZodNumber>;
@@ -17,6 +18,8 @@ declare const BannerCarouselMaterial: DefineMaterialOption<typeof BannerCarousel
17
18
  showPlayCount: zod.ZodOptional<zod.ZodBoolean>;
18
19
  showEpisodeCount: zod.ZodOptional<zod.ZodBoolean>;
19
20
  target: zod.ZodOptional<zod.ZodString>;
21
+ playCount: zod.ZodOptional<zod.ZodNumber>;
22
+ episodeInfo: zod.ZodOptional<zod.ZodString>;
20
23
  }, zod_v4_core0.$strip>>> & SchemaHasDefaultValue;
21
24
  } & {
22
25
  mode: zod.ZodOptional<zod.ZodEnum<{
@@ -1,2 +1,2 @@
1
1
 
2
- import{defineMaterial as e}from"../../../../utils/schema/material.mjs";import{basicBannerInspectorPropsSchema as t}from"./schema.mjs";import{BannerCarousel as n}from"./server.mjs";const r=e({type:`banner-carousel`,name:`基础轮播图`,icon:`/static/components-thumb/carousel_banner.png`,category:`内容组件`,serverComponent:n,clientComponent:n,propsSchema:t});export{r as BannerCarouselMaterial};
2
+ import{defineMaterial as e}from"../../../../utils/schema/material.mjs";import t from"./client.mjs";import{basicBannerInspectorPropsSchema as n}from"./schema.mjs";import{BannerCarousel as r}from"./server.mjs";const i=e({type:`banner-carousel`,name:`基础轮播图`,icon:`/static/components-thumb/carousel_banner.png`,category:`内容组件`,serverComponent:r,clientComponent:t,propsSchema:n});export{i as BannerCarouselMaterial};
@@ -17,6 +17,8 @@ declare const basicBannerInspectorPropsSchema: z$1.ZodObject<{
17
17
  showPlayCount: z$1.ZodOptional<z$1.ZodBoolean>;
18
18
  showEpisodeCount: z$1.ZodOptional<z$1.ZodBoolean>;
19
19
  target: z$1.ZodOptional<z$1.ZodString>;
20
+ playCount: z$1.ZodOptional<z$1.ZodNumber>;
21
+ episodeInfo: z$1.ZodOptional<z$1.ZodString>;
20
22
  }, z$1.core.$strip>>> & SchemaHasDefaultValue;
21
23
  } & {
22
24
  mode: z$1.ZodOptional<z$1.ZodEnum<{
@@ -1,2 +1,2 @@
1
1
 
2
- import{defineComponentPropsSchema as e,getSchemaDefaultProps as t}from"../../../../utils/schema/schema.mjs";import{defaultProps as n}from"./default-props.mjs";import r from"zod";const i=e(e=>({interval:e.number(n.interval,{label:`播放间隔`}),list:e.array(r.object({contentId:e.number(void 0,{label:`内容ID`,required:!1}),title:e.string(void 0,{label:`内容标题`,required:!1}),coverUrl:e.string(void 0,{label:`封面`,required:!1}),badgeUrl:e.string(void 0,{label:`角标`,required:!1}),showPlayCount:e.boolean(void 0,{fieldType:`switch`,label:`展示播放量`,required:!1}),showEpisodeCount:e.boolean(void 0,{fieldType:`switch`,label:`展示集数`,required:!1}),target:e.string(void 0,{label:`跳转地址`,required:!1})}),{required:!1,label:`list`,defaultValue:[{contentId:1,title:`视频标题一`,desc:`视频描述`,coverUrl:`/static/components-resource/banner.png`,badgeUrl:``,showPlayCount:!1,showEpisodeCount:!1,target:``},{contentId:2,title:`视频标题二`,coverUrl:`/static/components-resource/banner.png`,badgeUrl:``,showPlayCount:!1,showEpisodeCount:!1,target:``},{contentId:3,title:`视频标题三`,coverUrl:`/static/components-resource/banner.png`,badgeUrl:``,showPlayCount:!1,showEpisodeCount:!1,target:``}]})}));t(i);export{i as basicBannerInspectorPropsSchema};
2
+ import{defineComponentPropsSchema as e,getSchemaDefaultProps as t}from"../../../../utils/schema/schema.mjs";import{defaultProps as n}from"./default-props.mjs";import r from"zod";const i=e(e=>({interval:e.number(n.interval,{label:`播放间隔`}),list:e.array(r.object({contentId:e.number(void 0,{label:`内容ID`,required:!1}),title:e.string(void 0,{label:`内容标题`,required:!1}),coverUrl:e.string(void 0,{label:`封面`,required:!1}),badgeUrl:e.string(void 0,{label:`角标图片`,required:!1}),showPlayCount:e.boolean(void 0,{fieldType:`switch`,label:`展示播放量`,required:!1}),showEpisodeCount:e.boolean(void 0,{fieldType:`switch`,label:`展示集数`,required:!1}),target:e.string(void 0,{label:`跳转地址`,required:!1}),playCount:e.number(void 0,{label:`播放量`,required:!1}),episodeInfo:e.string(void 0,{label:`集数文案`,required:!1})}),{required:!1,label:`list`,defaultValue:[{contentId:1,title:`兴趣圈层up主扶持计划,启动!`,desc:`视频描述`,coverUrl:`/static/components-resource/banner.png`,badgeUrl:``,showPlayCount:!0,showEpisodeCount:!0,target:``,playCount:24e3,episodeInfo:`56集全`},{contentId:2,title:`视频标题二`,coverUrl:`/static/components-resource/banner.png`,badgeUrl:``,showPlayCount:!0,showEpisodeCount:!0,target:``},{contentId:3,title:`视频标题三`,coverUrl:`/static/components-resource/banner.png`,badgeUrl:``,showPlayCount:!0,showEpisodeCount:!0,target:``}]})}));t(i);export{i as basicBannerInspectorPropsSchema};
@@ -6,13 +6,15 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
6
6
  /** BasicBanner 物料组件 props(inspector 可编辑字段 + 可选数据) */
7
7
  type BasicBannerProps = BasicBannerInspectorProps & {
8
8
  /** 轮播数据,未传入时使用 mock 数据 */data?: {
9
+ interval?: number;
9
10
  list: Array<Record<string, unknown>>;
10
11
  };
11
12
  };
12
13
  /**
13
14
  * BasicBanner 物料组件
14
15
  * 接收 inspector 可编辑的 props,转换为 BaseComponentProps 传给 runtime client
16
+ * 对 list 中带 video.id 的项批量拉取视频详情并覆盖
15
17
  */
16
- declare function BannerCarousel(props: BasicBannerProps): react_jsx_runtime0.JSX.Element;
18
+ declare function BannerCarousel(props: BasicBannerProps): Promise<react_jsx_runtime0.JSX.Element>;
17
19
  //#endregion
18
- export { BannerCarousel };
20
+ export { BannerCarousel, BasicBannerProps };
@@ -1,2 +1,2 @@
1
1
 
2
- import{defaultProps as e}from"./default-props.mjs";import t from"./client.mjs";import{jsx as n}from"react/jsx-runtime";function r(r){let{mode:i=`renderer`,interval:a,list:o}=r;return n(t,{mode:i,props:{interval:typeof a==`string`?Number(a)||e.interval:a??e.interval,list:o}})}export{r as BannerCarousel};
2
+ import{pContentBatchGetVideoDetail as e}from"../../../../service/generated/client.mjs";import{defaultProps as t}from"./default-props.mjs";import n from"./client.mjs";import{jsx as r}from"react/jsx-runtime";function i(e){let t=[];for(let n of e){let e=n.video;if(e&&typeof e==`object`&&`id`in e){let n=e.id;typeof n==`string`&&n.trim()&&t.push(n.trim())}}return Array.from(new Set(t))}function a(e,t){let n=String(t.id||t.mid||``),r=String(t.name||``),i=String(t.img_y||t.img_x||e.coverUrl||``),a=n?`/video/${n}/${encodeURIComponent(r||``)}/episode/1`:String(e.target||``),o=!!e.showPlayCount,s=t.static,c=Number(s?.browse_cnt??t.play_count??0),l={...e,contentId:e.contentId??n,title:r||e.title,coverUrl:i||e.coverUrl,target:a||e.target,video:{...typeof e.video==`object`&&e.video?e.video:{},...t}};return o&&Number.isFinite(c)&&c>=0&&(l.playCount=c),l}async function o(t){let n=i(t);if(!n.length)return t;let r=new Map;try{let t=await e({ids:n}),i=Array.isArray(t.data?.videos)?t.data.videos:[];for(let e of i){let t=String(e.video_id||e.id||e.mid||``);t&&r.set(t,e)}}catch(e){return console.warn(`[banner-carousel] 批量获取视频详情失败,使用原始 list`,e),t}return t.map(e=>{let t=e.video;if(!t||typeof t!=`object`||!(`id`in t))return e;let n=String(t.id||``).trim();if(!n)return e;let i=r.get(n);return i?a(e,i):e})}async function s(e){let{mode:i=`renderer`,interval:a,list:s}=e,c=s??t.list;return r(n,{mode:i,interval:typeof a==`string`?Number(a)||t.interval:a??t.interval,list:Array.isArray(c)?await o(c):[]})}export{s as BannerCarousel};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{mergeStyles as e}from"../../utils/styles/helpers.mjs";import{Box as t}from"../../../ui/box.mjs";import n from"../../../ui/link.mjs";import{urlPrefix as r}from"../../../../constants/url-prefix.mjs";import{useSticky as i}from"../../../../hooks/use-sticky.mjs";import a from"../../../../assets/icons/filter_dark.mjs";import o,{loadHiddenChannelIdsFromStorage as s}from"./channel-filter-dialog.mjs";import{defaultProps as c}from"./default-props.mjs";import{clsx as l}from"clsx";import{useEffect as u,useMemo as d,useState as f}from"react";import{Fragment as p,jsx as m,jsxs as h}from"react/jsx-runtime";import{usePathname as g}from"next/navigation";const _={};function v(e,t){let n=`${r.DOMAIN}/`,i=t.indexOf(n),a=i!==-1,o=a?t.slice(i+n.length).split(`/`)[0]:void 0;return e.isDefault?a&&o?`${r.DOMAIN}/${o}`:`/`:a&&o?`${r.DOMAIN}/${o}/${encodeURIComponent(e.name)}`:`${r.CHANNEL}/${encodeURIComponent(e.name)}`}function y(r){let{mode:y=`renderer`,styles:b,events:x,...S}=r,C=g()??`/`,w=y===`editor`,T=S||_,E={...c,...T},[D,O]=f(!1),{isSticky:k,ref:A}=i(),[j,M]=f(!1),[N,P]=f(E.list),F=d(()=>E.list.find(e=>e.isDefault)?.name??null,[E.list]),I=d(()=>E.currentChannelId??F,[E.currentChannelId,F]);u(()=>{let e=s();P(e?.length?E.list.filter(t=>!e.includes(t.name)):E.list)},[E.list]);let L=e=>{P(e)},R=(e,t)=>{x?.onChannelChange?.(e,t)},z=b?e(b,{}):void 0;return u(()=>{let e=()=>{let e=window.scrollY??document.documentElement.scrollTop??0,t=window.innerHeight,n=document.documentElement.scrollHeight;M(e+t>=n-1)};return window.addEventListener(`scroll`,e,{passive:!0}),e(),()=>{window.removeEventListener(`scroll`,e)}},[]),h(p,{children:[k&&m(t,{className:`w-full h-11`}),m(t,{as:`nav`,ref:A,className:l(`w-full transition-all duration-200`,w&&`pointer-events-none`,!E.isFullfeed&&k&&`fixed top-0 left-0 right-0 z-50`,!E.isFullfeed&&!k&&j&&`fixed bottom-0 left-0 right-0 z-50`,E.isFullfeed&&`fixed top-[54px] left-0 z-10 w-full`,!E.isFullfeed&&`bg-bg1`),style:z,children:h(t,{className:`relative flex items-center h-[44px]`,children:[m(t,{className:`flex-1 overflow-x-auto overflow-y-hidden [&::-webkit-scrollbar]:hidden`,style:{scrollbarWidth:`none`,msOverflowStyle:`none`,WebkitOverflowScrolling:`touch`},children:m(t,{className:`flex items-center h-full pl-4 pr-4 gap-4`,children:N.map((e,t)=>{let r=I===e.name||I===null&&t===0;return m(n,{href:v(e,C),webviewNavMode:`spa`,className:l(`whitespace-nowrap cursor-pointer transition-all duration-200`,`flex items-center justify-center h-11`,`${r?`text-xl`:`text-base`}`),style:{fontWeight:r?`bold`:`normal`,color:r?`var(--color-theme5)`:`var(--color-text2)`},onClick:()=>R(e,t),children:e.name},e.name||`channel-${t}`)})})}),r.modifiable?m(t,{className:`flex items-center gap-[12px] px-[8px]`,children:m(t,{className:`flex items-center justify-center cursor-pointer w-7 h-8`,onClick:()=>{O(!0),x?.onFilterClick?.()},children:m(a,{className:`w-5 h-5`,style:{color:`var(--color-text1)`}})})}):null]})}),m(o,{open:D,onOpenChange:O,channels:E.list,currentChannelId:I,onChannelClick:R,onChannelsChange:L})]})}export{y as default};
2
+ "use client";import{mergeStyles as e}from"../../utils/styles/helpers.mjs";import{Box as t}from"../../../ui/box.mjs";import n from"../../../ui/link.mjs";import{urlPrefix as r}from"../../../../constants/url-prefix.mjs";import{useSticky as i}from"../../../../hooks/use-sticky.mjs";import a from"../../../../assets/icons/filter_dark.mjs";import o,{loadHiddenChannelIdsFromStorage as s}from"./channel-filter-dialog.mjs";import{defaultProps as c}from"./default-props.mjs";import{clsx as l}from"clsx";import{useEffect as u,useMemo as d,useState as f}from"react";import{Fragment as p,jsx as m,jsxs as h}from"react/jsx-runtime";import{usePathname as g}from"next/navigation";const _={};function v(e,t){let n=`${r.DOMAIN}/`,i=t.indexOf(n),a=i!==-1,o=a?t.slice(i+n.length).split(`/`)[0]:void 0;return e.isDefault?a&&o?`${r.DOMAIN}/${o}`:`/`:a&&o?`${r.DOMAIN}/${o}/${encodeURIComponent(e.name)}`:`${r.CHANNEL}/${encodeURIComponent(e.name)}`}function y(r){let{mode:y=`renderer`,styles:b,events:x,...S}=r,C=g()??`/`,w=y===`editor`,T=S||_,E={...c,...T},[D,O]=f(!1),{isSticky:k,ref:A}=i(),[j,M]=f(!1),[N,P]=f(E.list),F=d(()=>E.list.find(e=>e.isDefault)?.name??null,[E.list]),I=d(()=>E.currentChannelId??F,[E.currentChannelId,F]);u(()=>{let e=s();P(e?.length?E.list.filter(t=>!e.includes(t.name)):E.list)},[E.list]);let L=e=>{P(e)},R=(e,t)=>{x?.onChannelChange?.(e,t)},z=b?e(b,{}):void 0;return u(()=>{let e=()=>{let e=window.scrollY??document.documentElement.scrollTop??0,t=window.innerHeight,n=document.documentElement.scrollHeight;M(e+t>=n-1)};return window.addEventListener(`scroll`,e,{passive:!0}),e(),()=>{window.removeEventListener(`scroll`,e)}},[]),h(p,{children:[k&&m(t,{className:`w-full h-11`}),m(t,{as:`nav`,ref:A,className:l(`w-full transition-all duration-200`,w&&`pointer-events-none`,!E.isFullfeed&&`bg-bg1`),style:z,children:h(t,{className:`relative flex items-center h-[44px]`,children:[m(t,{className:`flex-1 overflow-x-auto overflow-y-hidden [&::-webkit-scrollbar]:hidden`,style:{scrollbarWidth:`none`,msOverflowStyle:`none`,WebkitOverflowScrolling:`touch`},children:m(t,{className:`flex items-center h-full pl-4 pr-4 gap-4`,children:N.map((e,t)=>{let r=I===e.name||I===null&&t===0;return m(n,{href:v(e,C),webviewNavMode:`spa`,className:l(`whitespace-nowrap cursor-pointer transition-all duration-200`,`flex items-center justify-center h-11`,`${r?`text-xl`:`text-base`}`),style:{fontWeight:r?`bold`:`normal`,color:r?`var(--color-theme5)`:`var(--color-text2)`},onClick:()=>R(e,t),children:e.name},e.name||`channel-${t}`)})})}),r.modifiable?m(t,{className:`flex items-center gap-[12px] px-[8px]`,children:m(t,{className:`flex items-center justify-center cursor-pointer w-7 h-8`,onClick:()=>{O(!0),x?.onFilterClick?.()},children:m(a,{className:`w-5 h-5`,style:{color:`var(--color-text1)`}})})}):null]})}),m(o,{open:D,onOpenChange:O,channels:E.list,currentChannelId:I,onChannelClick:R,onChannelsChange:L})]})}export{y as default};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{cn as e}from"../../../../../utils/cn.mjs";import{useFollowIdsState as t}from"../../../../../store/modules/follow-ids-store.mjs";import{useUserStore as n}from"../../../../../store/modules/user-store.mjs";import{followUser as r,unfollowUser as i}from"../../../../../utils/follow-service.mjs";import a from"../../../../../assets/icons/common/follow_sel.mjs";import o from"../../../../../assets/icons/common/follow_user.mjs";import{UnfollowConfirmDialog as s}from"../../../../common/follow-button/unfollow-confirm-dialog.mjs";import{useEffect as c,useState as l}from"react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{useTranslations as p}from"next-intl";function m({information:e,onUpdate:a}){let{userId:o,userInfo:p}=n(),m=o||p?.userId||``,g=e.author,_=e.up_user||g?.user_id||``,v=!!(m&&_&&m===_),[y,b]=l(!!e.is_followed),[x,S]=l(!1),[C,w]=l(!1);c(()=>{b(!!e.is_followed)},[e.id,e.is_followed]);async function T(){if(!_){console.warn(`用户信息不完整,无法执行关注操作`);return}w(!0);let e=!y;try{let n;if(n=e?await r({app_id:0,follower_id:m,followee_id:_}):await i({app_id:0,follower_id:m,followee_id:_}),n.success){b(e),a({is_followed:e});let{followIds:n,setFollowIds:r}=t.getState(),i=new Set(n);e?i.add(_):i.delete(_),r(Array.from(i))}else console.error(`关注操作失败:`,n.message)}catch(e){console.error(`关注操作异常:`,e)}finally{w(!1)}}function E(){if(!C){if(y){S(!0);return}T()}}function D(){S(!1),T()}function O(){S(!1)}return f(u,{children:[e.up_user&&_&&!v?d(h,{followed:y,loading:C,onToggle:E}):null,d(s,{open:x,onOpenChange:S,onCancel:O,onConfirm:D})]})}function h({followed:t,loading:n=!1,onToggle:r}){let i=p(`components.biz.business.detail`);return d(`button`,{type:`button`,disabled:n,className:e(`flex h-7 items-center rounded-full border border-solid px-3 text-xs font-medium transition-colors`,n&&`opacity-50 cursor-not-allowed`,t?`border-text3 text-text3`:`border-theme5 text-theme5`),onClick:r,children:t?f(u,{children:[d(a,{className:`w-[12px] h-[12px] text-text3 shrink-0`}),d(`span`,{className:`text-text3 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:i(`detailFollowAction.following`)})]}):f(u,{children:[d(o,{className:`block w-[12px] h-[12px] text-theme5 shrink-0`}),d(`span`,{className:`block text-theme5 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:i(`detailFollowAction.follow`)})]})})}export{m as DetailFollowAction};
2
+ "use client";import{cn as e}from"../../../../../utils/cn.mjs";import{useFollowIdsState as t}from"../../../../../store/modules/follow-ids-store.mjs";import{useUserStore as n}from"../../../../../store/modules/user-store.mjs";import{followUser as r,unfollowUser as i}from"../../../../../utils/follow-service.mjs";import{useLoginModalStore as a}from"../../../../../store/modules/login-modal-store.mjs";import o from"../../../../../assets/icons/common/follow_sel.mjs";import s from"../../../../../assets/icons/common/follow_user.mjs";import{UnfollowConfirmDialog as c}from"../../../../common/follow-button/unfollow-confirm-dialog.mjs";import{useEffect as l,useState as u}from"react";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";import{useTranslations as m}from"next-intl";function h({information:e,onUpdate:o}){let{isLogin:s,userId:m,userInfo:h}=n(),_=m||h?.userId||``,v=e.author,y=e.up_user||v?.user_id||``,b=!!(_&&y&&_===y),[x,S]=u(!!e.is_followed),[C,w]=u(!1),[T,E]=u(!1);l(()=>{S(!!e.is_followed)},[e.id,e.is_followed]);async function D(){if(!s||!_){a.getState().open();return}if(!y){console.warn(`用户信息不完整,无法执行关注操作`);return}E(!0);let e=!x;try{let n;if(n=e?await r({app_id:0,follower_id:_,followee_id:y}):await i({app_id:0,follower_id:_,followee_id:y}),n.success){S(e),o({is_followed:e});let{followIds:n,setFollowIds:r}=t.getState(),i=new Set(n);e?i.add(y):i.delete(y),r(Array.from(i))}else console.error(`关注操作失败:`,n.message)}catch(e){console.error(`关注操作异常:`,e)}finally{E(!1)}}function O(){if(!T){if(!s||!_){a.getState().open();return}if(x){w(!0);return}D()}}function k(){w(!1),D()}function A(){w(!1)}return p(d,{children:[e.up_user&&y&&!b?f(g,{followed:x,loading:T,onToggle:O}):null,f(c,{open:C,onOpenChange:w,onCancel:A,onConfirm:k})]})}function g({followed:t,loading:n=!1,onToggle:r}){let i=m(`components.biz.business.detail`);return f(`button`,{type:`button`,disabled:n,className:e(`flex h-7 items-center rounded-full border border-solid px-3 text-xs font-medium transition-colors`,n&&`opacity-50 cursor-not-allowed`,t?`border-text3 text-text3`:`border-theme5 text-theme5`),onClick:r,children:t?p(d,{children:[f(o,{className:`w-[12px] h-[12px] text-text3 shrink-0`}),f(`span`,{className:`text-text3 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:i(`detailFollowAction.following`)})]}):p(d,{children:[f(s,{className:`block w-[12px] h-[12px] text-theme5 shrink-0`}),f(`span`,{className:`block text-theme5 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:i(`detailFollowAction.follow`)})]})})}export{h as DetailFollowAction};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{gContentGetVideoDetail as e}from"../../../../../service/generated/client.mjs";import{useRouter as t}from"../../../../../utils/use-compatible-router.mjs";import{notifyBridgeEpisodeChanged as n}from"../../../../../utils/login-modal-bridge.mjs";import{useRequest as r}from"../../../../../hooks/query/use-query.mjs";import{useKeepAliveState as i}from"../../../../common/keep-scroll-position/index.mjs";import{createContext as a,use as o,useCallback as s,useEffect as c,useMemo as l}from"react";import{jsx as u}from"react/jsx-runtime";import{useParams as d}from"next/navigation";const f=a(void 0),p=`funhub:video-detail-episode-sync`;function m(e,t){let n=String(e||``).split(`/`).filter(Boolean),r=n.findIndex(e=>e===`video`||e===`webview`);return r<0?!1:n[r+1]===t}function h(e){let t=Math.floor(Number(e)||1);return t>0?t:1}function g(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(p,{detail:e}))}function _(e){return e.type===p&&e instanceof CustomEvent}function v(e,t){if(!(!e&&!t))return{information:e?.information??t?.information,currentSeriesNum:e?.currentSeriesNum??t?.currentSeriesNum,onEpisodeChange:e?.onEpisodeChange??t?.onEpisodeChange,onUpdateInformation:e?.onUpdateInformation??t?.onUpdateInformation,detailId:e?.detailId??t?.detailId,episodeIndex:e?.episodeIndex??t?.episodeIndex,resumeProgressSeconds:e?.resumeProgressSeconds??t?.resumeProgressSeconds,isShow:e?.isShow??t?.isShow,isWebView:e?.isWebView??t?.isWebView,isInformationLoading:e?.isInformationLoading??t?.isInformationLoading,isInformationResolved:e?.isInformationResolved??t?.isInformationResolved}}function y({value:e,children:t}){let n=o(f);return u(f,{value:l(()=>v(n,e)??e,[n,e]),children:t})}function b(){let e=o(f),t=x({enabled:e===void 0||e.onEpisodeChange===void 0||e.detailId===void 0||e.currentSeriesNum===void 0||e.episodeIndex===void 0||e.isInformationLoading===void 0||e.isInformationResolved===void 0,shouldRequestInformation:!e?.information});return l(()=>{let n=v(e,t);return n&&(e&&t&&e.onEpisodeChange===void 0?{...n,currentSeriesNum:t.currentSeriesNum??n.currentSeriesNum,episodeIndex:t.episodeIndex??n.episodeIndex,onEpisodeChange:t.onEpisodeChange??n.onEpisodeChange}:n)},[e,t])}function x(a){let{enabled:o,shouldRequestInformation:u}=a,f=d(),v=t(),y=f.level,b=Array.isArray(y)?y:typeof y==`string`?[y]:[],x=b[0]||``,S=b.findIndex(e=>e===`episode`),C=S>=0?b[S+1]:b[2],w=Math.max(1,Number(C)||1),[T,E]=i(`video-detail-material-series-num-${x}`,w);c(()=>{E(w)},[w,E]),c(()=>{if(!x||typeof window>`u`)return;let e=e=>{if(!_(e))return;let t=e.detail;if(!t||t.detailId!==x)return;let n=h(t.seriesNum);E(e=>e===n?e:n)};return window.addEventListener(p,e),()=>{window.removeEventListener(p,e)}},[x,E]);let D=s(e=>{if(!x)return;let t=h(e);E(t),g({detailId:x,seriesNum:t})},[x,E]),O=Math.max(1,Number(T)||1),k=Math.max(0,O-1),A=b[1]||``,j=typeof window<`u`&&window.isWebView===!0,{data:M,isPending:N,isFetching:P,isError:F,isSuccess:I}=r([`video-detail-material-fallback`,x],async()=>x?await e({id:x}):null,{enabled:o&&u&&!!x}),L=l(()=>{let e=M?.data?.video;if(!(!e||typeof e!=`object`))return{...e,content_type:1,episode_cnt:e.links?.length||0}},[M?.data?.video]),R=s(e=>{let t=Math.max(1,Math.floor(Number(e)||1));if(!x||typeof window>`u`)return;let r=`/video/${x}/${encodeURIComponent(A)}/episode/${t}`,{search:i,hash:a,pathname:o}=window.location,s=`${o}${i}${a}`,c=`${r}${i}${a}`,l=m(o,x);if(s!==c){j&&n({title:L?.title||``,detailId:x,seriesNum:t,nextPath:r}),l&&typeof window.history?.replaceState==`function`?(window.history.replaceState(window.history.state,``,c),D(t)):v.replace(c,{scroll:!1});return}O!==t&&D(t)},[O,x,L?.title,j,A,v,D]);if(o)return{information:L,currentSeriesNum:O,onEpisodeChange:R,detailId:x,episodeIndex:k,resumeProgressSeconds:0,isShow:!0,isWebView:j,isInformationLoading:u?!!x&&!L&&(N||P):!1,isInformationResolved:!x||!!L||!u||F||I}}export{y as VideoDetailMaterialRuntimeProvider,b as useVideoDetailMaterialRuntimeContext};
2
+ "use client";import{gContentGetVideoDetail as e}from"../../../../../service/generated/client.mjs";import{useRouter as t}from"../../../../../utils/use-compatible-router.mjs";import{buildVideoPlayerSrc as n}from"../../../../common/video-player/process-m3u8-cache.mjs";import{notifyBridgeEpisodeChanged as r}from"../../../../../utils/login-modal-bridge.mjs";import{useRequest as i}from"../../../../../hooks/query/use-query.mjs";import{useKeepAliveState as a}from"../../../../common/keep-scroll-position/index.mjs";import{createContext as o,use as s,useCallback as c,useEffect as l,useMemo as u}from"react";import{jsx as d}from"react/jsx-runtime";import{useParams as f}from"next/navigation";const p=o(void 0),m=`funhub:video-detail-episode-sync`;function h(e,t){let n=String(e||``).split(`/`).filter(Boolean),r=n.findIndex(e=>e===`video`||e===`webview`);return r<0?!1:n[r+1]===t}function g(e){let t=Math.floor(Number(e)||1);return t>0?t:1}function _(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(m,{detail:e}))}function v(e){return e.type===m&&e instanceof CustomEvent}function y(e,t){if(!(!e&&!t))return{information:e?.information??t?.information,currentSeriesNum:e?.currentSeriesNum??t?.currentSeriesNum,onEpisodeChange:e?.onEpisodeChange??t?.onEpisodeChange,onUpdateInformation:e?.onUpdateInformation??t?.onUpdateInformation,detailId:e?.detailId??t?.detailId,episodeIndex:e?.episodeIndex??t?.episodeIndex,resumeProgressSeconds:e?.resumeProgressSeconds??t?.resumeProgressSeconds,isShow:e?.isShow??t?.isShow,isWebView:e?.isWebView??t?.isWebView,isInformationLoading:e?.isInformationLoading??t?.isInformationLoading,isInformationResolved:e?.isInformationResolved??t?.isInformationResolved}}function b({value:e,children:t}){let n=s(p);return d(p,{value:u(()=>y(n,e)??e,[n,e]),children:t})}function x(){let e=s(p),t=e!==void 0&&e.onEpisodeChange===void 0,n=S({enabled:e===void 0||e.onEpisodeChange===void 0||e.detailId===void 0||e.currentSeriesNum===void 0||e.episodeIndex===void 0||e.isInformationLoading===void 0||e.isInformationResolved===void 0,shouldRequestInformation:t||!e?.information});return u(()=>{let r=y(e,n);return r&&(e&&n&&t?{...r,information:n.information??r.information,currentSeriesNum:n.currentSeriesNum??r.currentSeriesNum,episodeIndex:n.episodeIndex??r.episodeIndex,onEpisodeChange:n.onEpisodeChange??r.onEpisodeChange,isInformationLoading:n.isInformationLoading??r.isInformationLoading,isInformationResolved:n.isInformationResolved??r.isInformationResolved}:r)},[e,n,t])}function S(o){let{enabled:s,shouldRequestInformation:d}=o,p=f(),y=t(),b=p.level,x=Array.isArray(b)?b:typeof b==`string`?[b]:[],S=x[0]||``,C=x.findIndex(e=>e===`episode`),w=C>=0?x[C+1]:x[2],T=Math.max(1,Number(w)||1),[E,D]=a(`video-detail-material-series-num-${S}`,T);l(()=>{D(T)},[T,D]),l(()=>{if(!S||typeof window>`u`)return;let e=e=>{if(!v(e))return;let t=e.detail;if(!t||t.detailId!==S)return;let n=g(t.seriesNum);D(e=>e===n?e:n)};return window.addEventListener(m,e),()=>{window.removeEventListener(m,e)}},[S,D]);let O=c(e=>{if(!S)return;let t=g(e);D(t),_({detailId:S,seriesNum:t})},[S,D]),k=Math.max(1,Number(E)||1),A=Math.max(0,k-1),j=x[1]||``,M=typeof window<`u`&&window.isWebView===!0,{data:N,isPending:P,isFetching:F,isError:I,isSuccess:L}=i([`video-detail`,S],async()=>S?await e({id:S}):null,{enabled:s&&d&&!!S}),R=u(()=>{let e=N?.data?.video;if(!(!e||typeof e!=`object`))return{...e,content_type:1,episode_cnt:e.links?.length||0}},[N?.data?.video]),z=c(e=>{let t=Math.max(1,Math.floor(Number(e)||1));if(!S||typeof window>`u`)return;let i=`/${M?`webview`:`video`}/${S}/${encodeURIComponent(j)}/episode/${t}`,{search:a,hash:o,pathname:s}=window.location,c=`${s}${a}${o}`,l=`${i}${a}${o}`,u=h(s,S);if(c!==l){if(M){let e=R?.links?.[Math.max(0,t-1)],i=n(String(e?.m3u8_url||e?.preview_m3u8_url||``).trim());r({poster:String(R?.img_y||R?.img_x||R?.preview_images?.[0]||``).trim(),src:i,title:String(R?.title||R?.name||``).trim(),contentId:S,episode:t}),k!==t&&O(t);return}u&&typeof window.history?.replaceState==`function`?(window.history.replaceState(window.history.state,``,l),O(t)):y.replace(l,{scroll:!1});return}k!==t&&O(t)},[k,S,R?.img_x,R?.img_y,R?.links,R?.name,R?.preview_images,R?.title,M,j,y,O]);if(l(()=>{let e=Array.isArray(R?.links)?R.links.length:0;e<=0||k<=e||z(1)},[k,R?.links,z]),s)return{information:R,currentSeriesNum:k,onEpisodeChange:z,detailId:S,episodeIndex:A,resumeProgressSeconds:0,isShow:!0,isWebView:M,isInformationLoading:d?!!S&&!R&&(P||F):!1,isInformationResolved:!S||!!R||!d||I||L}}export{b as VideoDetailMaterialRuntimeProvider,x as useVideoDetailMaterialRuntimeContext};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{decryptImageToUint8Array as e}from"../../../../../utils/decrypt-image-client.mjs";import{gContentGetVideoDetail as t,pInteractionBrowse as n}from"../../../../../service/generated/client.mjs";import{uint8ArrayToBase64 as r}from"../../../../../utils/uint8.mjs";import{resolveM3u8Urls as i,resolveVideoPlayerSrc as a}from"../../../../common/video-player/process-m3u8-cache.mjs";import{batchQueryContentInteractions as o}from"../../../../../hooks/use-content-operate.mjs";import{useCallback as s,useEffect as c,useRef as l}from"react";import{usePathname as u}from"next/navigation";function d(e){let t=Math.floor(Number(e)||1);return t>0?t:1}function f(e){let t=typeof e==`string`?e:typeof window>`u`?``:window.location.pathname,n=String(t||``).split(`/`).filter(Boolean),r=n.findIndex(e=>e===`video`||e===`webview`);if(r<0)return{detailId:``,currentSeriesNum:1,episodeIndex:0};let i=n[r+1]||``;try{let e=decodeURIComponent(i),t=n.slice(r+1),a=t.findIndex(e=>e===`episode`),o=d(a>=0?t[a+1]:t[2]);return{detailId:e,currentSeriesNum:o,episodeIndex:Math.max(0,o-1)}}catch{let e=n.slice(r+1),t=e.findIndex(e=>e===`episode`),a=d(t>=0?e[t+1]:e[2]);return{detailId:i,currentSeriesNum:a,episodeIndex:Math.max(0,a-1)}}}function p(d){let{enabled:p=!0}=d,m=f(u()).detailId,h=l({detailId:``}),g=l(null);c(()=>{h.current={detailId:m},g.current=null},[m]);let _=s(async e=>{let n=String(e||``).trim();if(!n)return;if(h.current.detailId===n&&h.current.information)return h.current.information;if(g.current?.detailId===n)return await g.current.promise;let r=t({id:n}).then(e=>{let t=e?.data?.video;if(!t||typeof t!=`object`)return;let r={...t,content_type:1,episode_cnt:t.links?.length||0};return h.current={detailId:n,information:r},r});g.current={detailId:n,promise:r};try{return await r}finally{g.current?.detailId===n&&(g.current=null)}},[]),v=s(async()=>{let t;for(let e=0;e<2;e++){let e=f();if(t=await _(e.detailId),f().detailId===e.detailId)break}let n=f(),o=i(Array.isArray(t?.links)?t.links:[],n.currentSeriesNum),s=o[0]?await a(o[0]):``,c=t?.name||``,l=t?.img_y||t?.img_x||t?.preview_images?.[0]||``,u=``;if(l)try{let t=await e(l);t&&(u=r(t.bytes))}catch(e){console.warn(`[webview bridge] getVideoInfoAsync poster failed:`,e)}return{poster:u,src:s,title:c}},[_]),y=s(async()=>{let e=f();if(!e.detailId)return null;let t=await o([e.detailId],1);return t?.interaction_list?.[0]?t.interaction_list[0].browse_record:null},[]),b=s(async e=>{let t=f();if(!t.detailId)return;let r=e.browse_episode||t.currentSeriesNum,i=Date.now(),a=String(e.browse_key||i);try{await n({app_id:0,content_type:1,content_id:t.detailId,browse_duration:Number(e.browse_duration||0),browse_episode:String(r),browse_key:a,browse_page_ts:i})}catch(e){console.error(`上报播放进度失败:`,e)}},[]);c(()=>{if(!p||typeof window>`u`)return;let e=window;return e.getVideoInfoAsync=v,e.getVideoBrowseRecordAsync=y,e.reportVideoBrowse=b,()=>{e.getVideoInfoAsync===v&&delete e.getVideoInfoAsync,e.getVideoBrowseRecordAsync===y&&delete e.getVideoBrowseRecordAsync,e.reportVideoBrowse===b&&delete e.reportVideoBrowse}},[y,v,p,b])}export{p as useVideoDetailWebViewBridge};
2
+ "use client";import{decryptImageToUint8Array as e}from"../../../../../utils/decrypt-image-client.mjs";import{useUserStore as t}from"../../../../../store/modules/user-store.mjs";import{gContentGetVideoDetail as n,pInteractionBrowse as r}from"../../../../../service/generated/client.mjs";import{uint8ArrayToBase64 as i}from"../../../../../utils/uint8.mjs";import{resolveM3u8Urls as a,resolveVideoPlayerSrc as o}from"../../../../common/video-player/process-m3u8-cache.mjs";import{useLoginModalStore as s}from"../../../../../store/modules/login-modal-store.mjs";import{batchQueryContentInteractions as c}from"../../../../../hooks/use-content-operate.mjs";import{useCallback as l,useEffect as u,useRef as d}from"react";import{usePathname as f}from"next/navigation";import{useQueryClient as p}from"@tanstack/react-query";const m=new Map,h=new Map;function g(){if(typeof window>`u`)return!1;let e={open:!1};return window.dispatchEvent(new CustomEvent(`funhub:detail-series-popup-query`,{detail:e})),!!e.open}function _(){typeof window>`u`||window.dispatchEvent(new Event(`funhub:detail-series-popup-close`))}function v(e){let t=Math.floor(Number(e)||1);return t>0?t:1}function y(e){let t=typeof e==`string`?e:typeof window>`u`?``:window.location.pathname,n=String(t||``).split(`/`).filter(Boolean),r=n.findIndex(e=>e===`video`||e===`webview`);if(r<0)return{detailId:``,currentSeriesNum:1,episodeIndex:0};let i=n[r+1]||``;try{let e=decodeURIComponent(i),t=n.slice(r+1),a=t.findIndex(e=>e===`episode`),o=v(a>=0?t[a+1]:t[2]);return{detailId:e,currentSeriesNum:o,episodeIndex:Math.max(0,o-1)}}catch{let e=n.slice(r+1),t=e.findIndex(e=>e===`episode`),a=v(t>=0?e[t+1]:e[2]);return{detailId:i,currentSeriesNum:a,episodeIndex:Math.max(0,a-1)}}}function b(e){for(;e.size>5;){let t=e.keys().next().value;if(!t)break;e.delete(t)}}function x(e){let t=e,n=t?.data?.video||t?.video||t;if(!(!n||typeof n!=`object`))return{...n,content_type:1,episode_cnt:n.links?.length||0}}function S(e){let t=String(e||``).trim();return t?[[`video-detail`,t]]:[]}function C(v){let{enabled:C=!0}=v,w=p(),T=y(f()).detailId,E=d({detailId:``}),D=d(null),O=d(new Map),k=d(new Map);u(()=>{E.current={detailId:T},D.current=null},[T]);let A=l(async e=>{let t=String(e||``).trim();if(!t)return;if(E.current.detailId===t&&E.current.information)return E.current.information;let r=m.get(t);if(r)return E.current={detailId:t,information:r},r;let i=S(t).map(e=>w.getQueryData(e)).map(x).find(Boolean);if(i)return E.current={detailId:t,information:i},m.set(t,i),i;if(D.current?.detailId===t)return await D.current.promise;if(h.has(t)){let e=await h.get(t);return e&&(E.current={detailId:t,information:e}),e}let a=n({id:t}).then(e=>{let n=x(e);if(n)return E.current={detailId:t,information:n},m.set(t,n),n});D.current={detailId:t,promise:a},h.set(t,a);try{return await a}finally{D.current?.detailId===t&&(D.current=null),h.get(t)===a&&h.delete(t)}},[w]),j=l(async t=>{let n=String(t||``).trim();if(!n)return``;let r=O.current.get(n);if(r)return r;let a=k.current.get(n);if(a)return await a;let o=(async()=>{try{let t=await e(n);if(!t)return``;let r=i(t.bytes);return O.current.delete(n),O.current.set(n,r),b(O.current),r}catch{return``}finally{k.current.delete(n)}})();return k.current.set(n,o),await o},[]),M=l(async e=>{let t=String(e||``).trim();if(!t)return``;let n=j(t),r,i=new Promise(e=>{r=setTimeout(()=>{e(``)},150)}),a=await Promise.race([n,i]);return r!==void 0&&clearTimeout(r),a},[j]),N=l(async()=>{let e;for(let t=0;t<2;t++){let t=y();if(e=await A(t.detailId),y().detailId===t.detailId)break}let t=y(),n=a(Array.isArray(e?.links)?e.links:[],t.currentSeriesNum),r=n[0]?await o(n[0]):``,i=e?.name||``,s=String(t.detailId||``).trim(),c=t.currentSeriesNum;return{poster:await M(String(e?.img_y||e?.img_x||e?.preview_images?.[0]||``).trim()),src:r,title:i,contentId:s,episode:c}},[A,M]),P=l(async()=>{if(!t.getState().isLogin)return null;let e=y();if(!e.detailId)return null;let n=await c([e.detailId],1);return n?.interaction_list?.[0]?n.interaction_list[0].browse_record:null},[]),F=l(async e=>{if(!t.getState().isLogin)return;let n=y();if(!n.detailId)return;let i=e.browse_episode||n.currentSeriesNum,a=Date.now(),o=String(e.browse_key||a);try{await r({app_id:0,content_type:1,content_id:n.detailId,browse_duration:Number(e.browse_duration||0),browse_episode:String(i),browse_key:o,browse_page_ts:a})}catch{console.error(`上报播放进度失败`)}},[]),I=l(()=>{let e=s.getState(),t=!!e.isOpen,n=g();return!t&&!n?!0:(t&&e.close(),n&&_(),!1)},[]);u(()=>{if(!C||typeof window>`u`)return;let e=window;return e.getVideoInfoAsync=N,e.getVideoBrowseRecordAsync=P,e.reportVideoProgress=F,e.guardWebViewNavigation=I,()=>{e.getVideoInfoAsync===N&&delete e.getVideoInfoAsync,e.getVideoBrowseRecordAsync===P&&delete e.getVideoBrowseRecordAsync,e.reportVideoProgress===F&&delete e.reportVideoProgress,e.guardWebViewNavigation===I&&delete e.guardWebViewNavigation}},[P,N,I,C,F])}export{C as useVideoDetailWebViewBridge};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{useRequest as e}from"../../../../../hooks/query/use-query.mjs";import{batchQueryContentInteractions as t}from"../../../../../hooks/use-content-operate.mjs";import{DetailOperate as n}from"../shared/detail-operate.mjs";import{editorPreviewInformation as r}from"../shared/editor-preview.mjs";import{useVideoDetailMaterialRuntimeContext as i}from"../shared/runtime-context-provider.mjs";import{useCallback as a,useEffect as o,useRef as s,useState as c}from"react";import{jsx as l}from"react/jsx-runtime";function u({mode:u=`renderer`}){let d=i(),f=d?.information,p=d?.onUpdateInformation,m=!!d?.isWebView,h=u===`editor`,g=u===`renderer`,_=h,v=_?r:f,[y,b]=c(v),x=s(v),S=s(``);o(()=>{b(v)},[v]);let C=p?v:y;o(()=>{x.current=C},[C]);let w=g&&!m&&!!v?.id,{data:T}=e([`video-detail-actions-interaction`,v?.id],async()=>v?.id?await t([v.id],1):null,{enabled:w,staleTime:0,refetchOnMount:`always`,refetchOnWindowFocus:!1}),E=a(e=>{if(!_){if(p){p(e);return}b(t=>{if(!t)return t;let n=e.static?{...t.static||{},...e.static||{}}:t.static;return{...t,...e,static:n}})}},[p,_]);return o(()=>{let e=T?.interaction_list?.[0],t=x.current;if(!e||!t)return;let n=`${e.is_liked?1:0}-${e.is_disliked?1:0}-${e.is_collected?1:0}`;if(S.current===n)return;S.current=n;let r=e.is_liked||!1,i=e.is_disliked||!1,a=e.is_collected||!1,o=!!t.like,s=!!t.dislike,c=!!t.collect,l=t.static?.like_cnt,u=typeof l==`number`?l:Number(l||0),d=u;!r&&u>0?d=Math.max(0,u-1):o===r?r&&u===0&&(d=1):d=Math.max(0,u+(r?1:-1));let f=d!==u;o===r&&s===i&&c===a&&!f||E({like:r,dislike:i,collect:a,...f?{static:{...t.static||{},like_cnt:d}}:{}})},[E,T]),C?l(`div`,{className:_?`pointer-events-none`:void 0,children:l(n,{mode:u,information:C,onUpdate:E})}):null}export{u as VideoDetailActionsClient};
2
+ "use client";import{useRequest as e}from"../../../../../hooks/query/use-query.mjs";import{batchQueryContentInteractions as t}from"../../../../../hooks/use-content-operate.mjs";import{DetailOperate as n}from"../shared/detail-operate.mjs";import{editorPreviewInformation as r}from"../shared/editor-preview.mjs";import{useVideoDetailMaterialRuntimeContext as i}from"../shared/runtime-context-provider.mjs";import{useCallback as a,useEffect as o,useRef as s,useState as c}from"react";import{jsx as l}from"react/jsx-runtime";function u({mode:u=`renderer`}){let d=i(),f=d?.information,p=d?.onUpdateInformation,m=u===`editor`,h=u===`renderer`,g=m,_=g?r:f,[v,y]=c(_),b=s(_),x=s(``);o(()=>{y(_)},[_]);let S=p?_:v;o(()=>{b.current=S},[S]);let C=h&&!!_?.id,{data:w}=e([`video-detail-actions-interaction`,_?.id],async()=>_?.id?await t([_.id],1):null,{enabled:C,staleTime:0,refetchOnMount:`always`,refetchOnWindowFocus:!1}),T=a(e=>{if(!g){if(p){p(e);return}y(t=>{if(!t)return t;let n=e.static?{...t.static||{},...e.static||{}}:t.static;return{...t,...e,static:n}})}},[p,g]);return o(()=>{let e=w?.interaction_list?.[0],t=b.current;if(!e||!t)return;let n=`${e.is_liked?1:0}-${e.is_disliked?1:0}-${e.is_collected?1:0}`;if(x.current===n)return;x.current=n;let r=e.is_liked||!1,i=e.is_disliked||!1,a=e.is_collected||!1,o=!!t.like,s=!!t.dislike,c=!!t.collect,l=t.static?.like_cnt,u=typeof l==`number`?l:Number(l||0),d=u;!r&&u>0?d=Math.max(0,u-1):o===r?r&&u===0&&(d=1):d=Math.max(0,u+(r?1:-1));let f=d!==u;o===r&&s===i&&c===a&&!f||T({like:r,dislike:i,collect:a,...f?{static:{...t.static||{},like_cnt:d}}:{}})},[T,w]),S?l(`div`,{className:g?`pointer-events-none`:void 0,children:l(n,{mode:u,information:S,onUpdate:T})}):null}export{u as VideoDetailActionsClient};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{pContentGetPopularVideoList as e}from"../../../../../service/generated/client.mjs";import{useRouter as t}from"../../../../../utils/use-compatible-router.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 a from"../../../../ui/loading.mjs";import{useGridFirstRowHeight as o,useWaterfallFirstRowHeight as s}from"../../../../../hooks/use-first-row-height.mjs";import{useMinDurationLoading as c}from"../../../../../hooks/use-min-duration-loading.mjs";import l from"../../../../../assets/icons/detail/video_flag.mjs";import{FeedAdBadge as u,getFeedAdJumpUrl as ee,isFeedAdItem as d}from"../../advertisement/feed-ad/index.mjs";import{MiniThreeCard as te}from"../../../../common/cards/mini-three-card.mjs";import{HOME_RECOMMEND_DEFAULT_GRID_COLUMNS as ne,HOME_RECOMMEND_DEFAULT_GRID_ROWS as f,HOME_RECOMMEND_DEFAULT_PLAY_COUNT_DELTA as re,HOME_RECOMMEND_DEFAULT_SHOW_EPISODE as p,HOME_RECOMMEND_DEFAULT_SHOW_PLAY_COUNT as ie,HOME_RECOMMEND_MAX_GRID_COLUMNS as m,HOME_RECOMMEND_MAX_GRID_ROWS as ae}from"./home-recommend-default-config.mjs";import{HOME_RECOMMEND_CARD_CONFIG_FIELD as h}from"./home-recommend-preview.mjs";import{enrichHomeRecommendItemsWithVideoDetails as oe}from"./home-recommend-video-detail.mjs";import{useCallback as g,useEffect as _,useLayoutEffect as se,useMemo as v,useRef as y,useState as b}from"react";import{jsx as x,jsxs as S}from"react/jsx-runtime";const ce={},le={list:[]};function ue({variant:n,props:l=ce,data:u=le,mode:ee=`renderer`}){let d=ee===`editor`,te=t(),{list:h,title:ue,cursor:w}=u,T=v(()=>Array.isArray(h)?h:[],[h]),E=v(()=>Array.isArray(u.icons)?u.icons:[],[u.icons]),{rows:me,columns:he,moreLink:ge,title:D,smartTagEnabled:_e,smartTagIds:O,catId:k,showPlayCount:ve,playCountDelta:be,showEpisode:xe,enableInfinite:Se,items:j}=l,M=_e===!0,N=Se===!0&&M,P=!d&&N&&T.length>=16,F=v(()=>Array.isArray(O)?O.map(e=>String(e||``).trim()).filter(Boolean):[],[O]),I=typeof k==`string`?k.trim():``,L=v(()=>M||!Array.isArray(j)?``:j.map(e=>String(e?.contentId||``).trim()).filter(Boolean).join(`,`),[M,j]),[Ce,we]=b(0),[R,z]=b(T),[Te,Ee]=b(E),[B,V]=b(()=>typeof w==`string`?w:void 0),[H,De]=b(!1),U=y(null),Oe=y(null),W=y(null),ke=y([]),G=y({left:null,right:null}),Ae=y(!1),je=y(``),{isLoading:Me,show:Ne,hide:Pe}=c(600),Fe=fe(me,f,ae),K=fe(he,ne,m),q=N?16:n===`grid`?Fe*K:16,J=v(()=>[n,M?`smart`:`manual:${L}`,F.join(`,`),I,String(q)].join(`|`),[M,L,I,q,F,n]);_(()=>{je.current!==J&&(z(T),Ee(E),V(typeof w==`string`?w:void 0))},[w,E,T,J]);let Ie=Fe*K,Le=d&&n===`grid`,Y=Le?R.slice(0,Ie):R,Re=Le?Te.slice(0,Ie):Te,ze=n===`waterfall`?6:4,X=Y.length>0?Math.max(0,Y.length-ze):-1,Be=!!B,Ve=D&&D.trim()||ue||``,He=ve??ie,Ue=Number(be??re),We=xe??p,Ge=!N,Z=Ge?de(ge):``,Ke=Ge&&!!Z,qe=o({enabled:!d&&n===`grid`,containerRef:Oe,firstRowItemRef:ke,columns:K,itemsCount:Y.length,deps:[n]}),Je=s({enabled:!d&&n===`waterfall`,containerRef:U,firstRowRef:G,deps:[n,Y.length]}),Ye=n===`grid`?qe:Je,Xe=g(async()=>{if(!d&&je.current!==J&&(je.current=J,M||L))try{if(Ne(),!M){if(!L)return;z(await oe(R));return}let t=await e({page_size:q,tags:F.length>0?F:void 0,cat_id:I||void 0},{cache:`no-store`}),n=Array.isArray(t.data?.videos)?t.data.videos:[],r=t.data?.cursor;z(n),V(r)}catch(e){console.error(`推荐位刷新首屏失败(client)`,e)}finally{Pe()}},[Pe,d,M,L,J,I,q,F,R,Ne]);_(()=>{Xe()},[Xe]);let Ze=g(async()=>{let t=B;if(!(!P||!t||Ae.current)){Ae.current=!0,De(!0);try{let n=await e({cursor:t,page_size:q,tags:F.length>0?F:void 0,cat_id:I||void 0}),r=Array.isArray(n.data?.videos)?n.data.videos:[],i=n.data?.cursor;r.length>0&&z(e=>e.concat(r)),V(e=>{if(!(!r.length||!i))return i===e?void 0:i})}catch(e){console.error(`推荐位加载下一页失败(client)`,e),V(void 0)}finally{Ae.current=!1,De(!1)}}},[B,I,q,F,P]),Qe=g(()=>{if(Z){if(Z.startsWith(`http`)){window.location.href=Z;return}te.push(Z)}},[Z,te]);_(()=>{let e=W.current;if(!e||!P||!Be)return;let t=new IntersectionObserver(e=>{!e[0]?.isIntersecting||H||Ze()},{root:null,threshold:0});return t.observe(e),()=>{t.disconnect()}},[Ze,Be,H,Y.length,q,P,X]),se(()=>{let e=U.current;if(!e||n!==`waterfall`)return;let t=()=>{let t=e.clientWidth||0;we(t>0?(t-12)/2:0)};t();let r=new ResizeObserver(t);return r.observe(e),()=>{r.disconnect()}},[n]);let Q=v(()=>n===`waterfall`?ye(Y,Re,Ce):{left:[],right:[]},[Ce,Re,Y,n]);if(_(()=>{n===`waterfall`&&(Q.left.length||(G.current.left=null),Q.right.length||(G.current.right=null))},[n,Q.left.length,Q.right.length]),!Y.length)return null;let $=!d&&Me,$e=!d&&H,et=Ye>0?Ye/2:160;return S(r,{className:`w-full mt-[16px]`,children:[S(r,{className:`flex items-center justify-between px-[12px] mb-[8px]`,children:[x(i,{className:`flex-1 min-w-0 text-text1 text-[18px] leading-[26px] font-bold line-clamp-1`,children:Ve}),Ke&&x(i,{className:`text-text3 text-[12px] leading-[18px] cursor-pointer`,onClick:Qe,children:`更多`})]}),n===`grid`&&S(r,{ref:Oe,className:`w-full flex flex-wrap px-[12px] relative`,children:[Y.map((e,t)=>{let r=Re[t],i=pe(e),a=He&&(i?.showPlayCount??!0),o=i?.playCountDelta??Ue,s=i?.showEpisode??We,c=t%K,l=K>1?{paddingLeft:12*c/K,paddingRight:12*(K-c-1)/K}:void 0;return x(`div`,{ref:e=>{t===X&&(W.current=e),t<K&&(ke.current[t]=e)},className:`min-w-0`,style:{width:`${100/K}%`,...l||{}},children:x(C,{variant:n,item:e,icon:r,index:t,showPlayCount:a,playCountDelta:o,showEpisode:s,widthStyle:{width:`100%`}})},A(e,t))}),$&&x(r,{className:`absolute inset-0 z-10 bg-black/15 backdrop-blur-[1px] dark:bg-white/10`,"aria-hidden":!0}),$&&x(r,{className:`absolute left-1/2 -translate-x-1/2 -translate-y-1/2 z-20 pointer-events-none`,style:{top:et},"aria-hidden":!0,children:x(a,{size:`large`,showLabel:!1,className:`text-theme5`})})]}),n===`waterfall`&&S(r,{ref:U,className:`w-full px-[12px] flex gap-[12px] relative`,children:[x(r,{className:`flex-1 min-w-0 flex flex-col`,children:Q.left.map((e,t)=>{let r=pe(e.item),i=He&&(r?.showPlayCount??!0),a=r?.playCountDelta??Ue,o=r?.showEpisode??We;return x(`div`,{ref:n=>{e.index===X&&(W.current=n),t===0&&(G.current.left=n)},children:x(C,{variant:n,item:e.item,icon:e.icon,index:e.index,showPlayCount:i,playCountDelta:a,showEpisode:o,widthStyle:{width:`100%`}})},A(e.item,e.index))})}),x(r,{className:`flex-1 min-w-0 flex flex-col`,children:Q.right.map((e,t)=>{let r=pe(e.item),i=He&&(r?.showPlayCount??!0),a=r?.playCountDelta??Ue,o=r?.showEpisode??We;return x(`div`,{ref:n=>{e.index===X&&(W.current=n),t===0&&(G.current.right=n)},children:x(C,{variant:n,item:e.item,icon:e.icon,index:e.index,showPlayCount:i,playCountDelta:a,showEpisode:o,widthStyle:{width:`100%`}})},A(e.item,e.index))})}),$&&x(r,{className:`absolute inset-0 z-10 bg-black/15 backdrop-blur-[1px] dark:bg-white/10`,"aria-hidden":!0}),$&&x(r,{className:`absolute left-1/2 -translate-x-1/2 -translate-y-1/2 z-20 pointer-events-none`,style:{top:et},"aria-hidden":!0,children:x(a,{size:`large`,showLabel:!1,className:`text-theme5`})})]}),$e&&x(r,{className:`w-full flex justify-center py-[12px]`,children:x(a,{size:`medium`,showLabel:!1,className:`text-theme5`})})]})}function C({variant:e,item:t,icon:n,index:a,showPlayCount:o,playCountDelta:s,showEpisode:c,widthStyle:ne}){let f=d(t),re=E(t),p=t.name||t?.title||``,ie=D(_e(t.static?.browse_cnt??0,s)),m=he(t,c),ae=ve(t,n,a),h=f?ee(t):T(t);return x(te,{url:re,text:p,className:`w-full`,style:ne,topRightChild:ae?x(w,{url:ae}):void 0,bottomLeftChild:f?x(u,{}):o&&!f?S(r,{className:`h-[20px] leading-[20px] text-[#fff] text-[12px] px-[4px] py-0 rounded-[4px] bg-[rgba(255,255,255,0.1)] ml-[4px] flex items-center gap-[4px]`,children:[x(l,{className:`w-[12px] h-[12px] text-[#fff] shrink-0`}),ie]}):null,bottomRightChild:c&&!f?m&&x(i,{className:`text-[#fff] text-[12px] leading-[18px] pr-2`,children:m}):null,textChild:x(r,{className:`py-[4px]`,children:x(i,{as:`h3`,className:`text-text1 text-[16px] leading-[24px] ${e===`waterfall`?`break-words line-clamp-3`:`line-clamp-1`}`,children:p})}),linkPath:h})}function w({url:e}){return x(r,{className:`relative w-[40px] h-[20px]`,children:x(n,{src:e,alt:`corner`,width:40,height:20,className:`w-full h-auto`})})}function T(e){let t=encodeURIComponent(e.name||``);return`/video/${e.id||``}/${t}/episode/1`}function de(e){return e?e.trim():``}function fe(e,t,n){let r=Number(e);return!Number.isFinite(r)||r<=0?t:Math.min(n,Math.floor(r))}function pe(e){return e[h]}function E(e){return e.img_y||e.img_x||e?.coverUrl}function me(e){return typeof e==`string`?e:``}function he(e,t){if(!t)return``;if(ge(e)){let t=e.update_status===`0`,n=Number(e.episode_cnt||e.links?.length||0);return n>0?`${t?`更新至`:`全`}${n}集`:``}return k(Number(e.duration||0))}function ge(e){if(Number(e.type??0)===2)return!0;let t=Number(e.episode_cnt||e.links?.length||0);return Number.isFinite(t)&&t>1}function D(e){return!Number.isFinite(e)||e<=0?`0`:e>=1e6?`${O(e/1e6)}M`:e>=1e3?`${O(e/1e3)}k`:Math.floor(e).toString()}function _e(e,t){let n=Number(e||0),r=Number(t||0);return!Number.isFinite(n)||!Number.isFinite(r)?0:Math.max(0,n+r)}function O(e){let t=e.toFixed(1);return t.endsWith(`.0`)?t.slice(0,-2):t}function k(e){if(!Number.isFinite(e)||e<=0)return``;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`}function ve(e,t,n){return me(e.badge_url)||me(t?.material_url)||``}function ye(e,t,n){let r=[],i=[],a=n<=0,o=0,s=0;return e.forEach((e,c)=>{let l=t[c];if(a){c%2==0?r.push({item:e,icon:l,index:c}):i.push({item:e,icon:l,index:c});return}let u=be(n,e);o<=s?(r.push({item:e,icon:l,index:c}),o+=u):(i.push({item:e,icon:l,index:c}),s+=u)}),{left:r,right:i}}function be(e,t){if(!e)return 0;let n=e*1.3461538461538463,r=he(t,!0)?18:0;return n+20+r+6+16}function A(e,t){return e.id?`home-recommend-${e.id}`:`home-recommend-${t}`}export{ue as default};
2
+ "use client";import{pContentGetPopularVideoList as e}from"../../../../../service/generated/client.mjs";import{useRouter as t}from"../../../../../utils/use-compatible-router.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 a from"../../../../ui/loading.mjs";import{useGridFirstRowHeight as o,useWaterfallFirstRowHeight as s}from"../../../../../hooks/use-first-row-height.mjs";import{useMinDurationLoading as c}from"../../../../../hooks/use-min-duration-loading.mjs";import l from"../../../../../assets/icons/detail/video_flag.mjs";import{MiniThreeCard as u}from"../../../../common/cards/mini-three-card.mjs";import{HOME_RECOMMEND_DEFAULT_GRID_COLUMNS as ee,HOME_RECOMMEND_DEFAULT_GRID_ROWS as te,HOME_RECOMMEND_DEFAULT_PLAY_COUNT_DELTA as d,HOME_RECOMMEND_DEFAULT_SHOW_EPISODE as ne,HOME_RECOMMEND_DEFAULT_SHOW_PLAY_COUNT as f,HOME_RECOMMEND_MAX_GRID_COLUMNS as re,HOME_RECOMMEND_MAX_GRID_ROWS as ie}from"./home-recommend-default-config.mjs";import{HOME_RECOMMEND_CARD_CONFIG_FIELD as ae}from"./home-recommend-preview.mjs";import{enrichHomeRecommendItemsWithVideoDetails as oe}from"./home-recommend-video-detail.mjs";import{useCallback as p,useEffect as m,useLayoutEffect as se,useMemo as h,useRef as g,useState as _}from"react";import{jsx as v,jsxs as y}from"react/jsx-runtime";const ce={},le={list:[]},ue=new Map;function b({variant:n,props:l=ce,data:u=le,mode:ae=`renderer`}){let b=ae===`editor`,S=t(),{list:C,title:me,cursor:w}=u,T=h(()=>Array.isArray(C)?C:[],[C]),E=h(()=>Array.isArray(u.icons)?u.icons:[],[u.icons]),{rows:he,columns:ge,moreLink:_e,title:D,smartTagEnabled:ve,smartTagIds:O,catId:be,showPlayCount:xe,playCountDelta:Se,showEpisode:Ce,enableInfinite:we,items:A}=l,j=ve===!0,M=we===!0&&j,N=!b&&M&&T.length>=16,P=h(()=>Array.isArray(O)?O.map(e=>String(e||``).trim()).filter(Boolean):[],[O]),F=typeof be==`string`?be.trim():``,I=h(()=>j||!Array.isArray(A)?``:A.map(e=>String(e?.contentId||``).trim()).filter(Boolean).join(`,`),[j,A]),[Te,Ee]=_(0),[L,R]=_(T),[z,De]=_(E),[B,V]=_(()=>typeof w==`string`?w:void 0),[H,Oe]=_(!1),ke=g(null),Ae=g(null),U=g(null),je=g([]),W=g({left:null,right:null}),Me=g(!1),G=g(``),{isLoading:Ne,show:Pe,hide:Fe}=c(600),Ie=fe(he,te,ie),K=fe(ge,ee,re),q=M?16:n===`grid`?Ie*K:16,J=h(()=>[n,j?`smart`:`manual:${I}`,P.join(`,`),F,String(q)].join(`|`),[j,I,F,q,P,n]);m(()=>{let e=ue.get(J);if(e){R(e.items),De(e.icons),V(e.cursor),G.current=J;return}G.current!==J&&(R(T),De(E),V(typeof w==`string`?w:void 0))},[w,E,T,J]),m(()=>{b||ue.set(J,{items:L,icons:z,cursor:B})},[b,B,J,z,L]);let Le=Ie*K,Re=b&&n===`grid`,Y=Re?L.slice(0,Le):L,ze=Re?z.slice(0,Le):z,Be=n===`waterfall`?6:4,X=Y.length>0?Math.max(0,Y.length-Be):-1,Ve=!!B,He=D&&D.trim()||me||``,Ue=xe??f,We=Number(Se??d),Ge=Ce??ne,Ke=!M,Z=Ke?de(_e):``,qe=Ke&&!!Z,Je=o({enabled:!b&&n===`grid`,containerRef:Ae,firstRowItemRef:je,columns:K,itemsCount:Y.length,deps:[n]}),Ye=s({enabled:!b&&n===`waterfall`,containerRef:ke,firstRowRef:W,deps:[n,Y.length]}),Xe=n===`grid`?Je:Ye,Ze=p(async()=>{if(b)return;if(G.current===J){G.current=J;return}let t=j||!!I;if(G.current=J,t)try{if(Pe(),!j){if(!I)return;R(await oe(L));return}let t=await e({page_size:q,tags:P.length>0?P:void 0,cat_id:F||void 0},{cache:`no-store`}),n=Array.isArray(t.data?.videos)?t.data.videos:[],r=t.data?.cursor;R(n),V(r)}catch(e){console.error(`推荐位刷新首屏失败(client)`,e)}finally{Fe()}},[Fe,b,j,I,J,F,q,P,L,Pe]);m(()=>{Ze()},[Ze]);let Qe=p(async()=>{let t=B;if(!(!N||!t||Me.current)){Me.current=!0,Oe(!0);try{let n=await e({cursor:t,page_size:q,tags:P.length>0?P:void 0,cat_id:F||void 0}),r=Array.isArray(n.data?.videos)?n.data.videos:[],i=n.data?.cursor;r.length>0&&R(e=>e.concat(r)),V(e=>{if(!(!r.length||!i))return i===e?void 0:i})}catch(e){console.error(`推荐位加载下一页失败(client)`,e),V(void 0)}finally{Me.current=!1,Oe(!1)}}},[B,F,q,P,N]),$e=p(()=>{if(Z){if(Z.startsWith(`http`)){window.location.href=Z;return}S.push(Z)}},[Z,S]);m(()=>{let e=U.current;if(!e||!N||!Ve)return;let t=new IntersectionObserver(e=>{!e[0]?.isIntersecting||H||Qe()},{root:null,threshold:0});return t.observe(e),()=>{t.disconnect()}},[Qe,Ve,H,Y.length,q,N,X]),se(()=>{let e=ke.current;if(!e||n!==`waterfall`)return;let t=()=>{let t=e.clientWidth||0;Ee(t>0?(t-12)/2:0)};t();let r=new ResizeObserver(t);return r.observe(e),()=>{r.disconnect()}},[n]);let Q=h(()=>n===`waterfall`?ye(Y,ze,Te):{left:[],right:[]},[Te,ze,Y,n]);if(m(()=>{n===`waterfall`&&(Q.left.length||(W.current.left=null),Q.right.length||(W.current.right=null))},[n,Q.left.length,Q.right.length]),!Y.length)return null;let $=!b&&Ne,et=!b&&H,tt=Xe>0?Xe/2:160;return y(r,{className:`w-full mt-[16px]`,children:[y(r,{className:`flex items-center justify-between px-[12px] mb-[8px]`,children:[v(i,{className:`flex-1 min-w-0 text-text1 text-[18px] leading-[26px] font-bold line-clamp-1`,children:He}),qe&&v(i,{className:`text-text3 text-[12px] leading-[18px] cursor-pointer`,onClick:$e,children:`更多`})]}),n===`grid`&&y(r,{ref:Ae,className:`w-full flex flex-wrap px-[12px] relative`,children:[Y.map((e,t)=>{let r=ze[t],i=pe(e),a=Ue&&(i?.showPlayCount??!0),o=i?.playCountDelta??We,s=i?.showEpisode??Ge,c=t%K,l=K>1?{paddingLeft:12*c/K,paddingRight:12*(K-c-1)/K}:void 0;return v(`div`,{ref:e=>{t===X&&(U.current=e),t<K&&(je.current[t]=e)},className:`min-w-0`,style:{width:`${100/K}%`,...l||{}},children:v(x,{variant:n,item:e,icon:r,index:t,showPlayCount:a,playCountDelta:o,showEpisode:s,widthStyle:{width:`100%`}})},k(e,t))}),$&&v(r,{className:`absolute inset-0 z-10 bg-black/15 backdrop-blur-[1px] dark:bg-white/10`,"aria-hidden":!0}),$&&v(r,{className:`absolute left-1/2 -translate-x-1/2 -translate-y-1/2 z-20 pointer-events-none`,style:{top:tt},"aria-hidden":!0,children:v(a,{size:`large`,showLabel:!1,className:`text-theme5`})})]}),n===`waterfall`&&y(r,{ref:ke,className:`w-full px-[12px] flex gap-[12px] relative`,children:[v(r,{className:`flex-1 min-w-0 flex flex-col`,children:Q.left.map((e,t)=>{let r=pe(e.item),i=Ue&&(r?.showPlayCount??!0),a=r?.playCountDelta??We,o=r?.showEpisode??Ge;return v(`div`,{ref:n=>{e.index===X&&(U.current=n),t===0&&(W.current.left=n)},children:v(x,{variant:n,item:e.item,icon:e.icon,index:e.index,showPlayCount:i,playCountDelta:a,showEpisode:o,widthStyle:{width:`100%`}})},k(e.item,e.index))})}),v(r,{className:`flex-1 min-w-0 flex flex-col`,children:Q.right.map((e,t)=>{let r=pe(e.item),i=Ue&&(r?.showPlayCount??!0),a=r?.playCountDelta??We,o=r?.showEpisode??Ge;return v(`div`,{ref:n=>{e.index===X&&(U.current=n),t===0&&(W.current.right=n)},children:v(x,{variant:n,item:e.item,icon:e.icon,index:e.index,showPlayCount:i,playCountDelta:a,showEpisode:o,widthStyle:{width:`100%`}})},k(e.item,e.index))})}),$&&v(r,{className:`absolute inset-0 z-10 bg-black/15 backdrop-blur-[1px] dark:bg-white/10`,"aria-hidden":!0}),$&&v(r,{className:`absolute left-1/2 -translate-x-1/2 -translate-y-1/2 z-20 pointer-events-none`,style:{top:tt},"aria-hidden":!0,children:v(a,{size:`large`,showLabel:!1,className:`text-theme5`})})]}),et&&v(r,{className:`w-full flex justify-center py-[12px]`,children:v(a,{size:`medium`,showLabel:!1,className:`text-theme5`})})]})}function x({variant:e,item:t,icon:n,index:a,showPlayCount:o,playCountDelta:s,showEpisode:c,widthStyle:ee}){let te=me(t),d=t.name||t?.title||``,ne=he(ge(t.static?.browse_cnt??0,s)),f=T(t,c),re=ve(t,n,a);return v(u,{url:te,text:d,className:`w-full`,style:ee,topRightChild:re?v(S,{url:re}):void 0,bottomLeftChild:o?y(r,{className:`h-[20px] leading-[20px] text-[#fff] text-[12px] px-[4px] py-0 rounded-[4px] bg-[rgba(255,255,255,0.1)] ml-[4px] flex items-center gap-[4px]`,children:[v(l,{className:`w-[12px] h-[12px] text-[#fff] shrink-0`}),ne]}):null,bottomRightChild:c?f&&v(i,{className:`text-[#fff] text-[12px] leading-[18px] pr-2`,children:f}):null,textChild:v(r,{className:`py-[4px]`,children:v(i,{as:`h3`,className:`text-text1 text-[16px] leading-[24px] ${e===`waterfall`?`break-words line-clamp-3`:`line-clamp-1`}`,children:d})}),linkPath:C(t)})}function S({url:e}){return v(r,{className:`relative w-[40px] h-[20px]`,children:v(n,{src:e,alt:`corner`,width:40,height:20,className:`w-full h-auto`})})}function C(e){let t=encodeURIComponent(e.name||``);return`/video/${e.id||``}/${t}/episode/1`}function de(e){return e?e.trim():``}function fe(e,t,n){let r=Number(e);return!Number.isFinite(r)||r<=0?t:Math.min(n,Math.floor(r))}function pe(e){return e[ae]}function me(e){return e.img_y||e.img_x||e?.coverUrl}function w(e){return typeof e==`string`?e:``}function T(e,t){if(!t)return``;if(E(e)){let t=e.update_status===`0`,n=Number(e.episode_cnt||e.links?.length||0);return n>0?`${t?`更新至`:`全`}${n}集`:``}return D(Number(e.duration||0))}function E(e){if(Number(e.type??0)===2)return!0;let t=Number(e.episode_cnt||e.links?.length||0);return Number.isFinite(t)&&t>1}function he(e){return!Number.isFinite(e)||e<=0?`0`:e>=1e6?`${_e(e/1e6)}M`:e>=1e3?`${_e(e/1e3)}k`:Math.floor(e).toString()}function ge(e,t){let n=Number(e||0),r=Number(t||0);return!Number.isFinite(n)||!Number.isFinite(r)?0:Math.max(0,n+r)}function _e(e){let t=e.toFixed(1);return t.endsWith(`.0`)?t.slice(0,-2):t}function D(e){if(!Number.isFinite(e)||e<=0)return``;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`}function ve(e,t,n){return w(e.badge_url)||w(t?.material_url)||``}function ye(e,t,n){let r=[],i=[],a=n<=0,o=0,s=0;return e.forEach((e,c)=>{let l=t[c];if(a){c%2==0?r.push({item:e,icon:l,index:c}):i.push({item:e,icon:l,index:c});return}let u=O(n,e);o<=s?(r.push({item:e,icon:l,index:c}),o+=u):(i.push({item:e,icon:l,index:c}),s+=u)}),{left:r,right:i}}function O(e,t){if(!e)return 0;let n=e*1.3461538461538463,r=T(t,!0)?18:0;return n+20+r+6+16}function k(e,t){return e.id?`home-recommend-${e.id}`:`home-recommend-${t}`}export{b as default};
@@ -2,28 +2,6 @@
2
2
  import { defaultProps } from "../basics/fullscreen-feed/defaults/default-props.mjs";
3
3
  import { FullscreenFeedClient } from "../basics/fullscreen-feed/runtime/client.mjs";
4
4
  import { schema } from "../basics/fullscreen-feed/schema/index.mjs";
5
- import { BannerAdInspectorProps, BannerAdItem, BannerAdProps, BannerAdStyleSize, bannerAdInspectorDefaultProps, bannerAdInspectorPropsSchema, bannerAdStyleSizeOptions } from "./advertisement/banner-ad/schema.mjs";
6
- import { FloatingAdEditableProps, FloatingAdInspectorProps, FloatingAdItem, FloatingAdProps, floatingAdInspectorDefaultProps, floatingAdInspectorPropsSchema } from "./advertisement/floating-ad/schema.mjs";
7
- import { IconAdInspectorProps, IconAdItem, IconAdProps, iconAdInspectorDefaultProps, iconAdInspectorPropsSchema } from "./advertisement/icon-ad/schema.mjs";
8
- import { TextAdInspectorProps, TextAdItem, TextAdProps, textAdInspectorDefaultProps, textAdInspectorPropsSchema } from "./advertisement/text-ad/schema.mjs";
9
- import { AdsMatchExtData, adaptBannerAdProps, adaptFloatingAdItem, adaptIconAdProps, adaptPopupAdMaterials, adaptTextAdProps, buildAdsMatchRequest, getFirstMatchedMaterial, hasMatchedAds, parseAdsMatchExtData, resolveAdsAppCode, sortAdsMatchMaterials } from "./advertisement/ad-match.mjs";
10
- import { AdProvider, AdProviderProps, AdProviderValue, useAdProvider } from "./advertisement/ad-provider.mjs";
11
- import { AdsMatchQueryOptions, createAdsMatchPrefetchItem, createAdsMatchQueryFn, getAdsMatchQueryKey } from "./advertisement/ad-query.mjs";
12
- import { AdRuntimeProvider, AdRuntimeProviderProps } from "./advertisement/ad-runtime-provider.mjs";
13
- import { BannerAd } from "./advertisement/banner-ad/client.mjs";
14
- import { BannerAdServer } from "./advertisement/banner-ad/server.mjs";
15
- import { bannerAdMaterial } from "./advertisement/banner-ad/material.mjs";
16
- import { FeedAdBadge, FeedAdItemLike, getFeedAdIcon, getFeedAdJumpUrl, isFeedAdItem } from "./advertisement/feed-ad/index.mjs";
17
- import { FloatingAd } from "./advertisement/floating-ad/client.mjs";
18
- import { FloatingAdServer } from "./advertisement/floating-ad/server.mjs";
19
- import { floatingAdMaterial } from "./advertisement/floating-ad/material.mjs";
20
- import { IconAd } from "./advertisement/icon-ad/client.mjs";
21
- import { IconAdServer } from "./advertisement/icon-ad/server.mjs";
22
- import { iconAdMaterial } from "./advertisement/icon-ad/material.mjs";
23
- import { TextAd } from "./advertisement/text-ad/client.mjs";
24
- import { TextAdServer } from "./advertisement/text-ad/server.mjs";
25
- import { textAdMaterial } from "./advertisement/text-ad/material.mjs";
26
- import "./advertisement/index.mjs";
27
5
  import { defaultProps as defaultProps$1 } from "./banner/variants/basic-banner/defaults/default-props.mjs";
28
6
  import { BasicBannerClient } from "./banner/variants/basic-banner/runtime/client.mjs";
29
7
  import { schema as schema$1 } from "./banner/variants/basic-banner/schema/index.mjs";
@@ -1,2 +1,2 @@
1
1
 
2
- import{Image as e}from"../../../ui/image.mjs";import{Box as t}from"../../../ui/box.mjs";import{Text as n}from"../../../ui/text.mjs";import r from"../../../ui/link.mjs";import{FeedAdBadge as i,getFeedAdIcon as a,getFeedAdJumpUrl as o,isFeedAdItem as s}from"../advertisement/feed-ad/index.mjs";import c from"../../../../assets/icons/view.mjs";import{jsx as l,jsxs as u}from"react/jsx-runtime";function d(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 f({data:f}){return f?l(t,{children:(Array.isArray(f)?f:[f]).map((f,p)=>{if(!f||typeof f!=`object`)return null;let{id:m,title:h,desc:g,cover:_,tagImageUrl:v,showEpisode:y,episodeText:b,showPlayCount:x,play_count:S}=f,C=s(f),w=h||``,T=(C?a(f):``)||_,E=C?o(f):m?`/video/${m}/${w?encodeURIComponent(w):``}`:`#`,D=v?String(v):null,O=b==null?``:String(b).trim(),k=!C&&(y??!0)&&O!==``,A=!C&&(x??!0),j=d(S);return l(t,{children:u(r,{href:E,children:[u(t,{className:`relative w-full overflow-hidden rounded-[12px] bg-neutral-800`,style:{aspectRatio:`16/9`},children:[T&&l(e,{src:T,alt:w||`封面`,fill:!0,objectFit:`cover`}),D&&l(t,{className:`absolute top-0 right-0 z-10 w-[37px] h-[20px]`,children:l(e,{src:D,alt:w||`角标`,fill:!0,sizes:`37px`,className:`object-contain`})}),l(t,{className:`absolute inset-x-0 bottom-0 h-[40px] bg-gradient-to-t from-black/80 to-transparent z-0 pointer-events-none`}),C?l(t,{className:`absolute bottom-0 left-[8px] mb-[6px] z-10 flex items-center gap-[4px]`,children:l(i,{})}):A&&u(t,{className:`absolute bottom-0 left-[8px] mb-[6px] z-10 flex items-center gap-[4px]`,children:[l(c,{className:`h-[14px] w-[14px] text-white`}),l(n,{as:`span`,className:`text-[12px] font-medium text-white drop-shadow-md`,children:j})]}),k&&l(t,{className:`absolute bottom-0 right-[8px] mb-[6px] z-10 flex items-center`,children:l(n,{as:`span`,className:`text-[12px] font-medium text-white drop-shadow-md`,children:O})})]}),u(t,{className:`flex items-center justify-between gap-[12px] pt-[10px] px-2`,children:[u(t,{className:`flex-1 min-w-0`,children:[l(n,{as:`h3`,className:`text-[16px] font-semibold leading-[24px] text-text1 line-clamp-1`,children:w}),g&&l(n,{as:`p`,className:`mt-[4px] text-[13px] leading-[20px] text-text2 line-clamp-1`,children:g})]}),l(n,{className:`shrink-0 rounded-[20px] border border-[#FD4C5E] px-[24px] py-[8px] text-[14px] font-normal text-[#FD4C5E]`,children:`观看`})]})]})},m||w||`large-grid-item-${p}`)})}):null}export{f as LargeGridItemClient};
2
+ import{Image as e}from"../../../ui/image.mjs";import{Box as t}from"../../../ui/box.mjs";import{Text as n}from"../../../ui/text.mjs";import r from"../../../ui/link.mjs";import i from"../../../../assets/icons/view.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";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({data:c}){return c?a(t,{children:(Array.isArray(c)?c:[c]).map((c,l)=>{if(!c||typeof c!=`object`)return null;let{id:u,title:d,desc:f,cover:p,tagImageUrl:m,showEpisode:h,episodeText:g,showPlayCount:_,play_count:v}=c,y=d||``,b=u?`/video/${u}/${y?encodeURIComponent(y):``}`:`#`,x=m?String(m):null,S=g==null?``:String(g).trim(),C=(h??!0)&&S!==``,w=_??!0,T=s(v);return a(t,{children:o(r,{href:b,children:[o(t,{className:`relative w-full overflow-hidden rounded-[12px] bg-neutral-800`,style:{aspectRatio:`16/9`},children:[p&&a(e,{src:p,alt:y||`封面`,fill:!0,objectFit:`cover`}),x&&a(t,{className:`absolute top-0 right-0 z-10 w-[37px] h-[20px]`,children:a(e,{src:x,alt:y||`角标`,fill:!0,sizes:`37px`,className:`object-contain`})}),a(t,{className:`absolute inset-x-0 bottom-0 h-[40px] bg-gradient-to-t from-black/80 to-transparent z-0 pointer-events-none`}),w&&o(t,{className:`absolute bottom-0 left-[8px] mb-[6px] z-10 flex items-center gap-[4px]`,children:[a(i,{className:`h-[14px] w-[14px] text-white`}),a(n,{as:`span`,className:`text-[12px] font-medium text-white drop-shadow-md`,children:T})]}),C&&a(t,{className:`absolute bottom-0 right-[8px] mb-[6px] z-10 flex items-center`,children:a(n,{as:`span`,className:`text-[12px] font-medium text-white drop-shadow-md`,children:S})})]}),o(t,{className:`flex items-center justify-between gap-[12px] pt-[10px] px-2`,children:[o(t,{className:`flex-1 min-w-0`,children:[a(n,{as:`h3`,className:`text-[16px] font-semibold leading-[24px] text-text1 line-clamp-1`,children:y}),f&&a(n,{as:`p`,className:`mt-[4px] text-[13px] leading-[20px] text-text2 line-clamp-1`,children:f})]}),a(n,{className:`shrink-0 rounded-[20px] border border-[#FD4C5E] px-[24px] py-[8px] text-[14px] font-normal text-[#FD4C5E]`,children:`观看`})]})]})},u||y||`large-grid-item-${l}`)})}):null}export{c as LargeGridItemClient};