@funhub/platform 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/dist/biz.d.mts +17 -10
  2. package/dist/biz.mjs +1 -1
  3. package/dist/common.d.mts +3 -1
  4. package/dist/common.mjs +1 -1
  5. package/dist/components/biz/basics/logo/variants/basic-logo/runtime/client.mjs +1 -1
  6. package/dist/components/biz/basics/search/variants/simple-search/runtime/client.mjs +1 -1
  7. package/dist/components/biz/business/banner/variants/basic-banner/material.mjs +1 -1
  8. package/dist/components/biz/business/comment/reply-detail.mjs +1 -1
  9. package/dist/components/biz/business/detail/detail-follow-action.mjs +1 -1
  10. package/dist/components/biz/business/detail/detail-info-title.mjs +1 -1
  11. package/dist/components/biz/business/detail/detail-introduction.mjs +1 -1
  12. package/dist/components/biz/business/detail/detail-operate.mjs +1 -1
  13. package/dist/components/biz/business/detail/materials/registry.d.mts +39 -45
  14. package/dist/components/biz/business/detail/materials/registry.mjs +1 -1
  15. package/dist/components/biz/business/detail/materials/video-detail-actions/client.d.mts +2 -9
  16. package/dist/components/biz/business/detail/materials/video-detail-actions/index.d.mts +3 -3
  17. package/dist/components/biz/business/detail/materials/video-detail-actions/material.d.mts +9 -3
  18. package/dist/components/biz/business/detail/materials/video-detail-actions/schema.d.mts +7 -1
  19. package/dist/components/biz/business/detail/materials/video-detail-actions/server.d.mts +1 -1
  20. package/dist/components/biz/business/detail/materials/video-detail-info/client.d.mts +2 -13
  21. package/dist/components/biz/business/detail/materials/video-detail-info/index.d.mts +3 -3
  22. package/dist/components/biz/business/detail/materials/video-detail-info/material.d.mts +13 -3
  23. package/dist/components/biz/business/detail/materials/video-detail-info/schema.d.mts +9 -1
  24. package/dist/components/biz/business/detail/materials/video-detail-info/server.d.mts +1 -1
  25. package/dist/components/biz/business/detail/materials/video-detail-info-title/client.d.mts +2 -7
  26. package/dist/components/biz/business/detail/materials/video-detail-info-title/index.d.mts +3 -3
  27. package/dist/components/biz/business/detail/materials/video-detail-info-title/material.d.mts +9 -3
  28. package/dist/components/biz/business/detail/materials/video-detail-info-title/schema.d.mts +6 -1
  29. package/dist/components/biz/business/detail/materials/video-detail-info-title/server.d.mts +1 -1
  30. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/client.d.mts +2 -11
  31. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/index.d.mts +3 -3
  32. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/material.d.mts +13 -3
  33. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/schema.d.mts +8 -1
  34. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/server.d.mts +1 -1
  35. package/dist/components/biz/business/detail/materials/video-detail-player/client.d.mts +2 -11
  36. package/dist/components/biz/business/detail/materials/video-detail-player/index.d.mts +3 -3
  37. package/dist/components/biz/business/detail/materials/video-detail-player/material.d.mts +9 -3
  38. package/dist/components/biz/business/detail/materials/video-detail-player/schema.d.mts +8 -1
  39. package/dist/components/biz/business/detail/materials/video-detail-player/server.d.mts +1 -1
  40. package/dist/components/biz/business/detail/materials/video-detail-recommend/client.d.mts +2 -6
  41. package/dist/components/biz/business/detail/materials/video-detail-recommend/client.mjs +1 -1
  42. package/dist/components/biz/business/detail/materials/video-detail-recommend/index.d.mts +3 -3
  43. package/dist/components/biz/business/detail/materials/video-detail-recommend/material.d.mts +36 -3
  44. package/dist/components/biz/business/detail/materials/video-detail-recommend/schema.d.mts +5 -1
  45. package/dist/components/biz/business/detail/materials/video-detail-recommend/server.d.mts +1 -1
  46. package/dist/components/biz/business/detail/post-recommend-list.mjs +1 -1
  47. package/dist/components/biz/business/floating-ball/client.d.mts +12 -0
  48. package/dist/components/biz/business/floating-ball/client.mjs +2 -0
  49. package/dist/components/biz/business/floating-ball/material.d.mts +10 -0
  50. package/dist/components/biz/business/floating-ball/material.mjs +2 -0
  51. package/dist/components/biz/business/floating-ball/schema.d.mts +14 -0
  52. package/dist/components/biz/business/floating-ball/schema.mjs +2 -0
  53. package/dist/components/biz/business/floating-ball/server.mjs +2 -0
  54. package/dist/components/biz/business/header-search/header-avatar-icon/client.d.mts +12 -0
  55. package/dist/components/biz/business/header-search/header-avatar-icon/client.mjs +2 -0
  56. package/dist/components/biz/business/header-search/header-avatar-icon/index.d.mts +5 -0
  57. package/dist/components/biz/business/header-search/header-avatar-icon/material.d.mts +10 -0
  58. package/dist/components/biz/business/header-search/header-avatar-icon/material.mjs +2 -0
  59. package/dist/components/biz/business/header-search/header-avatar-icon/schema.d.mts +14 -0
  60. package/dist/components/biz/business/header-search/header-avatar-icon/schema.mjs +2 -0
  61. package/dist/components/biz/business/header-search/header-avatar-icon/server.d.mts +3 -0
  62. package/dist/components/biz/business/header-search/header-avatar-icon/server.mjs +2 -0
  63. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.d.mts +12 -0
  64. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.mjs +2 -0
  65. package/dist/components/biz/business/header-search/header-avatar-logo-search/index.d.mts +5 -0
  66. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.d.mts +10 -0
  67. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.mjs +2 -0
  68. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.d.mts +14 -0
  69. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.mjs +2 -0
  70. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.d.mts +3 -0
  71. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.mjs +2 -0
  72. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.d.mts +12 -0
  73. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.mjs +2 -0
  74. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/index.d.mts +5 -0
  75. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.d.mts +10 -0
  76. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.mjs +2 -0
  77. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.d.mts +14 -0
  78. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/schema.mjs +2 -0
  79. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.d.mts +3 -0
  80. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.mjs +2 -0
  81. package/dist/components/biz/business/header-search/header-logo-search/client.d.mts +12 -0
  82. package/dist/components/biz/business/header-search/header-logo-search/client.mjs +2 -0
  83. package/dist/components/biz/business/header-search/header-logo-search/index.d.mts +5 -0
  84. package/dist/components/biz/business/header-search/header-logo-search/material.d.mts +10 -0
  85. package/dist/components/biz/business/header-search/header-logo-search/material.mjs +2 -0
  86. package/dist/components/biz/business/header-search/header-logo-search/schema.d.mts +14 -0
  87. package/dist/components/biz/business/header-search/header-logo-search/schema.mjs +2 -0
  88. package/dist/components/biz/business/header-search/header-logo-search/server.d.mts +3 -0
  89. package/dist/components/biz/business/header-search/header-logo-search/server.mjs +2 -0
  90. package/dist/components/biz/business/header-search/header-search/client.d.mts +12 -0
  91. package/dist/components/biz/business/header-search/header-search/client.mjs +2 -0
  92. package/dist/components/biz/business/header-search/header-search/index.d.mts +5 -0
  93. package/dist/components/biz/business/header-search/header-search/material.d.mts +10 -0
  94. package/dist/components/biz/business/header-search/header-search/material.mjs +2 -0
  95. package/dist/components/biz/business/header-search/header-search/schema.d.mts +14 -0
  96. package/dist/components/biz/business/header-search/header-search/schema.mjs +2 -0
  97. package/dist/components/biz/business/header-search/header-search/server.d.mts +3 -0
  98. package/dist/components/biz/business/header-search/header-search/server.mjs +2 -0
  99. package/dist/components/biz/business/header-search/index.d.mts +11 -0
  100. package/dist/components/biz/business/home-recommend/index.d.mts +9 -0
  101. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +2 -0
  102. package/dist/components/biz/business/home-recommend/types.d.mts +25 -0
  103. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/defaults/default-props.d.mts +10 -0
  104. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/defaults/default-props.mjs +2 -0
  105. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/index.d.mts +4 -0
  106. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/index.mjs +2 -0
  107. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.d.mts +13 -0
  108. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.mjs +2 -0
  109. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/component.mjs +2 -0
  110. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/data.schema.mjs +2 -0
  111. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/event.schema.mjs +2 -0
  112. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/index.d.mts +8 -0
  113. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/index.mjs +2 -0
  114. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/props.schema.mjs +2 -0
  115. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/style.schema.mjs +2 -0
  116. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/defaults/default-props.d.mts +10 -0
  117. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/defaults/default-props.mjs +2 -0
  118. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/index.d.mts +4 -0
  119. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/index.mjs +2 -0
  120. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.d.mts +13 -0
  121. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.mjs +2 -0
  122. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/component.mjs +2 -0
  123. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/data.schema.mjs +2 -0
  124. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/event.schema.mjs +2 -0
  125. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/index.d.mts +8 -0
  126. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/index.mjs +2 -0
  127. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/props.schema.mjs +2 -0
  128. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/style.schema.mjs +2 -0
  129. package/dist/components/biz/business/index.d.mts +21 -14
  130. package/dist/components/biz/business/index.mjs +1 -1
  131. package/dist/components/biz/business/large-feature-grid/client.d.mts +12 -0
  132. package/dist/components/biz/business/large-feature-grid/client.mjs +2 -0
  133. package/dist/components/biz/business/large-feature-grid/material.d.mts +10 -0
  134. package/dist/components/biz/business/large-feature-grid/material.mjs +2 -0
  135. package/dist/components/biz/business/large-feature-grid/schema.d.mts +14 -0
  136. package/dist/components/biz/business/large-feature-grid/schema.mjs +2 -0
  137. package/dist/components/biz/business/large-feature-grid/server.mjs +2 -0
  138. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs +1 -1
  139. package/dist/components/biz/business/profile/profile-header/material.d.mts +9 -0
  140. package/dist/components/biz/business/profile/profile-header/material.mjs +2 -0
  141. package/dist/components/biz/business/profile/profile-main/material.d.mts +9 -0
  142. package/dist/components/biz/business/profile/profile-main/material.mjs +2 -0
  143. package/dist/components/biz/business/shortcut-grid/client.d.mts +12 -0
  144. package/dist/components/biz/business/shortcut-grid/client.mjs +2 -0
  145. package/dist/components/biz/business/shortcut-grid/material.d.mts +10 -0
  146. package/dist/components/biz/business/shortcut-grid/material.mjs +2 -0
  147. package/dist/components/biz/business/shortcut-grid/schema.d.mts +14 -0
  148. package/dist/components/biz/business/shortcut-grid/schema.mjs +2 -0
  149. package/dist/components/biz/business/shortcut-grid/server.mjs +2 -0
  150. package/dist/components/biz/renderer/renderer.d.mts +2 -1
  151. package/dist/components/biz/utils/helpers/get-channel-list.d.mts +20 -0
  152. package/dist/components/biz/utils/helpers/get-channel-list.mjs +2 -0
  153. package/dist/components/biz/utils/index.d.mts +5 -4
  154. package/dist/components/biz/utils/schema/component.d.mts +1 -1
  155. package/dist/components/biz/utils/transformers/data.d.mts +3 -0
  156. package/dist/components/biz/utils/transformers/data.mjs +1 -1
  157. package/dist/components/common/blocked-dialog/blocked-dialog.d.mts +10 -0
  158. package/dist/components/common/blocked-dialog/blocked-dialog.mjs +2 -0
  159. package/dist/components/common/blocked-dialog/index.d.mts +2 -0
  160. package/dist/components/common/follow-button/index.mjs +1 -1
  161. package/dist/components/common/funhub-provider/funhub-provider.mjs +1 -1
  162. package/dist/components/common/icons/video.mjs +2 -0
  163. package/dist/components/common/list/video-list/video-list-item.d.mts +1 -1
  164. package/dist/components/common/list/video-list/video-list-item.mjs +1 -1
  165. package/dist/components/common/photo-grid/index.mjs +1 -1
  166. package/dist/components/common/top-nav-bar/client.mjs +1 -1
  167. package/dist/components/common/top-nav-bar/index.mjs +1 -1
  168. package/dist/components/pages/(follow)/_components/follow-button/index.mjs +1 -1
  169. package/dist/components/pages/feed-series/feed-series-client.mjs +1 -1
  170. package/dist/components/pages/feedback/_components/feedback-form.mjs +1 -1
  171. package/dist/components/pages/home/index.mjs +1 -1
  172. package/dist/components/pages/post-detail/post-detail-client.mjs +1 -1
  173. package/dist/components/pages/profile/_components/tabs/collect-tab/client.mjs +1 -1
  174. package/dist/components/pages/profile/_components/tabs/collect-tab/server.mjs +1 -1
  175. package/dist/components/pages/profile/_components/tabs/history-tab/client.mjs +1 -1
  176. package/dist/components/pages/profile/_components/tabs/like-tab/client.mjs +1 -1
  177. package/dist/components/pages/profile/_components/user-profile-container/client.mjs +1 -1
  178. package/dist/components/pages/profile/_components/user-profile-header/client.mjs +1 -1
  179. package/dist/components/pages/profile/utils.mjs +1 -1
  180. package/dist/components/pages/search/search-result/search-all.mjs +1 -1
  181. package/dist/components/pages/search/search-result/search-video-info.mjs +1 -1
  182. package/dist/components/pages/search/top-header.mjs +1 -1
  183. package/dist/components/pages/user-follow/_components/follow-top-header.mjs +1 -1
  184. package/dist/components/pages/video-detail/video-detail-client.mjs +1 -1
  185. package/dist/components/pages/video-list/index.d.mts +16 -0
  186. package/dist/components/pages/video-list/index.mjs +2 -0
  187. package/dist/components/pages/video-list/types.mjs +2 -0
  188. package/dist/components/pages/video-list/video-list-client.mjs +2 -0
  189. package/dist/components/pages/video-list/video-list-item.mjs +2 -0
  190. package/dist/components/ui/badge.d.mts +1 -1
  191. package/dist/components/ui/button.d.mts +1 -1
  192. package/dist/components/ui/image.d.mts +4 -4
  193. package/dist/hooks/use-content-operate.mjs +1 -1
  194. package/dist/i18n/locales/en.mjs +3 -1
  195. package/dist/i18n/locales/zh-CN.mjs +3 -1
  196. package/dist/materials.d.mts +24 -1
  197. package/dist/materials.mjs +1 -1
  198. package/dist/pages.d.mts +2 -1
  199. package/dist/pages.mjs +1 -1
  200. package/dist/service/generated/client.d.mts +28 -12
  201. package/dist/service/generated/client.mjs +1 -1
  202. package/dist/service/generated/tanstack.d.mts +34 -14
  203. package/dist/service/generated/tanstack.mjs +1 -1
  204. package/dist/service.d.mts +3 -3
  205. package/dist/service.mjs +1 -1
  206. package/dist/store/create-store.mjs +1 -1
  207. package/dist/store/modules/blocked-modal-store.d.mts +26 -0
  208. package/dist/store/modules/blocked-modal-store.mjs +2 -0
  209. package/dist/store/modules/user-store.d.mts +1 -1
  210. package/dist/store/modules/user-store.mjs +1 -1
  211. package/dist/store.d.mts +2 -1
  212. package/dist/store.mjs +1 -1
  213. package/dist/types.d.mts +1348 -129
  214. package/dist/utils/http.mjs +1 -1
  215. package/dist/utils/schema/index.d.mts +1 -1
  216. package/dist/utils/schema/material.d.mts +5 -0
  217. package/dist/utils/schema/utils.d.mts +1 -1
  218. package/dist/utils.d.mts +2 -2
  219. package/package.json +1 -1
package/dist/biz.d.mts CHANGED
@@ -1,18 +1,19 @@
1
1
 
2
2
  import { CARD_SPEC_MAP, CardSpec, getCardSpecConfig } from "./components/biz/utils/constants/card-spec.mjs";
3
+ import { ChannelDataItem } from "./components/biz/utils/types/channel.mjs";
4
+ import { CommonStyleSchema, StylePropDefinition, StyleSchema } from "./components/biz/utils/schema/style.mjs";
5
+ import { BaseComponentProps } from "./components/biz/utils/types/component.mjs";
6
+ import { getChannelList } from "./components/biz/utils/helpers/get-channel-list.mjs";
3
7
  import { buildContentUrl } from "./components/biz/utils/helpers/url.mjs";
4
8
  import { FieldSchema, FieldType } from "./components/biz/utils/schema/field.mjs";
5
9
  import { DataBinding, DataBindingField, DataBindingSourceType, DataBindingUIMode, DataSchema, DataSlot, DataSourceType } from "./components/biz/utils/schema/data.mjs";
6
10
  import { PropDefinition, PropSchema } from "./components/biz/utils/schema/prop.mjs";
7
11
  import { EventDefinition, EventSchema } from "./components/biz/utils/schema/event.mjs";
8
- import { CommonStyleSchema, StylePropDefinition, StyleSchema } from "./components/biz/utils/schema/style.mjs";
9
12
  import { ComponentMaterial, ComponentSchema, MaterialRegistry } from "./components/biz/utils/schema/component.mjs";
10
13
  import { commonStylesToInline, customStylesToInline, mergeStyles } from "./components/biz/utils/styles/helpers.mjs";
11
14
  import { commonStyleSchema } from "./components/biz/utils/styles/schema.mjs";
12
15
  import { CardCornerMode, RawContentData, transformContentListToCardItems, transformContentToCardItem } from "./components/biz/utils/transformers/card-grid.mjs";
13
16
  import { ComponentType, ContentBlockItem, ExtractedDataItem, extractDataByComponentType } from "./components/biz/utils/transformers/data.mjs";
14
- import { ChannelDataItem } from "./components/biz/utils/types/channel.mjs";
15
- import { BaseComponentProps } from "./components/biz/utils/types/component.mjs";
16
17
  import "./components/biz/utils/index.mjs";
17
18
  import { defaultProps as defaultProps$14 } from "./components/biz/basics/card-item/defaults/default-props.mjs";
18
19
  import { schema as schema$14 } from "./components/biz/basics/card-item/schema/index.mjs";
@@ -31,12 +32,12 @@ import { schema as schema$8 } from "./components/biz/basics/search/variants/basi
31
32
  import { defaultProps as defaultProps$18 } from "./components/biz/basics/search/variants/filter-search/defaults/default-props.mjs";
