@next-bricks/ai-portal 0.70.1 → 0.70.3

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 (271) hide show
  1. package/dist/bricks.json +45 -45
  2. package/dist/chunks/1097.05983e91.js +3 -0
  3. package/dist/chunks/{1097.9e80dcca.js.LICENSE.txt → 1097.05983e91.js.LICENSE.txt} +2 -0
  4. package/dist/chunks/1097.05983e91.js.map +1 -0
  5. package/dist/chunks/{1889.b7766f77.js → 1889.803775eb.js} +2 -2
  6. package/dist/chunks/{1889.b7766f77.js.map → 1889.803775eb.js.map} +1 -1
  7. package/dist/chunks/3171.9d323cbe.js +2 -0
  8. package/dist/chunks/3171.9d323cbe.js.map +1 -0
  9. package/dist/chunks/{3186.f231329a.js → 3186.ca53075a.js} +2 -2
  10. package/dist/chunks/{3186.f231329a.js.map → 3186.ca53075a.js.map} +1 -1
  11. package/dist/chunks/3840.6080d56e.js +3 -0
  12. package/dist/chunks/3840.6080d56e.js.map +1 -0
  13. package/dist/chunks/{4864.bee3bb30.js → 4864.beefe6d5.js} +2 -2
  14. package/dist/chunks/{4864.bee3bb30.js.map → 4864.beefe6d5.js.map} +1 -1
  15. package/dist/chunks/5399.ef4bb3aa.js +2 -0
  16. package/dist/chunks/5399.ef4bb3aa.js.map +1 -0
  17. package/dist/chunks/551.ae5171a6.js +3 -0
  18. package/dist/chunks/551.ae5171a6.js.map +1 -0
  19. package/dist/chunks/5552.53024929.js +2 -0
  20. package/dist/chunks/5552.53024929.js.map +1 -0
  21. package/dist/chunks/6277.c8a6013f.js +2 -0
  22. package/dist/chunks/6277.c8a6013f.js.map +1 -0
  23. package/dist/chunks/6376.c35ff317.js +2 -0
  24. package/dist/chunks/6376.c35ff317.js.map +1 -0
  25. package/dist/chunks/7669.6f177bf2.js +3 -0
  26. package/dist/chunks/7669.6f177bf2.js.map +1 -0
  27. package/dist/chunks/794.214aa08f.js +3 -0
  28. package/dist/chunks/794.214aa08f.js.map +1 -0
  29. package/dist/chunks/948.c96c7036.js +3 -0
  30. package/dist/chunks/948.c96c7036.js.map +1 -0
  31. package/dist/chunks/action-buttons.68666920.js.map +1 -1
  32. package/dist/chunks/activity-timeline.96e7aaea.js.map +1 -1
  33. package/dist/chunks/ai-agents.cffd08a0.js.map +1 -1
  34. package/dist/chunks/ai-employees.267c3626.js.map +1 -1
  35. package/dist/chunks/blank-state.648eea95.js.map +1 -1
  36. package/dist/chunks/chat-box.060b8727.js +3 -0
  37. package/dist/chunks/chat-box.060b8727.js.map +1 -0
  38. package/dist/chunks/chat-input.e913e9ed.js +3 -0
  39. package/dist/chunks/chat-input.e913e9ed.js.map +1 -0
  40. package/dist/chunks/chat-panel-welcome.2f7c6c8b.js.map +1 -1
  41. package/dist/chunks/{chat-panel.3160f2e8.js → chat-panel.63207d2f.js} +2 -2
  42. package/dist/chunks/chat-panel.63207d2f.js.map +1 -0
  43. package/dist/chunks/chat-stream.393c8241.js.map +1 -1
  44. package/dist/chunks/cruise-canvas.bfae3138.js.map +1 -1
  45. package/dist/chunks/dropdown-select.336442ba.js.map +1 -1
  46. package/dist/chunks/elevo-card.49b42ed0.js.map +1 -1
  47. package/dist/chunks/elevo-logo.25e3b889.js.map +1 -1
  48. package/dist/chunks/elevo-sidebar.dfaaf9d1.js +3 -0
  49. package/dist/chunks/elevo-sidebar.dfaaf9d1.js.map +1 -0
  50. package/dist/chunks/flow-tabs.ee1290c2.js.map +1 -1
  51. package/dist/chunks/goal-card-list.74ab5767.js.map +1 -1
  52. package/dist/chunks/home-container.f1829834.js.map +1 -1
  53. package/dist/chunks/icon-button.545ffb24.js.map +1 -1
  54. package/dist/chunks/main.5e1b11a5.js +2 -0
  55. package/dist/chunks/main.5e1b11a5.js.map +1 -0
  56. package/dist/chunks/mcp-tools.f132c502.js.map +1 -1
  57. package/dist/chunks/notice-dropdown.63cb2415.js.map +1 -1
  58. package/dist/chunks/page-container.2185f2e0.js.map +1 -1
  59. package/dist/chunks/preview-container.a0ca6e2f.js.map +1 -1
  60. package/dist/chunks/project-knowledges.51731410.js.map +1 -1
  61. package/dist/chunks/running-flow.37a428cf.js.map +1 -1
  62. package/dist/chunks/show-case.44e995fc.js.map +1 -1
  63. package/dist/chunks/show-cases.c3921ea0.js.map +1 -1
  64. package/dist/chunks/space-chat-guide.b9f77cb5.js +3 -0
  65. package/dist/chunks/space-chat-guide.b9f77cb5.js.map +1 -0
  66. package/dist/chunks/space-logo.994f7a25.js.map +1 -1
  67. package/dist/chunks/space-workbench.9d48eec0.js +2 -0
  68. package/dist/chunks/space-workbench.9d48eec0.js.map +1 -0
  69. package/dist/chunks/stage-flow.9b6fad93.js.map +1 -1
  70. package/dist/chunks/stat-with-mini-chart.1509cf8c.js.map +1 -1
  71. package/dist/chunks/sticky-container.d3f7054e.js.map +1 -1
  72. package/dist/chunks/tab-list.ee97567f.js.map +1 -1
  73. package/dist/examples.json +56 -44
  74. package/dist/index.34851313.js +2 -0
  75. package/dist/index.34851313.js.map +1 -0
  76. package/dist/manifest.json +624 -343
  77. package/dist/types.json +1309 -1309
  78. package/dist-types/action-buttons/i18n.d.ts +1 -1
  79. package/dist-types/action-buttons/index.d.ts +10 -1
  80. package/dist-types/activity-timeline/i18n.d.ts +1 -1
  81. package/dist-types/activity-timeline/index.d.ts +10 -1
  82. package/dist-types/ai-agents/i18n.d.ts +1 -1
  83. package/dist-types/ai-agents/index.d.ts +10 -1
  84. package/dist-types/ai-employees/i18n.d.ts +1 -1
  85. package/dist-types/ai-employees/index.d.ts +16 -1
  86. package/dist-types/blank-state/index.d.ts +10 -1
  87. package/dist-types/chat-box/i18n.d.ts +1 -1
  88. package/dist-types/chat-input/i18n.d.ts +1 -1
  89. package/dist-types/chat-input/index.d.ts +37 -1
  90. package/dist-types/chat-panel/ChatPanelContent.d.ts +2 -2
  91. package/dist-types/chat-panel/index.d.ts +48 -6
  92. package/dist-types/chat-stream/Aside/FlowApp/i18n.d.ts +1 -1
  93. package/dist-types/chat-stream/i18n.d.ts +1 -1
  94. package/dist-types/chat-stream/index.d.ts +62 -1
  95. package/dist-types/cruise-canvas/NodeReplay/i18n.d.ts +1 -1
  96. package/dist-types/cruise-canvas/ToolCallDetail/i18n.d.ts +1 -1
  97. package/dist-types/cruise-canvas/i18n.d.ts +1 -1
  98. package/dist-types/cruise-canvas/index.d.ts +71 -1
  99. package/dist-types/dropdown-select/i18n.d.ts +1 -1
  100. package/dist-types/dropdown-select/index.d.ts +3 -1
  101. package/dist-types/elevo-card/index.d.ts +5 -1
  102. package/dist-types/elevo-logo/index.d.ts +3 -1
  103. package/dist-types/elevo-sidebar/i18n.d.ts +1 -1
  104. package/dist-types/elevo-sidebar/index.d.ts +19 -2
  105. package/dist-types/flow-tabs/index.d.ts +5 -1
  106. package/dist-types/gantt-chart/i18n.d.ts +1 -1
  107. package/dist-types/gantt-chart/index.d.ts +3 -1
  108. package/dist-types/goal-card-list/i18n.d.ts +1 -1
  109. package/dist-types/goal-card-list/index.d.ts +8 -1
  110. package/dist-types/home-container/index.d.ts +4 -1
  111. package/dist-types/icon-button/index.d.ts +4 -1
  112. package/dist-types/mcp-tools/i18n.d.ts +1 -1
  113. package/dist-types/mcp-tools/index.d.ts +3 -1
  114. package/dist-types/notice-dropdown/i18n.d.ts +1 -1
  115. package/dist-types/notice-list/i18n.d.ts +1 -1
  116. package/dist-types/page-container/index.d.ts +7 -0
  117. package/dist-types/preview-container/i18n.d.ts +1 -1
  118. package/dist-types/preview-container/index.d.ts +4 -0
  119. package/dist-types/project-conversations/i18n.d.ts +1 -1
  120. package/dist-types/project-knowledges/i18n.d.ts +1 -1
  121. package/dist-types/project-knowledges/index.d.ts +5 -0
  122. package/dist-types/running-flow/index.d.ts +3 -0
  123. package/dist-types/shared/ActivityPlan/i18n.d.ts +1 -1
  124. package/dist-types/shared/AskUser/i18n.d.ts +1 -1
  125. package/dist-types/shared/ChatBox/i18n.d.ts +1 -1
  126. package/dist-types/shared/CreatedView/i18n.d.ts +1 -1
  127. package/dist-types/shared/FilePreview/i18n.d.ts +1 -1
  128. package/dist-types/shared/FileUpload/i18n.d.ts +1 -1
  129. package/dist-types/shared/NodeFeedback/i18n.d.ts +1 -1
  130. package/dist-types/show-case/i18n.d.ts +1 -1
  131. package/dist-types/show-case/index.d.ts +5 -0
  132. package/dist-types/show-cases/i18n.d.ts +1 -1
  133. package/dist-types/show-cases/index.d.ts +4 -0
  134. package/dist-types/space-workbench/chat-panel-welcome/i18n.d.ts +1 -1
  135. package/dist-types/space-workbench/chat-panel-welcome/index.d.ts +3 -0
  136. package/dist-types/space-workbench/i18n.d.ts +1 -1
  137. package/dist-types/space-workbench/index.d.ts +7 -0
  138. package/dist-types/space-workbench/space-chat-guide/i18n.d.ts +1 -1
  139. package/dist-types/space-workbench/space-chat-guide/index.d.ts +3 -0
  140. package/dist-types/space-workbench/space-logo/index.d.ts +1 -0
  141. package/dist-types/stage-flow/i18n.d.ts +1 -1
  142. package/dist-types/stage-flow/index.d.ts +21 -0
  143. package/dist-types/stat-with-mini-chart/index.d.ts +10 -0
  144. package/dist-types/sticky-container/index.d.ts +3 -0
  145. package/dist-types/tab-list/index.d.ts +4 -0
  146. package/docs/action-buttons.md +59 -10
  147. package/docs/action-buttons.react.md +80 -0
  148. package/docs/activity-timeline.md +51 -7
  149. package/docs/activity-timeline.react.md +109 -0
  150. package/docs/ai-agents.md +62 -2
  151. package/docs/ai-agents.react.md +73 -0
  152. package/docs/ai-employees.md +76 -2
  153. package/docs/ai-employees.react.md +106 -0
  154. package/docs/blank-state.md +62 -2
  155. package/docs/blank-state.react.md +77 -0
  156. package/docs/chat-box.md +134 -52
  157. package/docs/chat-box.react.md +142 -0
  158. package/docs/chat-input.md +117 -1
  159. package/docs/chat-input.react.md +117 -0
  160. package/docs/chat-panel-welcome.md +39 -0
  161. package/docs/chat-panel-welcome.react.md +41 -0
  162. package/docs/chat-panel.md +86 -3
  163. package/docs/chat-panel.react.md +109 -0
  164. package/docs/chat-stream.md +149 -2
  165. package/docs/chat-stream.react.md +155 -0
  166. package/docs/cruise-canvas.md +159 -0
  167. package/docs/cruise-canvas.react.md +159 -0
  168. package/docs/dropdown-select.md +37 -8
  169. package/docs/dropdown-select.react.md +144 -0
  170. package/docs/elevo-card.md +75 -1
  171. package/docs/elevo-card.react.md +104 -0
  172. package/docs/elevo-logo.md +13 -1
  173. package/docs/elevo-logo.react.md +27 -0
  174. package/docs/elevo-sidebar.md +150 -1
  175. package/docs/elevo-sidebar.react.md +149 -0
  176. package/docs/flow-tabs.md +97 -2
  177. package/docs/flow-tabs.react.md +102 -0
  178. package/docs/gantt-chart.md +101 -0
  179. package/docs/gantt-chart.react.md +125 -0
  180. package/docs/goal-card-list.md +149 -13
  181. package/docs/goal-card-list.react.md +185 -0
  182. package/docs/home-container.md +48 -2
  183. package/docs/home-container.react.md +51 -0
  184. package/docs/icon-button.md +128 -2
  185. package/docs/icon-button.react.md +120 -0
  186. package/docs/mcp-tools.md +105 -2
  187. package/docs/mcp-tools.react.md +117 -0
  188. package/docs/notice-dropdown.md +53 -10
  189. package/docs/notice-dropdown.react.md +167 -0
  190. package/docs/notice-list.md +53 -5
  191. package/docs/notice-list.react.md +121 -0
  192. package/docs/page-container.md +80 -3
  193. package/docs/page-container.react.md +83 -0
  194. package/docs/preview-container.md +22 -32
  195. package/docs/preview-container.react.md +71 -0
  196. package/docs/project-conversations.md +85 -4
  197. package/docs/project-conversations.react.md +110 -0
  198. package/docs/project-knowledges.md +73 -8
  199. package/docs/project-knowledges.react.md +85 -0
  200. package/docs/running-flow.md +57 -2
  201. package/docs/running-flow.react.md +90 -0
  202. package/docs/show-case.md +48 -3
  203. package/docs/show-case.react.md +60 -0
  204. package/docs/show-cases.md +52 -2
  205. package/docs/show-cases.react.md +92 -0
  206. package/docs/space-chat-guide.md +32 -0
  207. package/docs/space-chat-guide.react.md +39 -0
  208. package/docs/space-logo.md +53 -0
  209. package/docs/space-logo.react.md +46 -0
  210. package/docs/space-workbench.md +45 -2
  211. package/docs/space-workbench.react.md +102 -0
  212. package/docs/stage-flow.md +122 -26
  213. package/docs/stage-flow.react.md +112 -0
  214. package/docs/stat-with-mini-chart.md +64 -159
  215. package/docs/stat-with-mini-chart.react.md +113 -0
  216. package/docs/sticky-container.md +56 -3
  217. package/docs/sticky-container.react.md +60 -0
  218. package/docs/tab-list.md +74 -3
  219. package/docs/tab-list.react.md +73 -0
  220. package/package.json +2 -2
  221. package/dist/chunks/1097.9e80dcca.js +0 -3
  222. package/dist/chunks/1097.9e80dcca.js.map +0 -1
  223. package/dist/chunks/2341.0e70532b.js +0 -2
  224. package/dist/chunks/2341.0e70532b.js.map +0 -1
  225. package/dist/chunks/3171.45ef4669.js +0 -2
  226. package/dist/chunks/3171.45ef4669.js.map +0 -1
  227. package/dist/chunks/3573.7b0bb780.js +0 -3
  228. package/dist/chunks/3573.7b0bb780.js.map +0 -1
  229. package/dist/chunks/4459.dbfa8706.js +0 -3
  230. package/dist/chunks/4459.dbfa8706.js.map +0 -1
  231. package/dist/chunks/4837.570099ad.js +0 -2
  232. package/dist/chunks/4837.570099ad.js.map +0 -1
  233. package/dist/chunks/5399.501fc322.js +0 -2
  234. package/dist/chunks/5399.501fc322.js.map +0 -1
  235. package/dist/chunks/5552.09658542.js +0 -2
  236. package/dist/chunks/5552.09658542.js.map +0 -1
  237. package/dist/chunks/6380.b8610c4b.js +0 -3
  238. package/dist/chunks/6380.b8610c4b.js.map +0 -1
  239. package/dist/chunks/7202.a893b0e6.js +0 -3
  240. package/dist/chunks/7202.a893b0e6.js.map +0 -1
  241. package/dist/chunks/948.e601f18c.js +0 -3
  242. package/dist/chunks/948.e601f18c.js.map +0 -1
  243. package/dist/chunks/9599.02a5e6e3.js +0 -2
  244. package/dist/chunks/9599.02a5e6e3.js.map +0 -1
  245. package/dist/chunks/9848.4b1f38c9.js +0 -3
  246. package/dist/chunks/9848.4b1f38c9.js.LICENSE.txt +0 -1
  247. package/dist/chunks/9848.4b1f38c9.js.map +0 -1
  248. package/dist/chunks/chat-box.1ac7555a.js +0 -3
  249. package/dist/chunks/chat-box.1ac7555a.js.map +0 -1
  250. package/dist/chunks/chat-input.444c80bb.js +0 -3
  251. package/dist/chunks/chat-input.444c80bb.js.map +0 -1
  252. package/dist/chunks/chat-panel.3160f2e8.js.map +0 -1
  253. package/dist/chunks/elevo-sidebar.a197a77f.js +0 -3
  254. package/dist/chunks/elevo-sidebar.a197a77f.js.map +0 -1
  255. package/dist/chunks/main.9d171af9.js +0 -2
  256. package/dist/chunks/main.9d171af9.js.map +0 -1
  257. package/dist/chunks/space-chat-guide.84f4a1e7.js +0 -3
  258. package/dist/chunks/space-chat-guide.84f4a1e7.js.map +0 -1
  259. package/dist/chunks/space-workbench.8c064898.js +0 -2
  260. package/dist/chunks/space-workbench.8c064898.js.map +0 -1
  261. package/dist/index.0edd6320.js +0 -2
  262. package/dist/index.0edd6320.js.map +0 -1
  263. /package/dist/chunks/{3573.7b0bb780.js.LICENSE.txt → 3840.6080d56e.js.LICENSE.txt} +0 -0
  264. /package/dist/chunks/{4459.dbfa8706.js.LICENSE.txt → 551.ae5171a6.js.LICENSE.txt} +0 -0
  265. /package/dist/chunks/{7202.a893b0e6.js.LICENSE.txt → 7669.6f177bf2.js.LICENSE.txt} +0 -0
  266. /package/dist/chunks/{6380.b8610c4b.js.LICENSE.txt → 794.214aa08f.js.LICENSE.txt} +0 -0
  267. /package/dist/chunks/{948.e601f18c.js.LICENSE.txt → 948.c96c7036.js.LICENSE.txt} +0 -0
  268. /package/dist/chunks/{chat-box.1ac7555a.js.LICENSE.txt → chat-box.060b8727.js.LICENSE.txt} +0 -0
  269. /package/dist/chunks/{chat-input.444c80bb.js.LICENSE.txt → chat-input.e913e9ed.js.LICENSE.txt} +0 -0
  270. /package/dist/chunks/{elevo-sidebar.a197a77f.js.LICENSE.txt → elevo-sidebar.dfaaf9d1.js.LICENSE.txt} +0 -0
  271. /package/dist/chunks/{space-chat-guide.84f4a1e7.js.LICENSE.txt → space-chat-guide.b9f77cb5.js.LICENSE.txt} +0 -0
