@mybricks/plugin-ai 0.0.1 → 0.0.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 (203) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +164 -0
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/dist/agents/app.js +335 -0
  4. package/dist/agents/app.js.map +1 -0
  5. package/dist/agents/common.js +483 -0
  6. package/dist/agents/common.js.map +1 -0
  7. package/dist/agents/custom.js +16 -0
  8. package/dist/agents/custom.js.map +1 -0
  9. package/dist/agents/index.js +38 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/agents/knowledges/knowledge-base.js +579 -0
  12. package/dist/agents/knowledges/knowledge-base.js.map +1 -0
  13. package/dist/agents/knowledges/knowledge-node.js +228 -0
  14. package/dist/agents/knowledges/knowledge-node.js.map +1 -0
  15. package/dist/agents/knowledges/types.js +105 -0
  16. package/dist/agents/knowledges/types.js.map +1 -0
  17. package/dist/agents/utils/config.js +229 -0
  18. package/dist/agents/utils/config.js.map +1 -0
  19. package/dist/agents/workspace/coding-manager.js +20 -0
  20. package/dist/agents/workspace/coding-manager.js.map +1 -0
  21. package/dist/agents/workspace/components-manager.js +113 -0
  22. package/dist/agents/workspace/components-manager.js.map +1 -0
  23. package/dist/agents/workspace/outline-focus.js +167 -0
  24. package/dist/agents/workspace/outline-focus.js.map +1 -0
  25. package/dist/agents/workspace/outline-info.js +430 -0
  26. package/dist/agents/workspace/outline-info.js.map +1 -0
  27. package/dist/agents/workspace/page-tree-generator.js +70 -0
  28. package/dist/agents/workspace/page-tree-generator.js.map +1 -0
  29. package/dist/agents/workspace/workspace.js +251 -0
  30. package/dist/agents/workspace/workspace.js.map +1 -0
  31. package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js +100 -0
  32. package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js.map +1 -0
  33. package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js +120 -0
  34. package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js.map +1 -0
  35. package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js +146 -0
  36. package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js.map +1 -0
  37. package/dist/agents/workspace-by-knowledges/test.js +242 -0
  38. package/dist/agents/workspace-by-knowledges/test.js.map +1 -0
  39. package/dist/agents/workspace-by-knowledges/utils/components-manager.js +132 -0
  40. package/dist/agents/workspace-by-knowledges/utils/components-manager.js.map +1 -0
  41. package/dist/agents/workspace-by-knowledges/utils/outline-focus.js +167 -0
  42. package/dist/agents/workspace-by-knowledges/utils/outline-focus.js.map +1 -0
  43. package/dist/agents/workspace-by-knowledges/utils/outline-info.js +430 -0
  44. package/dist/agents/workspace-by-knowledges/utils/outline-info.js.map +1 -0
  45. package/dist/agents/workspace-by-knowledges/workspace.js +169 -0
  46. package/dist/agents/workspace-by-knowledges/workspace.js.map +1 -0
  47. package/dist/api/cloud-components.js +85 -0
  48. package/dist/api/cloud-components.js.map +1 -0
  49. package/dist/api-record-replay/manager.js +168 -0
  50. package/dist/api-record-replay/manager.js.map +1 -0
  51. package/dist/api-record-replay/recorder.js +107 -0
  52. package/dist/api-record-replay/recorder.js.map +1 -0
  53. package/dist/api-record-replay/replayer.js +136 -0
  54. package/dist/api-record-replay/replayer.js.map +1 -0
  55. package/dist/components/attachments/index.js +124 -0
  56. package/dist/components/attachments/index.js.map +1 -0
  57. package/dist/components/attachments/index.less.js +8 -0
  58. package/dist/components/attachments/index.less.js.map +1 -0
  59. package/dist/components/icons/index.js +112 -0
  60. package/dist/components/icons/index.js.map +1 -0
  61. package/dist/components/icons/index.less.js +8 -0
  62. package/dist/components/icons/index.less.js.map +1 -0
  63. package/dist/components/mention/index.js +19 -0
  64. package/dist/components/mention/index.js.map +1 -0
  65. package/dist/components/mention/index.less.js +8 -0
  66. package/dist/components/mention/index.less.js.map +1 -0
  67. package/dist/components/messages/index.js +429 -0
  68. package/dist/components/messages/index.js.map +1 -0
  69. package/dist/components/messages/index.less.js +8 -0
  70. package/dist/components/messages/index.less.js.map +1 -0
  71. package/dist/components/sender/index.js +244 -0
  72. package/dist/components/sender/index.js.map +1 -0
  73. package/dist/components/sender/index.less.js +8 -0
  74. package/dist/components/sender/index.less.js.map +1 -0
  75. package/dist/context/RequestStatusTracker.js +44 -0
  76. package/dist/context/RequestStatusTracker.js.map +1 -0
  77. package/dist/context/index.js +45 -0
  78. package/dist/context/index.js.map +1 -0
  79. package/dist/data.js +4 -0
  80. package/dist/data.js.map +1 -0
  81. package/dist/index.js +306 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js +27 -0
  84. package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  85. package/dist/plugin-ai/package.json.js +8 -0
  86. package/dist/plugin-ai/package.json.js.map +1 -0
  87. package/dist/plugin-ai/test/index.js +206 -0
  88. package/dist/plugin-ai/test/index.js.map +1 -0
  89. package/dist/preset/createTemplates.js +29 -0
  90. package/dist/preset/createTemplates.js.map +1 -0
  91. package/dist/preset/index.js +13 -0
  92. package/dist/preset/index.js.map +1 -0
  93. package/dist/preset/prompts.js +34 -0
  94. package/dist/preset/prompts.js.map +1 -0
  95. package/dist/preset/user.js +7 -0
  96. package/dist/preset/user.js.map +1 -0
  97. package/dist/requestAsStream.js +269 -0
  98. package/dist/requestAsStream.js.map +1 -0
  99. package/dist/rxai/node_modules/idb/build/index.js +277 -0
  100. package/dist/rxai/node_modules/idb/build/index.js.map +1 -0
  101. package/dist/rxai/src/agent/base.js +16 -0
  102. package/dist/rxai/src/agent/base.js.map +1 -0
  103. package/dist/rxai/src/agent/planning.js +1076 -0
  104. package/dist/rxai/src/agent/planning.js.map +1 -0
  105. package/dist/rxai/src/agent/rxai.js +254 -0
  106. package/dist/rxai/src/agent/rxai.js.map +1 -0
  107. package/dist/rxai/src/error/base.js +39 -0
  108. package/dist/rxai/src/error/base.js.map +1 -0
  109. package/dist/rxai/src/prompt/base.js +11 -0
  110. package/dist/rxai/src/prompt/base.js.map +1 -0
  111. package/dist/rxai/src/prompt/planning.js +23 -0
  112. package/dist/rxai/src/prompt/planning.js.map +1 -0
  113. package/dist/rxai/src/prompt/tool.js +14 -0
  114. package/dist/rxai/src/prompt/tool.js.map +1 -0
  115. package/dist/rxai/src/request/request.js +123 -0
  116. package/dist/rxai/src/request/request.js.map +1 -0
  117. package/dist/rxai/src/tool/getHistoryRecords.js +65 -0
  118. package/dist/rxai/src/tool/getHistoryRecords.js.map +1 -0
  119. package/dist/rxai/src/tool/util.js +424 -0
  120. package/dist/rxai/src/tool/util.js.map +1 -0
  121. package/dist/rxai/src/utils/events.js +43 -0
  122. package/dist/rxai/src/utils/events.js.map +1 -0
  123. package/dist/rxai/src/utils/idb.js +240 -0
  124. package/dist/rxai/src/utils/idb.js.map +1 -0
  125. package/dist/rxai/src/utils/retry.js +32 -0
  126. package/dist/rxai/src/utils/retry.js.map +1 -0
  127. package/dist/rxai/src/utils/uuid.js +7 -0
  128. package/dist/rxai/src/utils/uuid.js.map +1 -0
  129. package/dist/startView/components/header/header.js +12 -0
  130. package/dist/startView/components/header/header.js.map +1 -0
  131. package/dist/startView/components/header/header.less.js +8 -0
  132. package/dist/startView/components/header/header.less.js.map +1 -0
  133. package/dist/startView/index.js +62 -0
  134. package/dist/startView/index.js.map +1 -0
  135. package/dist/startView/index.less.js +8 -0
  136. package/dist/startView/index.less.js.map +1 -0
  137. package/dist/tools/analyze-and-expand-prd.js +116 -0
  138. package/dist/tools/analyze-and-expand-prd.js.map +1 -0
  139. package/dist/tools/analyze-requirement-and-components.js +208 -0
  140. package/dist/tools/analyze-requirement-and-components.js.map +1 -0
  141. package/dist/tools/answer.js +33 -0
  142. package/dist/tools/answer.js.map +1 -0
  143. package/dist/tools/build-process.js +550 -0
  144. package/dist/tools/build-process.js.map +1 -0
  145. package/dist/tools/coding-subagent-as-tool.js +101 -0
  146. package/dist/tools/coding-subagent-as-tool.js.map +1 -0
  147. package/dist/tools/generate-ui-content.js +528 -0
  148. package/dist/tools/generate-ui-content.js.map +1 -0
  149. package/dist/tools/index.js +31 -0
  150. package/dist/tools/index.js.map +1 -0
  151. package/dist/tools/open-dsl.js +49 -0
  152. package/dist/tools/open-dsl.js.map +1 -0
  153. package/dist/tools/refactor-ui-content.js +292 -0
  154. package/dist/tools/refactor-ui-content.js.map +1 -0
  155. package/dist/tools/utils.js +832 -0
  156. package/dist/tools/utils.js.map +1 -0
  157. package/dist/types/index.js +8 -0
  158. package/dist/types/index.js.map +1 -0
  159. package/dist/view/components/header/header.js +59 -0
  160. package/dist/view/components/header/header.js.map +1 -0
  161. package/dist/view/components/header/header.less.js +8 -0
  162. package/dist/view/components/header/header.less.js.map +1 -0
  163. package/dist/view/index.js +184 -0
  164. package/dist/view/index.js.map +1 -0
  165. package/dist/view/index.less.js +8 -0
  166. package/dist/view/index.less.js.map +1 -0
  167. package/package.json +33 -6
  168. package/src/agents/app.ts +0 -173
  169. package/src/agents/common.ts +0 -111
  170. package/src/agents/index.ts +0 -7
  171. package/src/components/icons/index.less +0 -8
  172. package/src/components/icons/index.tsx +0 -24
  173. package/src/components/messages/index.less +0 -806
  174. package/src/components/messages/index.tsx +0 -236
  175. package/src/context/index.ts +0 -21
  176. package/src/data.ts +0 -5
  177. package/src/index.tsx +0 -84
  178. package/src/mock.ts +0 -1267
  179. package/src/startView/index.less +0 -216
  180. package/src/startView/index.tsx +0 -229
  181. package/src/tools/analyze-and-expand-prd.ts +0 -166
  182. package/src/tools/answer-user.ts +0 -35
  183. package/src/tools/focus-element.ts +0 -47
  184. package/src/tools/generate-page.ts +0 -750
  185. package/src/tools/get-component-info-by-ids.ts +0 -166
  186. package/src/tools/get-component-info.ts +0 -53
  187. package/src/tools/get-components-doc-and-prd.ts +0 -137
  188. package/src/tools/get-focus-mybricks-dsl.ts +0 -26
  189. package/src/tools/get-mybricks-dsl.ts +0 -73
  190. package/src/tools/index.ts +0 -25
  191. package/src/tools/modify-component.ts +0 -385
  192. package/src/tools/type.d.ts +0 -12
  193. package/src/tools/utils.ts +0 -62
  194. package/src/types.d.ts +0 -65
  195. package/src/view/components/header/header.less +0 -17
  196. package/src/view/components/header/header.tsx +0 -15
  197. package/src/view/components/index.ts +0 -3
  198. package/src/view/components/messages/messages.less +0 -228
  199. package/src/view/components/messages/messages.tsx +0 -172
  200. package/src/view/components/sender/sender.less +0 -44
  201. package/src/view/components/sender/sender.tsx +0 -62
  202. package/src/view/index.less +0 -5
  203. package/src/view/index.tsx +0 -18
