@linker-design-plus/tiny-peony 1.4.34 → 1.4.36

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.
@@ -26,6 +26,9 @@ export interface EditorContext {
26
26
  editorAction: Ref<EditorAction | undefined>;
27
27
  getContent: (options?: ContentOptions) => string;
28
28
  setContent: (content: string) => void;
29
+ setMarkdown: (markdown: string) => void;
30
+ appendMarkdown: (markdown: string) => void;
31
+ getMarkdownContent: () => string;
29
32
  appendContent: (content: string | string[]) => void;
30
33
  getTextContent: () => string[];
31
34
  insertContent: (content: string | Node) => void;
@@ -72,11 +72,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
72
72
  type: BooleanConstructor;
73
73
  default: boolean;
74
74
  };
75
+ /**
76
+ * 有字数上限提示但是不限制字数输入
77
+ */
78
+ wordLimitTip: {
79
+ type: StringConstructor;
80
+ default: string;
81
+ };
75
82
  }>, {
76
83
  action: import("vue").Ref<import("../../hooks/use-editor").EditorAction | undefined, import("../../hooks/use-editor").EditorAction | undefined>;
77
84
  innerRender: () => JSX.Element;
78
85
  innerGetContent: (_options?: ContentOptions) => string;
79
86
  innerSetContent: (content: string) => Promise<void>;
87
+ innerSetMarkdown: (markdown: string) => Promise<void>;
88
+ innerAppendMarkdown: (markdown: string) => Promise<void>;
89
+ innerGetMarkdownContent: () => string;
80
90
  innerAppendContent: (content: string | string[]) => Promise<void>;
81
91
  innerGetTextContent: () => string[];
82
92
  innerInsertContent: (content: string | Node) => void;
@@ -96,11 +106,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
96
106
  innerInsertContentAtCursor: (_content: string | string[], func?: (canInsert: boolean) => void) => void;
97
107
  innerRenderHightlight: (matchingContent: string) => void;
98
108
  innerUnrenderHightlight: () => void;
109
+ innerIsWordLengthExceeded: () => boolean;
99
110
  }, {}, {}, {
100
111
  getContent(options?: ContentOptions): string;
101
112
  getHtml(options: ContentOptions): string;
102
113
  setContent(content: string): Promise<void>;
103
114
  setHtml(content: string): Promise<void>;
115
+ setMarkdown(markdown: string): Promise<void>;
116
+ appendMarkdown(markdown: string): Promise<void>;
117
+ getMarkdownContent(): string;
104
118
  appendContent(content: string | string[]): Promise<void>;
105
119
  getTextContent(): string[];
106
120
  insertContent(content: string | Node): void;
@@ -121,6 +135,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
121
135
  clear(): Promise<void>;
122
136
  renderHighlight(matchingContent: string): void;
123
137
  unrenderHighlight(): void;
138
+ isWordLengthExceeded(): boolean;
124
139
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
125
140
  change: (contentLength: number) => true;
126
141
  'update:textCount': (value: number) => true;
@@ -198,6 +213,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
198
213
  type: BooleanConstructor;
199
214
  default: boolean;
200
215
  };