32
33
  import { FilterSearchClient } from "./components/biz/basics/search/variants/filter-search/runtime/client.mjs";
33
34
  import { schema as schema$18 } from "./components/biz/basics/search/variants/filter-search/schema/index.mjs";
34
- import { defaultProps as defaultProps$21 } from "./components/biz/basics/search/variants/simple-search/defaults/default-props.mjs";
35
+ import { defaultProps as defaultProps$23 } from "./components/biz/basics/search/variants/simple-search/defaults/default-props.mjs";
35
36
  import { SimpleSearchClient } from "./components/biz/basics/search/variants/simple-search/runtime/client.mjs";
36
- import { schema as schema$21 } from "./components/biz/basics/search/variants/simple-search/schema/index.mjs";
37
- import { defaultProps as defaultProps$23 } from "./components/biz/basics/search/variants/tag-search/defaults/default-props.mjs";
37
+ import { schema as schema$23 } from "./components/biz/basics/search/variants/simple-search/schema/index.mjs";
38
+ import { defaultProps as defaultProps$25 } from "./components/biz/basics/search/variants/tag-search/defaults/default-props.mjs";
38
39
  import { TagSearchClient } from "./components/biz/basics/search/variants/tag-search/runtime/client.mjs";
39
- import { schema as schema$23 } from "./components/biz/basics/search/variants/tag-search/schema/index.mjs";
40
+ import { schema as schema$25 } from "./components/biz/basics/search/variants/tag-search/schema/index.mjs";
40
41
  import "./components/biz/basics/index.mjs";
41
42
  import { defaultProps } from "./components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs";
42
43
  import { BasicBannerClient } from "./components/biz/business/banner/variants/basic-banner/runtime/client.mjs";
@@ -68,6 +69,12 @@ import { schema as schema$19 } from "./components/biz/business/fullscreen-feed/v
68
69
  import { defaultProps as defaultProps$20 } from "./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/defaults/default-props.mjs";
69
70
  import { FullscreenVideoFeedClient } from "./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/runtime/client.mjs";
70
71
  import { schema as schema$20 } from "./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/index.mjs";
72
+ import { defaultProps as defaultProps$21 } from "./components/biz/business/home-recommend/variants/home-recommend-grid/defaults/default-props.mjs";
73
+ import { HomeRecommendGridClient } from "./components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.mjs";
74
+ import { schema as schema$21 } from "./components/biz/business/home-recommend/variants/home-recommend-grid/schema/index.mjs";
75
+ import { defaultProps as defaultProps$22 } from "./components/biz/business/home-recommend/variants/home-recommend-waterfall/defaults/default-props.mjs";
76
+ import { HomeRecommendWaterfallClient } from "./components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.mjs";
77
+ import { schema as schema$22 } from "./components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/index.mjs";
71
78
  import { defaultProps as defaultProps$4 } from "./components/biz/business/nav-bar/variants/basic-nav-bar/defaults/default-props.mjs";
72
79
  import { BasicNavBarClient } from "./components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs";
73
80
  import { schema as schema$4 } from "./components/biz/business/nav-bar/variants/basic-nav-bar/schema/index.mjs";
@@ -86,9 +93,9 @@ import { schema as schema$16 } from "./components/biz/business/search-bar/varian
86
93
  import { defaultProps as defaultProps$17 } from "./components/biz/business/search-bar/variants/filter-search-bar/defaults/default-props.mjs";
87
94
  import { FilterSearchBarClient } from "./components/biz/business/search-bar/variants/filter-search-bar/runtime/client.mjs";
88
95
  import { schema as schema$17 } from "./components/biz/business/search-bar/variants/filter-search-bar/schema/index.mjs";
89
- import { defaultProps as defaultProps$22 } from "./components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs";
96
+ import { defaultProps as defaultProps$24 } from "./components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs";
90
97
  import { TagSearchBarClient } from "./components/biz/business/search-bar/variants/tag-search-bar/runtime/client.mjs";
91
- import { schema as schema$22 } from "./components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs";
98
+ import { schema as schema$24 } from "./components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs";
92
99
  import "./components/biz/business/index.mjs";
93
100
  import { ButtonInspectorProps, ButtonProps, buttonInspectorDefaultProps, buttonInspectorPropsSchema } from "./components/biz/example/button/schema.mjs";
94
101
  import { ButtonClient } from "./components/biz/example/button/client.mjs";
@@ -97,4 +104,4 @@ import { Button } from "./components/biz/example/button/server.mjs";
97
104
  import "./components/biz/example/button/index.mjs";
98
105
  import { NodeDocument, PageDocument, PageMeta, Renderer, RendererDocument, RendererMaterial, RendererMode, RendererProps } from "./components/biz/renderer/renderer.mjs";
99
106
  import "./components/biz/renderer/index.mjs";
100
- 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, 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, FullscreenPostFeedClient as FullscreenFeedClient, defaultProps$19 as FullscreenPostFeedDefaultData, schema$19 as FullscreenPostFeedSchema, FullscreenVideoFeedClient as FullscreenVideoClient, defaultProps$20 as FullscreenVideoFeedDefaultData, schema$20 as FullscreenVideoFeedSchema, MaterialRegistry, NodeDocument, PageDocument, PageMeta, PropDefinition, PropSchema, RawContentData, Renderer, RendererDocument, RendererMaterial, RendererMode, RendererProps, SimpleSearchClient as SimpleSearch, defaultProps$21 as SimpleSearchDefaultData, schema$21 as SimpleSearchSchema, StylePropDefinition, StyleSchema, TagSearchClient as TagSearch, TagSearchBarClient as TagSearchBar, defaultProps$22 as TagSearchBarDefaultData, schema$22 as TagSearchBarSchema, defaultProps$23 as TagSearchDefaultData, schema$23 as TagSearchSchema, basicBannerInspectorDefaultProps, basicBannerInspectorPropsSchema, basicBannerMaterial, buildContentUrl, buttonInspectorDefaultProps, buttonInspectorPropsSchema, commonStyleSchema, commonStylesToInline, customStylesToInline, exampleButtonMaterial, extractDataByComponentType, getCardSpecConfig, mergeStyles, transformContentListToCardItems, transformContentToCardItem };
107
+ 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, 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, FullscreenPostFeedClient as FullscreenFeedClient, defaultProps$19 as FullscreenPostFeedDefaultData, schema$19 as FullscreenPostFeedSchema, FullscreenVideoFeedClient as FullscreenVideoClient, defaultProps$20 as FullscreenVideoFeedDefaultData, schema$20 as FullscreenVideoFeedSchema, HomeRecommendGridClient as HomeRecommendGrid, defaultProps$21 as HomeRecommendGridDefaultData, schema$21 as HomeRecommendGridSchema, HomeRecommendWaterfallClient as HomeRecommendWaterfall, defaultProps$22 as HomeRecommendWaterfallDefaultData, schema$22 as HomeRecommendWaterfallSchema, MaterialRegistry, NodeDocument, PageDocument, PageMeta, PropDefinition, PropSchema, RawContentData, Renderer, RendererDocument, RendererMaterial, RendererMode, RendererProps, SimpleSearchClient as SimpleSearch, defaultProps$23 as SimpleSearchDefaultData, schema$23 as SimpleSearchSchema, StylePropDefinition, StyleSchema, TagSearchClient as TagSearch, TagSearchBarClient as TagSearchBar, defaultProps$24 as TagSearchBarDefaultData, schema$24 as TagSearchBarSchema, defaultProps$25 as TagSearchDefaultData, schema$25 as TagSearchSchema, basicBannerInspectorDefaultProps, basicBannerInspectorPropsSchema, basicBannerMaterial, buildContentUrl, buttonInspectorDefaultProps, buttonInspectorPropsSchema, commonStyleSchema, commonStylesToInline, customStylesToInline, exampleButtonMaterial, extractDataByComponentType, getCardSpecConfig, getChannelList, mergeStyles, transformContentListToCardItems, transformContentToCardItem };
package/dist/biz.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
 