@@ -0,0 +1,107 @@
1
+ import { defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+
3
+ /**
4
+ * API 调用收集模块
5
+ * 用于收集 createPage、createCanvas、updatePage、updateUiCom、updateLogicCom、createDiagram、updateDiagram 的调用参数和时间戳
6
+ */
7
+
8
+ class APIRecorder {
9
+ constructor() {
10
+ _defineProperty(this, "records", []);
11
+ _defineProperty(this, "lastRecordTime", Date.now());
12
+ _defineProperty(this, "isRecording", false);
13
+ }
14
+ /**
15
+ * 开始记录
16
+ */
17
+ start() {
18
+ this.isRecording = true;
19
+ this.records = [];
20
+ this.lastRecordTime = Date.now();
21
+ }
22
+
23
+ /**
24
+ * 停止记录
25
+ */
26
+ stop() {
27
+ this.isRecording = false;
28
+ }
29
+
30
+ /**
31
+ * 记录一次 API 调用
32
+ * @param type API 类型
33
+ * @param params 调用参数
34
+ */
35
+ record(type, params) {
36
+ if (!this.isRecording) {
37
+ return;
38
+ }
39
+ var now = Date.now();
40
+ var delay = now - this.lastRecordTime;
41
+ this.lastRecordTime = now;
42
+
43
+ // 深度克隆参数,避免引用问题
44
+ var serializedParams = this.serializeParams(params);
45
+ this.records.push({
46
+ type,
47
+ params: serializedParams,
48
+ delay,
49
+ timestamp: now
50
+ });
51
+ }
52
+
53
+ /**
54
+ * 序列化参数,使用 JSON 创建对象快照
55
+ * 确保所有对象参数都被深度克隆,避免引用问题
56
+ */
57
+ serializeParams(params) {
58
+ return params.map(param => {
59
+ try {
60
+ // 使用 JSON 序列化创建快照(深度克隆)
61
+ return JSON.parse(JSON.stringify(param));
62
+ } catch (error) {
63
+ // 如果序列化失败,返回错误标记
64
+ return {
65
+ __type: 'unserializable',
66
+ __value: String(param),
67
+ __error: String(error)
68
+ };
69
+ }
70
+ });
71
+ }
72
+
73
+ /**
74
+ * 获取所有记录
75
+ */
76
+ getRecords() {
77
+ return [...this.records];
78
+ }
79
+
80
+ /**
81
+ * 导出为 JSON 字符串
82
+ */
83
+ dump() {
84
+ return JSON.stringify(this.records, null, 2);
85
+ }
86
+
87
+ /**
88
+ * 清空记录
89
+ */
90
+ clear() {
91
+ this.records = [];
92
+ this.lastRecordTime = Date.now();
93
+ }
94
+
95
+ /**
96
+ * 检查是否正在记录
97
+ */
98
+ getRecording() {
99
+ return this.isRecording;
100
+ }
101
+ }
102
+
103
+ // 单例模式
104
+ var apiRecorder = new APIRecorder();
105
+
106
+ export { apiRecorder };
107
+ //# sourceMappingURL=recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.js","sources":["../../src/api-record-replay/recorder.ts"],"sourcesContent":["/**\n * API 调用收集模块\n * 用于收集 createPage、createCanvas、updatePage、updateUiCom、updateLogicCom、createDiagram、updateDiagram 的调用参数和时间戳\n */\n\nexport type RecordedActionType = 'createPage' | 'createCanvas' | 'updatePage' | 'updateUiCom' | 'updateLogicCom' | 'createDiagram' | 'updateDiagram';\n\nexport interface RecordedAction {\n /** 操作类型 */\n type: RecordedActionType;\n /** 调用参数(序列化后的参数) */\n params: any[];\n /** 距离上一次调用的时间间隔(毫秒) */\n delay: number;\n /** 时间戳(可选,用于调试) */\n timestamp?: number;\n}\n\nclass APIRecorder {\n private records: RecordedAction[] = [];\n private lastRecordTime: number = Date.now();\n private isRecording: boolean = false;\n\n /**\n * 开始记录\n */\n start() {\n this.isRecording = true;\n this.records = [];\n this.lastRecordTime = Date.now();\n }\n\n /**\n * 停止记录\n */\n stop() {\n this.isRecording = false;\n }\n\n /**\n * 记录一次 API 调用\n * @param type API 类型\n * @param params 调用参数\n */\n record(type: RecordedActionType, params: any[]) {\n if (!this.isRecording) {\n return;\n }\n\n const now = Date.now();\n const delay = now - this.lastRecordTime;\n this.lastRecordTime = now;\n\n // 深度克隆参数,避免引用问题\n const serializedParams = this.serializeParams(params);\n\n this.records.push({\n type,\n params: serializedParams,\n delay,\n timestamp: now,\n });\n }\n\n /**\n * 序列化参数,使用 JSON 创建对象快照\n * 确保所有对象参数都被深度克隆,避免引用问题\n */\n private serializeParams(params: any[]): any[] {\n return params.map((param) => {\n try {\n // 使用 JSON 序列化创建快照(深度克隆)\n return JSON.parse(JSON.stringify(param));\n } catch (error) {\n // 如果序列化失败,返回错误标记\n return { \n __type: 'unserializable', \n __value: String(param),\n __error: String(error)\n };\n }\n });\n }\n\n /**\n * 获取所有记录\n */\n getRecords(): RecordedAction[] {\n return [...this.records];\n }\n\n /**\n * 导出为 JSON 字符串\n */\n dump(): string {\n return JSON.stringify(this.records, null, 2);\n }\n\n /**\n * 清空记录\n */\n clear() {\n this.records = [];\n this.lastRecordTime = Date.now();\n }\n\n /**\n * 检查是否正在记录\n */\n getRecording(): boolean {\n return this.isRecording;\n }\n}\n\n// 单例模式\nexport const apiRecorder = new APIRecorder();\n\n"],"names":["APIRecorder","constructor","_defineProperty","Date","now","start","isRecording","records","lastRecordTime","stop","record","type","params","delay","serializedParams","serializeParams","push","timestamp","map","param","JSON","parse","stringify","error","__type","__value","String","__error","getRecords","dump","clear","getRecording","apiRecorder"],"mappings":";;AAAA;AACA;AACA;AACA;;AAeA,MAAMA,WAAW,CAAC;EAAAC,WAAAA,GAAA;AAAAC,IAAAA,eAAA,kBACoB,EAAE,CAAA;AAAAA,IAAAA,eAAA,CAAA,IAAA,EAAA,gBAAA,EACLC,IAAI,CAACC,GAAG,EAAE,CAAA;AAAAF,IAAAA,eAAA,sBACZ,KAAK,CAAA;AAAA,EAAA;AAEpC;AACF;AACA;AACEG,EAAAA,KAAKA,GAAG;IACN,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,OAAO,GAAG,EAAE;AACjB,IAAA,IAAI,CAACC,cAAc,GAAGL,IAAI,CAACC,GAAG,EAAE;AAClC,EAAA;;AAEA;AACF;AACA;AACEK,EAAAA,IAAIA,GAAG;IACL,IAAI,CAACH,WAAW,GAAG,KAAK;AAC1B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEI,EAAAA,MAAMA,CAACC,IAAwB,EAAEC,MAAa,EAAE;AAC9C,IAAA,IAAI,CAAC,IAAI,CAACN,WAAW,EAAE;AACrB,MAAA;AACF,IAAA;AAEA,IAAA,IAAMF,GAAG,GAAGD,IAAI,CAACC,GAAG,EAAE;AACtB,IAAA,IAAMS,KAAK,GAAGT,GAAG,GAAG,IAAI,CAACI,cAAc;IACvC,IAAI,CAACA,cAAc,GAAGJ,GAAG;;AAEzB;AACA,IAAA,IAAMU,gBAAgB,GAAG,IAAI,CAACC,eAAe,CAACH,MAAM,CAAC;AAErD,IAAA,IAAI,CAACL,OAAO,CAACS,IAAI,CAAC;MAChBL,IAAI;AACJC,MAAAA,MAAM,EAAEE,gBAAgB;MACxBD,KAAK;AACLI,MAAAA,SAAS,EAAEb;AACb,KAAC,CAAC;AACJ,EAAA;;AAEA;AACF;AACA;AACA;EACUW,eAAeA,CAACH,MAAa,EAAS;AAC5C,IAAA,OAAOA,MAAM,CAACM,GAAG,CAAEC,KAAK,IAAK;MAC3B,IAAI;AACF;QACA,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACH,KAAK,CAAC,CAAC;MAC1C,CAAC,CAAC,OAAOI,KAAK,EAAE;AACd;QACA,OAAO;AACLC,UAAAA,MAAM,EAAE,gBAAgB;AACxBC,UAAAA,OAAO,EAAEC,MAAM,CAACP,KAAK,CAAC;UACtBQ,OAAO,EAAED,MAAM,CAACH,KAAK;SACtB;AACH,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;;AAEA;AACF;AACA;AACEK,EAAAA,UAAUA,GAAqB;AAC7B,IAAA,OAAO,CAAC,GAAG,IAAI,CAACrB,OAAO,CAAC;AAC1B,EAAA;;AAEA;AACF;AACA;AACEsB,EAAAA,IAAIA,GAAW;IACb,OAAOT,IAAI,CAACE,SAAS,CAAC,IAAI,CAACf,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,EAAA;;AAEA;AACF;AACA;AACEuB,EAAAA,KAAKA,GAAG;IACN,IAAI,CAACvB,OAAO,GAAG,EAAE;AACjB,IAAA,IAAI,CAACC,cAAc,GAAGL,IAAI,CAACC,GAAG,EAAE;AAClC,EAAA;;AAEA;AACF;AACA;AACE2B,EAAAA,YAAYA,GAAY;IACtB,OAAO,IAAI,CAACzB,WAAW;AACzB,EAAA;AACF;;AAEA;IACa0B,WAAW,GAAG,IAAIhC,WAAW;;;;"}
@@ -0,0 +1,136 @@
1
+ import { asyncToGenerator as _asyncToGenerator } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+
3
+ /**
4
+ * API 调用回放模块
5
+ * 根据记录的 JSON 序列执行回放
6
+ */
7
+
8
+ /**
9
+ * 回放记录的 API 调用
10
+ * @param records 记录的 API 调用序列
11
+ * @param api API 实现对象
12
+ * @param options 回放选项
13
+ */
14
+ function replay(_x, _x2) {
15
+ return _replay.apply(this, arguments);
16
+ }
17
+
18
+ /**
19
+ * 从 JSON 字符串加载并回放
20
+ * @param jsonString JSON 字符串
21
+ * @param api API 实现对象
22
+ * @param options 回放选项
23
+ */
24
+ function _replay() {
25
+ _replay = _asyncToGenerator(function* (records, api) {
26
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
27
+ var {
28
+ ignoreDelay = false,
29
+ delayMultiplier = 1,
30
+ onBeforeAction,
31
+ onAfterAction,
32
+ onComplete,
33
+ onError
34
+ } = options;
35
+ for (var i = 0; i < records.length; i++) {
36
+ var action = records[i];
37
+ try {
38
+ // 执行前回调
39
+ onBeforeAction === null || onBeforeAction === void 0 || onBeforeAction(action, i);
40
+
41
+ // 等待时间间隔
42
+ if (!ignoreDelay && action.delay > 0) {
43
+ var delay = action.delay * delayMultiplier;
44
+ yield sleep(delay);
45
+ }
46
+
47
+ // 执行 API 调用
48
+ var result = void 0;
49
+ switch (action.type) {
50
+ case 'createPage':
51
+ {
52
+ var [id, title, config] = action.params;
53
+ result = yield api.createPage(id, title, config);
54
+ break;
55
+ }
56
+ case 'createCanvas':
57
+ {
58
+ result = yield api.createCanvas();
59
+ break;
60
+ }
61
+ case 'updatePage':
62
+ {
63
+ // updatePage 的参数是展开的,需要展开传递
64
+ result = yield api.updatePage(...action.params);
65
+ break;
66
+ }
67
+ case 'updateUiCom':
68
+ {
69
+ // updateUiCom 的参数是展开的,需要展开传递
70
+ result = yield api.updateUiCom(...action.params);
71
+ break;
72
+ }
73
+ case 'updateLogicCom':
74
+ {
75
+ // updateLogicCom 的参数是展开的,需要展开传递
76
+ result = yield api.updateLogicCom(...action.params);
77
+ break;
78
+ }
79
+ case 'createDiagram':
80
+ {
81
+ // createDiagram 的参数是展开的,需要展开传递
82
+ result = yield api.createDiagram(...action.params);
83
+ break;
84
+ }
85
+ case 'updateDiagram':
86
+ {
87
+ // updateDiagram 的参数是展开的,需要展开传递
88
+ result = yield api.updateDiagram(...action.params);
89
+ break;
90
+ }
91
+ default:
92
+ throw new Error("Unknown action type: ".concat(action.type));
93
+ }
94
+
95
+ // 执行后回调
96
+ onAfterAction === null || onAfterAction === void 0 || onAfterAction(action, i, result);
97
+ } catch (error) {
98
+ var err = error instanceof Error ? error : new Error(String(error));
99
+ onError === null || onError === void 0 || onError(err, action, i);
100
+
101
+ // 根据选项决定是否继续执行
102
+ // 默认继续执行,只记录错误
103
+ console.error("Replay error at action ".concat(i, " (").concat(action.type, "):"), err);
104
+ }
105
+ }
106
+
107
+ // 完成回调
108
+ onComplete === null || onComplete === void 0 || onComplete();
109
+ });
110
+ return _replay.apply(this, arguments);
111
+ }
112
+ function replayFromJSON(_x3, _x4) {
113
+ return _replayFromJSON.apply(this, arguments);
114
+ }
115
+
116
+ /**
117
+ * 睡眠函数
118
+ */
119
+ function _replayFromJSON() {
120
+ _replayFromJSON = _asyncToGenerator(function* (jsonString, api) {
121
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
122
+ try {
123
+ var records = JSON.parse(jsonString);
124
+ yield replay(records, api, options);
125
+ } catch (error) {
126
+ throw new Error("Failed to parse replay JSON: ".concat(error instanceof Error ? error.message : String(error)));
127
+ }
128
+ });
129
+ return _replayFromJSON.apply(this, arguments);
130
+ }
131
+ function sleep(ms) {
132
+ return new Promise(resolve => setTimeout(resolve, ms));
133
+ }
134
+
135
+ export { replay, replayFromJSON };
136
+ //# sourceMappingURL=replayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replayer.js","sources":["../../src/api-record-replay/replayer.ts"],"sourcesContent":["/**\n * API 调用回放模块\n * 根据记录的 JSON 序列执行回放\n */\n\nimport { RecordedAction, RecordedActionType } from './recorder';\n\nexport interface ReplayOptions {\n /** 是否忽略时间间隔,立即执行 */\n ignoreDelay?: boolean;\n /** 时间间隔的倍数(用于加速或减速回放) */\n delayMultiplier?: number;\n /** 每个操作执行前的回调 */\n onBeforeAction?: (action: RecordedAction, index: number) => void;\n /** 每个操作执行后的回调 */\n onAfterAction?: (action: RecordedAction, index: number, result: any) => void;\n /** 回放完成后的回调 */\n onComplete?: () => void;\n /** 回放出错时的回调 */\n onError?: (error: Error, action: RecordedAction, index: number) => void;\n}\n\nexport interface ReplayAPI {\n createPage: (id: string, title: string, config?: any) => Promise<{ id: string; onProgress: Function; }>;\n createCanvas: () => Promise<{ id: string; title: string; }>;\n updatePage: (...params: any[]) => Promise<void>;\n updateUiCom: (...params: any[]) => Promise<void>;\n updateLogicCom: (...params: any[]) => Promise<void>;\n createDiagram: (...params: any[]) => Promise<any>;\n updateDiagram: (...params: any[]) => Promise<any>;\n}\n\n/**\n * 回放记录的 API 调用\n * @param records 记录的 API 调用序列\n * @param api API 实现对象\n * @param options 回放选项\n */\nexport async function replay(\n records: RecordedAction[],\n api: ReplayAPI,\n options: ReplayOptions = {}\n): Promise<void> {\n const {\n ignoreDelay = false,\n delayMultiplier = 1,\n onBeforeAction,\n onAfterAction,\n onComplete,\n onError,\n } = options;\n\n for (let i = 0; i < records.length; i++) {\n const action = records[i];\n\n try {\n // 执行前回调\n onBeforeAction?.(action, i);\n\n // 等待时间间隔\n if (!ignoreDelay && action.delay > 0) {\n const delay = action.delay * delayMultiplier;\n await sleep(delay);\n }\n\n // 执行 API 调用\n let result: any;\n switch (action.type) {\n case 'createPage': {\n const [id, title, config] = action.params;\n result = await api.createPage(id, title, config);\n break;\n }\n case 'createCanvas': {\n result = await api.createCanvas();\n break;\n }\n case 'updatePage': {\n // updatePage 的参数是展开的,需要展开传递\n result = await api.updatePage(...action.params);\n break;\n }\n case 'updateUiCom': {\n // updateUiCom 的参数是展开的,需要展开传递\n result = await api.updateUiCom(...action.params);\n break;\n }\n case 'updateLogicCom': {\n // updateLogicCom 的参数是展开的,需要展开传递\n result = await api.updateLogicCom(...action.params);\n break;\n }\n case 'createDiagram': {\n // createDiagram 的参数是展开的,需要展开传递\n result = await api.createDiagram(...action.params);\n break;\n }\n case 'updateDiagram': {\n // updateDiagram 的参数是展开的,需要展开传递\n result = await api.updateDiagram(...action.params);\n break;\n }\n default:\n throw new Error(`Unknown action type: ${(action as any).type}`);\n }\n\n // 执行后回调\n onAfterAction?.(action, i, result);\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n onError?.(err, action, i);\n \n // 根据选项决定是否继续执行\n // 默认继续执行,只记录错误\n console.error(`Replay error at action ${i} (${action.type}):`, err);\n }\n }\n\n // 完成回调\n onComplete?.();\n}\n\n/**\n * 从 JSON 字符串加载并回放\n * @param jsonString JSON 字符串\n * @param api API 实现对象\n * @param options 回放选项\n */\nexport async function replayFromJSON(\n jsonString: string,\n api: ReplayAPI,\n options: ReplayOptions = {}\n): Promise<void> {\n try {\n const records: RecordedAction[] = JSON.parse(jsonString);\n await replay(records, api, options);\n } catch (error) {\n throw new Error(`Failed to parse replay JSON: ${error instanceof Error ? error.message : String(error)}`);\n }\n}\n\n/**\n * 睡眠函数\n */\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n"],"names":["replay","_x","_x2","_replay","apply","arguments","_asyncToGenerator","records","api","options","length","undefined","ignoreDelay","delayMultiplier","onBeforeAction","onAfterAction","onComplete","onError","i","action","delay","sleep","result","type","id","title","config","params","createPage","createCanvas","updatePage","updateUiCom","updateLogicCom","createDiagram","updateDiagram","Error","concat","error","err","String","console","replayFromJSON","_x3","_x4","_replayFromJSON","jsonString","JSON","parse","message","ms","Promise","resolve","setTimeout"],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ import { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { useRef, useState, useMemo, useEffect } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { Close } from '../icons/index.js';
5
+ import css from './index.less.js';
6
+ import classNames from 'classnames';
7
+
8
+ /** 附件图片 */
9
+ var AttachmentsList = props => {
10
+ var {
11
+ attachments,
12
+ onDelete,
13
+ className
14
+ } = props;
15
+ return /*#__PURE__*/React.createElement("div", {
16
+ className: classNames(css.attachments, className)
17
+ }, attachments.map((attachment, index) => {
18
+ return /*#__PURE__*/React.createElement(Attachment, {
19
+ key: index,
20
+ attachment: attachment,
21
+ onDelete: onDelete ? () => onDelete(index) : undefined
22
+ });
23
+ }));
24
+ };
25
+ var Attachment = props => {
26
+ var imgRef = useRef(null);
27
+ var previewRef = useRef(null);
28
+ var {
29
+ attachment,
30
+ onDelete
31
+ } = props;
32
+ var [previewBCR, setPreviewBCR] = useState(null);
33
+ var [visible, setVisible] = useState(false);
34
+ var delayedTask = useMemo(() => {
35
+ return new DelayedTask(visible => {
36
+ setVisible(visible);
37
+ }, 50);
38
+ }, []);
39
+ useEffect(() => {
40
+ if (visible) {
41
+ if (previewBCR) {
42
+ var imgBcr = imgRef.current.getBoundingClientRect();
43
+ var topSpace = imgBcr.top - 4 - previewBCR.height;
44
+ if (topSpace > 0) {
45
+ previewRef.current.style.top = "".concat(topSpace, "px");
46
+ } else {
47
+ previewRef.current.style.top = "".concat(imgBcr.top + imgBcr.height, "px");
48
+ }
49
+ if (imgBcr.left + previewBCR.width > document.body.offsetWidth) {
50
+ previewRef.current.style.left = "".concat(imgBcr.left + imgBcr.width - previewBCR.width, "px");
51
+ } else {
52
+ previewRef.current.style.left = "".concat(imgBcr.left, "px");
53
+ }
54
+ previewRef.current.style.visibility = "visible";
55
+ }
56
+ } else {
57
+ previewRef.current.style.visibility = "hidden";
58
+ }
59
+ }, [previewBCR, visible]);
60
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
61
+ className: css.imageThumbnail,
62
+ onMouseEnter: () => {
63
+ delayedTask.startNow(true);
64
+ },
65
+ onMouseLeave: () => {
66
+ delayedTask.start(false);
67
+ }
68
+ }, /*#__PURE__*/React.createElement("img", {
69
+ ref: imgRef,
70
+ src: attachment.content
71
+ }), onDelete && /*#__PURE__*/React.createElement("div", {
72
+ className: css.imageDeleteContainer,
73
+ onClick: onDelete
74
+ }, /*#__PURE__*/React.createElement("div", {
75
+ className: css.imageDeleteIcon
76
+ }, /*#__PURE__*/React.createElement(Close, null)))), /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement("div", {
77
+ ref: previewRef,
78
+ className: css.preview,
79
+ onMouseEnter: () => {
80
+ delayedTask.startNow(true);
81
+ },
82
+ onMouseLeave: () => {
83
+ delayedTask.start(false);
84
+ }
85
+ }, /*#__PURE__*/React.createElement("img", {
86
+ src: attachment.content,
87
+ onLoad: event => {
88
+ setPreviewBCR(event.target.parentElement.getBoundingClientRect());
89
+ }
90
+ })), document.body));
91
+ };
92
+ class DelayedTask {
93
+ constructor(callback, delay) {
94
+ _defineProperty(this, "timerId", null);
95
+ this.callback = callback;
96
+ this.delay = delay;
97
+ }
98
+ start() {
99
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
100
+ args[_key] = arguments[_key];
101
+ }
102
+ this.cancel();
103
+ this.timerId = setTimeout(() => {
104
+ this.callback(...args);
105
+ this.timerId = null;
106
+ }, this.delay);
107
+ return this;
108
+ }
109
+ cancel() {
110
+ if (this.timerId) {
111
+ clearTimeout(this.timerId);
112
+ this.timerId = null;
113
+ }
114
+ return this;
115
+ }
116
+ startNow() {
117
+ this.cancel();
118
+ this.callback(...arguments);
119
+ return this;
120
+ }
121
+ }
122
+
123
+ export { AttachmentsList };
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/attachments/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useMemo } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Close } from \"../icons\";\nimport css from \"./index.less\";\nimport classNames from \"classnames\";\n\ninterface Attachment {\n type: \"image\";\n content: string;\n}\n\ninterface AttachmentsProps {\n attachments: Attachment[];\n className?: string;\n onDelete?: (index: number) => void;\n}\n/** 附件图片 */\nconst AttachmentsList = (props: AttachmentsProps) => {\n const { attachments, onDelete, className } = props;\n\n return (\n <div className={classNames(css.attachments, className)}>\n {attachments.map((attachment, index) => {\n return <Attachment key={index} attachment={attachment} onDelete={onDelete ? () => onDelete(index) : undefined} />\n })}\n </div>\n )\n}\n\nexport { AttachmentsList };\n\nconst Attachment = (props: { attachment: Attachment, onDelete?: () => void; }) => {\n const imgRef = useRef<HTMLImageElement>(null);\n const previewRef = useRef<HTMLDivElement>(null);\n const { attachment, onDelete } = props;\n const [previewBCR, setPreviewBCR] = useState<DOMRect | null>(null);\n const [visible, setVisible] = useState(false);\n\n const delayedTask = useMemo(() => {\n return new DelayedTask<[boolean]>((visible) => {\n setVisible(visible);\n }, 50)\n }, [])\n\n useEffect(() => {\n if (visible) {\n if (previewBCR) {\n const imgBcr = imgRef.current!.getBoundingClientRect();\n\n const topSpace = imgBcr.top - 4 - previewBCR.height;\n\n if (topSpace > 0) {\n previewRef.current!.style.top = `${topSpace}px`;\n } else {\n previewRef.current!.style.top = `${imgBcr.top + imgBcr.height}px`;\n }\n \n if (imgBcr.left + previewBCR.width > document.body.offsetWidth) {\n previewRef.current!.style.left = `${imgBcr.left + imgBcr.width - previewBCR.width}px`\n } else {\n previewRef.current!.style.left = `${imgBcr.left}px`;\n }\n\n previewRef.current!.style.visibility = \"visible\";\n }\n } else {\n previewRef.current!.style.visibility = \"hidden\";\n }\n }, [previewBCR, visible])\n\n return (\n <>\n <div\n className={css.imageThumbnail}\n onMouseEnter={() => {\n delayedTask.startNow(true);\n }}\n onMouseLeave={() => {\n delayedTask.start(false);\n }}\n >\n <img ref={imgRef} src={attachment.content} />\n {onDelete && <div className={css.imageDeleteContainer} onClick={onDelete}>\n <div className={css.imageDeleteIcon}>\n <Close />\n </div>\n </div>}\n </div>\n {createPortal((\n <div\n ref={previewRef}\n className={css.preview}\n onMouseEnter={() => {\n delayedTask.startNow(true);\n }}\n onMouseLeave={() => {\n delayedTask.start(false);\n }}\n >\n <img src={attachment.content} onLoad={(event) => {\n setPreviewBCR((event.target as HTMLImageElement).parentElement!.getBoundingClientRect())\n }} />\n </div>\n ), document.body)}\n </>\n )\n}\n\nclass DelayedTask<T extends unknown[]> {\n private timerId: number | null = null;\n constructor(private callback: (...args: T) => void, private delay: number) {}\n\n start(...args: T) {\n this.cancel();\n this.timerId = setTimeout(() => {\n this.callback(...args);\n this.timerId = null;\n }, this.delay) as unknown as number;\n\n return this;\n }\n\n cancel() {\n if (this.timerId) {\n clearTimeout(this.timerId);\n this.timerId = null;\n }\n return this;\n }\n\n startNow(...args: T) {\n this.cancel();\n this.callback(...args);\n return this;\n }\n}\n"],"names":["AttachmentsList","props","attachments","onDelete","className","React","createElement","classNames","css","map","attachment","index","Attachment","key","undefined","imgRef","useRef","previewRef","previewBCR","setPreviewBCR","useState","visible","setVisible","delayedTask","useMemo","DelayedTask","useEffect","imgBcr","current","getBoundingClientRect","topSpace","top","height","style","concat","left","width","document","body","offsetWidth","visibility","Fragment","imageThumbnail","onMouseEnter","startNow","onMouseLeave","start","ref","src","content","imageDeleteContainer","onClick","imageDeleteIcon","Close","createPortal","preview","onLoad","event","target","parentElement","constructor","callback","delay","_defineProperty","_len","arguments","length","args","Array","_key","cancel","timerId","setTimeout","clearTimeout"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../plugin-ai/node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".index_attachments__65GQ5 {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA {\n cursor: pointer;\n pointer-events: auto;\n flex-shrink: 0;\n aspect-ratio: 1;\n width: 32px;\n height: 32px;\n border-radius: 4px;\n position: relative;\n background: #fff;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA img {\n width: 32px;\n height: 32px;\n display: inline-block;\n overflow: hidden;\n border-radius: 4px;\n object-fit: contain;\n outline: 1px solid rgba(0, 0, 0, 0.13);\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA .index_imageDeleteContainer__EXWs4 {\n visibility: hidden;\n cursor: pointer;\n position: absolute;\n top: -4px;\n right: -4px;\n z-index: 2;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA .index_imageDeleteContainer__EXWs4 .index_imageDeleteIcon__vuElB {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.4);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA .index_imageDeleteContainer__EXWs4 .index_imageDeleteIcon__vuElB svg {\n width: 8px;\n height: 8px;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA .index_imageDeleteContainer__EXWs4 .index_imageDeleteIcon__vuElB:hover {\n opacity: 0.8;\n background-color: var(--mybricks-color-primary);\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA .index_preview__wGM-L {\n z-index: 2000;\n position: absolute;\n width: 300px;\n background: #fff;\n box-shadow: 0 5px 16px -4px rgba(0, 0, 0, 0.07059);\n padding: 10px;\n border-radius: 8px;\n border: 1px solid #f1f1f1;\n visibility: hidden;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA .index_preview__wGM-L img {\n width: 280px;\n height: fit-content;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA:hover .index_preview__wGM-L {\n visibility: visible;\n}\n.index_attachments__65GQ5 .index_imageThumbnail__efCHA:hover .index_imageDeleteContainer__EXWs4 {\n visibility: visible;\n}\n.index_preview__wGM-L {\n z-index: 2000;\n position: absolute;\n width: 300px;\n background: #fff;\n box-shadow: 0 5px 16px -4px rgba(0, 0, 0, 0.07059);\n padding: 10px;\n border-radius: 8px;\n border: 1px solid #f1f1f1;\n visibility: hidden;\n}\n.index_preview__wGM-L img {\n width: 280px;\n height: fit-content;\n}\n";
4
+ var css = {"attachments":"index_attachments__65GQ5","imageThumbnail":"index_imageThumbnail__efCHA","imageDeleteContainer":"index_imageDeleteContainer__EXWs4","imageDeleteIcon":"index_imageDeleteIcon__vuElB","preview":"index_preview__wGM-L"};
5
+ styleInject(css_248z);
6
+
7
+ export { css as default };
8
+ //# sourceMappingURL=index.less.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.less.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,112 @@
1
+ import React from 'react';
2
+ import css from './index.less.js';
3
+
4
+ var Attachment = () => {
5
+ return /*#__PURE__*/React.createElement("svg", {
6
+ "data-v-5d21dc8d": "",
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ role: "img",
9
+ viewBox: "0 0 1024 1024",
10
+ name: "Clip"
11
+ }, /*#__PURE__*/React.createElement("path", {
12
+ d: "M239.08352 319.0784a188.17024 188.17024 0 0 1 376.29952 0v0.16384l4.62848 347.62752v0.08192a112.64 112.64 0 0 1-156.0576 105.63584 112.55808 112.55808 0 0 1-68.97664-105.39008V315.14624a36.864 36.864 0 1 1 73.728 0v352.99328a38.83008 38.83008 0 1 0 77.57824 0v-0.16384l-4.58752-347.58656V320.3072a114.4832 114.4832 0 0 0-228.88448-0.4096l4.5056 347.58656a190.13632 190.13632 0 1 0 380.3136 0l0.4096-334.39744a36.864 36.864 0 1 1 73.728 0.08192l-0.4096 334.31552a263.90528 263.90528 0 0 1-450.43712 186.61376 263.86432 263.86432 0 0 1-77.29152-186.368l-4.54656-347.50464v-1.10592z",
13
+ fill: "currentColor"
14
+ }));
15
+ };
16
+ var Loading = () => {
17
+ return /*#__PURE__*/React.createElement("svg", {
18
+ className: css.spin,
19
+ viewBox: "0 0 1024 1024",
20
+ focusable: "false",
21
+ "data-icon": "loading-3-quarters",
22
+ fill: "currentColor",
23
+ "aria-hidden": "true"
24
+ }, /*#__PURE__*/React.createElement("path", {
25
+ d: "M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z"
26
+ }));
27
+ };
28
+ var Close = () => {
29
+ return /*#__PURE__*/React.createElement("svg", {
30
+ "fill-rule": "evenodd",
31
+ viewBox: "64 64 896 896",
32
+ focusable: "false",
33
+ "data-icon": "close-circle",
34
+ fill: "currentColor",
35
+ "aria-hidden": "true"
36
+ }, /*#__PURE__*/React.createElement("path", {
37
+ d: "M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"
38
+ }));
39
+ };
40
+ var Success = () => {
41
+ return /*#__PURE__*/React.createElement("svg", {
42
+ role: "presentation",
43
+ xmlns: "http://www.w3.org/2000/svg",
44
+ fill: "none",
45
+ version: "1.1",
46
+ viewBox: "0 0 14 14"
47
+ }, /*#__PURE__*/React.createElement("path", {
48
+ d: "M12.25,7.000000238418579C12.25,9.899500238418579,9.8995,12.250000238418579,7,12.250000238418579C4.1005,12.250000238418579,1.75,9.899500238418579,1.75,7.000000238418579C1.75,4.100510238418579,4.1005,1.750000238418579,7,1.750000238418579C9.8995,1.750000238418579,12.25,4.100510238418579,12.25,7.000000238418579ZM11.08333,7.000000238418579C11.08333,4.744840238418579,9.25516,2.916670238418579,7,2.916670238418579C4.74484,2.916670238418579,2.91667,4.744840238418579,2.91667,7.000000238418579C2.91667,9.25516023841858,4.74484,11.08333023841858,7,11.08333023841858C9.25516,11.08333023841858,11.08333,9.25516023841858,11.08333,7.000000238418579ZM9.20146,6.202720238418579C9.28673,6.098500238418579,9.33333,5.9679902384185795,9.33333,5.833330238418579C9.33333,5.511170238418579,9.07217,5.250000238418579,8.75,5.250000238418579C8.575040000000001,5.250000238418579,8.4093,5.32853023841858,8.2984,5.464070238418579L6.37337,7.298400238418579L5.6624300000000005,6.587530238418579C5.55304,6.478130238418579,5.40471,6.416670238418579,5.25,6.416670238418579C4.92783,6.416670238418579,4.66667,6.677830238418579,4.66667,7.000000238418579C4.66667,7.154710238418579,4.72809,7.303090238418579,4.8377099999999995,7.412700238418579L6.00423,8.579140238418578C6.01794,8.59285023841858,6.03224,8.605870238418579,6.04724,8.61814023841858C6.29658,8.82215023841858,6.66412,8.785400238418578,6.86812,8.536060238418578L9.20146,6.202720238418579Z",
49
+ fill: "currentColor"
50
+ }));
51
+ };
52
+ var Send = () => {
53
+ return /*#__PURE__*/React.createElement("svg", {
54
+ viewBox: "0 0 1024 1024",
55
+ version: "1.1"
56
+ }, /*#__PURE__*/React.createElement("path", {
57
+ d: "M24.65 399.36L965.485 7.314a29.257 29.257 0 0 1 39.643 34.085L770.78 978.87a29.257 29.257 0 0 1-47.104 15.36L520.192 824.686a29.257 29.257 0 0 0-39.424 1.828L376.393 930.816a29.257 29.257 0 0 1-49.883-20.626V689.737a29.257 29.257 0 0 1 8.557-20.7L759.515 244.59 258.414 620.47a29.257 29.257 0 0 1-36.28-0.95L17.19 448.805a29.257 29.257 0 0 1 7.46-49.445z",
58
+ fill: "currentColor",
59
+ "p-id": "5126"
60
+ }));
61
+ };
62
+ var Delete = () => {
63
+ return /*#__PURE__*/React.createElement("svg", {
64
+ viewBox: "0 0 1024 1024",
65
+ version: "1.1",
66
+ xmlns: "http://www.w3.org/2000/svg",
67
+ "p-id": "16298"
68
+ }, /*#__PURE__*/React.createElement("path", {
69
+ d: "M928.814545 405.783273a28.858182 28.858182 0 0 0 0-40.773818l-309.992727-309.992728a28.858182 28.858182 0 0 0-40.820363 0l-451.118546 451.118546a115.246545 115.246545 0 0 0 0 163.048727l244.968727 243.432727a115.432727 115.432727 0 0 0 81.221819 33.512728h370.501818a28.811636 28.811636 0 1 0 0-57.669819h-238.266182c-51.339636 0-77.079273-62.045091-40.820364-98.443636l384.325818-384.232727zM436.968727 816.174545a57.623273 57.623273 0 0 1-81.501091 0l-187.810909-187.717818a57.623273 57.623273 0 0 1 0-81.501091l115.2-115.2 269.312 269.312-115.2 115.106909z",
70
+ "p-id": "16299",
71
+ fill: "currentColor"
72
+ }));
73
+ };
74
+ var Export = () => {
75
+ return /*#__PURE__*/React.createElement("svg", {
76
+ viewBox: "0 0 1024 1024",
77
+ version: "1.1",
78
+ xmlns: "http://www.w3.org/2000/svg",
79
+ "p-id": "4683"
80
+ }, /*#__PURE__*/React.createElement("path", {
81
+ d: "M712.533333 371.2l-128 128-59.733333-59.733333 128-128L597.333333 256l-42.666666-42.666667h256v256l-42.666667-42.666666-55.466667-55.466667zM657.066667 256H768v110.933333V256h-110.933333zM298.666667 298.666667v426.666666h426.666666v-256l85.333334 85.333334v256H213.333333V213.333333h256l85.333334 85.333334H298.666667z",
82
+ fill: "currentColor",
83
+ "p-id": "4684"
84
+ }));
85
+ };
86
+ var Chat = () => {
87
+ return /*#__PURE__*/React.createElement("svg", {
88
+ viewBox: "0 0 1024 1024",
89
+ version: "1.1",
90
+ xmlns: "http://www.w3.org/2000/svg",
91
+ "p-id": "5661"
92
+ }, /*#__PURE__*/React.createElement("path", {
93
+ d: "M767.424 130.032 256.576 130.032c-70.4 0-128 57.6-128 128l0 335.632c0 70.4 57.6 128 128 128l118.352 0 0 172.288 213.328-172.288 179.152 0c70.4 0 128-57.6 128-128L895.408 258.032C895.424 187.632 837.824 130.032 767.424 130.032zM815.424 593.664c0 26.016-21.984 48-48 48L588.272 641.664 560 641.664l-22 17.76-83.056 67.088 0-4.848 0-80-80 0-118.352 0c-26.016 0-48-21.984-48-48L208.592 258.032c0-26.016 21.984-48 48-48l510.848 0c26.016 0 48 21.984 48 48L815.44 593.664z",
94
+ "p-id": "5662",
95
+ fill: "currentColor"
96
+ }), /*#__PURE__*/React.createElement("path", {
97
+ d: "M347.888 425.872m-46.608 0a2.913 2.913 0 1 0 93.216 0 2.913 2.913 0 1 0-93.216 0Z",
98
+ "p-id": "5663",
99
+ fill: "currentColor"
100
+ }), /*#__PURE__*/React.createElement("path", {
101
+ d: "M512 425.872m-46.608 0a2.913 2.913 0 1 0 93.216 0 2.913 2.913 0 1 0-93.216 0Z",
102
+ "p-id": "5664",
103
+ fill: "currentColor"
104
+ }), /*#__PURE__*/React.createElement("path", {
105
+ d: "M676.096 425.872m-46.608 0a2.913 2.913 0 1 0 93.216 0 2.913 2.913 0 1 0-93.216 0Z",
106
+ "p-id": "5665",
107
+ fill: "currentColor"
108
+ }));
109
+ };
110
+
111
+ export { Attachment, Chat, Close, Delete, Export, Loading, Send, Success };
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/icons/index.tsx"],"sourcesContent":["import React from \"react\";\nimport css from \"./index.less\";\n\nconst ArrowUp = () => {\n return <svg data-v-dbdac3f2=\"\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" viewBox=\"0 0 1024 1024\" name=\"Send\"><path d=\"M705.536 433.664a38.4 38.4 0 1 1-54.272 54.272L550.4 387.114667V729.6a38.4 38.4 0 0 1-76.8 0V387.114667l-100.864 100.821333a38.4 38.4 0 1 1-54.272-54.272l166.4-166.4a38.4 38.4 0 0 1 54.272 0l166.4 166.4z\" fill=\"currentColor\"></path></svg>\n}\n\nconst Attachment = () => {\n return <svg data-v-5d21dc8d=\"\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" viewBox=\"0 0 1024 1024\" name=\"Clip\"><path d=\"M239.08352 319.0784a188.17024 188.17024 0 0 1 376.29952 0v0.16384l4.62848 347.62752v0.08192a112.64 112.64 0 0 1-156.0576 105.63584 112.55808 112.55808 0 0 1-68.97664-105.39008V315.14624a36.864 36.864 0 1 1 73.728 0v352.99328a38.83008 38.83008 0 1 0 77.57824 0v-0.16384l-4.58752-347.58656V320.3072a114.4832 114.4832 0 0 0-228.88448-0.4096l4.5056 347.58656a190.13632 190.13632 0 1 0 380.3136 0l0.4096-334.39744a36.864 36.864 0 1 1 73.728 0.08192l-0.4096 334.31552a263.90528 263.90528 0 0 1-450.43712 186.61376 263.86432 263.86432 0 0 1-77.29152-186.368l-4.54656-347.50464v-1.10592z\" fill=\"currentColor\"></path></svg>\n}\n\nconst Loading = () => {\n return <svg className={css.spin} viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"loading-3-quarters\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z\"></path></svg>\n}\n\nconst Close = () => {\n return <svg fill-rule=\"evenodd\" viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"close-circle\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z\"></path></svg>\n}\n\nconst Success = () => {\n return <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" version=\"1.1\" viewBox=\"0 0 14 14\"><path d=\"M12.25,7.000000238418579C12.25,9.899500238418579,9.8995,12.250000238418579,7,12.250000238418579C4.1005,12.250000238418579,1.75,9.899500238418579,1.75,7.000000238418579C1.75,4.100510238418579,4.1005,1.750000238418579,7,1.750000238418579C9.8995,1.750000238418579,12.25,4.100510238418579,12.25,7.000000238418579ZM11.08333,7.000000238418579C11.08333,4.744840238418579,9.25516,2.916670238418579,7,2.916670238418579C4.74484,2.916670238418579,2.91667,4.744840238418579,2.91667,7.000000238418579C2.91667,9.25516023841858,4.74484,11.08333023841858,7,11.08333023841858C9.25516,11.08333023841858,11.08333,9.25516023841858,11.08333,7.000000238418579ZM9.20146,6.202720238418579C9.28673,6.098500238418579,9.33333,5.9679902384185795,9.33333,5.833330238418579C9.33333,5.511170238418579,9.07217,5.250000238418579,8.75,5.250000238418579C8.575040000000001,5.250000238418579,8.4093,5.32853023841858,8.2984,5.464070238418579L6.37337,7.298400238418579L5.6624300000000005,6.587530238418579C5.55304,6.478130238418579,5.40471,6.416670238418579,5.25,6.416670238418579C4.92783,6.416670238418579,4.66667,6.677830238418579,4.66667,7.000000238418579C4.66667,7.154710238418579,4.72809,7.303090238418579,4.8377099999999995,7.412700238418579L6.00423,8.579140238418578C6.01794,8.59285023841858,6.03224,8.605870238418579,6.04724,8.61814023841858C6.29658,8.82215023841858,6.66412,8.785400238418578,6.86812,8.536060238418578L9.20146,6.202720238418579Z\" fill=\"currentColor\"></path></svg>\n}\n\nconst Send = () => {\n return <svg viewBox=\"0 0 1024 1024\" version=\"1.1\"><path d=\"M24.65 399.36L965.485 7.314a29.257 29.257 0 0 1 39.643 34.085L770.78 978.87a29.257 29.257 0 0 1-47.104 15.36L520.192 824.686a29.257 29.257 0 0 0-39.424 1.828L376.393 930.816a29.257 29.257 0 0 1-49.883-20.626V689.737a29.257 29.257 0 0 1 8.557-20.7L759.515 244.59 258.414 620.47a29.257 29.257 0 0 1-36.28-0.95L17.19 448.805a29.257 29.257 0 0 1 7.46-49.445z\" fill=\"currentColor\" p-id=\"5126\"></path></svg>\n}\n\nconst Delete = () => {\n return <svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"16298\"><path d=\"M928.814545 405.783273a28.858182 28.858182 0 0 0 0-40.773818l-309.992727-309.992728a28.858182 28.858182 0 0 0-40.820363 0l-451.118546 451.118546a115.246545 115.246545 0 0 0 0 163.048727l244.968727 243.432727a115.432727 115.432727 0 0 0 81.221819 33.512728h370.501818a28.811636 28.811636 0 1 0 0-57.669819h-238.266182c-51.339636 0-77.079273-62.045091-40.820364-98.443636l384.325818-384.232727zM436.968727 816.174545a57.623273 57.623273 0 0 1-81.501091 0l-187.810909-187.717818a57.623273 57.623273 0 0 1 0-81.501091l115.2-115.2 269.312 269.312-115.2 115.106909z\" p-id=\"16299\" fill=\"currentColor\"></path></svg>\n}\n\nconst Export = () => {\n return <svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4683\"><path d=\"M712.533333 371.2l-128 128-59.733333-59.733333 128-128L597.333333 256l-42.666666-42.666667h256v256l-42.666667-42.666666-55.466667-55.466667zM657.066667 256H768v110.933333V256h-110.933333zM298.666667 298.666667v426.666666h426.666666v-256l85.333334 85.333334v256H213.333333V213.333333h256l85.333334 85.333334H298.666667z\" fill=\"currentColor\" p-id=\"4684\"></path></svg>\n}\n\nconst Chat = () => {\n return <svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5661\"><path d=\"M767.424 130.032 256.576 130.032c-70.4 0-128 57.6-128 128l0 335.632c0 70.4 57.6 128 128 128l118.352 0 0 172.288 213.328-172.288 179.152 0c70.4 0 128-57.6 128-128L895.408 258.032C895.424 187.632 837.824 130.032 767.424 130.032zM815.424 593.664c0 26.016-21.984 48-48 48L588.272 641.664 560 641.664l-22 17.76-83.056 67.088 0-4.848 0-80-80 0-118.352 0c-26.016 0-48-21.984-48-48L208.592 258.032c0-26.016 21.984-48 48-48l510.848 0c26.016 0 48 21.984 48 48L815.44 593.664z\" p-id=\"5662\" fill=\"currentColor\"></path><path d=\"M347.888 425.872m-46.608 0a2.913 2.913 0 1 0 93.216 0 2.913 2.913 0 1 0-93.216 0Z\" p-id=\"5663\" fill=\"currentColor\"></path><path d=\"M512 425.872m-46.608 0a2.913 2.913 0 1 0 93.216 0 2.913 2.913 0 1 0-93.216 0Z\" p-id=\"5664\" fill=\"currentColor\"></path><path d=\"M676.096 425.872m-46.608 0a2.913 2.913 0 1 0 93.216 0 2.913 2.913 0 1 0-93.216 0Z\" p-id=\"5665\" fill=\"currentColor\"></path></svg>\n}\n\nconst Code = () => {\n return <svg viewBox=\"0 0 1024 1024\" p-id=\"4803\"><path d=\"M318.578 819.2L17.067 512l301.51-307.2 45.512 45.511L96.71 512 364.09 773.689z m386.844 0l-45.51-45.511L927.288 512 659.91 250.311l45.511-45.511L1006.933 512zM540.786 221.867l55.75 11.15-113.379 569.116-55.75-11.093z\" fill=\"currentColor\" p-id=\"4804\"></path></svg>\n}\n\nexport { ArrowUp, Attachment, Loading, Close, Success, Send, Delete, Export, Chat, Code }\n"],"names":["Attachment","React","createElement","xmlns","role","viewBox","name","d","fill","Loading","className","css","spin","focusable","Close","Success","version","Send","Delete","Export","Chat"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../plugin-ai/node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".index_spin__hL0uH {\n animation: index_spin__hL0uH 1.2s linear infinite;\n}\n@keyframes index_spin__hL0uH {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n";
4
+ var css = {"spin":"index_spin__hL0uH"};
5
+ styleInject(css_248z);
6
+
7
+ export { css as default };
8
+ //# sourceMappingURL=index.less.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.less.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import css from './index.less.js';
3
+
4
+ var MentionTag = props => {
5
+ var {
6
+ mention,
7
+ focusarea,
8
+ onClick: _onClick
9
+ } = props;
10
+ return /*#__PURE__*/React.createElement("div", {
11
+ className: css.mention,
12
+ onClick: () => _onClick === null || _onClick === void 0 ? void 0 : _onClick(mention)
13
+ }, /*#__PURE__*/React.createElement("div", {
14
+ className: css.text
15
+ }, "@".concat(mention.title || mention.name), focusarea && mention.focusArea ? "(".concat(mention.focusArea.title || "区域", ")") : ""));
16
+ };
17
+
18
+ export { MentionTag };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/mention/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Mention } from \"../types\";\nimport css from \"./index.less\";\n\ninterface MentionTagProps {\n mention: Mention\n focusarea?: boolean;\n onClick?: (mention: Mention) => void;\n}\nconst MentionTag = (props: MentionTagProps) => {\n const { mention, focusarea, onClick } = props;\n return (\n <div className={css.mention} onClick={() => onClick?.(mention)}>\n <div className={css.text}>{`@${mention.title || mention.name}`}{focusarea && mention.focusArea ? `(${mention.focusArea.title || \"区域\"})` : \"\"}</div>\n </div>\n );\n};\n\nexport { MentionTag }\n"],"names":["MentionTag","props","mention","focusarea","onClick","React","createElement","className","css","text","concat","title","name","focusArea"],"mappings":";;;AASA,IAAMA,UAAU,GAAIC,KAAsB,IAAK;EAC7C,IAAM;IAAEC,OAAO;IAAEC,SAAS;AAAEC,IAAAA,OAAO,EAAPA;AAAQ,GAAC,GAAGH,KAAK;EAC7C,oBACEI,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKC,SAAS,EAAEC,GAAG,CAACN,OAAQ;IAACE,OAAO,EAAEA,MAAMA,QAAO,aAAPA,QAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,QAAO,CAAGF,OAAO;GAAE,eAC7DG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKC,SAAS,EAAEC,GAAG,CAACC;AAAK,GAAA,EAAA,GAAA,CAAAC,MAAA,CAAMR,OAAO,CAACS,KAAK,IAAIT,OAAO,CAACU,IAAI,CAAA,EAAIT,SAAS,IAAID,OAAO,CAACW,SAAS,GAAA,GAAA,CAAAH,MAAA,CAAOR,OAAO,CAACW,SAAS,CAACF,KAAK,IAAI,IAAI,EAAA,GAAA,CAAA,GAAM,EAAQ,CAC/I,CAAC;AAEV;;;;"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../plugin-ai/node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".index_mention__4sOli {\n cursor: pointer;\n color: var(--mybricks-color-primary);\n font-size: 12px;\n font-weight: 500;\n line-height: 20px;\n border-radius: 10px;\n overflow: hidden;\n height: 20px;\n display: inline-flex;\n max-width: 100%;\n}\n.index_mention__4sOli .index_text__klAws {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n";
4
+ var css = {"mention":"index_mention__4sOli","text":"index_text__klAws"};
5
+ styleInject(css_248z);
6
+
7
+ export { css as default };
8
+ //# sourceMappingURL=index.less.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.less.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}