@linker-design-plus/tiny-peony 1.4.13 → 1.4.16

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 (42) hide show
  1. package/dist/foundation/contentManager/contentManager.d.ts +0 -5
  2. package/dist/index.d.ts +27 -78
  3. package/dist/index.js +34 -42
  4. package/dist/index.mjs +3065 -4577
  5. package/dist/intersection/components/editor/context.d.ts +2 -128
  6. package/dist/intersection/components/editor/editor.d.ts +13 -53
  7. package/dist/intersection/components/editor/index.d.ts +27 -78
  8. package/dist/intersection/hooks/use-editor.d.ts +2 -3
  9. package/dist/plugins/AnchorTagPlugin/plugin.d.ts +0 -4
  10. package/dist/plugins/HomophonesTagPlugin/homophoner.vue.d.ts +2 -2
  11. package/dist/plugins/PronunciationTagPlugin/pronunciationor.vue.d.ts +2 -2
  12. package/dist/tiny-peony.css +1 -1
  13. package/dist/typings/actions/i-anchor.d.ts +0 -8
  14. package/dist/typings/intersection/editor.d.ts +3 -12
  15. package/dist/utils/dom.d.ts +1 -19
  16. package/dist/utils/shared.d.ts +0 -11
  17. package/package.json +1 -1
  18. package/dist/index.js.map +0 -1
  19. package/dist/index.mjs.map +0 -1
  20. package/dist/intersection/components/modals/Refine/RefineContent.d.ts +0 -20
  21. package/dist/intersection/components/modals/Refine/RefineGenerator.d.ts +0 -19
  22. package/dist/intersection/components/modals/Refine/RefineInput.d.ts +0 -18
  23. package/dist/intersection/components/modals/Refine/RefineShortcut.d.ts +0 -2
  24. package/dist/intersection/components/modals/Refine/RefineToolbar.d.ts +0 -2
  25. package/dist/intersection/components/modals/Refine/context.d.ts +0 -128
  26. package/dist/intersection/components/modals/Refine/icons/abort.vue.d.ts +0 -2
  27. package/dist/intersection/components/modals/Refine/icons/copy.vue.d.ts +0 -2
  28. package/dist/intersection/components/modals/Refine/icons/delete.vue.d.ts +0 -2
  29. package/dist/intersection/components/modals/Refine/icons/expand.vue.d.ts +0 -2
  30. package/dist/intersection/components/modals/Refine/icons/inexpand.vue.d.ts +0 -2
  31. package/dist/intersection/components/modals/Refine/icons/insert.vue.d.ts +0 -2
  32. package/dist/intersection/components/modals/Refine/icons/moreShortcut.vue.d.ts +0 -2
  33. package/dist/intersection/components/modals/Refine/icons/optimism.vue.d.ts +0 -2
  34. package/dist/intersection/components/modals/Refine/icons/prefix.vue.d.ts +0 -2
  35. package/dist/intersection/components/modals/Refine/icons/refresh.vue.d.ts +0 -2
  36. package/dist/intersection/components/modals/Refine/icons/replace.vue.d.ts +0 -2
  37. package/dist/intersection/components/modals/Refine/icons/send.vue.d.ts +0 -2
  38. package/dist/intersection/components/modals/Refine/index.d.ts +0 -3
  39. package/dist/intersection/components/modals/Refine/use-modal-pos.d.ts +0 -10
  40. package/dist/intersection/components/modals/Refine/use-range-highlight.d.ts +0 -6
  41. package/dist/intersection/hooks/use-copy.d.ts +0 -4
  42. package/dist/intersection/hooks/use-state.d.ts +0 -4
@@ -14,10 +14,6 @@ export interface ContentOptions {
14
14
  * * 是否返回带有文本审核高亮样式标记
15
15
  */
16
16
  withAuditHighlight?: boolean;
17
- /**
18
- * 是否返回带有调优高亮样式标记
19
- */
20
- withRefineHighlight?: boolean;
21
17
  }
22
18
  export declare const defaultContentOptions: ContentOptions;