2
- import{CARD_SPEC_MAP as e,CardSpec as t,getCardSpecConfig as n}from"./components/biz/utils/constants/card-spec.mjs";import{buildContentUrl as r}from"./components/biz/utils/helpers/url.mjs";import{DataBindingUIMode as i,DataSourceType as a}from"./components/biz/utils/schema/data.mjs";import{commonStylesToInline as o,customStylesToInline as s,mergeStyles as c}from"./components/biz/utils/styles/helpers.mjs";import{commonStyleSchema as l}from"./components/biz/utils/styles/schema.mjs";import{transformContentListToCardItems as u,transformContentToCardItem as d}from"./components/biz/utils/transformers/card-grid.mjs";import{defaultProps as f}from"./components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs";import{schema as p}from"./components/biz/business/banner/variants/basic-banner/schema/index.mjs";import{basicBannerInspectorDefaultProps as m,basicBannerInspectorPropsSchema as h}from"./components/biz/business/banner/variants/basic-banner/inspector-schema.mjs";import{BasicBanner as g}from"./components/biz/business/banner/variants/basic-banner/server.mjs";import{basicBannerMaterial as _}from"./components/biz/business/banner/variants/basic-banner/material.mjs";import v from"./components/biz/business/banner/variants/basic-banner/index.mjs";import{defaultProps as y}from"./components/biz/business/card-grid/variants/card-grid-2x3/defaults/default-props.mjs";import{schema as b}from"./components/biz/business/card-grid/variants/card-grid-2x3/schema/index.mjs";import x from"./components/biz/business/card-grid/variants/card-grid-2x3/index.mjs";import{defaultProps as S}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/defaults/default-props.mjs";import{schema as C}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/index.mjs";import w from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/index.mjs";import{defaultProps as T}from"./components/biz/business/card-grid/variants/card-grid-2x4/defaults/default-props.mjs";import{schema as E}from"./components/biz/business/card-grid/variants/card-grid-2x4/schema/index.mjs";import D from"./components/biz/business/card-grid/variants/card-grid-2x4/index.mjs";import{defaultProps as O}from"./components/biz/business/card-grid/variants/card-grid-3x3/defaults/default-props.mjs";import{schema as k}from"./components/biz/business/card-grid/variants/card-grid-3x3/schema/index.mjs";import A from"./components/biz/business/card-grid/variants/card-grid-3x3/index.mjs";import{defaultProps as j}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/defaults/default-props.mjs";import{schema as M}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/index.mjs";import N from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/index.mjs";import{defaultProps as P}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 I from"./components/biz/business/feature-grid/variants/basic-feature-grid/index.mjs";import{defaultProps as L}from"./components/biz/basics/fullscreen-feed/defaults/default-props.mjs";import{BasicFullscreen as R}from"./components/biz/basics/fullscreen-feed/basic-fullscreen.mjs";import{schema as z}from"./components/biz/basics/fullscreen-feed/schema/index.mjs";import B from"./components/biz/basics/fullscreen-feed/index.mjs";import{defaultProps as V}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/defaults/default-props.mjs";import{schema as H}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/index.mjs";import U from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/index.mjs";import{defaultProps as W}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/defaults/default-props.mjs";import{schema as G}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/index.mjs";import K from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/index.mjs";import{defaultProps as q}from"./components/biz/business/nav-bar/variants/basic-nav-bar/defaults/default-props.mjs";import{schema as J}from"./components/biz/business/nav-bar/variants/basic-nav-bar/schema/index.mjs";import Y from"./components/biz/business/nav-bar/variants/basic-nav-bar/index.mjs";import{defaultProps as X}from"./components/biz/business/post-card/variants/basic-post-card/defaults/default-props.mjs";import{defaultProps as Z}from"./components/biz/basics/logo/variants/basic-logo/defaults/default-props.mjs";import{defaultProps as Q}from"./components/biz/basics/search/variants/basic-search/defaults/default-props.mjs";import{defaultProps as $}from"./components/biz/business/search-bar/variants/detail-search-bar/defaults/default-props.mjs";import{schema as ee}from"./components/biz/basics/logo/variants/basic-logo/schema/index.mjs";import te from"./components/biz/basics/logo/variants/basic-logo/index.mjs";import{defaultProps as ne}from"./components/biz/basics/search/variants/simple-search/defaults/default-props.mjs";import{schema as re}from"./components/biz/basics/search/variants/simple-search/schema/index.mjs";import ie from"./components/biz/basics/search/variants/simple-search/index.mjs";import{schema as ae}from"./components/biz/business/search-bar/variants/detail-search-bar/schema/index.mjs";import oe from"./components/biz/business/search-bar/variants/detail-search-bar/index.mjs";import{schema as se}from"./components/biz/business/post-card/variants/basic-post-card/schema/index.mjs";import ce from"./components/biz/business/post-card/variants/basic-post-card/index.mjs";import{defaultProps as le}from"./components/biz/business/recommended-users/variants/basic-recommended-users/defaults/default-props.mjs";import{schema as ue}from"./components/biz/business/recommended-users/variants/basic-recommended-users/schema/index.mjs";import de from"./components/biz/business/recommended-users/variants/basic-recommended-users/index.mjs";import{defaultProps as fe}from"./components/biz/business/search-bar/variants/basic-search-bar/defaults/default-props.mjs";import{schema as pe}from"./components/biz/basics/search/variants/basic-search/schema/index.mjs";import me from"./components/biz/basics/search/variants/basic-search/index.mjs";import{schema as he}from"./components/biz/business/search-bar/variants/basic-search-bar/schema/index.mjs";import ge from"./components/biz/business/search-bar/variants/basic-search-bar/index.mjs";import{defaultProps as _e}from"./components/biz/basics/search/variants/filter-search/defaults/default-props.mjs";import{defaultProps as ve}from"./components/biz/business/search-bar/variants/filter-search-bar/defaults/default-props.mjs";import{schema as ye}from"./components/biz/basics/search/variants/filter-search/schema/index.mjs";import be from"./components/biz/basics/search/variants/filter-search/index.mjs";import{schema as xe}from"./components/biz/business/search-bar/variants/filter-search-bar/schema/index.mjs";import Se from"./components/biz/business/search-bar/variants/filter-search-bar/index.mjs";import{defaultProps as Ce}from"./components/biz/basics/search/variants/tag-search/defaults/default-props.mjs";import{defaultProps as we}from"./components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs";import{schema as Te}from"./components/biz/basics/search/variants/tag-search/schema/index.mjs";import Ee from"./components/biz/basics/search/variants/tag-search/index.mjs";import{schema as De}from"./components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs";import Oe from"./components/biz/business/search-bar/variants/tag-search-bar/index.mjs";import{ComponentType as ke,extractDataByComponentType as Ae}from"./components/biz/utils/transformers/data.mjs";import{defaultProps as je}from"./components/biz/basics/card-item/defaults/default-props.mjs";import{schema as Me}from"./components/biz/basics/card-item/schema/index.mjs";import{defaultProps as Ne}from"./components/biz/basics/card-layout/defaults/default-props.mjs";import{schema as Pe}from"./components/biz/basics/card-layout/schema/index.mjs";import{ButtonClient as Fe}from"./components/biz/example/button/client.mjs";import{buttonInspectorDefaultProps as Ie,buttonInspectorPropsSchema as Le}from"./components/biz/example/button/schema.mjs";import{Button as Re}from"./components/biz/example/button/server.mjs";import{exampleButtonMaterial as ze}from"./components/biz/example/button/material.mjs";import{Renderer as Be}from"./components/biz/renderer/renderer.mjs";export{v as BasicBanner,f as BasicBannerDefaultData,g as BasicBannerMaterialComponent,p as BasicBannerSchema,I as BasicFeatureGrid,P as BasicFeatureGridDefaultData,F as BasicFeatureGridSchema,R as BasicFullscreen,B as BasicFullscreenFeed,L as BasicFullscreenFeedDefaultData,z as BasicFullscreenFeedSchema,te as BasicLogo,Z as BasicLogoDefaultData,ee as BasicLogoSchema,Y as BasicNavBar,q as BasicNavBarDefaultData,J as BasicNavBarSchema,ce as BasicPostCard,X as BasicPostCardDefaultData,se as BasicPostCardSchema,de as BasicRecommendedUsers,le as BasicRecommendedUsersDefaultData,ue as BasicRecommendedUsersSchema,me as BasicSearch,ge as BasicSearchBar,fe as BasicSearchBarDefaultData,he as BasicSearchBarSchema,Q as BasicSearchDefaultData,pe as BasicSearchSchema,Re as Button,Fe as ButtonClient,e as CARD_SPEC_MAP,x as CardGrid2x3,y as CardGrid2x3DefaultData,w as CardGrid2x3Infinite,S as CardGrid2x3InfiniteDefaultData,C as CardGrid2x3InfiniteSchema,b as CardGrid2x3Schema,D as CardGrid2x4,T as CardGrid2x4DefaultData,E as CardGrid2x4Schema,A as CardGrid3x3,O as CardGrid3x3DefaultData,N as CardGrid3x3Infinite,j as CardGrid3x3InfiniteDefaultData,M as CardGrid3x3InfiniteSchema,k as CardGrid3x3Schema,je as CardItemDefaultData,Me as CardItemSchema,Ne as CardLayoutDefaultData,Pe as CardLayoutSchema,t as CardSpec,ke as ComponentType,i as DataBindingUIMode,a as DataSourceType,oe as DetailSearchBar,$ as DetailSearchBarDefaultData,ae as DetailSearchBarSchema,be as FilterSearch,Se as FilterSearchBar,ve as FilterSearchBarDefaultData,xe as FilterSearchBarSchema,_e as FilterSearchDefaultData,ye as FilterSearchSchema,U as FullscreenFeedClient,V as FullscreenPostFeedDefaultData,H as FullscreenPostFeedSchema,K as FullscreenVideoClient,W as FullscreenVideoFeedDefaultData,G as FullscreenVideoFeedSchema,Be as Renderer,ie as SimpleSearch,ne as SimpleSearchDefaultData,re as SimpleSearchSchema,Ee as TagSearch,Oe as TagSearchBar,we as TagSearchBarDefaultData,De as TagSearchBarSchema,Ce as TagSearchDefaultData,Te as TagSearchSchema,m as basicBannerInspectorDefaultProps,h as basicBannerInspectorPropsSchema,_ as basicBannerMaterial,r as buildContentUrl,Ie as buttonInspectorDefaultProps,Le as buttonInspectorPropsSchema,l as commonStyleSchema,o as commonStylesToInline,s as customStylesToInline,ze as exampleButtonMaterial,Ae as extractDataByComponentType,n as getCardSpecConfig,c as mergeStyles,u as transformContentListToCardItems,d as transformContentToCardItem};
2
+ import{CARD_SPEC_MAP as e,CardSpec as t,getCardSpecConfig as n}from"./components/biz/utils/constants/card-spec.mjs";import{getChannelList as r}from"./components/biz/utils/helpers/get-channel-list.mjs";import{buildContentUrl as i}from"./components/biz/utils/helpers/url.mjs";import{DataBindingUIMode as a,DataSourceType as o}from"./components/biz/utils/schema/data.mjs";import{commonStylesToInline as s,customStylesToInline as c,mergeStyles as l}from"./components/biz/utils/styles/helpers.mjs";import{commonStyleSchema as u}from"./components/biz/utils/styles/schema.mjs";import{transformContentListToCardItems as d,transformContentToCardItem as f}from"./components/biz/utils/transformers/card-grid.mjs";import{defaultProps as p}from"./components/biz/business/banner/variants/basic-banner/defaults/default-props.mjs";import{schema as m}from"./components/biz/business/banner/variants/basic-banner/schema/index.mjs";import{basicBannerInspectorDefaultProps as h,basicBannerInspectorPropsSchema as g}from"./components/biz/business/banner/variants/basic-banner/inspector-schema.mjs";import{BasicBanner as _}from"./components/biz/business/banner/variants/basic-banner/server.mjs";import{basicBannerMaterial as v}from"./components/biz/business/banner/variants/basic-banner/material.mjs";import y from"./components/biz/business/banner/variants/basic-banner/index.mjs";import{defaultProps as b}from"./components/biz/business/card-grid/variants/card-grid-2x3/defaults/default-props.mjs";import{schema as x}from"./components/biz/business/card-grid/variants/card-grid-2x3/schema/index.mjs";import S from"./components/biz/business/card-grid/variants/card-grid-2x3/index.mjs";import{defaultProps as C}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/defaults/default-props.mjs";import{schema as w}from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/schema/index.mjs";import T from"./components/biz/business/card-grid/variants/card-grid-2x3-infinite/index.mjs";import{defaultProps as E}from"./components/biz/business/card-grid/variants/card-grid-2x4/defaults/default-props.mjs";import{schema as D}from"./components/biz/business/card-grid/variants/card-grid-2x4/schema/index.mjs";import O from"./components/biz/business/card-grid/variants/card-grid-2x4/index.mjs";import{defaultProps as k}from"./components/biz/business/card-grid/variants/card-grid-3x3/defaults/default-props.mjs";import{schema as A}from"./components/biz/business/card-grid/variants/card-grid-3x3/schema/index.mjs";import j from"./components/biz/business/card-grid/variants/card-grid-3x3/index.mjs";import{defaultProps as M}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/defaults/default-props.mjs";import{schema as N}from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/schema/index.mjs";import P from"./components/biz/business/card-grid/variants/card-grid-3x3-infinite/index.mjs";import{defaultProps as F}from"./components/biz/business/feature-grid/variants/basic-feature-grid/defaults/default-props.mjs";import{schema as I}from"./components/biz/business/feature-grid/variants/basic-feature-grid/schema/index.mjs";import L from"./components/biz/business/feature-grid/variants/basic-feature-grid/index.mjs";import{defaultProps as R}from"./components/biz/basics/fullscreen-feed/defaults/default-props.mjs";import{BasicFullscreen as z}from"./components/biz/basics/fullscreen-feed/basic-fullscreen.mjs";import{schema as B}from"./components/biz/basics/fullscreen-feed/schema/index.mjs";import V from"./components/biz/basics/fullscreen-feed/index.mjs";import{defaultProps as H}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/defaults/default-props.mjs";import{schema as U}from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/schema/index.mjs";import W from"./components/biz/business/fullscreen-feed/variants/fullscreen-post-feed/index.mjs";import{defaultProps as G}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/defaults/default-props.mjs";import{schema as K}from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/schema/index.mjs";import q from"./components/biz/business/fullscreen-feed/variants/fullscreen-video-feed/index.mjs";import{defaultProps as J}from"./components/biz/business/home-recommend/variants/home-recommend-grid/defaults/default-props.mjs";import{defaultProps as Y}from"./components/biz/basics/logo/variants/basic-logo/defaults/default-props.mjs";import{defaultProps as X}from"./components/biz/basics/search/variants/basic-search/defaults/default-props.mjs";import{defaultProps as Z}from"./components/biz/business/search-bar/variants/detail-search-bar/defaults/default-props.mjs";import{schema as Q}from"./components/biz/basics/logo/variants/basic-logo/schema/index.mjs";import $ from"./components/biz/basics/logo/variants/basic-logo/index.mjs";import{defaultProps as ee}from"./components/biz/basics/search/variants/simple-search/defaults/default-props.mjs";import{schema as te}from"./components/biz/basics/search/variants/simple-search/schema/index.mjs";import ne from"./components/biz/basics/search/variants/simple-search/index.mjs";import{schema as re}from"./components/biz/business/search-bar/variants/detail-search-bar/schema/index.mjs";import ie from"./components/biz/business/search-bar/variants/detail-search-bar/index.mjs";import{schema as ae}from"./components/biz/business/home-recommend/variants/home-recommend-grid/schema/index.mjs";import oe from"./components/biz/business/home-recommend/variants/home-recommend-grid/index.mjs";import{defaultProps as se}from"./components/biz/business/home-recommend/variants/home-recommend-waterfall/defaults/default-props.mjs";import{schema as ce}from"./components/biz/business/home-recommend/variants/home-recommend-waterfall/schema/index.mjs";import le from"./components/biz/business/home-recommend/variants/home-recommend-waterfall/index.mjs";import{defaultProps as ue}from"./components/biz/business/nav-bar/variants/basic-nav-bar/defaults/default-props.mjs";import{schema as de}from"./components/biz/business/nav-bar/variants/basic-nav-bar/schema/index.mjs";import fe from"./components/biz/business/nav-bar/variants/basic-nav-bar/index.mjs";import{defaultProps as pe}from"./components/biz/business/post-card/variants/basic-post-card/defaults/default-props.mjs";import{schema as me}from"./components/biz/business/post-card/variants/basic-post-card/schema/index.mjs";import he from"./components/biz/business/post-card/variants/basic-post-card/index.mjs";import{defaultProps as ge}from"./components/biz/business/recommended-users/variants/basic-recommended-users/defaults/default-props.mjs";import{schema as _e}from"./components/biz/business/recommended-users/variants/basic-recommended-users/schema/index.mjs";import ve from"./components/biz/business/recommended-users/variants/basic-recommended-users/index.mjs";import{defaultProps as ye}from"./components/biz/business/search-bar/variants/basic-search-bar/defaults/default-props.mjs";import{schema as be}from"./components/biz/basics/search/variants/basic-search/schema/index.mjs";import xe from"./components/biz/basics/search/variants/basic-search/index.mjs";import{schema as Se}from"./components/biz/business/search-bar/variants/basic-search-bar/schema/index.mjs";import Ce from"./components/biz/business/search-bar/variants/basic-search-bar/index.mjs";import{defaultProps as we}from"./components/biz/basics/search/variants/filter-search/defaults/default-props.mjs";import{defaultProps as Te}from"./components/biz/business/search-bar/variants/filter-search-bar/defaults/default-props.mjs";import{schema as Ee}from"./components/biz/basics/search/variants/filter-search/schema/index.mjs";import De from"./components/biz/basics/search/variants/filter-search/index.mjs";import{schema as Oe}from"./components/biz/business/search-bar/variants/filter-search-bar/schema/index.mjs";import ke from"./components/biz/business/search-bar/variants/filter-search-bar/index.mjs";import{defaultProps as Ae}from"./components/biz/basics/search/variants/tag-search/defaults/default-props.mjs";import{defaultProps as je}from"./components/biz/business/search-bar/variants/tag-search-bar/defaults/default-props.mjs";import{schema as Me}from"./components/biz/basics/search/variants/tag-search/schema/index.mjs";import Ne from"./components/biz/basics/search/variants/tag-search/index.mjs";import{schema as Pe}from"./components/biz/business/search-bar/variants/tag-search-bar/schema/index.mjs";import Fe from"./components/biz/business/search-bar/variants/tag-search-bar/index.mjs";import{ComponentType as Ie,extractDataByComponentType as Le}from"./components/biz/utils/transformers/data.mjs";import{defaultProps as Re}from"./components/biz/basics/card-item/defaults/default-props.mjs";import{schema as ze}from"./components/biz/basics/card-item/schema/index.mjs";import{defaultProps as Be}from"./components/biz/basics/card-layout/defaults/default-props.mjs";import{schema as Ve}from"./components/biz/basics/card-layout/schema/index.mjs";import{ButtonClient as He}from"./components/biz/example/button/client.mjs";import{buttonInspectorDefaultProps as Ue,buttonInspectorPropsSchema as We}from"./components/biz/example/button/schema.mjs";import{Button as Ge}from"./components/biz/example/button/server.mjs";import{exampleButtonMaterial as Ke}from"./components/biz/example/button/material.mjs";import{Renderer as qe}from"./components/biz/renderer/renderer.mjs";export{y as BasicBanner,p as BasicBannerDefaultData,_ as BasicBannerMaterialComponent,m as BasicBannerSchema,L as BasicFeatureGrid,F as BasicFeatureGridDefaultData,I as BasicFeatureGridSchema,z as BasicFullscreen,V as BasicFullscreenFeed,R as BasicFullscreenFeedDefaultData,B as BasicFullscreenFeedSchema,$ as BasicLogo,Y as BasicLogoDefaultData,Q as BasicLogoSchema,fe as BasicNavBar,ue as BasicNavBarDefaultData,de as BasicNavBarSchema,he as BasicPostCard,pe as BasicPostCardDefaultData,me as BasicPostCardSchema,ve as BasicRecommendedUsers,ge as BasicRecommendedUsersDefaultData,_e as BasicRecommendedUsersSchema,xe as BasicSearch,Ce as BasicSearchBar,ye as BasicSearchBarDefaultData,Se as BasicSearchBarSchema,X as BasicSearchDefaultData,be as BasicSearchSchema,Ge as Button,He as ButtonClient,e as CARD_SPEC_MAP,S as CardGrid2x3,b as CardGrid2x3DefaultData,T as CardGrid2x3Infinite,C as CardGrid2x3InfiniteDefaultData,w as CardGrid2x3InfiniteSchema,x as CardGrid2x3Schema,O as CardGrid2x4,E as CardGrid2x4DefaultData,D as CardGrid2x4Schema,j as CardGrid3x3,k as CardGrid3x3DefaultData,P as CardGrid3x3Infinite,M as CardGrid3x3InfiniteDefaultData,N as CardGrid3x3InfiniteSchema,A as CardGrid3x3Schema,Re as CardItemDefaultData,ze as CardItemSchema,Be as CardLayoutDefaultData,Ve as CardLayoutSchema,t as CardSpec,Ie as ComponentType,a as DataBindingUIMode,o as DataSourceType,ie as DetailSearchBar,Z as DetailSearchBarDefaultData,re as DetailSearchBarSchema,De as FilterSearch,ke as FilterSearchBar,Te as FilterSearchBarDefaultData,Oe as FilterSearchBarSchema,we as FilterSearchDefaultData,Ee as FilterSearchSchema,W as FullscreenFeedClient,H as FullscreenPostFeedDefaultData,U as FullscreenPostFeedSchema,q as FullscreenVideoClient,G as FullscreenVideoFeedDefaultData,K as FullscreenVideoFeedSchema,oe as HomeRecommendGrid,J as HomeRecommendGridDefaultData,ae as HomeRecommendGridSchema,le as HomeRecommendWaterfall,se as HomeRecommendWaterfallDefaultData,ce as HomeRecommendWaterfallSchema,qe as Renderer,ne as SimpleSearch,ee as SimpleSearchDefaultData,te as SimpleSearchSchema,Ne as TagSearch,Fe as TagSearchBar,je as TagSearchBarDefaultData,Pe as TagSearchBarSchema,Ae as TagSearchDefaultData,Me as TagSearchSchema,h as basicBannerInspectorDefaultProps,g as basicBannerInspectorPropsSchema,v as basicBannerMaterial,i as buildContentUrl,Ue as buttonInspectorDefaultProps,We as buttonInspectorPropsSchema,u as commonStyleSchema,s as commonStylesToInline,c as customStylesToInline,Ke as exampleButtonMaterial,Le as extractDataByComponentType,n as getCardSpecConfig,r as getChannelList,l as mergeStyles,d as transformContentListToCardItems,f as transformContentToCardItem};
package/dist/common.d.mts CHANGED
@@ -1,6 +1,8 @@
1
1
 
2
2
  import { UserActivityListItem, UserActivityListItemProps, UserActivityMediaGrid, UserActivityMediaGridProps } from "./components/common/list/user-activity-list/user-activity-list-item.mjs";
3
3
  import { AppContext, AppContextProps } from "./components/common/app-context/index.mjs";
4
+ import { BlockedDialog } from "./components/common/blocked-dialog/blocked-dialog.mjs";
5
+ import "./components/common/blocked-dialog/index.mjs";
4
6
  import { MiniThreeCard } from "./components/common/cards/mini-three-card.mjs";
5
7
  import { DebugLocaleSwitcher } from "./components/common/debug-locale-switcher/index.mjs";
6
8
  import { DeleteConfirmDialog, DeleteConfirmDialogProps } from "./components/common/delete-confirm-dialog/delete-confirm-dialog.mjs";
@@ -52,4 +54,4 @@ import { ThemeSync } from "./components/common/theme-sync/index.mjs";
52
54
  import { TopNavBarServer } from "./components/common/top-nav-bar/index.mjs";
53
55
  import { CommonPlayer, CommonPlayerRef } from "./components/common/video-player/index.mjs";
54
56
  import { WaitLoading } from "./components/common/wait-loading.mjs";
55
- export { ActionButton, AddIcon, AppContext, AppContextProps, CollectionList, CollectionListItem, CollectionListItemProps, CollectionListMediaItem, CollectionListProps, CommentIcon, CommonPhotoGrid, CommonPlayer, CommonPlayerRef, DebugLocaleSwitcher, DeleteConfirmDialog, DeleteConfirmDialogProps, DeleteIcon, Empty, FunhubProvider, FunhubProviderProps, GenderPicker, GenderPickerOption, GenderPickerProps, HeaderNav, IntlProvider, IntlProviderProps, LeftArrowIcon, LocaleSync, LoginDialog, MediaPreview, MiniThreeCard, MoreIcon, PageSkeleton, SeriesEpisodePage as PhotoGrid, PopupVideo, PostList, PostListItem, PostListItemProps, PostListProps, RightArrowIcon, SeriesEpisodes, SeriesEpisodesProps, SettingIcon, ShareContent, ShareDataType, ShareDrawer, ShareDrawerProps, ShareIcon, SharePlatform, SharePopupComponent, TabBar, ThemeSync, TopNavBarServer, UserActivityList, UserActivityListItem, UserActivityListItemProps, UserActivityListProps, UserActivityMediaGrid, UserActivityMediaGridProps, MediaPreview as UserActivityMediaPreview, VideoList, VideoListItem, VideoListItemProps, VideoListProps, WaitLoading, closePhotoPreview, defaultActions, defaultPlatforms, photoPreview, useMediaPreview };
57
+ export { ActionButton, AddIcon, AppContext, AppContextProps, BlockedDialog, CollectionList, CollectionListItem, CollectionListItemProps, CollectionListMediaItem, CollectionListProps, CommentIcon, CommonPhotoGrid, CommonPlayer, CommonPlayerRef, DebugLocaleSwitcher, DeleteConfirmDialog, DeleteConfirmDialogProps, DeleteIcon, Empty, FunhubProvider, FunhubProviderProps, GenderPicker, GenderPickerOption, GenderPickerProps, HeaderNav, IntlProvider, IntlProviderProps, LeftArrowIcon, LocaleSync, LoginDialog, MediaPreview, MiniThreeCard, MoreIcon, PageSkeleton, SeriesEpisodePage as PhotoGrid, PopupVideo, PostList, PostListItem, PostListItemProps, PostListProps, RightArrowIcon, SeriesEpisodes, SeriesEpisodesProps, SettingIcon, ShareContent, ShareDataType, ShareDrawer, ShareDrawerProps, ShareIcon, SharePlatform, SharePopupComponent, TabBar, ThemeSync, TopNavBarServer, UserActivityList, UserActivityListItem, UserActivityListItemProps, UserActivityListProps, UserActivityMediaGrid, UserActivityMediaGridProps, MediaPreview as UserActivityMediaPreview, VideoList, VideoListItem, VideoListItemProps, VideoListProps, WaitLoading, closePhotoPreview, defaultActions, defaultPlatforms, photoPreview, useMediaPreview };
package/dist/common.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
 
