@linker-design-plus/tiny-peony 1.4.18 → 1.4.20

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 +21 -77
  3. package/dist/index.js +34 -42
  4. package/dist/index.mjs +3063 -4575
  5. package/dist/intersection/components/editor/context.d.ts +2 -128
  6. package/dist/intersection/components/editor/editor.d.ts +10 -52
  7. package/dist/intersection/components/editor/index.d.ts +21 -77
  8. package/dist/intersection/hooks/use-editor.d.ts +3 -4
  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 +1 -10
  15. package/dist/utils/dom.d.ts +1 -19
  16. package/dist/utils/shared.d.ts +0 -11
  17. package/package.json +6 -6
  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,6 +1,6 @@
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: {
@@ -16,8 +16,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
16
16
  default: undefined;
17
17
  };
18
18
  listenAnchorId: {
19
- type: StringConstructor;
20
- default: string;
19
+ type: NumberConstructor;
20
+ default: number;
21
21
  };
22
22
  listenMode: {
23
23
  type: PropType<ListenModeEnum>;
@@ -51,23 +51,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
51
51
  type: PropType<CSSProperties>;
52
52
  default: () => {};
53
53
  };
54
- /**
55
- * 是否开启文本调优
56
- */
57
- refinable: {
58
- type: BooleanConstructor;
59
- default: boolean;
60
- };
61
- /**
62
- * 文本调优上下文
63
- */
64
- refineContext: {
65
- type: PropType<RefineContext>;
66
- };
67
- editorHeight: {
68
- type: (StringConstructor | NumberConstructor)[];
69
- default: string;
70
- };
71
54
  showPreTime: {
72
55
  type: BooleanConstructor;
73
56
  default: boolean;
@@ -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;
@@ -125,7 +104,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
125
104
  anchorListen: (value: IAnchor, text: string) => true;
126
105
  anchorListenStop: (value: IAnchor) => true;
127
106
  anchorRemove: (value: IAnchor) => true;
128
- clear: () => true;
129
107
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
130
108
  preTime: {
131
109
  type: StringConstructor;
@@ -140,8 +118,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
140
118
  default: undefined;
141
119
  };
142
120
  listenAnchorId: {
143
- type: StringConstructor;
144
- default: string;
121
+ type: NumberConstructor;
122
+ default: number;
145
123
  };
146
124
  listenMode: {
147
125
  type: PropType<ListenModeEnum>;
@@ -175,30 +153,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
175
153
  type: PropType<CSSProperties>;
176
154
  default: () => {};
177
155
  };
178
- /**
179
- * 是否开启文本调优
180
- */
181
- refinable: {
182
- type: BooleanConstructor;
183
- default: boolean;
184
- };
185
- /**
186
- * 文本调优上下文
187
- */
188
- refineContext: {
189
- type: PropType<RefineContext>;
190
- };
191
- editorHeight: {
192
- type: (StringConstructor | NumberConstructor)[];
193
- default: string;
194
- };
195
156
  showPreTime: {
196
157
  type: BooleanConstructor;
197
158
  default: boolean;
198
159
  };
199
160
  }>> & Readonly<{
200
161
  onChange?: ((contentLength: number) => any) | undefined;
201
- onClear?: (() => any) | undefined;
202
162
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
203
163
  onAnchorListen?: ((value: IAnchor, text: string) => any) | undefined;
204
164
  onAnchorRemove?: ((value: IAnchor) => any) | undefined;
@@ -213,11 +173,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
213
173
  simple: boolean;
214
174
  preTime: string;
215
175
  textCount: number;
216
- listenAnchorId: string;
176
+ listenAnchorId: number;
217
177
  listenMode: ListenModeEnum;
218
178
  contentStyle: CSSProperties;
219
- refinable: boolean;
220
- editorHeight: string | number;
221
179
  showPreTime: boolean;
222
180
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
223
181
  export default _default;
@@ -16,8 +16,8 @@ declare const EditorContainer: {
16
16
  default: undefined;
17
17
  };
18
18
  listenAnchorId: {
19
- type: StringConstructor;
20
- default: string;
19
+ type: NumberConstructor;
20
+ default: number;
21
21
  };
22
22
  listenMode: {
23
23
  type: import("vue").PropType<import("../../..").ListenModeEnum>;
@@ -51,24 +51,12 @@ declare const EditorContainer: {
51
51
  type: import("vue").PropType<import("vue").CSSProperties>;
52
52
  default: () => {};
53
53
  };
54
- refinable: {
55
- type: BooleanConstructor;
56
- default: boolean;
57
- };
58
- refineContext: {
59
- type: import("vue").PropType<import("./context").RefineContext>;
60
- };
61
- editorHeight: {
62
- type: (StringConstructor | NumberConstructor)[];
63
- default: string;
64
- };
65
54
  showPreTime: {
66
55
  type: BooleanConstructor;
67
56
  default: boolean;
68
57
  };
69
58
  }>> & Readonly<{
70
59
  onChange?: ((contentLength: number) => any) | undefined;
71
- onClear?: (() => any) | undefined;
72
60
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
73
61
  onAnchorListen?: ((value: import("../../..").IAnchor, text: string) => any) | undefined;
74
62
  onAnchorRemove?: ((value: import("../../..").IAnchor) => any) | undefined;
@@ -87,13 +75,11 @@ declare const EditorContainer: {
87
75
  innerIsRange: () => boolean;
88
76
  innerIsSelectionInDifferentParas: () => boolean;
89
77
  innerIsSelectionContainsTag: (type: import("../../..").PluginFlag) => boolean;
90
- innerGetAnchorTtsMark: (anchor: import("../../..").IAnchor, startFromCursor?: boolean) => string;
91
- innerGetAnchorTtsEmotionAndRole: (anchor: import("../../..").IAnchor) => [string, string | undefined];
78
+ innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
79
+ innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
92
80
  innerIsAllMarkedByAnchor: () => boolean;
93
81
  innerAddExtraAnchors: (data: import("../../..").IAnchor[]) => void;
94
- innerUpdateAnchor: (newAnchor: import("../../..").IAnchor) => void;
95
82
  innerClearContent: () => void;
96
- innerInsertContentAtCursor: (_content: string | string[]) => void;
97
83
  innerRenderHightlight: (matchingContent: string) => void;
98
84
  innerUnrenderHightlight: () => void;
99
85
  }, {}, {}, {
@@ -110,13 +96,11 @@ declare const EditorContainer: {
110
96
  isRange(): boolean;
111
97
  isSelectionInDifferentParas(): boolean;
112
98
  isSelectionContainsTag(type: import("../../..").PluginFlag): boolean;
113
- getAnchorTtsMark(anchor: import("../../..").IAnchor, startFromCursor?: boolean): string;
114
- getAnchorTtsEmotionAndRole(anchor: import("../../..").IAnchor): [string, string | undefined];
99
+ getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
100
+ getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
115
101
  isAllMarkedByAnchor(): boolean;
116
102
  addExtraAnchors(data: import("../../..").IAnchor[]): void;
117
- updateAnchor(anchor: import("../../..").IAnchor): void;
118
103
  clearContent(): void;
119
- insertContentAtCursor(_content: string | string[]): void;
120
104
  clear(): Promise<void>;
121
105
  renderHighlight(matchingContent: string): void;
122
106
  unrenderHighlight(): void;
@@ -126,7 +110,6 @@ declare const EditorContainer: {
126
110
  anchorListen: (value: import("../../..").IAnchor, text: string) => true;
127
111
  anchorListenStop: (value: import("../../..").IAnchor) => true;
128
112
  anchorRemove: (value: import("../../..").IAnchor) => true;
129
- clear: () => true;
130
113
  }, import("vue").PublicProps, {
131
114
  highlight: boolean;
132
115
  class: string | unknown[];
@@ -137,11 +120,9 @@ declare const EditorContainer: {
137
120
  simple: boolean;
138
121
  preTime: string;
139
122
  textCount: number;
140
- listenAnchorId: string;
123
+ listenAnchorId: number;
141
124
  listenMode: import("../../..").ListenModeEnum;
142
125
  contentStyle: import("vue").CSSProperties;
143
- refinable: boolean;
144
- editorHeight: string | number;
145
126
  showPreTime: boolean;
146
127
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
147
128
  P: {};
@@ -164,8 +145,8 @@ declare const EditorContainer: {
164
145
  default: undefined;
165
146
  };
166
147
  listenAnchorId: {
167
- type: StringConstructor;
168
- default: string;
148
+ type: NumberConstructor;
149
+ default: number;
169
150
  };
170
151
  listenMode: {
171
152
  type: import("vue").PropType<import("../../..").ListenModeEnum>;
@@ -199,24 +180,12 @@ declare const EditorContainer: {
199
180
  type: import("vue").PropType<import("vue").CSSProperties>;
200
181
  default: () => {};
201
182
  };
202
- refinable: {
203
- type: BooleanConstructor;
204
- default: boolean;
205
- };
206
- refineContext: {
207
- type: import("vue").PropType<import("./context").RefineContext>;
208
- };
209
- editorHeight: {
210
- type: (StringConstructor | NumberConstructor)[];
211
- default: string;
212
- };
213
183
  showPreTime: {
214
184
  type: BooleanConstructor;
215
185
  default: boolean;
216
186
  };
217
187
  }>> & Readonly<{
218
188
  onChange?: ((contentLength: number) => any) | undefined;
219
- onClear?: (() => any) | undefined;
220
189
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
221
190
  onAnchorListen?: ((value: import("../../..").IAnchor, text: string) => any) | undefined;
222
191
  onAnchorRemove?: ((value: import("../../..").IAnchor) => any) | undefined;
@@ -235,13 +204,11 @@ declare const EditorContainer: {
235
204
  innerIsRange: () => boolean;
236
205
  innerIsSelectionInDifferentParas: () => boolean;
237
206
  innerIsSelectionContainsTag: (type: import("../../..").PluginFlag) => boolean;
238
- innerGetAnchorTtsMark: (anchor: import("../../..").IAnchor, startFromCursor?: boolean) => string;
239
- innerGetAnchorTtsEmotionAndRole: (anchor: import("../../..").IAnchor) => [string, string | undefined];
207
+ innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
208
+ innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
240
209
  innerIsAllMarkedByAnchor: () => boolean;
241
210
  innerAddExtraAnchors: (data: import("../../..").IAnchor[]) => void;
242
- innerUpdateAnchor: (newAnchor: import("../../..").IAnchor) => void;
243
211
  innerClearContent: () => void;
244
- innerInsertContentAtCursor: (_content: string | string[]) => void;
245
212
  innerRenderHightlight: (matchingContent: string) => void;
246
213
  innerUnrenderHightlight: () => void;
247
214
  }, {}, {}, {
@@ -258,13 +225,11 @@ declare const EditorContainer: {
258
225
  isRange(): boolean;
259
226
  isSelectionInDifferentParas(): boolean;
260
227
  isSelectionContainsTag(type: import("../../..").PluginFlag): boolean;
261
- getAnchorTtsMark(anchor: import("../../..").IAnchor, startFromCursor?: boolean): string;
262
- getAnchorTtsEmotionAndRole(anchor: import("../../..").IAnchor): [string, string | undefined];
228
+ getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
229
+ getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
263
230
  isAllMarkedByAnchor(): boolean;
264
231
  addExtraAnchors(data: import("../../..").IAnchor[]): void;
265
- updateAnchor(anchor: import("../../..").IAnchor): void;
266
232
  clearContent(): void;
267
- insertContentAtCursor(_content: string | string[]): void;
268
233
  clear(): Promise<void>;
269
234
  renderHighlight(matchingContent: string): void;
270
235
  unrenderHighlight(): void;
@@ -278,11 +243,9 @@ declare const EditorContainer: {
278
243
  simple: boolean;
279
244
  preTime: string;
280
245
  textCount: number;
281
- listenAnchorId: string;
246
+ listenAnchorId: number;
282
247
  listenMode: import("../../..").ListenModeEnum;
283
248
  contentStyle: import("vue").CSSProperties;
284
- refinable: boolean;
285
- editorHeight: string | number;
286
249
  showPreTime: boolean;
287
250
  }>;
288
251
  __isFragment?: never;
@@ -302,8 +265,8 @@ declare const EditorContainer: {
302
265
  default: undefined;
303
266
  };
304
267
  listenAnchorId: {
305
- type: StringConstructor;
306
- default: string;
268
+ type: NumberConstructor;
269
+ default: number;
307
270
  };
308
271
  listenMode: {
309
272
  type: import("vue").PropType<import("../../..").ListenModeEnum>;
@@ -337,24 +300,12 @@ declare const EditorContainer: {
337
300
  type: import("vue").PropType<import("vue").CSSProperties>;
338
301
  default: () => {};
339
302
  };
340
- refinable: {
341
- type: BooleanConstructor;
342
- default: boolean;
343
- };
344
- refineContext: {
345
- type: import("vue").PropType<import("./context").RefineContext>;
346
- };
347
- editorHeight: {
348
- type: (StringConstructor | NumberConstructor)[];
349
- default: string;
350
- };
351
303
  showPreTime: {
352
304
  type: BooleanConstructor;
353
305
  default: boolean;
354
306
  };
355
307
  }>> & Readonly<{
356
308
  onChange?: ((contentLength: number) => any) | undefined;
357
- onClear?: (() => any) | undefined;
358
309
  "onUpdate:textCount"?: ((value: number) => any) | undefined;
359
310
  onAnchorListen?: ((value: import("../../..").IAnchor, text: string) => any) | undefined;
360
311
  onAnchorRemove?: ((value: import("../../..").IAnchor) => any) | undefined;
@@ -373,13 +324,11 @@ declare const EditorContainer: {
373
324
  innerIsRange: () => boolean;
374
325
  innerIsSelectionInDifferentParas: () => boolean;
375
326
  innerIsSelectionContainsTag: (type: import("../../..").PluginFlag) => boolean;
376
- innerGetAnchorTtsMark: (anchor: import("../../..").IAnchor, startFromCursor?: boolean) => string;
377
- innerGetAnchorTtsEmotionAndRole: (anchor: import("../../..").IAnchor) => [string, string | undefined];
327
+ innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
328
+ innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
378
329
  innerIsAllMarkedByAnchor: () => boolean;
379
330
  innerAddExtraAnchors: (data: import("../../..").IAnchor[]) => void;
380
- innerUpdateAnchor: (newAnchor: import("../../..").IAnchor) => void;
381
331
  innerClearContent: () => void;
382
- innerInsertContentAtCursor: (_content: string | string[]) => void;
383
332
  innerRenderHightlight: (matchingContent: string) => void;
384
333
  innerUnrenderHightlight: () => void;
385
334
  }, {}, {}, {
@@ -396,13 +345,11 @@ declare const EditorContainer: {
396
345
  isRange(): boolean;
397
346
  isSelectionInDifferentParas(): boolean;
398
347
  isSelectionContainsTag(type: import("../../..").PluginFlag): boolean;
399
- getAnchorTtsMark(anchor: import("../../..").IAnchor, startFromCursor?: boolean): string;
400
- getAnchorTtsEmotionAndRole(anchor: import("../../..").IAnchor): [string, string | undefined];
348
+ getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
349
+ getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
401
350
  isAllMarkedByAnchor(): boolean;
402
351
  addExtraAnchors(data: import("../../..").IAnchor[]): void;
403
- updateAnchor(anchor: import("../../..").IAnchor): void;
404
352
  clearContent(): void;
405
- insertContentAtCursor(_content: string | string[]): void;
406
353
  clear(): Promise<void>;
407
354
  renderHighlight(matchingContent: string): void;
408
355
  unrenderHighlight(): void;
@@ -412,7 +359,6 @@ declare const EditorContainer: {
412
359
  anchorListen: (value: import("../../..").IAnchor, text: string) => true;
413
360
  anchorListenStop: (value: import("../../..").IAnchor) => true;
414
361
  anchorRemove: (value: import("../../..").IAnchor) => true;
415
- clear: () => true;
416
362
  }, string, {
417
363
  highlight: boolean;
418
364
  class: string | unknown[];
@@ -423,11 +369,9 @@ declare const EditorContainer: {
423
369
  simple: boolean;
424
370
  preTime: string;
425
371
  textCount: number;
426
- listenAnchorId: string;
372
+ listenAnchorId: number;
427
373
  listenMode: import("../../..").ListenModeEnum;
428
374
  contentStyle: import("vue").CSSProperties;
429
- refinable: boolean;
430
- editorHeight: string | number;
431
375
  showPreTime: boolean;
432
376
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
433
377
  install: (app: App, options?: Record<string, any>) => void;
@@ -28,7 +28,7 @@ export interface AnchorData {
28
28
  id: number;
29
29
  }
30
30
  export type AnchorMap = Record<string, AnchorData[]>;
31
- export declare const useEditor: (editor: Ref<HTMLDivElement | undefined>, props: EditorComponentProps, emit: ((event: "change", contentLength: number) => void) & ((event: "update:textCount", value: number) => void) & ((event: "anchorListen", value: IAnchor, text: string) => void) & ((event: "anchorRemove", value: IAnchor) => void) & ((event: "clear") => void)) => {
31
+ export declare const useEditor: (editor: Ref<HTMLDivElement | undefined>, props: EditorComponentProps, emit: ((event: "change", contentLength: number) => void) & ((event: "update:textCount", value: number) => void) & ((event: "anchorListen", value: IAnchor, text: string) => void) & ((event: "anchorRemove", value: IAnchor) => void)) => {
32
32
  editorCore: Ref<EditorCore<[]> | undefined, EditorCore<[]> | undefined>;
33
33
  editorAction: Ref<EditorAction | undefined, EditorAction | undefined>;
34
34
  count: Ref<number, number>;
@@ -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}