23
19
  export interface EditorContext {
@@ -34,138 +30,16 @@ export interface EditorContext {
34
30
  isCaret: () => boolean;
35
31
  isRange: () => boolean;
36
32
  isSelectionContainsTag: (type: PluginFlag) => boolean;
37
- getAnchorTtsMark: (anchor: IAnchor, startFromCursor?: boolean) => string;
38
- getAnchorTtsEmotionAndRole: (anchor: IAnchor) => [string, string | undefined];
33
+ getAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
34
+ getAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
39
35
  isAllMarkedByAnchor: () => boolean;
40
36
  addExtraAnchors: (data: IAnchor[]) => void;
41
37
  clearContent: () => void;
42
38
  renderHighlight: (matchingContent: string) => void;
43
39
  unrenderHighlight: () => void;
44
- refineContext?: RefineContext;
45
40
  }
46
41
  export declare const EditorInjectionKey: InjectionKey<EditorContext>;
47
42
  declare const HIGHLIGHT_CLS = "highlight";
48
43
  declare const auditHighlightBem: import("@linker-design/utils").Bem;
49
44
  declare const AUDIT_HIGHLIGHT_CLS: string;
50
45
  export { HIGHLIGHT_CLS, auditHighlightBem, AUDIT_HIGHLIGHT_CLS };
51
- export interface RefineContext {
52
- agentId: string;
53
- createSession: (data: {
54
- agentId: string;
55
- sessionId: string;
56
- }) => Promise<{
57
- data: ChatInfoResp;
58
- [key: string]: any;
59
- }>;
60
- sendSessionMessage: {
61
- (data: ChatMessageReq, options: Recordable): Promise<void>;
62
- abort: () => void | undefined;
63
- };
64
- abortSession: (data: {
65
- conversationId?: string;
66
- sessionId?: string;
67
- }) => Promise<any>;
68
- }
69
- /**
70
- * ChatMessageReq
71
- */
72
- export interface ChatMessageReq {
73
- /**
74
- * 是否深度思考,0否 1是
75
- */
76
- deepseek?: number;
77
- /**
78
- * 引用的网页,多个以逗号分隔
79
- */
80
- htmlUrls?: string;
81
- messageRequest?: MessageRequest;
82
- /**
83
- * 模型名称,Deepseek-R1、Gemini-2.5-flash、Claude-opus-4.1
84
- */
85
- modelName?: string;
86
- /**
87
- * 参考文件信息json,前端展示回显用
88
- */
89
- refFiles?: string;
90
- /**
91
- * 引用文档,多个以逗号分隔
92
- */
93
- refUrls?: string;
94
- /**
95
- * 是否搜索,0否 1是
96
- */
97
- search?: number;
98
- /**
99
- * 待优化的源内容
100
- */
101
- sourceContent?: string;
102
- /**
103
- * 待优化的内容源链接地址
104
- */
105
- sourceUrls?: string[];
106
- /**
107
- * 模板id
108
- */
109
- templateId?: number;
110
- tenantId?: string;
111
- /**
112
- * 会话类型,0写稿 1每日要闻
113
- */
114
- type?: number;
115
- userCode?: string;
116
- [property: string]: any;
117
- }
118
- /**
119
- * MessageRequest
120
- */
121
- export interface MessageRequest {
122
- agent_id?: string;
123
- extra_params?: {
124
- [key: string]: {
125
- [key: string]: any;
126
- };
127
- };
128
- message?: Message;
129
- meta_data?: MetaData;
130
- [property: string]: any;
131
- }
132
- /**
133
- * Message
134
- */
135
- export interface Message {
136
- content?: string;
137
- conversation_id?: string;
138
- data?: {
139
- [key: string]: any;
140
- }[];
141
- history?: {
142
- [key: string]: any;
143
- }[];
144
- [property: string]: any;
145
- }
146
- /**
147
- * MetaData
148
- */
149
- export interface MetaData {
150
- ai_rewrite?: string;
151
- data?: {
152
- [key: string]: any;
153
- }[];
154
- is_search?: string;
155
- model_name?: string;
156
- rewrite_content?: string;
157
- sessionId?: string;
158
- url?: string[];
159
- word_number?: string;
160
- [property: string]: any;
161
- }
162
- export interface ChatInfoResp {
163
- agentId?: string;
164
- chatContext?: string;
165
- content?: string;
166
- conversionId?: string;
167
- id?: number;
168
- sessionId?: string;
169
- welcome?: string;
170
- [property: string]: any;
171
- }
@@ -1,16 +1,12 @@
1
1
  import { CSSProperties, PropType } from 'vue';
2
2
  import { JSX } from 'vue/jsx-runtime';
3
- import { ContentOptions, RefineContext } from './context';
3
+ import { ContentOptions } from './context';
4
4
  import { IAnchor, ListenModeEnum, PluginFlag } from '../../../typings';
5
5
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
6
  preTime: {
7
7
  type: StringConstructor;
8
8
  default: string;
9
9
  };
10
- realTime: {
11
- type: StringConstructor;
12
- default: string;
13
- };
14
10
  textCount: {
15
11
  type: NumberConstructor;
16
12
  default: number;
@@ -20,8 +16,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
20
16
  default: undefined;
21
17
  };
22
18
  listenAnchorId: {
23
- type: StringConstructor;
24
- default: string;
19
+ type: NumberConstructor;
20
+ default: number;
25
21
  };
26
22
  listenMode: {
27
23
  type: PropType<ListenModeEnum>;
@@ -55,23 +51,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
55
51
  type: PropType<CSSProperties>;
56
52
  default: () => {};
57
53
  };
58
- /**
59
- * 是否开启文本调优
60
- */
61
- refinable: {
54
+ showPreTime: {
62
55
  type: BooleanConstructor;
63
56
  default: boolean;
64
57
  };
65
- /**
66
- * 文本调优上下文
67
- */
68
- refineContext: {
69
- type: PropType<RefineContext>;
70
- };
71
- editorHeight: {
72
- type: (StringConstructor | NumberConstructor)[];
73
- default: string;
74
- };
75
58
  }>, {
76
59
  action: import("vue").Ref<import("../../hooks/use-editor").EditorAction | undefined, import("../../hooks/use-editor").EditorAction | undefined>;
77
60
  innerRender: () => JSX.Element;
@@ -86,13 +69,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
86
69
  innerIsRange: () => boolean;
87
70
  innerIsSelectionInDifferentParas: () => boolean;
88
71
  innerIsSelectionContainsTag: (type: PluginFlag) => boolean;
89
- innerGetAnchorTtsMark: (anchor: IAnchor, startFromCursor?: boolean) => string;
90
- innerGetAnchorTtsEmotionAndRole: (anchor: IAnchor) => [string, string | undefined];
72
+ innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
73
+ innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
91
74
  innerIsAllMarkedByAnchor: () => boolean;
92
75
  innerAddExtraAnchors: (data: IAnchor[]) => void;
93
- innerUpdateAnchor: (newAnchor: IAnchor) => void;
94
76
  innerClearContent: () => void;
95
- innerInsertContentAtCursor: (_content: string | string[]) => void;
96
77
  innerRenderHightlight: (matchingContent: string) => void;
97
78
  innerUnrenderHightlight: () => void;
98
79
  }, {}, {}, {
@@ -109,13 +90,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
109
90
  isRange(): boolean;
110
91
  isSelectionInDifferentParas(): boolean;
111
92
  isSelectionContainsTag(type: PluginFlag): boolean;
112
- getAnchorTtsMark(anchor: IAnchor, startFromCursor?: boolean): string;
113
- getAnchorTtsEmotionAndRole(anchor: IAnchor): [string, string | undefined];
93
+ getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
94
+ getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
114
95
  isAllMarkedByAnchor(): boolean;
115
96
  addExtraAnchors(data: IAnchor[]): void;
116
- updateAnchor(anchor: IAnchor): void;
117
97
  clearContent(): void;
118
- insertContentAtCursor(_content: string | string[]): void;
119
98
  clear(): Promise<void>;
120
99
  renderHighlight(matchingContent: string): void;
121
100
  unrenderHighlight(): void;
@@ -130,10 +109,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
130
109
  type: StringConstructor;
131
110
  default: string;
132
111
  };
133
- realTime: {
134
- type: StringConstructor;
135
- default: string;
136
- };
137
112
  textCount: {
138
113
  type: NumberConstructor;
139
114
  default: number;
@@ -143,8 +118,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
143
118
  default: undefined;
144
119
  };
145
120
  listenAnchorId: {
146
- type: StringConstructor;
147
- default: string;
121
+ type: NumberConstructor;
122
+ default: number;
148
123
  };
149
124
  listenMode: {
150
125
  type: PropType<ListenModeEnum>;
@@ -178,23 +153,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
178
153
  type: PropType<CSSProperties>;
179
154
  default: () => {};
180
155
  };
181
- /**
182
- * 是否开启文本调优
183
- */
184
- refinable: {
156
+ showPreTime: {
185
157
  type: BooleanConstructor;
186
158
  default: boolean;
187
159
  };
188
- /**
189
- * 文本调优上下文
190
- */
191
- refineContext: {
192
- type: PropType<RefineContext>;
193
- };
194
- editorHeight: {
195
- type: (StringConstructor | NumberConstructor)[];
196
- default: string;
197
- };
198
160
  }>> & Readonly<{
199
161
  onChange?: ((contentLength: number) => any) | undefined;
200
162
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
@@ -210,12 +172,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
210
172
  showWordLimit: boolean;
211
173
  simple: boolean;
212
174
  preTime: string;
213
- realTime: string;
214
175
  textCount: number;
215
- listenAnchorId: string;
176
+ listenAnchorId: number;
216
177
  listenMode: ListenModeEnum;
217
178
  contentStyle: CSSProperties;
218
- refinable: boolean;
219
- editorHeight: string | number;
179
+ showPreTime: boolean;
220
180
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
221
181
  export default _default;
@@ -7,10 +7,6 @@ declare const EditorContainer: {
7
7
  type: StringConstructor;
8
8
  default: string;
9
9
  };
10
- realTime: {
11
- type: StringConstructor;
12
- default: string;
13
- };
14
10
  textCount: {
15
11
  type: NumberConstructor;
16
12
  default: number;
@@ -20,8 +16,8 @@ declare const EditorContainer: {
20
16
  default: undefined;
21
17
  };
22
18
  listenAnchorId: {
23
- type: StringConstructor;
24
- default: string;
19
+ type: NumberConstructor;
20
+ default: number;
25
21
  };
26
22
  listenMode: {
27
23
  type: import("vue").PropType<import("../../..").ListenModeEnum>;
@@ -55,17 +51,10 @@ declare const EditorContainer: {
55
51
  type: import("vue").PropType<import("vue").CSSProperties>;
56
52
  default: () => {};
57
53
  };
58
- refinable: {
54
+ showPreTime: {
59
55
  type: BooleanConstructor;
60
56
  default: boolean;
61
57
  };
62
- refineContext: {
63
- type: import("vue").PropType<import("./context").RefineContext>;
64
- };
65
- editorHeight: {
66
- type: (StringConstructor | NumberConstructor)[];
67
- default: string;
68
- };
69
58
  }>> & Readonly<{
70
59
  onChange?: ((contentLength: number) => any) | undefined;
71
60
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
@@ -86,13 +75,11 @@ declare const EditorContainer: {
86
75
  innerIsRange: () => boolean;
87
76
  innerIsSelectionInDifferentParas: () => boolean;
88
77
  innerIsSelectionContainsTag: (type: import("../../..").PluginFlag) => boolean;
89
- innerGetAnchorTtsMark: (anchor: import("../../..").IAnchor, startFromCursor?: boolean) => string;
90
- innerGetAnchorTtsEmotionAndRole: (anchor: import("../../..").IAnchor) => [string, string | undefined];
78
+ innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
79
+ innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
91
80
  innerIsAllMarkedByAnchor: () => boolean;
92
81
  innerAddExtraAnchors: (data: import("../../..").IAnchor[]) => void;
93
- innerUpdateAnchor: (newAnchor: import("../../..").IAnchor) => void;
94
82
  innerClearContent: () => void;
95
- innerInsertContentAtCursor: (_content: string | string[]) => void;
96
83
  innerRenderHightlight: (matchingContent: string) => void;
97
84
  innerUnrenderHightlight: () => void;
98
85
  }, {}, {}, {
@@ -109,13 +96,11 @@ declare const EditorContainer: {
109
96
  isRange(): boolean;
110
97
  isSelectionInDifferentParas(): boolean;
111
98
  isSelectionContainsTag(type: import("../../..").PluginFlag): boolean;
112
- getAnchorTtsMark(anchor: import("../../..").IAnchor, startFromCursor?: boolean): string;
113
- getAnchorTtsEmotionAndRole(anchor: import("../../..").IAnchor): [string, string | undefined];
99
+ getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
100
+ getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
114
101
  isAllMarkedByAnchor(): boolean;
115
102
  addExtraAnchors(data: import("../../..").IAnchor[]): void;
116
- updateAnchor(anchor: import("../../..").IAnchor): void;
117
103
  clearContent(): void;
118
- insertContentAtCursor(_content: string | string[]): void;
119
104
  clear(): Promise<void>;
120
105
  renderHighlight(matchingContent: string): void;
121
106
  unrenderHighlight(): void;
@@ -134,13 +119,11 @@ declare const EditorContainer: {
134
119
  showWordLimit: boolean;
135
120
  simple: boolean;
136
121
  preTime: string;
137
- realTime: string;
138
122
  textCount: number;
139
- listenAnchorId: string;
123
+ listenAnchorId: number;
140
124
  listenMode: import("../../..").ListenModeEnum;
141
125
  contentStyle: import("vue").CSSProperties;
142
- refinable: boolean;
143
- editorHeight: string | number;
126
+ showPreTime: boolean;
144
127
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
145
128
  P: {};
146
129
  B: {};
@@ -153,10 +136,6 @@ declare const EditorContainer: {
153
136
  type: StringConstructor;
154
137
  default: string;
155
138
  };
156
- realTime: {
157
- type: StringConstructor;
158
- default: string;
159
- };
160
139
  textCount: {
161
140
  type: NumberConstructor;
162
141
  default: number;
@@ -166,8 +145,8 @@ declare const EditorContainer: {
166
145
  default: undefined;
167
146
  };
168
147
  listenAnchorId: {
169
- type: StringConstructor;
170
- default: string;
148
+ type: NumberConstructor;
149
+ default: number;
171
150
  };
172
151
  listenMode: {
173
152
  type: import("vue").PropType<import("../../..").ListenModeEnum>;
@@ -201,17 +180,10 @@ declare const EditorContainer: {
201
180
  type: import("vue").PropType<import("vue").CSSProperties>;
202
181
  default: () => {};
203
182
  };
204
- refinable: {
183
+ showPreTime: {
205
184
  type: BooleanConstructor;
206
185
  default: boolean;
207
186
  };
208
- refineContext: {
209
- type: import("vue").PropType<import("./context").RefineContext>;
210
- };
211
- editorHeight: {
212
- type: (StringConstructor | NumberConstructor)[];
213
- default: string;
214
- };
215
187
  }>> & Readonly<{
216
188
  onChange?: ((contentLength: number) => any) | undefined;
217
189
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
@@ -232,13 +204,11 @@ declare const EditorContainer: {
232
204
  innerIsRange: () => boolean;
233
205
  innerIsSelectionInDifferentParas: () => boolean;
234
206
  innerIsSelectionContainsTag: (type: import("../../..").PluginFlag) => boolean;
235
- innerGetAnchorTtsMark: (anchor: import("../../..").IAnchor, startFromCursor?: boolean) => string;
236
- innerGetAnchorTtsEmotionAndRole: (anchor: import("../../..").IAnchor) => [string, string | undefined];
207
+ innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
208
+ innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
237
209
  innerIsAllMarkedByAnchor: () => boolean;
238
210
  innerAddExtraAnchors: (data: import("../../..").IAnchor[]) => void;
239
- innerUpdateAnchor: (newAnchor: import("../../..").IAnchor) => void;
240
211
  innerClearContent: () => void;
241
- innerInsertContentAtCursor: (_content: string | string[]) => void;
242
212
  innerRenderHightlight: (matchingContent: string) => void;
243
213
  innerUnrenderHightlight: () => void;
244
214
  }, {}, {}, {
@@ -255,13 +225,11 @@ declare const EditorContainer: {
255
225
  isRange(): boolean;
256
226
  isSelectionInDifferentParas(): boolean;
257
227
  isSelectionContainsTag(type: import("../../..").PluginFlag): boolean;
258
- getAnchorTtsMark(anchor: import("../../..").IAnchor, startFromCursor?: boolean): string;
259
- getAnchorTtsEmotionAndRole(anchor: import("../../..").IAnchor): [string, string | undefined];
228
+ getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
229
+ getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
260
230
  isAllMarkedByAnchor(): boolean;
261
231
  addExtraAnchors(data: import("../../..").IAnchor[]): void;
262
- updateAnchor(anchor: import("../../..").IAnchor): void;
263
232
  clearContent(): void;
264
- insertContentAtCursor(_content: string | string[]): void;
265
233
  clear(): Promise<void>;
266
234
  renderHighlight(matchingContent: string): void;
267
235
  unrenderHighlight(): void;
@@ -274,13 +242,11 @@ declare const EditorContainer: {
274
242
  showWordLimit: boolean;
275
243
  simple: boolean;
276
244
  preTime: string;
277
- realTime: string;
278
245
  textCount: number;
279
- listenAnchorId: string;
246
+ listenAnchorId: number;
280
247
  listenMode: import("../../..").ListenModeEnum;
281
248
  contentStyle: import("vue").CSSProperties;
282
- refinable: boolean;
283
- editorHeight: string | number;
249
+ showPreTime: boolean;
284
250
  }>;
285
251
  __isFragment?: never;
286
252
  __isTeleport?: never;
@@ -290,10 +256,6 @@ declare const EditorContainer: {
290
256
  type: StringConstructor;
291
257
  default: string;
292
258
  };
293
- realTime: {
294
- type: StringConstructor;
295
- default: string;
296
- };
297
259
  textCount: {
298
260
  type: NumberConstructor;
299
261
  default: number;
@@ -303,8 +265,8 @@ declare const EditorContainer: {
303
265
  default: undefined;
304
266
  };
305
267
  listenAnchorId: {
306
- type: StringConstructor;
307
- default: string;
268
+ type: NumberConstructor;
269
+ default: number;
308
270
  };
309
271
  listenMode: {
310
272
  type: import("vue").PropType<import("../../..").ListenModeEnum>;
@@ -338,17 +300,10 @@ declare const EditorContainer: {
338
300
  type: import("vue").PropType<import("vue").CSSProperties>;
339
301
  default: () => {};
340
302
  };
341
- refinable: {
303
+ showPreTime: {
342
304
  type: BooleanConstructor;
343
305
  default: boolean;
344
306
  };
345
- refineContext: {
346
- type: import("vue").PropType<import("./context").RefineContext>;
347
- };
348
- editorHeight: {
349
- type: (StringConstructor | NumberConstructor)[];
350
- default: string;
351
- };
352
307
  }>> & Readonly<{
353
308
  onChange?: ((contentLength: number) => any) | undefined;
354
309
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
@@ -369,13 +324,11 @@ declare const EditorContainer: {
369
324
  innerIsRange: () => boolean;
370
325
  innerIsSelectionInDifferentParas: () => boolean;
371
326
  innerIsSelectionContainsTag: (type: import("../../..").PluginFlag) => boolean;
372
- innerGetAnchorTtsMark: (anchor: import("../../..").IAnchor, startFromCursor?: boolean) => string;
373
- innerGetAnchorTtsEmotionAndRole: (anchor: import("../../..").IAnchor) => [string, string | undefined];
327
+ innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
328
+ innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
374
329
  innerIsAllMarkedByAnchor: () => boolean;
375
330
  innerAddExtraAnchors: (data: import("../../..").IAnchor[]) => void;
376
- innerUpdateAnchor: (newAnchor: import("../../..").IAnchor) => void;
377
331
  innerClearContent: () => void;
378
- innerInsertContentAtCursor: (_content: string | string[]) => void;
379
332
  innerRenderHightlight: (matchingContent: string) => void;
380
333
  innerUnrenderHightlight: () => void;
381
334
  }, {}, {}, {
@@ -392,13 +345,11 @@ declare const EditorContainer: {
392
345
  isRange(): boolean;
393
346
  isSelectionInDifferentParas(): boolean;
394
347
  isSelectionContainsTag(type: import("../../..").PluginFlag): boolean;
395
- getAnchorTtsMark(anchor: import("../../..").IAnchor, startFromCursor?: boolean): string;
396
- getAnchorTtsEmotionAndRole(anchor: import("../../..").IAnchor): [string, string | undefined];
348
+ getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
349
+ getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
397
350
  isAllMarkedByAnchor(): boolean;
398
351
  addExtraAnchors(data: import("../../..").IAnchor[]): void;
399
- updateAnchor(anchor: import("../../..").IAnchor): void;
400
352
  clearContent(): void;
401
- insertContentAtCursor(_content: string | string[]): void;
402
353
  clear(): Promise<void>;
403
354
  renderHighlight(matchingContent: string): void;
404
355
  unrenderHighlight(): void;
@@ -417,13 +368,11 @@ declare const EditorContainer: {
417
368
  showWordLimit: boolean;
418
369
  simple: boolean;
419
370
  preTime: string;
420
- realTime: string;
421
371
  textCount: number;
422
- listenAnchorId: string;
372
+ listenAnchorId: number;
423
373
  listenMode: import("../../..").ListenModeEnum;
424
374
  contentStyle: import("vue").CSSProperties;
425
- refinable: boolean;
426
- editorHeight: string | number;
375
+ showPreTime: boolean;
427
376
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
428
377
  install: (app: App, options?: Record<string, any>) => void;
429
378
  };
@@ -44,12 +44,11 @@ export declare const useEditor: (editor: Ref<HTMLDivElement | undefined>, props:
44
44
  isRange: () => boolean;
45
45
  isSelectionInDifferentParas: () => boolean;
46
46
  isSelectionContainsTag: (type: PluginFlag) => boolean;
47
- getAnchorTtsMark: (anchor: IAnchor, startFromCursor?: boolean) => string;
48
- getAnchorTtsEmotionAndRole: (anchor: IAnchor) => [string, string | undefined];
47
+ getAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
48
+ getAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
49
49
  isAllMarkedByAnchor: () => boolean;
50
50
  addExtraAnchors: (data: IAnchor[]) => void;
51
51
  clearContent: () => void;
52
- insertContentAtCursor: (_content: string | string[]) => void;
53
52
  renderHighlight: (matchingContent: string) => void;
54
53
  unrenderHighlight: () => void;
55
54
  };
@@ -15,15 +15,11 @@ export declare class AnchorTagPlugin<T extends Record<string, any> = {
15
15
  constructor(editor: IEditorCore);
16
16
  add(options: T): void;
17
17
  remove(target: HTMLSpanElement): void;
18
- private _insertOverlapAnchor;
19
18
  private _recordAnchor;
20
19
  private get _newAnchorId();
21
20
  private _insertAnchorTag;
22
21
  private _isIntersectOtherAnchors;
23
22
  private _calcTopValue;
24
- private _fixedAnchorSelection;
25
- private _fixedAnchorOrder;
26
- private _fixedAnchorHighlightContent;
27
23
  /**
28
24
  * MutationObserver 监听编辑器内容变化,当内容变化时重新计算 anchor 的 top 值。
29
25
  *
@@ -4,10 +4,10 @@ type __VLS_Props = {
4
4
  data: string[];
5
5
  };
6
6
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
- ok: (e: Event, text: string) => any;
8
7
  cancel: (e: Event) => any;
8
+ ok: (e: Event, text: string) => any;
9
9
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
- onOk?: ((e: Event, text: string) => any) | undefined;
11
10
  onCancel?: ((e: Event) => any) | undefined;
11
+ onOk?: ((e: Event, text: string) => any) | undefined;
12
12
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLUListElement>;
13
13
  export default _default;
@@ -4,10 +4,10 @@ type __VLS_Props = {
4
4
  modelValue: string;
5
5
  };
6
6
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
- ok: (e: Event, text: string, oldText: string) => any;
8
7
  cancel: (e: Event) => any;
8
+ ok: (e: Event, text: string, oldText: string) => any;
9
9
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
- onOk?: ((e: Event, text: string, oldText: string) => any) | undefined;
11
10
  onCancel?: ((e: Event) => any) | undefined;
11
+ onOk?: ((e: Event, text: string, oldText: string) => any) | undefined;
12
12
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
13
  export default _default;
@@ -1 +1 @@
1
- .editor-pausation-tag-modal{position:absolute;width:80px}.tag-pausation{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 2px 0 9px;border-radius:16px;color:#c3772b;background-color:#fceee0;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;cursor:pointer}.tag-pausation__close{font-size:20px;color:#0003;cursor:pointer}.tag-pausation__close:hover{color:#0000004d}.c-pausation-tag-selector[data-v-a957cba2]{background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;border:1px solid #f6f6f6;color:var(--color-text-2)}.c-pausation-tag-selector__item[data-v-a957cba2]{line-height:40px;text-indent:12px;font-size:14px;color:var(--color-text-2);cursor:pointer}.c-pausation-tag-selector__item[data-v-a957cba2]:hover{background-color:rgba(var(--primary-6),.1);color:rgba(var(--primary-6))}.editor-pronunciation-tag-modal{position:absolute;width:264px}.tag-pronunciation{display:inline-flex;align-items:center;gap:2px;margin:0 2px;-webkit-user-select:none;user-select:none;cursor:pointer}.tag-pronunciation__raw{color:rgba(var(--primary-6))}.tag-pronunciation__replace{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 2px 0 9px;background-color:rgba(var(--primary-6),.1);border-radius:16px;color:rgba(var(--primary-6))}.tag-pronunciation__replace-text{font-size:14px;font-weight:500}.tag-pronunciation__close{color:#0003}.tag-pronunciation__close:hover{color:#0000004d}.c-pronunciationor[data-v-e430f236]{padding:8px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:4px;border:1px solid #f6f6f6}.c-pronunciationor__title[data-v-e430f236]{margin-bottom:8px;line-height:20px;color:#000000d9}.c-pronunciationor__content[data-v-e430f236]{margin-bottom:4px}.c-pronunciationor__footer[data-v-e430f236]{margin-top:8px}.tag-anchor{padding:5.5px 0}.editor-homophones-tag-modal{position:absolute;width:88px}.tag-homophones{display:inline-flex;align-items:center;gap:4px;margin:0 2px;line-height:1;-webkit-user-select:none;user-select:none;cursor:pointer}.tag-homophones__raw{color:rgba(var(--primary-6))}.tag-homophones__close{color:#0003}.tag-homophones__close:hover{color:#0000004d}.c-homophones[data-v-8471a3e1]{padding:8px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:4px;border:1px solid #f6f6f6}.c-homophones__word[data-v-8471a3e1]{color:rgba(var(--primary-6));line-height:20px;text-align:center}.c-homophones__item[data-v-8471a3e1]{margin-top:8px;border-radius:4px;line-height:28px;border:1px solid rgba(0,0,0,.15);text-align:center;color:var(--color-text-2);transition:all .1s cubic-bezier(0,0,1,1);cursor:pointer}.c-homophones__item[data-v-8471a3e1]:hover{color:#fff;background-color:rgba(var(--primary-6))}.arco-modal-simple{padding:16px 24px!important}.arco-modal-simple .arco-modal-footer{text-align:right!important}.common-modal .arco-modal{border-radius:var(--border-radius-medium)}.common-modal .arco-modal-header{height:auto;padding:17px 24px 13px;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);line-height:22px}.common-modal .arco-modal-footer{border-top:none;padding:0 24px 24px}.common-modal .arco-modal-footer .arco-btn{border-radius:8px}.common-modal .arco-modal-body{padding:0 24px 20px}.common-modal .arco-modal-title{position:relative;font-weight:600}.common-modal .shim-icon{position:absolute;top:1px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff}.common-modal .normal-icon{position:absolute;font-size:24px}.common-modal .normal-title{margin-left:32px}.common-modal .extra-opt{position:absolute;top:50%;right:30px;transform:translateY(-50%)}.common-modal .modal-title-icon{display:inline-block;width:20px;height:20px;border-radius:50%;margin-right:11px;font-weight:600;line-height:20px;text-align:center}.common-modal .modal-title-icon svg{color:#fff}.common-modal.no-header-border .arco-modal-header{border:none}.common-modal.hide-header-border .arco-modal-header{border-bottom:none}.common-modal.hide-header-border .arco-modal-body{padding-top:0}.common-modal__info .arco-modal-title-icon,.common-modal__success .arco-modal-title-icon,.common-modal__warning .arco-modal-title-icon,.common-modal__error .arco-modal-title-icon,.common-modal__confirm .arco-modal-title-icon,.common-modal__syncConfirm .arco-modal-title-icon{display:none}.common-modal-footer__left .arco-modal-footer{border-top:none;text-align:left}.common-modal-footer__right .arco-modal-footer{border-top:none;text-align:right}.common-modal-footer__center .arco-modal-footer{border-top:none;text-align:center}.common-modal.arco-modal-simple{padding:0}.common-modal.arco-modal-simple .arco-modal-header{margin:0}.common-modal.arco-modal-simple .arco-modal-body{padding-top:0}.common-modal.arco-modal-simple .arco-modal-footer{margin:0;text-align:right}.c-quick-context-menu[data-v-2c4a9bcb]{position:fixed;z-index:100;width:80px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;border:1px solid #f6f6f6}.c-quick-context-menu__action-item[data-v-2c4a9bcb]{line-height:40px;text-align:center;color:var(--color-text-2);font-size:14px;cursor:pointer}.c-quick-context-menu__action-item[data-v-2c4a9bcb]:hover{color:rgba(var(--primary-6));background-color:rgba(var(--primary-6),.1)}.c-quick-context-menu .pausation[data-v-2c4a9bcb]{display:flex;position:absolute;top:0;left:78px}.c-quick-context-menu .pausation .fill[data-v-2c4a9bcb]{display:inline-block;width:2px;height:202px;background:transparent}.c-quick-context-menu .pausation .pausationor[data-v-2c4a9bcb]{width:80px;flex-shrink:0}.c-refine-generator-wrapper{position:absolute}.c-refine-generator-wrapper__inner{position:relative;float:left;width:100%}.c-refine-generator{width:100%!important;border:1px solid rgba(var(--primary-6));border-radius:20px;overflow:hidden;box-shadow:0 8px 20px #0000001a}.c-refine-content{padding:20px 20px 12px;border-bottom:1px solid var(--color-border-2);background-color:#fff}.c-refine-content__content{font-size:16px;line-height:24px;text-align:justify;letter-spacing:0;max-height:144px;overflow-y:auto}.c-refine-content__operation{margin-top:24px;justify-content:space-between}.c-refine-input{height:60px;background-color:#fff;overflow:hidden}.c-refine-input .arco-input-wrapper{height:100%;border:none;border-radius:20px;background-color:#fff!important}.c-refine-input .arco-input-wrapper .arco-input{font-size:16px!important}.c-refine-input .arco-input-wrapper .arco-input::placeholder{font-size:16px!important}.c-refine-input__send{display:inline-block;width:36px;height:36px;border-radius:50%;line-height:36px;text-align:center;background-color:rgba(var(--primary-6));color:#fff;cursor:pointer}.c-refine-input__send--disabled{background-color:rgba(var(--primary-3))!important;cursor:not-allowed}.c-refine-input__send:active{background-color:rgba(var(--primary-7))}.c-refine-input--generating input[placeholder]{color:rgba(var(--primary-6))!important;opacity:.6!important;-webkit-text-fill-color:rgba(var(--primary-6))!important}.c-refine-input--contentable{background-color:#fff}.c-refine-shortcut{display:block;position:absolute;width:162px;margin-left:5px;color:var(--color-text-1)}.c-refine-shortcut__shortcut{border-radius:var(--border-radius-medium);overflow:hidden;background-color:#fff;box-shadow:0 0 7px #0000001a}.c-refine-shortcut__shortcut-item{width:100%;height:32px;padding:4px 10px 4px 20px;line-height:24px;cursor:pointer}.c-refine-shortcut__shortcut-item:hover{background-color:var(--color-fill-2)}.c-refine-shortcut__shortcut .sub-wrapper{position:absolute;left:162px;width:178px;padding:8px}.c-refine-toolbar{position:absolute;height:40px;border-radius:8px;opacity:1;background:#fff;box-sizing:border-box;box-shadow:0 8px 16px #0000001a;display:flex;justify-content:center;align-items:center;padding:0 4px;line-height:34px;border:1px solid var(--color-border-2)}.c-refine-toolbar__item{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;border-radius:8px;line-height:1}.c-refine-toolbar__item:hover{background-color:var(--color-fill-2)}.c-editor-container__wrapper{position:relative;height:100%;overflow:hidden}.c-editor-container{position:relative;width:100%;overflow-y:auto}.c-editor-container__core{display:flex;flex-direction:row;width:100%}.c-editor-container__core-content{padding-top:16px;padding-right:16px;flex:1;outline:none}.c-editor-container__core-content-editor{position:relative;height:100%;line-height:28px}.c-editor-container__core-content-editor-placeholder{position:absolute;left:0;right:0;top:0;text-indent:20px;font-size:16px;color:gray;line-height:34px;pointer-events:none}.c-editor-container__core-content-editor-content{position:relative;height:100%;outline:none}.c-editor-container__core-anchor{position:relative;flex-shrink:0;width:344px}.c-editor-container__core-anchor-empty{position:fixed;top:50%;right:45px;width:340px;height:auto;transform:translateY(-50%)}.c-editor-container__status{display:flex;justify-content:space-between;align-items:center;position:absolute;left:0;bottom:0;width:calc(100% - 344px);padding:15px}.c-editor-container__status-clear{transform:translate(-15px)}.c-editor-container__status-info{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;column-gap:16px;width:100%}.c-editor-container__status-info-label,.c-editor-container__status-info-length{font-weight:400;font-size:14px;color:var(--color-text-3)}.c-editor-container__status-info-length:first-child{margin-right:2px;color:rgb(var(--arcoblue-6))}.c-editor-container__status--simple{width:100%}.c-editor-container__status--simple .c-editor-container__status-info-length:first-child{margin-right:0;color:var(--color-text-3)}.c-editor-container__status--disabled{cursor:not-allowed}.c-editor-container__splitor{position:absolute;right:344px;top:0;bottom:0;border-left:1px solid var(--color-neutral-3)}.c-editor-container__anchor-placeholder{position:absolute;top:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.c-editor-container__anchor-placeholder>img{display:block;width:340px;height:auto;transform:translateY(-20%)}.c-editor-container .highlight{color:rgba(var(--success-6))}.c-editor-container .tag-audit-highlight{background-color:rgba(var(--danger-6))!important;color:#fff!important}.c-editor-container--disabled{cursor:not-allowed}.c-anchor-item{position:relative;padding-left:2px;padding-right:6px;width:304px;height:32px;display:inline-flex;flex-direction:row;align-items:center;border-radius:16px}.c-anchor-item__avatar{width:28px;height:28px;border-radius:14px}.c-anchor-item__info{padding-left:8px;display:flex;flex:1;flex-direction:row;align-items:center}.c-anchor-item__info-name,.c-anchor-item__info-speed-volume{flex-shrink:0;font-weight:500;font-size:16px;color:#00000073;line-height:24px}.c-anchor-item__info-name{flex:1;max-width:85px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.c-anchor-item__info-speed-volume{margin-right:9px}.c-anchor-item__info-rem,.c-anchor-item__info-play{font-size:18px;cursor:pointer}.c-anchor-item__info-rem{margin-right:4px;color:#1e1e1e33!important}.c-anchor-item__info-play{color:#00000040!important}.c-anchor-item__rem{display:none;position:absolute;top:5px;right:2px;font-size:14px;color:#1e1e1e33;transform:translate3d(10px,-12px,0);cursor:pointer}.c-anchor-item__btn-layer{display:none;position:absolute;top:0;bottom:0;right:0;left:0;background:#0000004d;border-radius:50%;cursor:pointer}.c-anchor-item__btn-layer .c-anchor-item__info-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff!important}.c-anchor-item:hover .c-anchor-item__btn-layer{background:#0000004d;display:block}.c-anchor-item:hover .c-anchor-item__rem{display:block}.c-anchor-item+.c-anchor-item{margin-left:8px}.multi-anchor .c-anchor-item{padding-right:2px;width:unset}.c-paragraph{text-indent:20px;font-size:16px;color:var(--color-text-1);line-height:34px;word-break:break-all}.c-paragraph:not(:last-child){margin-bottom:16px}.c-paragraph *{text-indent:0}
1
+ .editor-pausation-tag-modal{position:absolute;width:80px}.tag-pausation{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 2px 0 9px;border-radius:16px;color:#c3772b;background-color:#fceee0;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;cursor:pointer}.tag-pausation__close{font-size:20px;color:#0003;cursor:pointer}.tag-pausation__close:hover{color:#0000004d}.c-pausation-tag-selector[data-v-a957cba2]{background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;border:1px solid #f6f6f6;color:var(--color-text-2)}.c-pausation-tag-selector__item[data-v-a957cba2]{line-height:40px;text-indent:12px;font-size:14px;color:var(--color-text-2);cursor:pointer}.c-pausation-tag-selector__item[data-v-a957cba2]:hover{background-color:rgba(var(--primary-6),.1);color:rgba(var(--primary-6))}.editor-pronunciation-tag-modal{position:absolute;width:264px}.tag-pronunciation{display:inline-flex;align-items:center;gap:2px;margin:0 2px;-webkit-user-select:none;user-select:none;cursor:pointer}.tag-pronunciation__raw{color:rgba(var(--primary-6))}.tag-pronunciation__replace{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 2px 0 9px;background-color:rgba(var(--primary-6),.1);border-radius:16px;color:rgba(var(--primary-6))}.tag-pronunciation__replace-text{font-size:14px;font-weight:500}.tag-pronunciation__close{color:#0003}.tag-pronunciation__close:hover{color:#0000004d}.c-pronunciationor[data-v-e430f236]{padding:8px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:4px;border:1px solid #f6f6f6}.c-pronunciationor__title[data-v-e430f236]{margin-bottom:8px;line-height:20px;color:#000000d9}.c-pronunciationor__content[data-v-e430f236]{margin-bottom:4px}.c-pronunciationor__footer[data-v-e430f236]{margin-top:8px}.tag-anchor{padding:5.5px 0}.editor-homophones-tag-modal{position:absolute;width:88px}.tag-homophones{display:inline-flex;align-items:center;gap:4px;margin:0 2px;line-height:1;-webkit-user-select:none;user-select:none;cursor:pointer}.tag-homophones__raw{color:rgba(var(--primary-6))}.tag-homophones__close{color:#0003}.tag-homophones__close:hover{color:#0000004d}.c-homophones[data-v-8471a3e1]{padding:8px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:4px;border:1px solid #f6f6f6}.c-homophones__word[data-v-8471a3e1]{color:rgba(var(--primary-6));line-height:20px;text-align:center}.c-homophones__item[data-v-8471a3e1]{margin-top:8px;border-radius:4px;line-height:28px;border:1px solid rgba(0,0,0,.15);text-align:center;color:var(--color-text-2);transition:all .1s cubic-bezier(0,0,1,1);cursor:pointer}.c-homophones__item[data-v-8471a3e1]:hover{color:#fff;background-color:rgba(var(--primary-6))}.arco-modal-simple{padding:16px 24px!important}.arco-modal-simple .arco-modal-footer{text-align:right!important}.common-modal .arco-modal{border-radius:var(--border-radius-medium)}.common-modal .arco-modal-header{height:auto;padding:17px 24px 13px;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);line-height:22px}.common-modal .arco-modal-footer{border-top:none;padding:0 24px 24px}.common-modal .arco-modal-footer .arco-btn{border-radius:8px}.common-modal .arco-modal-body{padding:0 24px 20px}.common-modal .arco-modal-title{position:relative;font-weight:600}.common-modal .shim-icon{position:absolute;top:1px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff}.common-modal .normal-icon{position:absolute;font-size:24px}.common-modal .normal-title{margin-left:32px}.common-modal .extra-opt{position:absolute;top:50%;right:30px;transform:translateY(-50%)}.common-modal .modal-title-icon{display:inline-block;width:20px;height:20px;border-radius:50%;margin-right:11px;font-weight:600;line-height:20px;text-align:center}.common-modal .modal-title-icon svg{color:#fff}.common-modal.no-header-border .arco-modal-header{border:none}.common-modal.hide-header-border .arco-modal-header{border-bottom:none}.common-modal.hide-header-border .arco-modal-body{padding-top:0}.common-modal__info .arco-modal-title-icon,.common-modal__success .arco-modal-title-icon,.common-modal__warning .arco-modal-title-icon,.common-modal__error .arco-modal-title-icon,.common-modal__confirm .arco-modal-title-icon,.common-modal__syncConfirm .arco-modal-title-icon{display:none}.common-modal-footer__left .arco-modal-footer{border-top:none;text-align:left}.common-modal-footer__right .arco-modal-footer{border-top:none;text-align:right}.common-modal-footer__center .arco-modal-footer{border-top:none;text-align:center}.common-modal.arco-modal-simple{padding:0}.common-modal.arco-modal-simple .arco-modal-header{margin:0}.common-modal.arco-modal-simple .arco-modal-body{padding-top:0}.common-modal.arco-modal-simple .arco-modal-footer{margin:0;text-align:right}.c-quick-context-menu[data-v-70332ebc]{position:fixed;z-index:100;width:80px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;border:1px solid #f6f6f6}.c-quick-context-menu__action-item[data-v-70332ebc]{line-height:40px;text-align:center;color:var(--color-text-2);font-size:14px;cursor:pointer}.c-quick-context-menu__action-item[data-v-70332ebc]:hover{color:rgba(var(--primary-6));background-color:rgba(var(--primary-6),.1)}.c-quick-context-menu .pausation[data-v-70332ebc]{display:flex;position:absolute;top:0;left:78px}.c-quick-context-menu .pausation .fill[data-v-70332ebc]{display:inline-block;width:2px;height:202px;background:transparent}.c-quick-context-menu .pausation .pausationor[data-v-70332ebc]{width:80px;flex-shrink:0}.c-editor-container{position:relative;width:100%;height:100%;padding-bottom:62px;overflow-y:auto}.c-editor-container__core{display:flex;flex-direction:row;width:100%;height:100%;overflow-y:auto}.c-editor-container__core-content{padding-top:16px;padding-right:16px;flex:1;outline:none}.c-editor-container__core-content-editor{position:relative;height:100%;line-height:28px}.c-editor-container__core-content-editor-placeholder{position:absolute;left:0;right:0;top:0;text-indent:20px;font-size:16px;color:gray;line-height:34px;pointer-events:none}.c-editor-container__core-content-editor-content{position:relative;height:100%;outline:none}.c-editor-container__core-anchor{position:relative;flex-shrink:0;width:344px}.c-editor-container__core-anchor-empty{position:fixed;top:50%;right:45px;width:340px;height:auto;transform:translateY(-50%)}.c-editor-container__status{display:flex;justify-content:space-between;align-items:center;position:absolute;left:0;bottom:0;width:calc(100% - 344px);padding:15px}.c-editor-container__status-clear{transform:translate(-15px)}.c-editor-container__status-info{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;column-gap:16px;width:100%}.c-editor-container__status-info-label,.c-editor-container__status-info-length{font-weight:400;font-size:14px;color:var(--color-text-3)}.c-editor-container__status-info-length:first-child{margin-right:2px;color:rgb(var(--arcoblue-6))}.c-editor-container__status--simple{width:100%}.c-editor-container__status--simple .c-editor-container__status-info-length:first-child{margin-right:0;color:var(--color-text-3)}.c-editor-container__status--disabled{cursor:not-allowed}.c-editor-container__splitor{position:absolute;right:344px;top:0;bottom:0;border-left:1px solid var(--color-neutral-3)}.c-editor-container__anchor-placeholder{position:absolute;top:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.c-editor-container__anchor-placeholder>img{display:block;width:340px;height:auto;transform:translateY(-20%)}.c-editor-container .highlight{color:rgba(var(--success-6))}.c-editor-container .tag-audit-highlight{background-color:rgba(var(--danger-6))!important;color:#fff!important}.c-editor-container--disabled{cursor:not-allowed}.c-anchor-item{position:relative;padding-left:2px;padding-right:6px;width:304px;height:32px;display:inline-flex;flex-direction:row;align-items:center;border-radius:16px}.c-anchor-item__avatar{width:28px;height:28px;border-radius:14px}.c-anchor-item__info{padding-left:8px;display:flex;flex:1;flex-direction:row;align-items:center}.c-anchor-item__info-name,.c-anchor-item__info-speed-volume{flex-shrink:0;font-weight:500;font-size:16px;color:#00000073;line-height:24px}.c-anchor-item__info-name{flex:1;max-width:85px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.c-anchor-item__info-speed-volume{margin-right:9px}.c-anchor-item__info-rem,.c-anchor-item__info-play{font-size:18px;cursor:pointer}.c-anchor-item__info-rem{margin-right:4px;color:#1e1e1e33!important}.c-anchor-item__info-play{color:#00000040!important}.c-anchor-item__rem{display:none;position:absolute;top:5px;right:2px;font-size:14px;color:#1e1e1e33;transform:translate3d(10px,-12px,0);cursor:pointer}.c-anchor-item__btn-layer{display:none;position:absolute;top:0;bottom:0;right:0;left:0;background:#0000004d;border-radius:50%;cursor:pointer}.c-anchor-item__btn-layer .c-anchor-item__info-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff!important}.c-anchor-item:not(:last-child){margin-right:8px}.c-anchor-item:hover .c-anchor-item__btn-layer{background:#0000004d;display:block}.c-anchor-item:hover .c-anchor-item__rem{display:block}.multi-anchor .c-anchor-item{padding-right:2px;width:unset}.c-paragraph{text-indent:20px;font-size:16px;color:var(--color-text-1);line-height:34px;word-break:break-all}.c-paragraph:not(:last-child){margin-bottom:16px}.c-paragraph *{text-indent:0}