@@ -1,12 +1,38 @@
1
- 构件 `ai-portal.notice-list`
1
+ ---
2
+ tagName: ai-portal.notice-list
3
+ displayName: WrappedAiPortalNoticeList
4
+ description: 消息通知列表构件,用于展示消息列表,支持批量操作
5
+ category: ""
6
+ source: "@next-bricks/ai-portal"
7
+ ---
2
8
 
3
- 消息通知列表构件,支持批量操作功能。
9
+ # ai-portal.notice-list
10
+
11
+ > 消息通知列表构件,用于展示消息列表,支持批量操作
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ----------- | -------------- | ---- | ------ | ------------------ |
17
+ | dataSource | `NoticeItem[]` | 否 | - | 消息数据列表 |
18
+ | emptyText | `string` | 否 | - | 空状态文案 |
19
+ | urlTemplate | `string` | 否 | - | 详情链接 |
20
+ | urlTarget | `Target` | 否 | - | 详情链接目标 |
21
+ | selectedIds | `string[]` | 否 | - | 选中的消息 ID 数组 |
22
+
23
+ ## Events
24
+
25
+ | 事件 | detail | 说明 |
26
+ | --------------- | ----------------------------------- | ------------------ |
27
+ | notice.click | `NoticeItem` — 消息项数据 | 消息项点击事件 |
28
+ | mark.items.read | `NoticeItem[]` — 选中的消息 ID 数组 | 标记消息项已读事件 |
29
+ | mark.all.read | `void` | 全部已读事件 |
4
30
 