216
+ /**
217
+ * 有字数上限提示但是不限制字数输入
218
+ */
219
+ wordLimitTip: {
220
+ type: StringConstructor;
221
+ default: string;
222
+ };
201
223
  }>> & Readonly<{
202
224
  onChange?: ((contentLength: number) => any) | undefined;
203
225
  onClear?: (() => any) | undefined;
@@ -213,6 +235,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
213
235
  maxLength: number;
214
236
  showWordLimit: boolean;
215
237
  simple: boolean;
238
+ wordLimitTip: string;
216
239
  preTime: string;
217
240
  textCount: number;
218
241
  listenAnchorId: string;
@@ -66,6 +66,10 @@ declare const EditorContainer: {
66
66
  type: BooleanConstructor;
67
67
  default: boolean;
68
68
  };
69
+ wordLimitTip: {
70
+ type: StringConstructor;
71
+ default: string;
72
+ };
69
73
  }>> & Readonly<{
70
74
  onChange?: ((contentLength: number) => any) | undefined;
71
75
  onClear?: (() => any) | undefined;
@@ -78,6 +82,9 @@ declare const EditorContainer: {
78
82
  innerRender: () => import("vue/jsx-runtime").JSX.Element;
79
83
  innerGetContent: (_options?: import("./context").ContentOptions) => string;
80
84
  innerSetContent: (content: string) => Promise<void>;
85
+ innerSetMarkdown: (markdown: string) => Promise<void>;
86
+ innerAppendMarkdown: (markdown: string) => Promise<void>;
87
+ innerGetMarkdownContent: () => string;
81
88
  innerAppendContent: (content: string | string[]) => Promise<void>;
82
89
  innerGetTextContent: () => string[];
83
90
  innerInsertContent: (content: string | Node) => void;
@@ -97,11 +104,15 @@ declare const EditorContainer: {
97
104
  innerInsertContentAtCursor: (_content: string | string[], func?: (canInsert: boolean) => void) => void;
98
105
  innerRenderHightlight: (matchingContent: string) => void;
99
106
  innerUnrenderHightlight: () => void;
107
+ innerIsWordLengthExceeded: () => boolean;
100
108
  }, {}, {}, {
101
109
  getContent(options?: import("./context").ContentOptions): string;
102
110
  getHtml(options: import("./context").ContentOptions): string;
103
111
  setContent(content: string): Promise<void>;
104
112
  setHtml(content: string): Promise<void>;
113
+ setMarkdown(markdown: string): Promise<void>;
114
+ appendMarkdown(markdown: string): Promise<void>;
115
+ getMarkdownContent(): string;
105
116
  appendContent(content: string | string[]): Promise<void>;
106
117
  getTextContent(): string[];
107
118
  insertContent(content: string | Node): void;
@@ -122,6 +133,7 @@ declare const EditorContainer: {
122
133
  clear(): Promise<void>;
123
134
  renderHighlight(matchingContent: string): void;
124
135
  unrenderHighlight(): void;
136
+ isWordLengthExceeded(): boolean;
125
137
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
126
138
  change: (contentLength: number) => true;
127
139
  'update:textCount': (value: number) => true;
@@ -137,6 +149,7 @@ declare const EditorContainer: {
137
149
  maxLength: number;
138
150
  showWordLimit: boolean;
139
151
  simple: boolean;
152
+ wordLimitTip: string;
140
153
  preTime: string;
141
154
  textCount: number;
142
155
  listenAnchorId: string;
@@ -216,6 +229,10 @@ declare const EditorContainer: {
216
229
  type: BooleanConstructor;
217
230
  default: boolean;
218
231
  };
232
+ wordLimitTip: {
233
+ type: StringConstructor;
234
+ default: string;
235
+ };
219
236
  }>> & Readonly<{
220
237
  onChange?: ((contentLength: number) => any) | undefined;
221
238
  onClear?: (() => any) | undefined;
@@ -228,6 +245,9 @@ declare const EditorContainer: {
228
245
  innerRender: () => import("vue/jsx-runtime").JSX.Element;
229
246
  innerGetContent: (_options?: import("./context").ContentOptions) => string;
230
247
  innerSetContent: (content: string) => Promise<void>;
248
+ innerSetMarkdown: (markdown: string) => Promise<void>;
249
+ innerAppendMarkdown: (markdown: string) => Promise<void>;
250
+ innerGetMarkdownContent: () => string;
231
251
  innerAppendContent: (content: string | string[]) => Promise<void>;
232
252
  innerGetTextContent: () => string[];
233
253
  innerInsertContent: (content: string | Node) => void;
@@ -247,11 +267,15 @@ declare const EditorContainer: {
247
267
  innerInsertContentAtCursor: (_content: string | string[], func?: (canInsert: boolean) => void) => void;
248
268
  innerRenderHightlight: (matchingContent: string) => void;
249
269
  innerUnrenderHightlight: () => void;
270
+ innerIsWordLengthExceeded: () => boolean;
250
271
  }, {}, {}, {
251
272
  getContent(options?: import("./context").ContentOptions): string;
252
273
  getHtml(options: import("./context").ContentOptions): string;
253
274
  setContent(content: string): Promise<void>;
254
275
  setHtml(content: string): Promise<void>;
276
+ setMarkdown(markdown: string): Promise<void>;
277
+ appendMarkdown(markdown: string): Promise<void>;
278
+ getMarkdownContent(): string;
255
279
  appendContent(content: string | string[]): Promise<void>;
256
280
  getTextContent(): string[];
257
281
  insertContent(content: string | Node): void;
@@ -272,6 +296,7 @@ declare const EditorContainer: {
272
296
  clear(): Promise<void>;
273
297
  renderHighlight(matchingContent: string): void;
274
298
  unrenderHighlight(): void;
299
+ isWordLengthExceeded(): boolean;
275
300
  }, {
276
301
  highlight: boolean;
277
302
  class: string | unknown[];
@@ -280,6 +305,7 @@ declare const EditorContainer: {
280
305
  maxLength: number;
281
306
  showWordLimit: boolean;
282
307
  simple: boolean;
308
+ wordLimitTip: string;
283
309
  preTime: string;
284
310
  textCount: number;
285
311
  listenAnchorId: string;
@@ -356,6 +382,10 @@ declare const EditorContainer: {
356
382
  type: BooleanConstructor;
357
383
  default: boolean;
358
384
  };
385
+ wordLimitTip: {
386
+ type: StringConstructor;
387
+ default: string;
388
+ };
359
389
  }>> & Readonly<{
360
390
  onChange?: ((contentLength: number) => any) | undefined;
361
391
  onClear?: (() => any) | undefined;
@@ -368,6 +398,9 @@ declare const EditorContainer: {
368
398
  innerRender: () => import("vue/jsx-runtime").JSX.Element;
369
399
  innerGetContent: (_options?: import("./context").ContentOptions) => string;
370
400
  innerSetContent: (content: string) => Promise<void>;
401
+ innerSetMarkdown: (markdown: string) => Promise<void>;
402
+ innerAppendMarkdown: (markdown: string) => Promise<void>;
403
+ innerGetMarkdownContent: () => string;
371
404
  innerAppendContent: (content: string | string[]) => Promise<void>;
372
405
  innerGetTextContent: () => string[];
373
406
  innerInsertContent: (content: string | Node) => void;
@@ -387,11 +420,15 @@ declare const EditorContainer: {
387
420
  innerInsertContentAtCursor: (_content: string | string[], func?: (canInsert: boolean) => void) => void;
388
421
  innerRenderHightlight: (matchingContent: string) => void;
389
422
  innerUnrenderHightlight: () => void;
423
+ innerIsWordLengthExceeded: () => boolean;
390
424
  }, {}, {}, {
391
425
  getContent(options?: import("./context").ContentOptions): string;
392
426
  getHtml(options: import("./context").ContentOptions): string;
393
427
  setContent(content: string): Promise<void>;
394
428
  setHtml(content: string): Promise<void>;
429
+ setMarkdown(markdown: string): Promise<void>;
430
+ appendMarkdown(markdown: string): Promise<void>;
431
+ getMarkdownContent(): string;
395
432
  appendContent(content: string | string[]): Promise<void>;
396
433
  getTextContent(): string[];
397
434
  insertContent(content: string | Node): void;
@@ -412,6 +449,7 @@ declare const EditorContainer: {
412
449
  clear(): Promise<void>;
413
450
  renderHighlight(matchingContent: string): void;
414
451
  unrenderHighlight(): void;
452
+ isWordLengthExceeded(): boolean;
415
453
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
416
454
  change: (contentLength: number) => true;
417
455
  'update:textCount': (value: number) => true;
@@ -427,6 +465,7 @@ declare const EditorContainer: {
427
465
  maxLength: number;
428
466
  showWordLimit: boolean;
429
467
  simple: boolean;
468
+ wordLimitTip: string;
430
469
  preTime: string;
431
470
  textCount: number;
432
471
  listenAnchorId: string;
@@ -35,6 +35,9 @@ export declare const useEditor: (editor: Ref<HTMLDivElement | undefined>, props:
35
35
  hasPausationTag: Ref<boolean, boolean>;
36
36
  getContent: (_options?: ContentOptions) => string;
37
37
  setContent: (content: string) => Promise<void>;
38
+ setMarkdown: (markdown: string) => Promise<void>;
39
+ appendMarkdown: (markdown: string) => Promise<void>;
40
+ getMarkdownContent: () => string;
38
41
  appendContent: (content: string | string[]) => Promise<void>;
39
42
  getTextContent: () => string[];
40
43
  insertContent: (content: string | Node) => void;
@@ -42,6 +45,7 @@ export declare const useEditor: (editor: Ref<HTMLDivElement | undefined>, props:
42
45
  updateContent: (content: string | Node) => void;
43
46
  isCaret: () => boolean;
44
47
  isRange: () => boolean;
48
+ isWordLengthExceeded: () => boolean;
45
49
  isSelectionInDifferentParas: () => boolean;
46
50
  isSelectionContainsTag: (type: PluginFlag) => boolean;
47
51
  convertToContent: (node: HTMLElement | Text) => string | undefined;
@@ -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-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{display:flex;gap:6px}.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--simple .c-editor-container__word-length-exceed-container{display:flex;align-items:center;gap:2px}.c-editor-container__status--simple .c-editor-container__word-length-exceed,.c-editor-container__status--simple .c-editor-container__word-length-exceed-icon{display:inline-block;color:#f53f3f}.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}
@@ -45,4 +45,8 @@ export interface EditorComponentProps {
45
45
  * 是否显示预计时长
46
46
  */
47
47
  showPreTime: boolean;
48
+ /**
49
+ * 字数上限提示
50
+ */
51
+ wordLimitTip?: string;
48
52
  }
@@ -11,4 +11,7 @@ export declare abstract class IContentManager {
11
11
  abstract getParas(): HTMLElement[];
12
12
  abstract getTextContent(): string[];
13
13
  abstract insertEmptyPara(): void;
14
+ abstract setMarkdown(markdown: string): void;
15
+ abstract appendMarkdown(markdown: string): void;
16
+ abstract getMarkdownContent(): string;
14
17
  }
@@ -17,4 +17,5 @@ export declare abstract class IEditorCore {
17
17
  abstract editorLeft(): number;
18
18
  abstract appendContent(content: string | string[]): void;
19
19
  abstract element: HTMLElement;
20
+ abstract readonly wordLimitTip: string;
20
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linker-design-plus/tiny-peony",
3
- "version": "1.4.34",
3
+ "version": "1.4.36",
4
4
  "description": "a simple editor",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -8,6 +8,11 @@
8
8
  "registry": "https://registry.npmjs.org/",
9
9
  "access": "public"
10
10
  },
11
+ "scripts": {
12
+ "startup": "pnpm build",
13
+ "build": "pnpm clean && vue-tsc --noEmit && vite build && vue-tsc --declaration --emitDeclarationOnly --outDir dist",
14
+ "clean": "rm -rf dist"
15
+ },
11
16
  "files": [
12
17
  "dist"
13
18
  ],
@@ -22,6 +27,7 @@
22
27
  "@om-design/util": "^1.6.1",
23
28
  "@vueuse/core": "^12.3.0",
24
29
  "@zcsol/shared": "^0.1.0",
30
+ "marked": "^18.0.0",
25
31
  "uuid": "^11.0.4",
26
32
  "vue": "3.5.13"
27
33
  },
@@ -35,10 +41,5 @@
35
41
  "typescript": "^5.7.2",
36
42
  "vite": "^6.0.7",
37
43
  "vue-tsc": "^2.2.0"
38
- },
39
- "scripts": {
40
- "startup": "pnpm build",
41
- "build": "pnpm clean && vue-tsc --noEmit && vite build && vue-tsc --declaration --emitDeclarationOnly --outDir dist",
42
- "clean": "rm -rf dist"
43
44
  }
44
- }
45
+ }