2
- import{MediaPreview as e,useMediaPreview as t}from"./components/common/media-preview/index.mjs";import n from"./components/common/share-popup/share-content.mjs";import{ShareDrawer as r}from"./components/common/share-popup/share-drawer.mjs";import{IntlProvider as i}from"./components/common/intl-provider.mjs";import{SharePopupComponent as a,defaultActions as o,defaultPlatforms as s}from"./components/common/share-popup/share-popup.mjs";import c from"./components/common/video-player/index.mjs";import{AppContext as l}from"./components/common/app-context/index.mjs";import{MiniThreeCard as u}from"./components/common/cards/mini-three-card.mjs";import{DebugLocaleSwitcher as d}from"./components/common/debug-locale-switcher/index.mjs";import{DeleteConfirmDialog as f}from"./components/common/delete-confirm-dialog/delete-confirm-dialog.mjs";import p from"./components/common/empty/index.mjs";import{LoginDialog as m}from"./components/common/login-dialog/login-dialog.mjs";import{FunhubProvider as h}from"./components/common/funhub-provider/funhub-provider.mjs";import{LeftArrowIcon as g}from"./components/common/icons/left-arrow.mjs";import{HeaderNav as _}from"./components/common/header-nav/client.mjs";import{AddIcon as v}from"./components/common/icons/add.mjs";import{CommentIcon as y}from"./components/common/icons/comment.mjs";import{DeleteIcon as b}from"./components/common/icons/delete.mjs";import{MoreIcon as x}from"./components/common/icons/more.mjs";import{RightArrowIcon as S}from"./components/common/icons/right-arrow.mjs";import{SettingIcon as C}from"./components/common/icons/setting.mjs";import{ShareIcon as w}from"./components/common/icons/share.mjs";import{CollectionListItem as T}from"./components/common/list/collection-list/collection-list-item.mjs";import{CollectionList as E}from"./components/common/list/collection-list/collection-list.mjs";import{PostListItem as D}from"./components/common/list/post-list/post-list-item.mjs";import{PostList as O}from"./components/common/list/post-list/post-list.mjs";import{VideoListItem as k}from"./components/common/list/video-list/video-list-item.mjs";import{VideoList as A}from"./components/common/list/video-list/video-list.mjs";import{LocaleSync as j}from"./components/common/locale-sync/locale-sync.mjs";import{PageSkeleton as M}from"./components/common/page-skeleton/page-skeleton.mjs";import N from"./components/common/photo-grid/index.mjs";import P from"./components/common/photo-grid/common-photo-grid.mjs";import{closePhotoPreview as F,photoPreview as I}from"./components/common/photo-preview/index.mjs";import{GenderPicker as L}from"./components/common/picker/gender-picker/gender-picker.mjs";import R from"./components/common/popup-video/index.mjs";import{SeriesEpisodes as z}from"./components/common/series-episodes/index.mjs";import{TabBar as B}from"./components/common/tab-bar/index.mjs";import{ThemeSync as V}from"./components/common/theme-sync/index.mjs";import{TopNavBarServer as H}from"./components/common/top-nav-bar/index.mjs";import{WaitLoading as U}from"./components/common/wait-loading.mjs";import{UserActivityList as W}from"./components/common/list/user-activity-list/user-activity-list.mjs";import{UserActivityListItem as G,UserActivityMediaGrid as K}from"./components/common/list/user-activity-list/user-activity-list-item.mjs";export{v as AddIcon,l as AppContext,E as CollectionList,T as CollectionListItem,y as CommentIcon,P as CommonPhotoGrid,c as CommonPlayer,d as DebugLocaleSwitcher,f as DeleteConfirmDialog,b as DeleteIcon,p as Empty,h as FunhubProvider,L as GenderPicker,_ as HeaderNav,i as IntlProvider,g as LeftArrowIcon,j as LocaleSync,m as LoginDialog,e as MediaPreview,u as MiniThreeCard,x as MoreIcon,M as PageSkeleton,N as PhotoGrid,R as PopupVideo,O as PostList,D as PostListItem,S as RightArrowIcon,z as SeriesEpisodes,C as SettingIcon,n as ShareContent,r as ShareDrawer,w as ShareIcon,a as SharePopupComponent,B as TabBar,V as ThemeSync,H as TopNavBarServer,W as UserActivityList,G as UserActivityListItem,K as UserActivityMediaGrid,e as UserActivityMediaPreview,A as VideoList,k as VideoListItem,U as WaitLoading,F as closePhotoPreview,o as defaultActions,s as defaultPlatforms,I as photoPreview,t as useMediaPreview};
2
+ import{MediaPreview as e,useMediaPreview as t}from"./components/common/media-preview/index.mjs";import n from"./components/common/share-popup/share-content.mjs";import{ShareDrawer as r}from"./components/common/share-popup/share-drawer.mjs";import{IntlProvider as i}from"./components/common/intl-provider.mjs";import{SharePopupComponent as a,defaultActions as o,defaultPlatforms as s}from"./components/common/share-popup/share-popup.mjs";import c from"./components/common/video-player/index.mjs";import{AppContext as l}from"./components/common/app-context/index.mjs";import{BlockedDialog as u}from"./components/common/blocked-dialog/blocked-dialog.mjs";import{MiniThreeCard as d}from"./components/common/cards/mini-three-card.mjs";import{DebugLocaleSwitcher as f}from"./components/common/debug-locale-switcher/index.mjs";import{DeleteConfirmDialog as p}from"./components/common/delete-confirm-dialog/delete-confirm-dialog.mjs";import m from"./components/common/empty/index.mjs";import{LoginDialog as h}from"./components/common/login-dialog/login-dialog.mjs";import{FunhubProvider as g}from"./components/common/funhub-provider/funhub-provider.mjs";import{LeftArrowIcon as _}from"./components/common/icons/left-arrow.mjs";import{HeaderNav as v}from"./components/common/header-nav/client.mjs";import{AddIcon as y}from"./components/common/icons/add.mjs";import{CommentIcon as b}from"./components/common/icons/comment.mjs";import{DeleteIcon as x}from"./components/common/icons/delete.mjs";import{MoreIcon as S}from"./components/common/icons/more.mjs";import{RightArrowIcon as C}from"./components/common/icons/right-arrow.mjs";import{SettingIcon as w}from"./components/common/icons/setting.mjs";import{ShareIcon as T}from"./components/common/icons/share.mjs";import{CollectionListItem as E}from"./components/common/list/collection-list/collection-list-item.mjs";import{CollectionList as D}from"./components/common/list/collection-list/collection-list.mjs";import{PostListItem as O}from"./components/common/list/post-list/post-list-item.mjs";import{PostList as k}from"./components/common/list/post-list/post-list.mjs";import{UserActivityList as A}from"./components/common/list/user-activity-list/user-activity-list.mjs";import{UserActivityListItem as j,UserActivityMediaGrid as M}from"./components/common/list/user-activity-list/user-activity-list-item.mjs";import{VideoListItem as N}from"./components/common/list/video-list/video-list-item.mjs";import{VideoList as P}from"./components/common/list/video-list/video-list.mjs";import{LocaleSync as F}from"./components/common/locale-sync/locale-sync.mjs";import{PageSkeleton as I}from"./components/common/page-skeleton/page-skeleton.mjs";import L from"./components/common/photo-grid/index.mjs";import R from"./components/common/photo-grid/common-photo-grid.mjs";import{closePhotoPreview as z,photoPreview as B}from"./components/common/photo-preview/index.mjs";import{GenderPicker as V}from"./components/common/picker/gender-picker/gender-picker.mjs";import H from"./components/common/popup-video/index.mjs";import{SeriesEpisodes as U}from"./components/common/series-episodes/index.mjs";import{TabBar as W}from"./components/common/tab-bar/index.mjs";import{ThemeSync as G}from"./components/common/theme-sync/index.mjs";import{TopNavBarServer as K}from"./components/common/top-nav-bar/index.mjs";import{WaitLoading as q}from"./components/common/wait-loading.mjs";export{y as AddIcon,l as AppContext,u as BlockedDialog,D as CollectionList,E as CollectionListItem,b as CommentIcon,R as CommonPhotoGrid,c as CommonPlayer,f as DebugLocaleSwitcher,p as DeleteConfirmDialog,x as DeleteIcon,m as Empty,g as FunhubProvider,V as GenderPicker,v as HeaderNav,i as IntlProvider,_ as LeftArrowIcon,F as LocaleSync,h as LoginDialog,e as MediaPreview,d as MiniThreeCard,S as MoreIcon,I as PageSkeleton,L as PhotoGrid,H as PopupVideo,k as PostList,O as PostListItem,C as RightArrowIcon,U as SeriesEpisodes,w as SettingIcon,n as ShareContent,r as ShareDrawer,T as ShareIcon,a as SharePopupComponent,W as TabBar,G as ThemeSync,K as TopNavBarServer,A as UserActivityList,j as UserActivityListItem,M as UserActivityMediaGrid,e as UserActivityMediaPreview,P as VideoList,N as VideoListItem,q as WaitLoading,z as closePhotoPreview,o as defaultActions,s as defaultPlatforms,B as photoPreview,t as useMediaPreview};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{mergeStyles as e}from"../../../../../utils/styles/helpers.mjs";import{disablePageScroll as t,enablePageScroll as n,pxToVw as r}from"../../../../../../../utils/helper.mjs";import{Image as i}from"../../../../../../ui/image.mjs";import{Box as a}from"../../../../../../ui/box.mjs";import{Text as o}from"../../../../../../ui/text.mjs";import s from"../../../../../../ui/legacy/button.mjs";import c from"../../../../../../ui/link.mjs";import{urlPrefix as l}from"../../../../../../../constants/url-prefix.mjs";import{loadHiddenChannelIdsFromStorage as u}from"../../../../../business/nav-bar/variants/basic-nav-bar/runtime/channel-filter-dialog.mjs";import{defaultProps as d}from"../defaults/default-props.mjs";import f from"../../../../../../../assets/images/logo.mjs";import{Popover as p}from"../../../../../../ui/legacy/popover.mjs";import{Mask as m}from"../../../../../../ui/mask.mjs";import{clsx as h}from"clsx";import{useIsClient as g}from"foxact/use-is-client";import{useEffect as _,useMemo as v,useRef as y,useState as b}from"react";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{usePathname as C}from"next/navigation";const w={overscrollBehavior:`contain`},T={},E=[];function D(e,t){return t===0?`/`:`${l.CHANNEL}/${encodeURIComponent(e.cn_name)}`}function O(e,t,n){return h(`w-full leading-[58px] px-[20px] text-[16px] text-text2 border-t border-solid border-line1 transition-all duration-150 block`,e===0&&`border-t-0`,t&&`!text-[20px] !text-theme5 !font-bold`,n&&`!text-(--color-theme5)`)}function k(e){let t=e;try{t=decodeURIComponent(e)}catch{t=e}return t.length>1&&t.endsWith(`/`)?t.slice(0,-1):t}function A(e){e.stopPropagation()}function j({props:l=T,styles:h,events:j,data:M=E}){let{logoAlt:N,logoWidth:P,logoHeight:F,popoverPlacement:I,popoverWidth:L,maxHeight:R,itemHeight:z,currentChannelId:B}={...d,...l},[V,H]=b(!1),U=y(null),W=C(),[G,K]=b(B??null),q=g(),J=(e,t)=>{K(e.id),j?.onChannelChange?.(e,t),setTimeout(()=>{H(!1)},150)};_(()=>{if(B||!W||M.length===0)return;let e=k(W),t=M.find((t,n)=>k(D(t,n))===e);t?K(t.id):e===`/`&&K(M[0]?.id||null)},[W,q,M,B]);let Y=v(()=>{if(!q||!V)return M;let e=u();return M.filter(t=>!e.includes(t.id))},[M,q,V]);_(()=>{if(V)return t(),()=>{n()}},[V]);let X=h?e(h,{}):{},Z={width:r(L),maxHeight:r(R),...w};return S(a,{style:X,className:`leading-0 flex items-center`,children:[x(m,{visible:V,onMaskClick:()=>{H(!1)}}),x(p,{placement:I,visible:V,content:x(a,{as:`nav`,className:`overflow-y-auto overscroll-contain`,style:Z,onTouchMove:A,children:Y.map((e,t)=>{let n=D(e,t),i=k(W||``)===k(n);return x(c,{href:n,className:O(t,G===e.id,i),style:{height:r(z)},onClick:()=>J(e,t),children:e.cn_name},e.id||`channel-${t}`)})}),children:x(o,{ref:U,as:`h1`,className:`flex items-center`,children:x(s,{onClick:()=>{H(e=>!e),j?.onClick?.()},className:`!m-0 !p-0`,children:x(i,{alt:N,src:typeof f==`string`?f:f.src,width:P,height:F})})},`logo-button`)})]})}export{j as default};
2
+ "use client";import{mergeStyles as e}from"../../../../../utils/styles/helpers.mjs";import{disablePageScroll as t,enablePageScroll as n,pxToVw as r}from"../../../../../../../utils/helper.mjs";import{Image as i}from"../../../../../../ui/image.mjs";import{Box as a}from"../../../../../../ui/box.mjs";import{Text as o}from"../../../../../../ui/text.mjs";import s from"../../../../../../ui/legacy/button.mjs";import c from"../../../../../../ui/link.mjs";import{defaultProps as l}from"../defaults/default-props.mjs";import u from"../../../../../../../assets/images/logo.mjs";import{loadHiddenChannelIdsFromStorage as d}from"../../../../../business/nav-bar/variants/basic-nav-bar/runtime/channel-filter-dialog.mjs";import{Popover as f}from"../../../../../../ui/legacy/popover.mjs";import{Mask as p}from"../../../../../../ui/mask.mjs";import{urlPrefix as m}from"../../../../../../../constants/url-prefix.mjs";import{clsx as h}from"clsx";import{useIsClient as g}from"foxact/use-is-client";import{useEffect as _,useMemo as v,useRef as y,useState as b}from"react";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{usePathname as C}from"next/navigation";const w={overscrollBehavior:`contain`},T={},E=[];function D(e,t){return t===0?`/`:`${m.CHANNEL}/${encodeURIComponent(e.cn_name)}`}function O(e,t,n){return h(`w-full leading-[58px] px-[20px] text-[16px] text-text2 border-t border-solid border-line1 transition-all duration-150 block`,e===0&&`border-t-0`,t&&`!text-[20px] !text-theme5 !font-bold`,n&&`!text-(--color-theme5)`)}function k(e){let t=e;try{t=decodeURIComponent(e)}catch{t=e}return t.length>1&&t.endsWith(`/`)?t.slice(0,-1):t}function A(e){e.stopPropagation()}function j({props:m=T,styles:h,events:j,data:M=E}){let{logoAlt:N,logoWidth:P,logoHeight:F,popoverPlacement:I,popoverWidth:L,maxHeight:R,itemHeight:z,currentChannelId:B}={...l,...m},[V,H]=b(!1),U=y(null),W=C(),[G,K]=b(B??null),q=g(),J=(e,t)=>{K(e.id),j?.onChannelChange?.(e,t),setTimeout(()=>{H(!1)},150)};_(()=>{if(B||!W||M.length===0)return;let e=k(W),t=M.find((t,n)=>k(D(t,n))===e);t?K(t.id):e===`/`&&K(M[0]?.id||null)},[W,q,M,B]);let Y=v(()=>{if(!q||!V)return M;let e=d();return M.filter(t=>!e.includes(t.id))},[M,q,V]);_(()=>{if(V)return t(),()=>{n()}},[V]);let X=h?e(h,{}):{},Z={width:r(L),maxHeight:r(R),...w};return S(a,{style:X,className:`leading-0 flex items-center`,children:[x(p,{visible:V,onMaskClick:()=>{H(!1)}}),x(f,{placement:I,visible:V,content:x(a,{as:`nav`,className:`overflow-y-auto overscroll-contain`,style:Z,onTouchMove:A,children:Y.map((e,t)=>{let n=D(e,t),i=k(W||``)===k(n);return x(c,{href:n,className:O(t,G===e.id,i),style:{height:r(z)},onClick:()=>J(e,t),children:e.cn_name},e.id||`channel-${t}`)})}),children:x(o,{ref:U,as:`h1`,className:`flex items-center`,children:x(s,{onClick:()=>{H(e=>!e),j?.onClick?.()},className:`!m-0 !p-0`,children:x(i,{alt:N,src:typeof u==`string`?u:u.src,width:P,height:F})})},`logo-button`)})]})}export{j as default};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{mergeStyles as e}from"../../../../../utils/styles/helpers.mjs";import{pxToVw as t}from"../../../../../../../utils/helper.mjs";import n from"../../../../../../ui/link.mjs";import r from"../../../../../../../assets/icons/search.mjs";import{defaultProps as i}from"../defaults/default-props.mjs";import{jsx as a}from"react/jsx-runtime";function o({props:o,styles:s,events:c}){let{searchUrl:l,iconSize:u}={...i,...o||{}},d=()=>{c?.onClick?.()},f=s?e(s,{}):void 0,p=t(u);return a(n,{href:l,onClick:d,style:f,"aria-label":`搜索`,children:a(r,{width:p,height:p})})}export{o as default};
2
+ "use client";import{mergeStyles as e}from"../../../../../utils/styles/helpers.mjs";import{pxToVw as t}from"../../../../../../../utils/helper.mjs";import n from"../../../../../../ui/link.mjs";import{defaultProps as r}from"../defaults/default-props.mjs";import i from"../../../../../../../assets/icons/search.mjs";import{jsx as a}from"react/jsx-runtime";function o({props:o,styles:s,events:c}){let{searchUrl:l,iconSize:u}={...r,...o||{}},d=()=>{c?.onClick?.()},f=s?e(s,{}):void 0,p=t(u);return a(n,{href:l,onClick:d,style:f,"aria-label":`搜索`,children:a(i,{width:p,height:p})})}export{o as default};
@@ -1,2 +1,2 @@
1
1
 