5
31
  ## Examples
6
32
 
7
- ### Basic
33
+ ### 基础使用
8
34
 
9
- 基础用法,展示消息列表。
35
+ 展示消息列表,支持批量选择和标记已读操作。
10
36
 
11
37
  ```yaml preview
12
38
  brick: ai-portal.notice-list
@@ -54,7 +80,7 @@ events:
54
80
  - "全部已读"
55
81
  ```
56
82
 
57
- ### Empty State
83
+ ### 空状态
58
84
 
59
85
  空状态展示,可以自定义空状态文案。
60
86
 
@@ -64,3 +90,25 @@ properties:
64
90
  dataSource: []
65
91
  emptyText: "暂无新消息通知"
66
92
  ```
93
+
94
+ ### 带链接跳转
95
+
96
+ 配置 urlTemplate 使消息项点击后跳转到详情页。
97
+
98
+ ```yaml preview
99
+ brick: ai-portal.notice-list
100
+ properties:
101
+ urlTemplate: "/notices/{{id}}"
102
+ urlTarget: "_blank"
103
+ dataSource:
104
+ - id: "1"
105
+ type: "project"
106
+ isRead: false
107
+ title: "协作流【研发设计】已完成"
108
+ time: 1761207261887
109
+ - id: "2"
110
+ type: "account"
111
+ isRead: false
112
+ title: "您的账户资源配额即将达到限制"
113
+ time: 1761812267887
114
+ ```
@@ -0,0 +1,121 @@
1
+ ---
2
+ tagName: ai-portal.notice-list
3
+ displayName: WrappedAiPortalNoticeList
4
+ description: 消息通知列表构件,用于展示消息列表,支持批量操作
5
+ category: ""
6
+ source: "@next-bricks/ai-portal"
7
+ ---
8
+
9
+ # WrappedAiPortalNoticeList
10
+
11
+ > 消息通知列表构件,用于展示消息列表,支持批量操作
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedAiPortalNoticeList } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ----------- | -------------- | ---- | ------ | ------------------ |
23
+ | dataSource | `NoticeItem[]` | 否 | - | 消息数据列表 |
24
+ | emptyText | `string` | 否 | - | 空状态文案 |
25
+ | urlTemplate | `string` | 否 | - | 详情链接 |
26
+ | urlTarget | `Target` | 否 | - | 详情链接目标 |
27
+ | selectedIds | `string[]` | 否 | - | 选中的消息 ID 数组 |
28
+
29
+ ## Events
30
+
31
+ | 事件 | detail | 说明 |
32
+ | --------------- | ----------------------------------- | ------------------ |
33
+ | onNoticeClick | `NoticeItem` — 消息项数据 | 消息项点击事件 |
34
+ | onMarkItemsRead | `NoticeItem[]` — 选中的消息 ID 数组 | 标记消息项已读事件 |
35
+ | onMarkAllRead | `void` | 全部已读事件 |
36
+
37
+ ## Examples
38
+
39
+ ### 基础使用
40
+
41
+ 展示消息列表,支持批量选择和标记已读操作。
42
+
43
+ ```tsx
44
+ <WrappedAiPortalNoticeList
45
+ dataSource={[
46
+ {
47
+ id: "1",
48
+ type: "project",
49
+ isRead: true,
50
+ title: "协作流【研发设计】已完成",
51
+ time: 1761207261887,
52
+ },
53
+ {
54
+ id: "2",
55
+ type: "account",
56
+ isRead: true,
57
+ title: "您的账户资源配额即将达到限制",
58
+ time: 1761812267887,
59
+ },
60
+ {
61
+ id: "3",
62
+ type: "system",
63
+ isRead: false,
64
+ title: "服务通知:服务维护",
65
+ time: 1761818247887,
66
+ },
67
+ {
68
+ id: "4",
69
+ type: "space",
70
+ isRead: false,
71
+ title: "Luna 在项目【系统资源收集】中@了你",
72
+ time: 1761820851887,
73
+ },
74
+ {
75
+ id: "5",
76
+ type: "project",
77
+ isRead: false,
78
+ title: "协作流【设计规范】已完成",
79
+ time: 1761821891887,
80
+ },
81
+ ]}
82
+ onNoticeClick={(e) => console.log("消息点击:", e.detail)}
83
+ onMarkItemsRead={(e) => console.log("消息已读:", e.detail)}
84
+ onMarkAllRead={(e) => console.log("全部已读")}
85
+ />
86
+ ```
87
+
88
+ ### 空状态
89
+
90
+ 空状态展示,可以自定义空状态文案。
91
+
92
+ ```tsx
93
+ <WrappedAiPortalNoticeList dataSource={[]} emptyText="暂无新消息通知" />
94
+ ```
95
+
96
+ ### 带链接跳转
97
+
98
+ 配置 urlTemplate 使消息项点击后跳转到详情页。
99
+
100
+ ```tsx
101
+ <WrappedAiPortalNoticeList
102
+ urlTemplate="/notices/{{id}}"
103
+ urlTarget="_blank"
104
+ dataSource={[
105
+ {
106
+ id: "1",
107
+ type: "project",
108
+ isRead: false,
109
+ title: "协作流【研发设计】已完成",
110
+ time: 1761207261887,
111
+ },
112
+ {
113
+ id: "2",
114
+ type: "account",
115
+ isRead: false,
116
+ title: "您的账户资源配额即将达到限制",
117
+ time: 1761812267887,
118
+ },
119
+ ]}
120
+ />
121
+ ```
@@ -1,11 +1,88 @@
1
- 构件 `ai-portal.page-container`
1
+ ---
2
+ tagName: ai-portal.page-container
3
+ displayName: WrappedAiPortalPageContainer
4
+ description: 页面容器构件,提供统一的页面布局,包含面包屑导航、页面标题和内容区域。
5
+ category: ""
6
+ source: "@next-bricks/ai-portal"
7
+ ---
8
+
9
+ # ai-portal.page-container
10
+
11
+ > 页面容器构件,提供统一的页面布局,包含面包屑导航、页面标题和内容区域。
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ----------- | ------------------------------- | ---- | ------ | ---------------------------------------------------------------------- |
17
+ | pageTitle | `string` | 否 | - | 页面标题,同时会调用 applyPageTitle 更新浏览器标签页标题 |
18
+ | breadcrumbs | `Breadcrumb[]` | 否 | - | 面包屑导航配置,每项包含 text 和 url |
19
+ | size | `"medium" \| "small" \| "full"` | 否 | - | 内容区域宽度模式,通过 CSS attribute selector 控制样式,不触发重新渲染 |
20
+ | variant | `"default" \| "form"` | 否 | - | 页面变体,通过 CSS attribute selector 控制样式,不触发重新渲染 |
21
+ | sticky | `boolean` | 否 | - | 是否固定头部(含面包屑和标题)到页面顶部 |
22
+
23
+ ## Slots
24
+
25
+ | 名称 | 说明 |
26
+ | --------- | ------ |
27
+ | (default) | 内容 |
28
+ | toolbar | 工具栏 |
2
29
 
3
30
  ## Examples
4
31
 
5
- ### Basic
32
+ ### 基础使用
33
+
34
+ 展示带页面标题和面包屑导航的页面容器。
35
+
36
+ ```yaml preview
37
+ brick: ai-portal.page-container
38
+ properties:
39
+ pageTitle: "页面标题"
40
+ breadcrumbs:
41
+ - text: "首页"
42
+ url: "/"
43
+ - text: "子页面"
44
+ url: "/sub"
45
+ children:
46
+ - brick: div
47
+ properties:
48
+ textContent: "页面内容区域"
49
+ ```
50
+
51
+ ### 带工具栏
52
+
53
+ 在标题区右侧放置操作按钮。
54
+
55
+ ```yaml preview
56
+ brick: ai-portal.page-container
57
+ properties:
58
+ pageTitle: "资源管理"
59
+ breadcrumbs:
60
+ - text: "首页"
61
+ url: "/"
62
+ children:
63
+ - brick: eo-button
64
+ slot: toolbar
65
+ properties:
66
+ type: primary
67
+ textContent: "新建"
68
+ - brick: div
69
+ properties:
70
+ textContent: "内容区域"
71
+ ```
72
+
73
+ ### 固定头部
74
+
75
+ 启用 sticky 将面包屑和标题区域固定在顶部。
6
76
 
7
77
  ```yaml preview
8
78
  brick: ai-portal.page-container
9
79
  properties:
10
- textContent: Hello world
80
+ pageTitle: "固定头部示例"
81
+ sticky: true
82
+ size: medium
83
+ variant: default
84
+ children:
85
+ - brick: div
86
+ properties:
87
+ textContent: "内容滚动时头部保持固定"
11
88
  ```
@@ -0,0 +1,83 @@
1
+ ---
2
+ tagName: ai-portal.page-container
3
+ displayName: WrappedAiPortalPageContainer
4
+ description: 页面容器构件,提供统一的页面布局,包含面包屑导航、页面标题和内容区域。
5
+ category: ""
6
+ source: "@next-bricks/ai-portal"
7
+ ---
8
+
9
+ # WrappedAiPortalPageContainer
10
+
11
+ > 页面容器构件,提供统一的页面布局,包含面包屑导航、页面标题和内容区域。
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedAiPortalPageContainer } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ----------- | ------------------------------- | ---- | ------ | ---------------------------------------------------------------------- |
23
+ | pageTitle | `string` | 否 | - | 页面标题,同时会调用 applyPageTitle 更新浏览器标签页标题 |
24
+ | breadcrumbs | `Breadcrumb[]` | 否 | - | 面包屑导航配置,每项包含 text 和 url |
25
+ | size | `"medium" \| "small" \| "full"` | 否 | - | 内容区域宽度模式,通过 CSS attribute selector 控制样式,不触发重新渲染 |
26
+ | variant | `"default" \| "form"` | 否 | - | 页面变体,通过 CSS attribute selector 控制样式,不触发重新渲染 |
27
+ | sticky | `boolean` | 否 | - | 是否固定头部(含面包屑和标题)到页面顶部 |
28
+
29
+ ## Slots
30
+
31
+ | 名称 | 说明 |
32
+ | --------- | ------ |
33
+ | (default) | 内容 |
34
+ | toolbar | 工具栏 |
35
+
36
+ ## Examples
37
+
38
+ ### 基础使用
39
+
40
+ 展示带页面标题和面包屑导航的页面容器。
41
+
42
+ ```tsx
43
+ <WrappedAiPortalPageContainer
44
+ pageTitle="页面标题"
45
+ breadcrumbs={[
46
+ { text: "首页", url: "/" },
47
+ { text: "子页面", url: "/sub" },
48
+ ]}
49
+ >
50
+ <div>页面内容区域</div>
51
+ </WrappedAiPortalPageContainer>
52
+ ```
53
+
54
+ ### 带工具栏
55
+
56
+ 在标题区右侧放置操作按钮。
57
+
58
+ ```tsx
59
+ <WrappedAiPortalPageContainer
60
+ pageTitle="资源管理"
61
+ breadcrumbs={[{ text: "首页", url: "/" }]}
62
+ >
63
+ <WrappedEoButton slot="toolbar" type="primary">
64
+ 新建
65
+ </WrappedEoButton>
66
+ <div>内容区域</div>
67
+ </WrappedAiPortalPageContainer>
68
+ ```
69
+
70
+ ### 固定头部
71
+
72
+ 启用 sticky 将面包屑和标题区域固定在顶部。
73
+
74
+ ```tsx
75
+ <WrappedAiPortalPageContainer
76
+ pageTitle="固定头部示例"
77
+ sticky={true}
78
+ size="medium"
79
+ variant="default"
80
+ >
81
+ <div>内容滚动时头部保持固定</div>
82
+ </WrappedAiPortalPageContainer>
83
+ ```
@@ -1,8 +1,27 @@
1
- 构件 `ai-portal.preview-container`
1
+ ---
2
+ tagName: ai-portal.preview-container
3
+ displayName: WrappedAiPortalPreviewContainer
4
+ description: TSX 源码预览容器,将 TSX 源码字符串解析并渲染为完整的页面视图。
5
+ category: ""
6
+ source: "@next-bricks/ai-portal"
7
+ ---
8
+
9
+ # ai-portal.preview-container
10
+
11
+ > TSX 源码预览容器,将 TSX 源码字符串解析并渲染为完整的页面视图。
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ------ | -------- | ---- | ------ | --------------------------------------------------------------- |
17
+ | source | `string` | 否 | - | TSX 源码字符串,将被解析并渲染为页面视图 |
18
+ | url | `string` | 否 | - | 渲染上下文中可访问的 URL,传入后可在视图内通过路由相关 API 使用 |
2
19
 
3
20
  ## Examples
4
21
 
5
- ### Basic
22
+ ### 基础使用
23
+
24
+ 将 TSX 源码字符串解析并渲染为磁盘使用情况报告视图。
6
25
 
7
26
  ```yaml preview minHeight="600px"