2
- import{defineMaterial as e}from"../../../../../../utils/schema/material.mjs";import{basicBannerInspectorPropsSchema as t}from"./inspector-schema.mjs";import{BasicBanner as n}from"./server.mjs";const r=e({type:`basic-banner`,name:`基础轮播图`,icon:`/static/components-thumb/banner.png`,category:`CENTER`,serverComponent:n,clientComponent:n,propsSchema:t});export{r as basicBannerMaterial};
2
+ import{defineMaterial as e}from"../../../../../../utils/schema/material.mjs";import{basicBannerInspectorPropsSchema as t}from"./inspector-schema.mjs";import{BasicBanner as n}from"./server.mjs";const r=e({type:`basic-banner`,name:`基础轮播图`,icon:`/static/components-thumb/carousel_banner.png`,category:`内容组件`,serverComponent:n,clientComponent:n,propsSchema:t});export{r as basicBannerMaterial};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{cn as e}from"../../../../utils/cn.mjs";import{debounceFun as t,getCurrentSecondTime as n,parseTextAtUserIds as r,replaceAtUserElement as i}from"../../../../utils/common.mjs";import{useUserStore as a}from"../../../../store/modules/user-store.mjs";import{gCommunityGetComments as o,pCommunityCreateComment as s,pCommunityDislikeComment as c,pCommunityLikeComment as l,pInteractionFollow as u,pInteractionUnfollow as d}from"../../../../service/generated/client.mjs";import{checkFollowStatus as f}from"../../../../utils/follow-service.mjs";import{Image as p}from"../../../ui/image.mjs";import{Dialog as m,DialogContent as h}from"../../../ui/dialog.mjs";import{InfiniteScroll as g}from"../../../ui/infinite-scroll.mjs";import{useLikeDislike as _}from"../../../../hooks/use-like-dislike.mjs";import{useKeepAliveState as v}from"../../../common/keep-scroll-position/index.mjs";import{useFollowIdsState as y}from"../../../../store/modules/follow-ids-store.mjs";import b from"../../../../assets/icons/close.mjs";import x 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 w from"../../../../assets/icons/detail/give_like.mjs";import T from"../../../../assets/icons/detail/give_like_sel.mjs";import E from"./comment-input.mjs";import D from"../../../../assets/icons/detail/un_like.mjs";import O from"../../../../assets/icons/detail/un_like_sel.mjs";import{CommentMedia as k}from"./comment-media.mjs";import{CommentRichText as A}from"./comment-rich-text.mjs";import{TimeDisplay as j}from"./time-display.mjs";import{CommentItem as M}from"./comment-item.mjs";import{mapApiReplayToReplay as N}from"../../../../types/safe-replay.mjs";import{memo as P,useCallback as F,useEffect as I,useMemo as L,useRef as R,useState as z}from"react";import{Fragment as B,jsx as V,jsxs as H}from"react/jsx-runtime";import{toast as U}from"sonner";import{useTranslations as W}from"next-intl";import{useRouter as G}from"next/navigation";function K(e){if(e==null)return 0;let t=typeof e==`number`?e:Number(e);if(!Number.isNaN(t)&&t>0)return t>0xe8d4a51000?Math.floor(t/1e3):Math.floor(t);let n=Date.parse(String(e));return Number.isNaN(n)?0:Math.floor(n/1e3)}function q(e,t,n){let r=[];return Array.isArray(n)&&n.length>0?(n.forEach(e=>{let t=!!e?.is_video,n=String(e?.media_url||``),i=String(e?.cover_image||``);!n&&!i||r.push({cover_image:i,cover_image_thumbnail:i,cover_image_radio:1,cover_image_resolution:String(e?.cover_image_resolution||``),image_url:t?``:n,image_thumbnail:t?``:n,image_radio:1,image_resolution:String(e?.image_resolution||``),is_video:t,resolution:String(e?.video_resolution||``),video_duration:Number(e?.video_duration||0),video_url:t?n:``,video_size:Number(e?.video_size||0),video_codec_info:{hls_info:[],video_codec_deal:!1}})}),r):(e?.length&&e.forEach(e=>{r.push({cover_image:``,cover_image_thumbnail:``,cover_image_radio:1,cover_image_resolution:``,image_url:e,image_thumbnail:e,image_radio:1,image_resolution:``,is_video:!1,resolution:``,video_duration:0,video_url:``,video_size:0,video_codec_info:{hls_info:[],video_codec_deal:!1}})}),t?.length&&t.forEach(e=>{r.push({cover_image:``,cover_image_thumbnail:``,cover_image_radio:1,cover_image_resolution:``,image_url:``,image_thumbnail:``,image_radio:1,image_resolution:``,is_video:!0,resolution:``,video_duration:0,video_url:e,video_size:0,video_codec_info:{hls_info:[],video_codec_deal:!1}})}),r)}function J(e){let t=X(e.mentioned_users),n=t.length>0?t:Z(e.content||``);return{id:String(e.comment_id??e.id??``),user_name:e.user?.nickname||e.user?.username||``,text:e.content||``,type:`4`,files:[],at_users:n,cover_image:``,nine_grid_content_info:q(e?.images,e?.videos,e?.medias)}}function Y(e,t){let n=e.is_liked?`1`:e.is_dislike?`2`:`0`,r=X(e.mentioned_users),i=r.length>0?r:Z(e.content||``),a=String(e.comment_id??e.id??``),o=typeof e.like_count==`number`?e.like_count:0,s=N({id:a,like_cnt:(e.is_liked&&o===0?1:o).toString(),dislike_cnt:(e.dislike_count||0).toString(),created_at:K(e.create_time),text:e.content||``,type:`4`,like_flag:n,user_id:e.user_id||``,user_name:e.user?.nickname||e.user?.username||``,avatar:e.user?.avatar_url||``,reply_cnt:(e.reply_count||0).toString(),nine_grid_content_info:q(e?.images,e?.videos,e?.medias),at_users:i,parent_reply:void 0});return t&&(s.parent_reply=J(t)),s}function X(e){return Array.isArray(e)?e.map(e=>({user_id:e.user_id||``,name:e.nickname||e.username||``,avatar:e.avatar_url||``,birthday:``,signature:e.signature||``})):[]}function Z(e){if(!e)return[];let t=new Map,n=/<span[^>]*class=['"]mention['"][^>]*data-id=['"]([^'"]+)['"][^>]*>@([^<]*)<\/span>/g,r;for(;(r=n.exec(e))!==null;){let e=r[1]?String(r[1]):``,n=(r[2]?String(r[2]):``).replace(/^@/,``)||e;!e||t.has(e)||t.set(e,{user_id:e,name:n,avatar:``,birthday:``,signature:``})}if(t.size>0)return Array.from(t.values());let i=/<@_user>(\w+)<\/@_user>/g;for(;(r=i.exec(e))!==null;){let e=r[1]?String(r[1]):``;!e||t.has(e)||t.set(e,{user_id:e,name:e,avatar:``,birthday:``,signature:``})}return Array.from(t.values())}function ee(e){return!Array.isArray(e)||e.length===0?[]:e.map(e=>{let t=!!e.is_video,n=t?String(e.video_url||``):String(e.image_url||e.cover_image||``),r=String(e.cover_image||e.image_url||``);return{media_url:n,is_video:t,image_resolution:String(e.image_resolution||``),cover_image:r,cover_image_resolution:String(e.cover_image_resolution||``),video_resolution:String(e.resolution||``),video_duration:Number(e.video_duration||0),video_size:Number(e.video_size||0)}}).filter(e=>!!e.media_url)}function Q(e,t){let n=[];return e.forEach(e=>{n.push(Y(e,t)),e.sub_comments?.length&&n.push(...Q(e.sub_comments,e))}),n}function $(e){let t=Number(e)||0;return t>=1e4?`${(t/1e4).toFixed(1)}w`:t>=1e3?`${(t/1e3).toFixed(1)}k`:String(t)}const te=t((e,t,n)=>{try{if(!e?.id)return;l({comment_id:e.id,is_like:e.like_flag!==`1`},{revalidate:!1})}catch(e){console.error(`点赞回复失败:`,e)}},200),ne=t((e,t,n)=>{try{if(!e?.id)return;c({comment_id:e.id,is_dislike:e.like_flag!==`2`},{revalidate:!1})}catch(e){console.error(`点踩回复失败:`,e)}},200),re=P(({comment:e,updateFollow:t,onRequireLogin:n})=>{let{userInfo:r,userId:i,isLogin:o}=a(),s=r?.userId||r?.user_id||i||``;return V(`div`,{className:`w-full bg-bg1`,children:V(M,{comment:e,variant:`light`,isLogin:o,onRequireLogin:n,rightSlot:L(()=>!!s&&String(s)===String(e.user_id||``),[e.user_id,s])?V(B,{}):V(ie,{userId:e.user_id,hasFollow:e.is_follow,onChange:t,onRequireLogin:n}),showReplyButton:!1})})});function ie({userId:t,hasFollow:n=!1,onChange:r,onRequireLogin:i}){let o=W(`components.biz.business.comment`),{isLogin:s,userInfo:c,userId:l}=a(),{followIds:f}=y(),[p,m]=z(n),[h,g]=z(!1),_=c?.userId||c?.user_id||l||``,v=L(()=>!!_&&String(_)===String(t||``),[t,_]),b=L(()=>n||f.includes(t),[f,n,t]);I(()=>{m(b)},[b]);let w=F(async()=>{try{if(!_||!t||t===`0`){U.error(o(`replyDetail.loginRequired`));return}if(p){let e=await d({follower_id:String(_),followee_id:t});if(e.code!==0){U.error(e.message||o(`replyDetail.unfollowFailed`));return}}else{let e=await u({follower_id:String(_),followee_id:t});if(e.code!==0){U.error(e.message||o(`replyDetail.followFailed`));return}}window.sensors?.track(`detail_follow_click`,{object_id:``,action:p?`取消关注`:`关注`,author_id:t}),sessionStorage.setItem(`user_page_refresh`,`1`)}catch(e){console.error(`关注或取消关注失败:`,e),U.error(o(p?`replyDetail.unfollowFailed`:`replyDetail.followFailed`));return}let e=!p;r?.(e),m(e);let{followIds:n,setFollowIds:i}=y.getState(),a=new Set(n);e?a.add(t):a.delete(t),i(Array.from(a))},[t,p,r,_,o]),T=F(()=>{if(!s){i?.();return}if(p){g(!0);return}w()},[w,p,s,i]);function E(){g(!1),w()}function D(){g(!1)}return v||!t||t===`0`?null:H(B,{children:[V(`div`,{className:e(`h-[28px] rounded-[14px] px-[8px] border border-solid cursor-pointer flex items-center justify-center`,p?`border-text3`:`border-theme5`),onClick:T,children:p?H(B,{children:[V(x,{className:`w-[12px] h-[12px] text-text3 shrink-0`}),V(`span`,{className:`text-text3 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:o(`replyDetail.followed`)})]}):H(B,{children:[V(S,{className:`block w-[12px] h-[12px] text-theme5 shrink-0`}),V(`span`,{className:`block text-theme5 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:o(`replyDetail.follow`)})]})}),V(C,{open:h,onOpenChange:g,onCancel:D,onConfirm:E})]})}const ae=t(e=>{e()},0);function oe(e,t,n,r){let i=R(!1);I(()=>{i.current=!1},[r]),I(()=>{let r=e.current;if(!r)return;!i.current&&t>0&&(r.scrollTop=t,i.current=!0);let a=()=>{i.current=!0,n(r.scrollTop)};return r.addEventListener(`scroll`,a,{passive:!0}),()=>r.removeEventListener(`scroll`,a)},[e,n,t,r])}const se=P(({commentId:e,informationId:t,handleReplyComment:n,onReplyListUpdate:r})=>{let i=W(`components.biz.business.comment`),[a,s]=v(`replay-detail-list-${e}`,[]),[c,l]=v(`replay-detail-has-more-${e}`,!0),[u,d]=v(`replay-detail-page-${e}`,1),{getLikedListData:f,getDislikedListData:p}=_(),m=R(!1),h=F(async()=>{if(!(!e||!t)&&!m.current){m.current=!0;try{let n=await o({content_id:t,parent_id:e,page:u,page_size:20,sort_by:`latest`});if(n.code!==0)throw Error(n.message||i(`replyDetail.fetchRepliesFailed`));let r=n.data?.data?.comments??[],a=Q(r);((n.data?.data?.has_more??!1)===!1||r.length<20)&&l(!1),s(e=>{let t=new Set(e.map(e=>e.id)),n=a.filter(e=>!t.has(e.id));return[...e,...n]}),a.length>0&&d(u+1)}catch(e){console.error(`获取回复列表失败:`,e),l(!1)}finally{m.current=!1}}},[e,t,u,s,l,d,i]),y=F(e=>{s(t=>[e,...t])},[s]);I(()=>{r(y)},[r,y]),I(()=>{e&&t&&(s(e=>e.length===0?e:[]),l(e=>e===!0?e:!0),d(e=>e===1?e:1))},[e,t,s,l,d]);let b=F(n=>{s(e=>f(e,n.id)),te(n,t,e)},[e,f,t,s]),x=F(n=>{n.like_flag!==`2`&&U.message(i(`replyDetail.dislikeHint`)),s(e=>p(e,n.id)),ne(n,t,e)},[e,p,t,s,i]),[S,C]=v(`replay-detail-scroll-top-${e}`,0),w=R(null);oe(w,S,C,e),I(()=>{!e||!t||a.length===0&&c&&h()},[e,t,h,a.length,c]);let T=F(async()=>{await h()},[h]);return H(`div`,{ref:w,className:`w-full pb-[66px]`,children:[a.map((e,t)=>V(ce,{replyItem:e,replyComment:n,onLikeReply:b,onDislikeReply:x},`${e.id}-${t}`)),V(g,{loadMore:T,hasMore:c})]})});function ce({replyItem:e,replyComment:t,onLikeReply:n,onDislikeReply:r}){let i=W(`components.biz.business.comment`),a=G(),o=e.status===`0`;function s(){n?.(e)}function c(){r?.(e)}function l(){t(e)}return H(`div`,{className:`p-[16px] flex flex-col`,children:[H(`div`,{className:`flex flex-row justify-between`,children:[H(`button`,{type:`button`,className:`flex flex-row items-center text-left`,onClick:()=>{a.push(`/profile/${e.user_id}`)},children:[V(`div`,{className:`w-[38px] h-[38px] rounded-full overflow-hidden relative bg-bg2`,children:e.avatar&&V(p,{src:e.avatar,fill:!0,objectFit:`cover`,alt:`avatar`})}),H(`div`,{className:`ml-[12px] flex flex-col`,children:[V(`span`,{className:`text-text2 text-[14px] leading-[14px] max-w-[180px] text-ellipsis overflow-hidden whitespace-nowrap`,children:e.user_name}),V(`span`,{className:`mt-[8px] text-text3 text-[12px] leading-[12px]`,children:V(j,{timestamp:e.created_at})})]})]}),o?V(`div`,{className:`px-[8px] py-[4px] bg-text3/10 rounded-[12px]`,children:V(`span`,{className:`text-text3 text-[12px] leading-[12px]`,children:i(`replyDetail.underReview`)})}):H(`div`,{className:`flex flex-row items-center`,children:[H(`div`,{className:`px-[4px] flex flex-col items-center`,onClick:s,children:[e.like_flag===`1`?V(T,{className:`w-[14px] h-[14px]`}):V(w,{className:`w-[14px] h-[14px] text-text3`}),V(`span`,{className:`mt-[4px] text-text3 text-[12px] leading-[12px]`,children:e.like_cnt===`0`?i(`replyDetail.like`):$(e.like_cnt)})]}),H(`div`,{className:`ml-[12px] px-[4px] flex flex-col items-center`,onClick:c,children:[e.like_flag===`2`?V(O,{className:`w-[14px] h-[14px]`}):V(D,{className:`w-[14px] h-[14px] text-text3`}),V(`span`,{className:`mt-[4px] text-text3 text-[12px] leading-[12px]`,children:e.dislike_cnt===`0`?i(`replyDetail.dislike`):$(e.dislike_cnt)})]})]})]}),H(`div`,{className:`mt-[4px] pl-[50px] flex flex-col`,children:[e.text&&V(A,{className:`text-text1 text-[14px] leading-[22px] break-all`,text:e.text,atUsers:e.at_users}),V(k,{list:e.nine_grid_content_info,disabled:o,hasText:!!e.text,playerId:e.id}),e.parent_reply&&e.parent_reply.text&&H(B,{children:[H(`div`,{className:`mt-[4px] flex flex-row items-center text-[14px] leading-[22px] relative pl-[8px]`,children:[V(`div`,{className:`w-[2px] h-full bg-line1 mr-[8px] absolute left-0 top-0 bottom-0 m-auto`}),H(`span`,{className:`text-theme1`,children:[e.parent_reply.user_name,`:`,e.parent_reply.text&&V(`span`,{className:`text-text1`,children:V(A,{text:e.parent_reply.text,atUsers:e.parent_reply.at_users})})]})]}),V(`div`,{className:`mt-1`,children:V(k,{list:e.parent_reply.nine_grid_content_info,disabled:o,hasText:!!e.parent_reply.text,playerId:e.parent_reply.id})})]}),V(`div`,{className:`mt-[4px] w-[fit-content] h-[30px] px-[12px] text-text1 text-[14px] leading-[22px] flex flex-row items-center bg-bg1 rounded-[15px]`,onClick:l,children:V(`span`,{children:i(`replyDetail.reply`)})})]})]})}function le({comment:e,information:t,contentType:o,visible:c,onClose:l,onReplyComment:u,onReplyAdded:d,onRequireLogin:p}){let g=W(`components.biz.business.comment`),_=R(null),[v,x]=z(()=>N({})),[S,C]=z(!1),{userInfo:w,userId:T}=a(),{followIds:D,setFollowIds:O}=y(),k=w?.userId||w?.user_id||T||``,A=w?.name||w?.nick_name||w?.nickname||w?.user_name||``,j=w?.avatar||w?.avatar_url||``,M=R({commentId:``,userId:``});function P(e){if(!e)return``;if(Array.isArray(e))return String(e[0]||``);if(typeof e==`object`){if(Object.prototype.hasOwnProperty.call(e,`comment_id`))return String(e.comment_id??``);if(Array.isArray(e.data))return String(e.data[0]||``)}return``}I(()=>{c&&(!k||!e.user_id||e.user_id!==`0`&&String(k)!==String(e.user_id)&&(M.current.commentId===e.id&&M.current.userId===k||(M.current={commentId:e.id,userId:k},(async()=>{let t=await f({app_id:0,follower_id:k,followee_ids:[e.user_id]});if(!t.success||!t.data?.is_following_map)return;let n=!!t.data.is_following_map[e.user_id];e.is_follow=n;let r=new Set(D);n?r.add(e.user_id):r.delete(e.user_id),O(Array.from(r))})())))},[e,D,k,O,c]);let L=F(e=>{x(e),setTimeout(()=>{C(!0),_.current?.focus()},10)},[]);function B(){ae(()=>{C(!1)})}async function G({text:e,imageVideoInfoList:t}){let n=e=>e.success?e:(U.error(e.message||g(`replyDetail.publishReplyFailed`)),{...e,toastHandled:!0});if(S){let r=await q({text:e,imageVideoInfoList:t});return C(!1),n(r)}else{let r=await K({text:e,imageVideoInfoList:t});return C(!1),n(r)}}async function K({text:e,imageVideoInfoList:t}){return await u?.({text:e,imageVideoInfoList:t,callback:r=>{let i=Z(e);if(!r||r===`0`)return;let a=N({id:r,user_id:k,user_name:A,avatar:j,text:e,created_at:n(),type:`4`,nine_grid_content_info:t,at_users:i});J?.(a)}})??{success:!0}}async function q({text:e,imageVideoInfoList:a}){if(!v?.id||v.id===`0`)return{success:!1,message:g(`replyDetail.invalidReplyTarget`)};let c=ee(a),l=r(e),u=o===`video`?1:2;try{let r=await s({content_id:t.id,content:i(e),medias:c,mentioned_users:l,parent_id:v.id,source_type:u},{revalidate:!1});if(r.code!==0)return{success:!1,message:r.message||g(`replyDetail.publishReplyFailed`)};let o=P(r.data);if(!o||o===`0`)return{success:!1,message:g(`replyDetail.publishReplyFailed`)};let f=N({id:o,user_id:k,user_name:A,avatar:j,text:e,created_at:n(),type:`4`,nine_grid_content_info:a,at_users:Z(e)});return f.parent_reply=v,J?.(f),d?.(),{success:!0}}catch(e){return console.error(`发布回复回复失败:`,e),{success:!1,message:g(`replyDetail.publishReplyFailed`)}}}let[J,Y]=z(null),X=F(e=>{Y(()=>e)},[]),Q=S?`回复@${v.user_name}`:``;function $(e){e||l()}return V(m,{open:c,onOpenChange:$,children:H(h,{showCloseButton:!1,className:`fixed left-0 right-0 bottom-0 top-[84px] z-[1000] h-auto w-full max-w-none translate-x-0 translate-y-0 rounded-none bg-bg2 p-0 text-text1 !flex !flex-col !gap-0`,children:[H(`div`,{className:`w-full h-[60px] bg-bg1 flex items-center justify-center relative`,children:[V(`button`,{type:`button`,className:`w-[48px] focus-within:outline-none focus-within:border-none focus-within:ring-0 h-full flex items-center justify-center absolute left-0 top-0`,onClick:l,children:V(b,{className:`w-[16px] h-[16px] text-text1`})}),V(`span`,{className:`text-[18px] font-bold`,children:g(`replyDetail.commentDetail`)})]}),H(`div`,{className:`flex-1 min-h-0 w-full overflow-y-auto bg-bg2`,children:[V(re,{comment:e,updateFollow:t=>{e.is_follow=t},onRequireLogin:p}),V(se,{commentId:e.id,informationId:t.id,handleReplyComment:L,onReplyListUpdate:X}),V(E,{placeholder:Q,onInputBlur:B,onPublish:G,onRequireLogin:p,ref:_})]})]})})}export{le as default};
2
+ "use client";import{cn as e}from"../../../../utils/cn.mjs";import{debounceFun as t,getCurrentSecondTime as n,parseTextAtUserIds as r,replaceAtUserElement as i}from"../../../../utils/common.mjs";import{useFollowIdsState as a}from"../../../../store/modules/follow-ids-store.mjs";import{useUserStore as o}from"../../../../store/modules/user-store.mjs";import{gCommunityGetComments as s,pCommunityCreateComment as c,pCommunityDislikeComment as l,pCommunityLikeComment as u,pInteractionFollow as d,pInteractionUnfollow as f}from"../../../../service/generated/client.mjs";import{checkFollowStatus as p}from"../../../../utils/follow-service.mjs";import{Image as m}from"../../../ui/image.mjs";import{Dialog as h,DialogContent as g}from"../../../ui/dialog.mjs";import{InfiniteScroll as _}from"../../../ui/infinite-scroll.mjs";import{useLikeDislike as v}from"../../../../hooks/use-like-dislike.mjs";import{useKeepAliveState as y}from"../../../common/keep-scroll-position/index.mjs";import b from"../../../../assets/icons/close.mjs";import x 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 w from"../../../../assets/icons/detail/give_like.mjs";import T from"../../../../assets/icons/detail/give_like_sel.mjs";import E from"./comment-input.mjs";import D from"../../../../assets/icons/detail/un_like.mjs";import O from"../../../../assets/icons/detail/un_like_sel.mjs";import{CommentMedia as k}from"./comment-media.mjs";import{CommentRichText as A}from"./comment-rich-text.mjs";import{TimeDisplay as j}from"./time-display.mjs";import{CommentItem as M}from"./comment-item.mjs";import{mapApiReplayToReplay as N}from"../../../../types/safe-replay.mjs";import{memo as P,useCallback as F,useEffect as I,useMemo as L,useRef as R,useState as z}from"react";import{Fragment as B,jsx as V,jsxs as H}from"react/jsx-runtime";import{toast as U}from"sonner";import{useTranslations as W}from"next-intl";import{useRouter as G}from"next/navigation";function K(e){if(e==null)return 0;let t=typeof e==`number`?e:Number(e);if(!Number.isNaN(t)&&t>0)return t>0xe8d4a51000?Math.floor(t/1e3):Math.floor(t);let n=Date.parse(String(e));return Number.isNaN(n)?0:Math.floor(n/1e3)}function q(e,t,n){let r=[];return Array.isArray(n)&&n.length>0?(n.forEach(e=>{let t=!!e?.is_video,n=String(e?.media_url||``),i=String(e?.cover_image||``);!n&&!i||r.push({cover_image:i,cover_image_thumbnail:i,cover_image_radio:1,cover_image_resolution:String(e?.cover_image_resolution||``),image_url:t?``:n,image_thumbnail:t?``:n,image_radio:1,image_resolution:String(e?.image_resolution||``),is_video:t,resolution:String(e?.video_resolution||``),video_duration:Number(e?.video_duration||0),video_url:t?n:``,video_size:Number(e?.video_size||0),video_codec_info:{hls_info:[],video_codec_deal:!1}})}),r):(e?.length&&e.forEach(e=>{r.push({cover_image:``,cover_image_thumbnail:``,cover_image_radio:1,cover_image_resolution:``,image_url:e,image_thumbnail:e,image_radio:1,image_resolution:``,is_video:!1,resolution:``,video_duration:0,video_url:``,video_size:0,video_codec_info:{hls_info:[],video_codec_deal:!1}})}),t?.length&&t.forEach(e=>{r.push({cover_image:``,cover_image_thumbnail:``,cover_image_radio:1,cover_image_resolution:``,image_url:``,image_thumbnail:``,image_radio:1,image_resolution:``,is_video:!0,resolution:``,video_duration:0,video_url:e,video_size:0,video_codec_info:{hls_info:[],video_codec_deal:!1}})}),r)}function J(e){let t=X(e.mentioned_users),n=t.length>0?t:Z(e.content||``);return{id:String(e.comment_id??e.id??``),user_name:e.user?.nickname||e.user?.username||``,text:e.content||``,type:`4`,files:[],at_users:n,cover_image:``,nine_grid_content_info:q(e?.images,e?.videos,e?.medias)}}function Y(e,t){let n=e.is_liked?`1`:e.is_dislike?`2`:`0`,r=X(e.mentioned_users),i=r.length>0?r:Z(e.content||``),a=String(e.comment_id??e.id??``),o=typeof e.like_count==`number`?e.like_count:0,s=N({id:a,like_cnt:(e.is_liked&&o===0?1:o).toString(),dislike_cnt:(e.dislike_count||0).toString(),created_at:K(e.create_time),text:e.content||``,type:`4`,like_flag:n,user_id:e.user_id||``,user_name:e.user?.nickname||e.user?.username||``,avatar:e.user?.avatar_url||``,reply_cnt:(e.reply_count||0).toString(),nine_grid_content_info:q(e?.images,e?.videos,e?.medias),at_users:i,parent_reply:void 0});return t&&(s.parent_reply=J(t)),s}function X(e){return Array.isArray(e)?e.map(e=>({user_id:e.user_id||``,name:e.nickname||e.username||``,avatar:e.avatar_url||``,birthday:``,signature:e.signature||``})):[]}function Z(e){if(!e)return[];let t=new Map,n=/<span[^>]*class=['"]mention['"][^>]*data-id=['"]([^'"]+)['"][^>]*>@([^<]*)<\/span>/g,r;for(;(r=n.exec(e))!==null;){let e=r[1]?String(r[1]):``,n=(r[2]?String(r[2]):``).replace(/^@/,``)||e;!e||t.has(e)||t.set(e,{user_id:e,name:n,avatar:``,birthday:``,signature:``})}if(t.size>0)return Array.from(t.values());let i=/<@_user>(\w+)<\/@_user>/g;for(;(r=i.exec(e))!==null;){let e=r[1]?String(r[1]):``;!e||t.has(e)||t.set(e,{user_id:e,name:e,avatar:``,birthday:``,signature:``})}return Array.from(t.values())}function ee(e){return!Array.isArray(e)||e.length===0?[]:e.map(e=>{let t=!!e.is_video,n=t?String(e.video_url||``):String(e.image_url||e.cover_image||``),r=String(e.cover_image||e.image_url||``);return{media_url:n,is_video:t,image_resolution:String(e.image_resolution||``),cover_image:r,cover_image_resolution:String(e.cover_image_resolution||``),video_resolution:String(e.resolution||``),video_duration:Number(e.video_duration||0),video_size:Number(e.video_size||0)}}).filter(e=>!!e.media_url)}function Q(e,t){let n=[];return e.forEach(e=>{n.push(Y(e,t)),e.sub_comments?.length&&n.push(...Q(e.sub_comments,e))}),n}function $(e){let t=Number(e)||0;return t>=1e4?`${(t/1e4).toFixed(1)}w`:t>=1e3?`${(t/1e3).toFixed(1)}k`:String(t)}const te=t((e,t,n)=>{try{if(!e?.id)return;u({comment_id:e.id,is_like:e.like_flag!==`1`},{revalidate:!1})}catch(e){console.error(`点赞回复失败:`,e)}},200),ne=t((e,t,n)=>{try{if(!e?.id)return;l({comment_id:e.id,is_dislike:e.like_flag!==`2`},{revalidate:!1})}catch(e){console.error(`点踩回复失败:`,e)}},200),re=P(({comment:e,updateFollow:t,onRequireLogin:n})=>{let{userInfo:r,userId:i,isLogin:a}=o(),s=r?.userId||r?.user_id||i||``;return V(`div`,{className:`w-full bg-bg1`,children:V(M,{comment:e,variant:`light`,isLogin:a,onRequireLogin:n,rightSlot:L(()=>!!s&&String(s)===String(e.user_id||``),[e.user_id,s])?V(B,{}):V(ie,{userId:e.user_id,hasFollow:e.is_follow,onChange:t,onRequireLogin:n}),showReplyButton:!1})})});function ie({userId:t,hasFollow:n=!1,onChange:r,onRequireLogin:i}){let s=W(`components.biz.business.comment`),{isLogin:c,userInfo:l,userId:u}=o(),{followIds:p}=a(),[m,h]=z(n),[g,_]=z(!1),v=l?.userId||l?.user_id||u||``,y=L(()=>!!v&&String(v)===String(t||``),[t,v]),b=L(()=>n||p.includes(t),[p,n,t]);I(()=>{h(b)},[b]);let w=F(async()=>{try{if(!v||!t||t===`0`){U.error(s(`replyDetail.loginRequired`));return}if(m){let e=await f({follower_id:String(v),followee_id:t});if(e.code!==0){U.error(e.message||s(`replyDetail.unfollowFailed`));return}}else{let e=await d({follower_id:String(v),followee_id:t});if(e.code!==0){U.error(e.message||s(`replyDetail.followFailed`));return}}window.sensors?.track(`detail_follow_click`,{object_id:``,action:m?`取消关注`:`关注`,author_id:t}),sessionStorage.setItem(`user_page_refresh`,`1`)}catch(e){console.error(`关注或取消关注失败:`,e),U.error(s(m?`replyDetail.unfollowFailed`:`replyDetail.followFailed`));return}let e=!m;r?.(e),h(e);let{followIds:n,setFollowIds:i}=a.getState(),o=new Set(n);e?o.add(t):o.delete(t),i(Array.from(o))},[t,m,r,v,s]),T=F(()=>{if(!c){i?.();return}if(m){_(!0);return}w()},[w,m,c,i]);function E(){_(!1),w()}function D(){_(!1)}return y||!t||t===`0`?null:H(B,{children:[V(`div`,{className:e(`h-[28px] rounded-[14px] px-[8px] border border-solid cursor-pointer flex items-center justify-center`,m?`border-text3`:`border-theme5`),onClick:T,children:m?H(B,{children:[V(x,{className:`w-[12px] h-[12px] text-text3 shrink-0`}),V(`span`,{className:`text-text3 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:s(`replyDetail.followed`)})]}):H(B,{children:[V(S,{className:`block w-[12px] h-[12px] text-theme5 shrink-0`}),V(`span`,{className:`block text-theme5 text-[12px] leading-[18px] ml-[4px] shrink-0`,children:s(`replyDetail.follow`)})]})}),V(C,{open:g,onOpenChange:_,onCancel:D,onConfirm:E})]})}const ae=t(e=>{e()},0);function oe(e,t,n,r){let i=R(!1);I(()=>{i.current=!1},[r]),I(()=>{let r=e.current;if(!r)return;!i.current&&t>0&&(r.scrollTop=t,i.current=!0);let a=()=>{i.current=!0,n(r.scrollTop)};return r.addEventListener(`scroll`,a,{passive:!0}),()=>r.removeEventListener(`scroll`,a)},[e,n,t,r])}const se=P(({commentId:e,informationId:t,handleReplyComment:n,onReplyListUpdate:r})=>{let i=W(`components.biz.business.comment`),[a,o]=y(`replay-detail-list-${e}`,[]),[c,l]=y(`replay-detail-has-more-${e}`,!0),[u,d]=y(`replay-detail-page-${e}`,1),{getLikedListData:f,getDislikedListData:p}=v(),m=R(!1),h=F(async()=>{if(!(!e||!t)&&!m.current){m.current=!0;try{let n=await s({content_id:t,parent_id:e,page:u,page_size:20,sort_by:`latest`});if(n.code!==0)throw Error(n.message||i(`replyDetail.fetchRepliesFailed`));let r=n.data?.data?.comments??[],a=Q(r);((n.data?.data?.has_more??!1)===!1||r.length<20)&&l(!1),o(e=>{let t=new Set(e.map(e=>e.id)),n=a.filter(e=>!t.has(e.id));return[...e,...n]}),a.length>0&&d(u+1)}catch(e){console.error(`获取回复列表失败:`,e),l(!1)}finally{m.current=!1}}},[e,t,u,o,l,d,i]),g=F(e=>{o(t=>[e,...t])},[o]);I(()=>{r(g)},[r,g]),I(()=>{e&&t&&(o(e=>e.length===0?e:[]),l(e=>e===!0?e:!0),d(e=>e===1?e:1))},[e,t,o,l,d]);let b=F(n=>{o(e=>f(e,n.id)),te(n,t,e)},[e,f,t,o]),x=F(n=>{n.like_flag!==`2`&&U.message(i(`replyDetail.dislikeHint`)),o(e=>p(e,n.id)),ne(n,t,e)},[e,p,t,o,i]),[S,C]=y(`replay-detail-scroll-top-${e}`,0),w=R(null);oe(w,S,C,e),I(()=>{!e||!t||a.length===0&&c&&h()},[e,t,h,a.length,c]);let T=F(async()=>{await h()},[h]);return H(`div`,{ref:w,className:`w-full pb-[66px]`,children:[a.map((e,t)=>V(ce,{replyItem:e,replyComment:n,onLikeReply:b,onDislikeReply:x},`${e.id}-${t}`)),V(_,{loadMore:T,hasMore:c})]})});function ce({replyItem:e,replyComment:t,onLikeReply:n,onDislikeReply:r}){let i=W(`components.biz.business.comment`),a=G(),o=e.status===`0`;function s(){n?.(e)}function c(){r?.(e)}function l(){t(e)}return H(`div`,{className:`p-[16px] flex flex-col`,children:[H(`div`,{className:`flex flex-row justify-between`,children:[H(`button`,{type:`button`,className:`flex flex-row items-center text-left`,onClick:()=>{a.push(`/profile/${e.user_id}`)},children:[V(`div`,{className:`w-[38px] h-[38px] rounded-full overflow-hidden relative bg-bg2`,children:e.avatar&&V(m,{src:e.avatar,fill:!0,objectFit:`cover`,alt:`avatar`})}),H(`div`,{className:`ml-[12px] flex flex-col`,children:[V(`span`,{className:`text-text2 text-[14px] leading-[14px] max-w-[180px] text-ellipsis overflow-hidden whitespace-nowrap`,children:e.user_name}),V(`span`,{className:`mt-[8px] text-text3 text-[12px] leading-[12px]`,children:V(j,{timestamp:e.created_at})})]})]}),o?V(`div`,{className:`px-[8px] py-[4px] bg-text3/10 rounded-[12px]`,children:V(`span`,{className:`text-text3 text-[12px] leading-[12px]`,children:i(`replyDetail.underReview`)})}):H(`div`,{className:`flex flex-row items-center`,children:[H(`div`,{className:`px-[4px] flex flex-col items-center`,onClick:s,children:[e.like_flag===`1`?V(T,{className:`w-[14px] h-[14px]`}):V(w,{className:`w-[14px] h-[14px] text-text3`}),V(`span`,{className:`mt-[4px] text-text3 text-[12px] leading-[12px]`,children:e.like_cnt===`0`?i(`replyDetail.like`):$(e.like_cnt)})]}),H(`div`,{className:`ml-[12px] px-[4px] flex flex-col items-center`,onClick:c,children:[e.like_flag===`2`?V(O,{className:`w-[14px] h-[14px]`}):V(D,{className:`w-[14px] h-[14px] text-text3`}),V(`span`,{className:`mt-[4px] text-text3 text-[12px] leading-[12px]`,children:e.dislike_cnt===`0`?i(`replyDetail.dislike`):$(e.dislike_cnt)})]})]})]}),H(`div`,{className:`mt-[4px] pl-[50px] flex flex-col`,children:[e.text&&V(A,{className:`text-text1 text-[14px] leading-[22px] break-all`,text:e.text,atUsers:e.at_users}),V(k,{list:e.nine_grid_content_info,disabled:o,hasText:!!e.text,playerId:e.id}),e.parent_reply&&e.parent_reply.text&&H(B,{children:[H(`div`,{className:`mt-[4px] flex flex-row items-center text-[14px] leading-[22px] relative pl-[8px]`,children:[V(`div`,{className:`w-[2px] h-full bg-line1 mr-[8px] absolute left-0 top-0 bottom-0 m-auto`}),H(`span`,{className:`text-theme1`,children:[e.parent_reply.user_name,`:`,e.parent_reply.text&&V(`span`,{className:`text-text1`,children:V(A,{text:e.parent_reply.text,atUsers:e.parent_reply.at_users})})]})]}),V(`div`,{className:`mt-1`,children:V(k,{list:e.parent_reply.nine_grid_content_info,disabled:o,hasText:!!e.parent_reply.text,playerId:e.parent_reply.id})})]}),V(`div`,{className:`mt-[4px] w-[fit-content] h-[30px] px-[12px] text-text1 text-[14px] leading-[22px] flex flex-row items-center bg-bg1 rounded-[15px]`,onClick:l,children:V(`span`,{children:i(`replyDetail.reply`)})})]})]})}function le({comment:e,information:t,contentType:s,visible:l,onClose:u,onReplyComment:d,onReplyAdded:f,onRequireLogin:m}){let _=W(`components.biz.business.comment`),v=R(null),[y,x]=z(()=>N({})),[S,C]=z(!1),{userInfo:w,userId:T}=o(),{followIds:D,setFollowIds:O}=a(),k=w?.userId||w?.user_id||T||``,A=w?.name||w?.nick_name||w?.nickname||w?.user_name||``,j=w?.avatar||w?.avatar_url||``,M=R({commentId:``,userId:``});function P(e){if(!e)return``;if(Array.isArray(e))return String(e[0]||``);if(typeof e==`object`){if(Object.prototype.hasOwnProperty.call(e,`comment_id`))return String(e.comment_id??``);if(Array.isArray(e.data))return String(e.data[0]||``)}return``}I(()=>{l&&(!k||!e.user_id||e.user_id!==`0`&&String(k)!==String(e.user_id)&&(M.current.commentId===e.id&&M.current.userId===k||(M.current={commentId:e.id,userId:k},(async()=>{let t=await p({app_id:0,follower_id:k,followee_ids:[e.user_id]});if(!t.success||!t.data?.is_following_map)return;let n=!!t.data.is_following_map[e.user_id];e.is_follow=n;let r=new Set(D);n?r.add(e.user_id):r.delete(e.user_id),O(Array.from(r))})())))},[e,D,k,O,l]);let L=F(e=>{x(e),setTimeout(()=>{C(!0),v.current?.focus()},10)},[]);function B(){ae(()=>{C(!1)})}async function G({text:e,imageVideoInfoList:t}){let n=e=>e.success?e:(U.error(e.message||_(`replyDetail.publishReplyFailed`)),{...e,toastHandled:!0});if(S){let r=await q({text:e,imageVideoInfoList:t});return C(!1),n(r)}else{let r=await K({text:e,imageVideoInfoList:t});return C(!1),n(r)}}async function K({text:e,imageVideoInfoList:t}){return await d?.({text:e,imageVideoInfoList:t,callback:r=>{let i=Z(e);if(!r||r===`0`)return;let a=N({id:r,user_id:k,user_name:A,avatar:j,text:e,created_at:n(),type:`4`,nine_grid_content_info:t,at_users:i});J?.(a)}})??{success:!0}}async function q({text:e,imageVideoInfoList:a}){if(!y?.id||y.id===`0`)return{success:!1,message:_(`replyDetail.invalidReplyTarget`)};let o=ee(a),l=r(e),u=s===`video`?1:2;try{let r=await c({content_id:t.id,content:i(e),medias:o,mentioned_users:l,parent_id:y.id,source_type:u},{revalidate:!1});if(r.code!==0)return{success:!1,message:r.message||_(`replyDetail.publishReplyFailed`)};let s=P(r.data);if(!s||s===`0`)return{success:!1,message:_(`replyDetail.publishReplyFailed`)};let d=N({id:s,user_id:k,user_name:A,avatar:j,text:e,created_at:n(),type:`4`,nine_grid_content_info:a,at_users:Z(e)});return d.parent_reply=y,J?.(d),f?.(),{success:!0}}catch(e){return console.error(`发布回复回复失败:`,e),{success:!1,message:_(`replyDetail.publishReplyFailed`)}}}let[J,Y]=z(null),X=F(e=>{Y(()=>e)},[]),Q=S?`回复@${y.user_name}`:``;function $(e){e||u()}return V(h,{open:l,onOpenChange:$,children:H(g,{showCloseButton:!1,className:`fixed left-0 right-0 bottom-0 top-[84px] z-[1000] h-auto w-full max-w-none translate-x-0 translate-y-0 rounded-none bg-bg2 p-0 text-text1 !flex !flex-col !gap-0`,children:[H(`div`,{className:`w-full h-[60px] bg-bg1 flex items-center justify-center relative`,children:[V(`button`,{type:`button`,className:`w-[48px] focus-within:outline-none focus-within:border-none focus-within:ring-0 h-full flex items-center justify-center absolute left-0 top-0`,onClick:u,children:V(b,{className:`w-[16px] h-[16px] text-text1`})}),V(`span`,{className:`text-[18px] font-bold`,children:_(`replyDetail.commentDetail`)})]}),H(`div`,{className:`flex-1 min-h-0 w-full overflow-y-auto bg-bg2`,children:[V(re,{comment:e,updateFollow:t=>{e.is_follow=t},onRequireLogin:m}),V(se,{commentId:e.id,informationId:t.id,handleReplyComment:L,onReplyListUpdate:X}),V(E,{placeholder:Q,onInputBlur:B,onPublish:G,onRequireLogin:m,ref:v})]})]})})}export{le as default};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{cn as e}from"../../../../utils/cn.mjs";import{useUserStore as t}from"../../../../store/modules/user-store.mjs";import{followUser as n,unfollowUser as r}from"../../../../utils/follow-service.mjs";import{useFollowIdsState as i}from"../../../../store/modules/follow-ids-store.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}=t(),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 t;if(t=e?await n({app_id:0,follower_id:m,followee_id:_}):await r({app_id:0,follower_id:m,followee_id:_}),t.success){b(e),a({is_followed:e});let{followIds:t,setFollowIds:n}=i.getState(),r=new Set(t);e?r.add(_):r.delete(_),n(Array.from(r))}else console.error(`关注操作失败:`,t.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 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};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../ui/box.mjs";import t from"../../../../assets/icons/common/right_arrow.mjs";import{useEffect as n,useMemo as r,useRef as i,useState as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";function c({title:c,className:l=``}){let[u,d]=a(!1),[f,p]=a(!1),m=i(null),h=r(()=>c?.trim()??``,[c]);if(n(()=>{let e=m.current;if(!e){p(!1);return}if(u){p(!0);return}if(!h){p(!1);return}let t=()=>{p(e.scrollWidth>e.clientWidth)},n=new ResizeObserver(t);n.observe(e);let r=window.requestAnimationFrame(t);return()=>{window.cancelAnimationFrame(r),n.disconnect()}},[u,h]),n(()=>{d(!1)},[h]),!h)return null;function g(){d(e=>!e)}return s(e,{className:`flex items-start min-w-0 ${l}`,children:[o(`p`,{ref:m,className:`flex-1 min-w-0 text-[20px] leading-[28px] font-bold text-text1 ${u?``:`line-clamp-1`}`,children:h}),f&&o(`button`,{type:`button`,className:`ml-[8px] h-[24px] w-[24px] flex items-center justify-center`,onClick:g,children:o(t,{className:`h-[12px] w-[12px] text-text2 transition-transform ${u?`-rotate-90`:`rotate-90`}`})})]})}export{c as DetailInfoTitle};
2
+ "use client";import{Box as e}from"../../../ui/box.mjs";import t from"../../../../assets/icons/common/right_arrow.mjs";import{useEffect as n,useMemo as r,useRef as i,useState as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";function c({title:c,className:l=``}){let[u,d]=a(!1),[f,p]=a(!1),m=i(null),h=i(null),g=i(null),_=r(()=>c?.trim()??``,[c]);if(n(()=>{d(!1)},[_]),n(()=>{if(u){p(!0);return}if(!_){p(!1);return}let e=h.current,t=g.current;if(!e||!t){p(!1);return}let n=()=>{let n=e.clientWidth||e.getBoundingClientRect().width,r=t.getBoundingClientRect().width;p(r>n+1)};n();let r=new ResizeObserver(n);return r.observe(e),m.current&&r.observe(m.current),()=>{r.disconnect()}},[u,_]),!_)return null;function v(){d(e=>!e)}return s(e,{ref:m,className:`relative flex items-start min-w-0 ${l}`,children:[o(`span`,{ref:g,className:`absolute invisible whitespace-nowrap text-[20px] leading-[28px] font-bold`,children:_}),o(`p`,{ref:h,className:`flex-1 min-w-0 text-[20px] leading-[28px] font-bold text-text1 ${u?``:`line-clamp-1`}`,children:_}),f&&o(`button`,{type:`button`,className:`ml-[8px] h-[24px] w-[24px] flex items-center justify-center`,onClick:v,children:o(t,{className:`h-[12px] w-[12px] text-text2 transition-transform ${u?`-rotate-90`:`rotate-90`}`})})]})}export{c as DetailInfoTitle};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Box as e}from"../../../ui/box.mjs";import{Text as t}from"../../../ui/text.mjs";import{useCardDecoration as n}from"../../../../hooks/use-card-decoration.mjs";import{DetailInfoTags as r}from"./detail-info-tags.mjs";import{DetailInfoTitle as i}from"./detail-info-title.mjs";import{useMemo as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useTranslations as c}from"next-intl";function l({information:l,isShow:d,showTags:f=!0}){let p=c(`components.biz.business.detail`),{getTitleText:m}=n(),h=a(()=>m(l),[m,l]),g=a(()=>l.description||``,[l.description]),_=a(()=>u(l.score),[l.score]),v=l.tags||[],y=f&&v.length>0;return!h&&!g&&!y?null:s(e,{className:`w-full mt-4 px-[12px]`,children:[s(e,{className:`w-full flex items-start justify-between`,children:[o(e,{className:`flex-1 pr-[12px]`,children:o(i,{title:h})}),s(e,{className:`ml-4 shrink-0 flex flex-col items-center`,children:[o(e,{className:`text-[28px] leading-[36px] h-[36px] font-bold text-[#FF9F1A]`,children:_}),o(t,{className:`text-[12px] text-text2 leading-4`,children:p(`detailIntroduction.score`)})]})]}),g&&d&&o(t,{className:`mt-[12px] text-[14px] leading-[22px] text-text2`,children:g}),y&&o(r,{tags:v,className:`mt-[12px]`})]})}function u(e){let t=Number(e||`0`);return Number.isFinite(t)?(t>10?t/10:t).toFixed(1):`0`}export{l as DetailIntroduction};
2
+ "use client";import{Box as e}from"../../../ui/box.mjs";import{Text as t}from"../../../ui/text.mjs";import{useCardDecoration as n}from"../../../../hooks/use-card-decoration.mjs";import{DetailInfoTags as r}from"./detail-info-tags.mjs";import{DetailInfoTitle as i}from"./detail-info-title.mjs";import{useMemo as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useTranslations as c}from"next-intl";function l({information:l,isShow:d,showTags:f=!0}){let p=c(`components.biz.business.detail`),{getTitleText:m}=n(),h=a(()=>m(l),[m,l]),g=a(()=>l.description||``,[l.description]),_=a(()=>u(l.score),[l.score]),v=l.tags||[],y=f&&v.length>0;return!h&&!g&&!y?null:s(e,{className:`w-full mt-4 px-[12px]`,children:[s(e,{className:`w-full flex items-start justify-between min-w-0`,children:[o(e,{className:`flex-1 pr-[12px] min-w-0`,children:o(i,{title:h})}),s(e,{className:`ml-4 shrink-0 flex flex-col items-center`,children:[o(e,{className:`text-[28px] leading-[36px] h-[36px] font-bold text-[#FF9F1A]`,children:_}),o(t,{className:`text-[12px] text-text2 leading-4`,children:p(`detailIntroduction.score`)})]})]}),g&&d&&o(t,{className:`mt-[12px] text-[14px] leading-[22px] text-text2`,children:g}),y&&o(r,{tags:v,className:`mt-[12px]`})]})}function u(e){let t=Number(e||`0`);return Number.isFinite(t)?(t>10?t/10:t).toFixed(1):`0`}export{l as DetailIntroduction};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{useUserStore as e}from"../../../../store/modules/user-store.mjs";import{Box as t}from"../../../ui/box.mjs";import{Text as n}from"../../../ui/text.mjs";import{useDeleteRequest as r}from"../../../../hooks/query/use-query.mjs";import{useLoginModalStore as i}from"../../../../store/modules/login-modal-store.mjs";import{debounceFun as a}from"../../../../utils/tools.mjs";import o from"../../../common/interaction-animations.module.mjs";import s from"../../../common/collection-popup/index.mjs";import{useContentOperate as c}from"../../../../hooks/use-content-operate.mjs";import l from"../../../../assets/icons/detail/check-ok.mjs";import u from"../../../../assets/icons/detail/collect_nor.mjs";import d from"../../../../assets/icons/detail/collect_sel.mjs";import f from"../../../../assets/icons/detail/give_like.mjs";import p from"../../../../assets/icons/detail/give_like_sel.mjs";import m from"../../../../assets/icons/detail/share.mjs";import{useCallback as h,useMemo as g,useRef as _,useState as v}from"react";import{jsx as y,jsxs as b}from"react/jsx-runtime";import{toast as x}from"sonner";import{useTranslations as S}from"next-intl";function C({information:C,onUpdate:E}){let D=S(`components.biz.business.detail`),[O,k]=v(!1),[A,j]=v(!1),M=_(0),N=e(e=>e.userId),P=e(e=>e.isLogin),F=r(),I=h(()=>{N&&(F([`user-profile`,`mine`,N,`user-like-video`]),F([`user-profile`,`mine`,N,`user-like-post`]),F([`user-profile`,`mine`,N,`user-collect-video`,N]),F([`user-profile`,`mine`,N,`user-collect-post`,N]))},[F,N]),{likeAnimation:L,handleLikeOperate:R,handleDefaultCollectionOperate:z,handleShareOperate:B}=c({id:C.id,isLike:C.like||!1,isDislike:C.dislike||!1,isCollect:C.collect||!1,likeCnt:T(C.static?.like_cnt),dislikeCnt:T(C.static?.dislike_cnt),contentType:C.content_type,animationClasses:{like:o.likeShakeAnimation,dislike:o.dislikeShakeAnimation}}),V=h(e=>{E?.({...e})},[E]),H=h(async()=>{if(O)return;if(!P){i.getState().open();return}let e=Date.now();if(e-M.current<300)return;M.current=e,k(!0);let t=C.like||!1,n=C.dislike||!1,r=T(C.static?.like_cnt),a=T(C.static?.dislike_cnt),o=!t,s=Math.max(0,r+(o?1:-1)),c=o?!1:n,l=o&&n?Math.max(0,a-1):a;V({like:o,dislike:c,static:{...C.static,like_cnt:s,dislike_cnt:l}});try{let e=await R();if(!e){V({like:t,dislike:n,static:{...C.static,like_cnt:r,dislike_cnt:a}});return}V({like:e.isLike,dislike:e.isDislike??c,static:{...C.static,like_cnt:e.likeCnt,dislike_cnt:e.dislikeCnt??l}}),I(),window.sensors?.track?.(`detail_like_click`,{object_id:C.id,action:e.isLike?`点赞`:`取消点赞`,like_count:e.likeCnt})}catch(e){console.error(`点赞操作失败:`,e),x.error(D(`detailOperate.operateFailed`))}finally{k(!1)}},[R,C,I,O,P,D,V]),U=g(()=>C.id,[C.id]),W=h(()=>{B(({isCollect:e})=>{V({collect:e})},U)},[B,U,V]);async function G(e){return await new Promise(e=>setTimeout(e,300)),e}let K=h(()=>{s.show({mode:`select`,onCollect:async e=>{try{await G({contentId:C.id,collectionId:e}),V({collect:!0}),I(),x.success(D(`detailOperate.modifyCollectionSuccess`))}catch(e){console.error(`修改收藏夹失败:`,e),x.error(D(`detailOperate.collectFailed`))}}})},[C.id,I,D,V]),q=h(e=>{let t=e||D(`detailOperate.defaultCollection`);x.custom(e=>b(`div`,{className:`flex items-center justify-between gap-[16px] px-[16px] py-[12px] rounded-[12px] bg-black text-white shadow-lg min-w-[280px]`,children:[b(`div`,{className:`flex items-center gap-[10px]`,children:[y(`div`,{className:`w-[24px] h-[24px] rounded-full bg-white flex items-center justify-center`,children:y(l,{className:`w-[14px] h-[14px]`})}),b(`div`,{className:`flex items-center gap-[6px]`,children:[y(`span`,{className:`text-[14px] leading-[20px]`,children:D(`detailOperate.collectAdded`)}),y(`span`,{className:`text-[14px] leading-[20px] font-semibold`,children:t})]})]}),y(`button`,{type:`button`,className:`text-[14px] text-theme5 font-semibold`,onClick:()=>{x.dismiss(e),K()},children:D(`detailOperate.modifyCollection`)})]}))},[K,D]),J=h(async()=>{if(A)return;if(!P){i.getState().open();return}let e=C.collect||!1;j(!0),window.sensors?.track?.(`detail_fav_click`,{object_id:C.id,action:e?`取消收藏`:`收藏`});try{let t=await z({currentCollect:e,onUpdate:({isCollect:e})=>{V({collect:e})}});if(!t?.success){x.error(D(`detailOperate.collectFailed`));return}I(),window.sensors?.track?.(`detail_fav_click`,{object_id:C.id,action:t.isCollect?`收藏`:`取消收藏`}),!e&&t.isCollect&&q(t.collectionTitle)}catch(e){console.error(`收藏操作失败:`,e),x.error(D(`detailOperate.collectFailed`))}finally{j(!1)}},[z,C.collect,C.id,I,A,P,q,D,V]),Y=g(()=>a(J,300),[J]);return b(t,{className:`w-full h-[42px] mt-[16px] flex items-center justify-between`,children:[b(t,{className:`w-[25%] h-full flex flex-col items-center justify-center ${O?`opacity-50 cursor-not-allowed`:`cursor-pointer`}`,onClick:H,children:[C.like?y(p,{className:`w-[20px] h-[20px] ${L.animationClass}`}):y(f,{className:`w-[20px] h-[20px] text-text2`}),y(n,{className:`text-[12px] text-text2 leading-[20px]`,children:C.static?C.static.like_cnt===0?D(`detailOperate.like`):w(C.static?.like_cnt):D(`detailOperate.like`)})]}),b(t,{className:`w-[25%] h-full flex flex-col items-center justify-center ${A?`opacity-50 cursor-not-allowed`:`cursor-pointer`}`,onClick:Y,children:[C.collect?y(d,{className:`w-[20px] h-[20px]`}):y(u,{className:`w-[20px] h-[20px] text-text2`}),y(n,{className:`text-[12px] text-text2 leading-[20px]`,children:D(`detailOperate.collection`)})]}),b(t,{className:`w-[25%] h-full flex flex-col items-center justify-center cursor-pointer`,onClick:W,children:[y(m,{className:`w-[20px] h-[20px] text-text2`}),y(n,{className:`text-[12px] text-text2 leading-[20px]`,children:D(`detailOperate.share`)})]})]})}function w(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 T(e){if(e==null)return 0;if(typeof e==`number`)return e;let t=Number(e);return Number.isNaN(t)?0:t}export{C as DetailOperate};
2
+ "use client";import{useUserStore as e}from"../../../../store/modules/user-store.mjs";import{Box as t}from"../../../ui/box.mjs";import{Text as n}from"../../../ui/text.mjs";import{useDeleteRequest as r}from"../../../../hooks/query/use-query.mjs";import{useLoginModalStore as i}from"../../../../store/modules/login-modal-store.mjs";import{debounceFun as a}from"../../../../utils/tools.mjs";import o from"../../../common/interaction-animations.module.mjs";import s from"../../../common/collection-popup/index.mjs";import{useContentOperate as c}from"../../../../hooks/use-content-operate.mjs";import l from"../../../../assets/icons/detail/check-ok.mjs";import u from"../../../../assets/icons/detail/collect_nor.mjs";import d from"../../../../assets/icons/detail/collect_sel.mjs";import f from"../../../../assets/icons/detail/give_like.mjs";import p from"../../../../assets/icons/detail/give_like_sel.mjs";import m from"../../../../assets/icons/detail/share.mjs";import{useCallback as h,useMemo as g,useRef as _,useState as v}from"react";import{jsx as y,jsxs as b}from"react/jsx-runtime";import{toast as x}from"sonner";import{useTranslations as S}from"next-intl";function C({information:C,onUpdate:E}){let D=S(`components.biz.business.detail`),[O,k]=v(!1),[A,j]=v(!1),M=_(0),N=e(e=>e.userId),P=e(e=>e.isLogin),F=r(),I=h(()=>{N&&(F([`user-profile`,`mine`,N,`user-like-video`]),F([`user-profile`,`mine`,N,`user-like-post`]),F([`user-profile`,`mine`,N,`user-collect-video`,N]),F([`user-profile`,`mine`,N,`user-collect-post`,N]))},[F,N]),{likeAnimation:L,handleLikeOperate:R,handleDefaultCollectionOperate:z,handleShareOperate:B}=c({id:C.id,isLike:C.like||!1,isDislike:C.dislike||!1,isCollect:C.collect||!1,likeCnt:T(C.static?.like_cnt),dislikeCnt:T(C.static?.dislike_cnt),contentType:C.content_type,prefetchDefaultCollection:!0,animationClasses:{like:o.likeShakeAnimation,dislike:o.dislikeShakeAnimation}}),V=h(e=>{E?.({...e})},[E]),H=h(async()=>{if(O)return;if(!P){i.getState().open();return}let e=Date.now();if(e-M.current<300)return;M.current=e,k(!0);let t=C.like||!1,n=C.dislike||!1,r=T(C.static?.like_cnt),a=T(C.static?.dislike_cnt),o=!t,s=Math.max(0,r+(o?1:-1)),c=o?!1:n,l=o&&n?Math.max(0,a-1):a;V({like:o,dislike:c,static:{...C.static,like_cnt:s,dislike_cnt:l}});try{let e=await R();if(!e){V({like:t,dislike:n,static:{...C.static,like_cnt:r,dislike_cnt:a}});return}V({like:e.isLike,dislike:e.isDislike??c,static:{...C.static,like_cnt:e.likeCnt,dislike_cnt:e.dislikeCnt??l}}),I(),window.sensors?.track?.(`detail_like_click`,{object_id:C.id,action:e.isLike?`点赞`:`取消点赞`,like_count:e.likeCnt})}catch(e){console.error(`点赞操作失败:`,e),x.error(D(`detailOperate.operateFailed`))}finally{k(!1)}},[R,C,I,O,P,D,V]),U=g(()=>C.id,[C.id]),W=h(()=>{B(({isCollect:e})=>{V({collect:e})},U)},[B,U,V]);async function G(e){return await new Promise(e=>setTimeout(e,300)),e}let K=h(()=>{s.show({mode:`select`,onCollect:async e=>{try{await G({contentId:C.id,collectionId:e}),V({collect:!0}),I(),x.success(D(`detailOperate.modifyCollectionSuccess`))}catch(e){console.error(`修改收藏夹失败:`,e),x.error(D(`detailOperate.collectFailed`))}}})},[C.id,I,D,V]),q=h(e=>{let t=e||D(`detailOperate.defaultCollection`);x.custom(e=>b(`div`,{className:`flex items-center justify-between gap-[16px] px-[16px] py-[12px] rounded-[12px] bg-black text-white shadow-lg min-w-[280px]`,children:[b(`div`,{className:`flex items-center gap-[10px]`,children:[y(`div`,{className:`w-[24px] h-[24px] rounded-full bg-white flex items-center justify-center`,children:y(l,{className:`w-[14px] h-[14px]`})}),b(`div`,{className:`flex items-center gap-[6px]`,children:[y(`span`,{className:`text-[14px] leading-[20px]`,children:D(`detailOperate.collectAdded`)}),y(`span`,{className:`text-[14px] leading-[20px] font-semibold`,children:t})]})]}),y(`button`,{type:`button`,className:`text-[14px] text-theme5 font-semibold`,onClick:()=>{x.dismiss(e),K()},children:D(`detailOperate.modifyCollection`)})]}))},[K,D]),J=h(async()=>{if(A)return;if(!P){i.getState().open();return}let e=C.collect||!1;j(!0),window.sensors?.track?.(`detail_fav_click`,{object_id:C.id,action:e?`取消收藏`:`收藏`});try{let t=await z({currentCollect:e,onUpdate:({isCollect:e})=>{V({collect:e})}});if(!t?.success){x.error(t?.message||D(`detailOperate.collectFailed`));return}I(),window.sensors?.track?.(`detail_fav_click`,{object_id:C.id,action:t.isCollect?`收藏`:`取消收藏`}),!e&&t.isCollect&&q(t.collectionTitle)}catch(e){console.error(`收藏操作失败:`,e),x.error(e?.message||D(`detailOperate.collectFailed`))}finally{j(!1)}},[z,C.collect,C.id,I,A,P,q,D,V]),Y=g(()=>a(J,300),[J]);return b(t,{className:`w-full h-[42px] mt-[16px] flex items-center justify-between`,children:[b(t,{className:`w-[25%] h-full flex flex-col items-center justify-center ${O?`opacity-50 cursor-not-allowed`:`cursor-pointer`}`,onClick:H,children:[C.like?y(p,{className:`w-[20px] h-[20px] ${L.animationClass}`}):y(f,{className:`w-[20px] h-[20px] text-text2`}),y(n,{className:`text-[12px] text-text2 leading-[20px]`,children:C.static?C.static.like_cnt===0?D(`detailOperate.like`):w(C.static?.like_cnt):D(`detailOperate.like`)})]}),b(t,{className:`w-[25%] h-full flex flex-col items-center justify-center ${A?`opacity-50 cursor-not-allowed`:`cursor-pointer`}`,onClick:Y,children:[C.collect?y(d,{className:`w-[20px] h-[20px]`}):y(u,{className:`w-[20px] h-[20px] text-text2`}),y(n,{className:`text-[12px] text-text2 leading-[20px]`,children:D(`detailOperate.collection`)})]}),b(t,{className:`w-[25%] h-full flex flex-col items-center justify-center cursor-pointer`,onClick:W,children:[y(m,{className:`w-[20px] h-[20px] text-text2`}),y(n,{className:`text-[12px] text-text2 leading-[20px]`,children:D(`detailOperate.share`)})]})]})}function w(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 T(e){if(e==null)return 0;if(typeof e==`number`)return e;let t=Number(e);return Number.isNaN(t)?0:t}export{C as DetailOperate};
@@ -1,61 +1,55 @@
1
1
 
2
2
  import { SchemaHasDefaultValue } from "../../../../../utils/schema/schema.mjs";
3
3
  import { DefineMaterialOption } from "../../../../../utils/schema/material.mjs";
4
- import { VideoDetailPlayerClient } from "./video-detail-player/client.mjs";
5
- import "./video-detail-player/index.mjs";
4
+ import { MaterialMap } from "../../../../../utils/schema/utils.mjs";
5
+ import { VideoDetailActionsClient } from "./video-detail-actions/client.mjs";
6
+ import "./video-detail-actions/index.mjs";
6
7
  import { VideoDetailInfoClient } from "./video-detail-info/client.mjs";
7
8
  import "./video-detail-info/index.mjs";
8
- import "../../../../../utils.mjs";
9
9
  import { VideoDetailInfoTitleClient } from "./video-detail-info-title/client.mjs";
10
10
  import "./video-detail-info-title/index.mjs";
11
11
  import { VideoDetailInfoTitleTagsEpisodesClient } from "./video-detail-info-title-tags-episodes/client.mjs";
12
12
  import "./video-detail-info-title-tags-episodes/index.mjs";
13
- import { VideoDetailActionsClient } from "./video-detail-actions/client.mjs";
14
- import "./video-detail-actions/index.mjs";
13
+ import { VideoDetailPlayerClient } from "./video-detail-player/client.mjs";
14
+ import "./video-detail-player/index.mjs";
15
15
  import { VideoDetailRecommendClient } from "./video-detail-recommend/client.mjs";
16
16
  import "./video-detail-recommend/index.mjs";
17
+ import "../../../../../utils.mjs";
17
18
  import z from "zod";
18
19
 
19
20
  //#region components/biz/business/detail/materials/registry.d.ts
20
- declare const videoDetailMaterials: {
21
- 'video-detail-player': DefineMaterialOption<typeof VideoDetailPlayerClient, z.ZodObject<{}, z.core.$strip>, "video-detail-player">;
22
- 'video-detail-info': DefineMaterialOption<typeof VideoDetailInfoClient, z.ZodObject<{
23
- showTags: z.ZodBoolean & SchemaHasDefaultValue;
24
- showEpisodes: z.ZodBoolean & SchemaHasDefaultValue;
25
- }, z.core.$strip>, "video-detail-info">;
26
- 'video-detail-info-title': DefineMaterialOption<typeof VideoDetailInfoTitleClient, z.ZodObject<{}, z.core.$strip>, "video-detail-info-title">;
27
- 'video-detail-info-title-tags-episodes': DefineMaterialOption<typeof VideoDetailInfoTitleTagsEpisodesClient, z.ZodObject<{
28
- showTags: z.ZodBoolean & SchemaHasDefaultValue;
29
- showEpisodes: z.ZodBoolean & SchemaHasDefaultValue;
30
- }, z.core.$strip>, "video-detail-info-title-tags-episodes">;
31
- 'video-detail-actions': DefineMaterialOption<typeof VideoDetailActionsClient, z.ZodObject<{}, z.core.$strip>, "video-detail-actions">;
32
- 'video-detail-recommend': DefineMaterialOption<typeof VideoDetailRecommendClient, z.ZodObject<{
33
- rows: z.ZodNumber & SchemaHasDefaultValue;
34
- columns: z.ZodNumber & SchemaHasDefaultValue;
35
- smartTagEnabled: z.ZodBoolean & SchemaHasDefaultValue;
36
- title: z.ZodString & SchemaHasDefaultValue;
37
- showPlayCount: z.ZodBoolean & SchemaHasDefaultValue;
38
- playCountDelta: z.ZodNumber & SchemaHasDefaultValue;
39
- showEpisode: z.ZodBoolean & SchemaHasDefaultValue;
40
- enableInfinite: z.ZodBoolean & SchemaHasDefaultValue;
41
- smartTagIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
42
- items: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
- contentId: z.ZodString;
44
- coverMode: z.ZodOptional<z.ZodEnum<{
45
- content: "content";
46
- upload: "upload";
47
- }>>;
48
- coverUrl: z.ZodOptional<z.ZodString>;
49
- titleMode: z.ZodOptional<z.ZodEnum<{
50
- content: "content";
51
- custom: "custom";
52
- }>>;
53
- title: z.ZodOptional<z.ZodString>;
54
- showPlayCount: z.ZodOptional<z.ZodBoolean>;
55
- playCountDelta: z.ZodOptional<z.ZodNumber>;
56
- showEpisode: z.ZodOptional<z.ZodBoolean>;
57
- }, z.core.$strip>>>;
58
- }, z.core.$strip>, "video-detail-recommend">;
59
- };
21
+ declare const videoDetailMaterials: MaterialMap<readonly [DefineMaterialOption<typeof VideoDetailPlayerClient, z.ZodObject<{}, z.core.$strip>, "video-detail-player">, DefineMaterialOption<typeof VideoDetailInfoClient, z.ZodObject<{
22
+ showTags: z.ZodBoolean & SchemaHasDefaultValue;
23
+ showEpisodes: z.ZodBoolean & SchemaHasDefaultValue;
24
+ }, z.core.$strip>, "video-detail-info">, DefineMaterialOption<typeof VideoDetailInfoTitleClient, z.ZodObject<{}, z.core.$strip>, "video-detail-info-title">, DefineMaterialOption<typeof VideoDetailInfoTitleTagsEpisodesClient, z.ZodObject<{
25
+ showTags: z.ZodBoolean & SchemaHasDefaultValue;
26
+ showEpisodes: z.ZodBoolean & SchemaHasDefaultValue;
27
+ }, z.core.$strip>, "video-detail-info-title-tags-episodes">, DefineMaterialOption<typeof VideoDetailActionsClient, z.ZodObject<{}, z.core.$strip>, "video-detail-actions">, DefineMaterialOption<typeof VideoDetailRecommendClient, z.ZodObject<{
28
+ rows: z.ZodNumber & SchemaHasDefaultValue;
29
+ columns: z.ZodNumber & SchemaHasDefaultValue;
30
+ smartTagEnabled: z.ZodBoolean & SchemaHasDefaultValue;
31
+ title: z.ZodString & SchemaHasDefaultValue;
32
+ showPlayCount: z.ZodBoolean & SchemaHasDefaultValue;
33
+ playCountDelta: z.ZodNumber & SchemaHasDefaultValue;
34
+ showEpisode: z.ZodBoolean & SchemaHasDefaultValue;
35
+ enableInfinite: z.ZodBoolean & SchemaHasDefaultValue;
36
+ smartTagIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
38
+ contentId: z.ZodString;
39
+ coverMode: z.ZodOptional<z.ZodEnum<{
40
+ content: "content";
41
+ upload: "upload";
42
+ }>>;
43
+ coverUrl: z.ZodOptional<z.ZodString>;
44
+ titleMode: z.ZodOptional<z.ZodEnum<{
45
+ content: "content";
46
+ custom: "custom";
47
+ }>>;
48
+ title: z.ZodOptional<z.ZodString>;
49
+ showPlayCount: z.ZodOptional<z.ZodBoolean>;
50
+ playCountDelta: z.ZodOptional<z.ZodNumber>;
51
+ showEpisode: z.ZodOptional<z.ZodBoolean>;
52
+ }, z.core.$strip>>>;
53
+ }, z.core.$strip>, "video-detail-recommend">]>;
60
54
  //#endregion
61
55
  export { videoDetailMaterials };
@@ -1,2 +1,2 @@
1
1
 
2
- import{getSchemaDefaultProps as e}from"../../../../../utils/schema/schema.mjs";import{videoDetailActionsMaterial as t}from"./video-detail-actions/material.mjs";import{videoDetailInfoMaterial as n}from"./video-detail-info/material.mjs";import{videoDetailInfoTitleMaterial as r}from"./video-detail-info-title/material.mjs";import{videoDetailInfoTitleTagsEpisodesMaterial as i}from"./video-detail-info-title-tags-episodes/material.mjs";import{videoDetailPlayerMaterial as a}from"./video-detail-player/material.mjs";import{videoDetailRecommendMaterial as o}from"./video-detail-recommend/material.mjs";function s(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>typeof t==`number`&&Number.isFinite(t)?[e,String(t)]:[e,t]))}function c(t,n){let r={...e(t.propsSchema),...n??{}},i=t.propsSchema.safeParse(r);if(i.success)return{isValid:!0,props:i.data};let a=s(r),o=t.propsSchema.safeParse(a);return o.success?{isValid:!0,props:o.data}:{isValid:!1,props:r}}const l={"video-detail-player":a,"video-detail-info":n,"video-detail-info-title":r,"video-detail-info-title-tags-episodes":i,"video-detail-actions":t,"video-detail-recommend":o};export{c as resolveMaterialProps,l as videoDetailMaterials};
2
+ import{getSchemaDefaultProps as e}from"../../../../../utils/schema/schema.mjs";import{generateMaterialMap as t}from"../../../../../utils/schema/utils.mjs";import{videoDetailInfoMaterial as n}from"./video-detail-info/material.mjs";import{videoDetailInfoTitleMaterial as r}from"./video-detail-info-title/material.mjs";import{videoDetailInfoTitleTagsEpisodesMaterial as i}from"./video-detail-info-title-tags-episodes/material.mjs";import{videoDetailPlayerMaterial as a}from"./video-detail-player/material.mjs";import{videoDetailRecommendMaterial as o}from"./video-detail-recommend/material.mjs";import{videoDetailActionsMaterial as s}from"./video-detail-actions/material.mjs";function c(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>typeof t==`number`&&Number.isFinite(t)?[e,String(t)]:[e,t]))}function l(t,n){let r={...e(t.propsSchema),...n??{}},i=t.propsSchema.safeParse(r);if(i.success)return{isValid:!0,props:i.data};let a=c(r),o=t.propsSchema.safeParse(a);return o.success?{isValid:!0,props:o.data}:{isValid:!1,props:r}}const u=t([a,n,r,i,s,o]);export{l as resolveMaterialProps,u as videoDetailMaterials};
@@ -1,15 +1,8 @@
1
1
 
2
- import { SafeInformationType } from "../../../../../../types/safe-information.mjs";
3
- import { VideoDetailActionsInspectorProps } from "./schema.mjs";
2
+ import { VideoDetailActionsProps } from "./schema.mjs";
4
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
4
 
6
5
  //#region components/biz/business/detail/materials/video-detail-actions/client.d.ts
7
- interface VideoDetailActionsProps extends VideoDetailActionsInspectorProps {
8
- /** 视频详情信息。 */
9
- information: SafeInformationType;
10
- /** 操作回写。 */
11
- onUpdate: (data: Partial<SafeInformationType>) => void;
12
- }
13
6
  /**
14
7
  * 视频详情行为模块客户端组件。
15
8
  */
@@ -18,4 +11,4 @@ declare function VideoDetailActionsClient({
18
11
  onUpdate
19
12
  }: VideoDetailActionsProps): react_jsx_runtime0.JSX.Element | null;
20
13
  //#endregion
21
- export { VideoDetailActionsClient, VideoDetailActionsProps };
14
+ export { VideoDetailActionsClient };
@@ -1,5 +1,5 @@
1
1
 
2
- import { VideoDetailActionsInspectorProps, videoDetailActionsInspectorPropsSchema } from "./schema.mjs";
3
- import { VideoDetailActionsClient, VideoDetailActionsProps } from "./client.mjs";
4
- import "./material.mjs";
2
+ import { VideoDetailActionsInspectorProps, VideoDetailActionsProps, videoDetailActionsInspectorPropsSchema } from "./schema.mjs";
3
+ import { VideoDetailActionsClient } from "./client.mjs";
4
+ import { videoDetailActionsMaterial } from "./material.mjs";
5
5
  import "./server.mjs";