8
27
  brick: ai-portal.preview-container
@@ -76,7 +95,6 @@ properties:
76
95
  <View title="磁盘使用情况">
77
96
  {RESPONSE.list.map((item) => (
78
97
  <Card title={item.ip}>
79
- {/* 磁盘空间使用情况 */}
80
98
  <Plaintext>磁盘空间使用</Plaintext>
81
99
  <Table
82
100
  dataSource={{ list: item.disk_usage }}
@@ -92,8 +110,6 @@ properties:
92
110
  rowKey="device"
93
111
  pagination={false}
94
112
  />
95
-
96
- {/* Inode 使用情况 */}
97
113
  <Plaintext>Inode 使用情况</Plaintext>
98
114
  <Table
99
115
  dataSource={{ list: item.inode_usage }}
@@ -103,37 +119,11 @@ properties:
103
119
  { dataIndex: "total_inodes", key: "total_inodes", title: "Inode 总数" },
104
120
  { dataIndex: "used_inodes", key: "used_inodes", title: "已用 Inode" },
105
121
  { dataIndex: "free_inodes", key: "free_inodes", title: "空闲 Inode" },
106
- {
107
- dataIndex: "percent", key: "percent", title: "使用率",
108
- render: (cell, record) => (
109
- // <Plaintext>{record.percent}%</Plaintext>
110
- `~${record.percent}`
111
- )
112
- }
122
+ { dataIndex: "percent", key: "percent", title: "使用率" }
113
123
  ]}
114
124
  rowKey="device"
115
125
  pagination={false}
116
126
  />
117
-
118
- {/* 大文件列表(仅当存在 large_files 且有内容时) */}
119
- {item.disk_usage
120
- .filter(disk => disk.large_files && disk.large_files.length > 0)
121
- .map(disk =>
122
- disk.large_files ? (
123
- <Fragment key={disk.device}>
124
- <Plaintext>{`大文件列表 (${disk.mount_point})`}</Plaintext>
125
- <Table
126
- dataSource={{ list: disk.large_files }}
127
- columns={[
128
- { dataIndex: "path", key: "path", title: "路径" },
129
- { dataIndex: "size", key: "size", title: "大小" }
130
- ]}
131
- rowKey="path"
132
- pagination={false}
133
- />
134
- </Fragment>
135
- ) : null
136
- )}
137
127
  </Card>
138
128
  ))}
139
129
  </View>
@@ -0,0 +1,71 @@
1
+ ---
2
+ tagName: ai-portal.preview-container
3
+ displayName: WrappedAiPortalPreviewContainer
4
+ description: TSX 源码预览容器,将 TSX 源码字符串解析并渲染为完整的页面视图。
5
+ category: ""
6
+ source: "@next-bricks/ai-portal"
7
+ ---
8
+
9
+ # WrappedAiPortalPreviewContainer
10
+
11
+ > TSX 源码预览容器,将 TSX 源码字符串解析并渲染为完整的页面视图。
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedAiPortalPreviewContainer } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ------ | -------- | ---- | ------ | --------------------------------------------------------------- |
23
+ | source | `string` | 否 | - | TSX 源码字符串,将被解析并渲染为页面视图 |
24
+ | url | `string` | 否 | - | 渲染上下文中可访问的 URL,传入后可在视图内通过路由相关 API 使用 |
25
+
26
+ ## Examples
27
+
28
+ ### 基础使用
29
+
30
+ 将 TSX 源码字符串解析并渲染为磁盘使用情况报告视图。
31
+
32
+ ```tsx
33
+ <WrappedAiPortalPreviewContainer
34
+ style={{ position: "fixed", inset: 0, overflowY: "auto" }}
35
+ source={`
36
+ const RESPONSE = {
37
+ "list": [
38
+ {
39
+ "ip": "172.30.0.134",
40
+ "disk_usage": [
41
+ { "device": "/dev/sda1", "mount_point": "/", "total": "95.00GB", "used": "85.00GB", "free": "9.00GB", "percent": "91%", "rw_status": "rw" }
42
+ ]
43
+ }
44
+ ]
45
+ };
46
+
47
+ export default (
48
+ <View title="磁盘使用情况">
49
+ {RESPONSE.list.map((item) => (
50
+ <Card title={item.ip}>
51
+ <Table
52
+ dataSource={{ list: item.disk_usage }}
53
+ columns={[
54
+ { dataIndex: "device", key: "device", title: "设备" },
55
+ { dataIndex: "mount_point", key: "mount_point", title: "挂载点" },
56
+ { dataIndex: "total", key: "total", title: "总大小" },
57
+ { dataIndex: "used", key: "used", title: "已用空间" },
58
+ { dataIndex: "free", key: "free", title: "可用空间" },
59
+ { dataIndex: "percent", key: "percent", title: "使用率" },
60
+ { dataIndex: "rw_status", key: "rw_status", title: "读写状态" }
61
+ ]}
62
+ rowKey="device"
63
+ pagination={false}
64
+ />
65
+ </Card>
66
+ ))}
67
+ </View>
68
+ );
69
+ `}
70
+ />
71
+ ```
@@ -1,8 +1,36 @@
1
- 构件 `ai-portal.project-conversations`
1
+ ---
2
+ tagName: ai-portal.project-conversations
3
+ displayName: WrappedAiPortalProjectConversations
4
+ description: 项目会话列表构件,展示项目中的会话记录,支持目标分类、操作菜单。
5
+ category: ""
6
+ source: "@next-bricks/ai-portal"
7
+ ---
8
+
9
+ # ai-portal.project-conversations
10
+
11
+ > 项目会话列表构件,展示项目中的会话记录,支持目标分类、操作菜单。
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ----------- | ---------------- | ---- | ------ | ---------------------------------------------------------------------------- |
17
+ | list | `Conversation[]` | 否 | - | 会话列表数据,为 undefined 时显示加载状态 |
18
+ | urlTemplate | `string` | 否 | - | 会话详情链接模板,支持使用会话字段插值,如 /conversations/{{conversationId}} |
19
+ | actions | `ActionType[]` | 否 | - | 操作菜单配置,每项会话行尾显示可操作的菜单项 |
20
+ | goals | `Goal[]` | 否 | - | 目标列表,用于显示会话关联的目标名称 |
21
+
22
+ ## Events
23
+
24
+ | 事件 | detail | 说明 |
25
+ | ------------ | ------------------------------------------------------------------------------------------------------------- | ---------------------------- |
26
+ | goal.click | `Conversation` — { conversationId: 会话ID, title: 会话标题, startTime: 开始时间, goalInstanceId: 目标实例ID } | 点击会话关联的目标标签时触发 |
27
+ | action.click | `ActionClickDetail` — { action: 操作项配置, item: 所属会话数据 } | 点击操作菜单项时触发 |
2
28
 
3
29
  ## Examples
4
30
 
5
- ### Basic
31
+ ### 基础使用
32
+
33
+ 展示会话列表,当 list 为 undefined 时显示加载态。
6
34
 
7
35
  ```yaml preview
8
36
  brick: ai-portal.project-conversations
@@ -12,13 +40,66 @@ properties:
12
40
  title: 标题一
13
41
  description: 这是一段描述
14
42
  startTime: 1757904096
15
- goal: GOAL0005
16
43
  - conversationId: "conv-b"
17
44
  title: 标题二
18
45
  startTime: 1757863597
19
46
  ```
20
47
 
21
- ### Loading
48
+ ### 带目标分类
49
+
50
+ 配置 goals 后会话卡片会显示关联的目标名称标签。
51
+
52
+ ```yaml preview
53
+ brick: ai-portal.project-conversations
54
+ properties:
55
+ goals:
56
+ - instanceId: "GOAL0001"
57
+ title: "提升研发效率"
58
+ - instanceId: "GOAL0002"
59
+ title: "降低故障率"
60
+ list:
61
+ - conversationId: "conv-a"
62
+ title: 关联目标的会话
63
+ startTime: 1757904096
64
+ goalInstanceId: "GOAL0001"
65
+ - conversationId: "conv-b"
66
+ title: 全局会话(无目标)
67
+ startTime: 1757863597
68
+ ```
69
+
70
+ ### 带操作菜单
71
+
72
+ 配置 actions 后每行显示可操作的菜单项。
73
+
74
+ ```yaml preview
75
+ brick: ai-portal.project-conversations
76
+ properties:
77
+ actions:
78
+ - text: "删除"
79
+ event: "delete"
80
+ icon:
81
+ lib: "antd"
82
+ icon: "delete"
83
+ list:
84
+ - conversationId: "conv-a"
85
+ title: 会话标题一
86
+ description: 这是一段描述
87
+ startTime: 1757904096
88
+ username: "alice"
89
+ - conversationId: "conv-b"
90
+ title: 会话标题二
91
+ startTime: 1757863597
92
+ events:
93
+ action.click:
94
+ action: console.log
95
+ args:
96
+ - "操作点击:"
97
+ - "<% EVENT.detail %>"
98
+ ```
99
+
100
+ ### 加载状态
101
+
102
+ list 为 undefined 时显示加载中状态。
22
103
 
23
104
  ```yaml preview
24
105
  brick: ai-portal.project-conversations