vue-editify 0.2.17 → 0.2.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/examples/App.vue +4 -12
  2. package/lib/components/colors/colors.vue.d.ts +9 -0
  3. package/lib/components/colors/props.d.ts +4 -0
  4. package/lib/components/tooltip/tooltip.vue.d.ts +1 -1
  5. package/lib/core/function.d.ts +112 -64
  6. package/lib/core/rule.d.ts +23 -17
  7. package/lib/core/shortcut.d.ts +36 -0
  8. package/lib/core/tool.d.ts +12 -16
  9. package/lib/editify/editify.vue.d.ts +162 -15
  10. package/lib/editify/props.d.ts +1 -5
  11. package/lib/editify/toolbar/props.d.ts +1 -1
  12. package/lib/editify/toolbar/toolbar.vue.d.ts +3 -3
  13. package/lib/editify.es.js +13660 -12954
  14. package/lib/editify.umd.js +2 -2
  15. package/lib/feature/align.d.ts +0 -14
  16. package/lib/feature/heading.d.ts +0 -14
  17. package/lib/feature/lineHeight.d.ts +0 -14
  18. package/lib/feature/orderList.d.ts +1 -3
  19. package/lib/feature/task.d.ts +0 -14
  20. package/lib/feature/unorderList.d.ts +1 -3
  21. package/lib/index.d.ts +164 -17
  22. package/package.json +2 -2
  23. package/src/components/button/button.vue +3 -3
  24. package/src/components/checkbox/checkbox.vue +1 -1
  25. package/src/components/colors/colors.vue +4 -4
  26. package/src/components/colors/props.ts +6 -1
  27. package/src/components/insertAttachment/insertAttachment.vue +1 -1
  28. package/src/components/insertImage/insertImage.vue +1 -1
  29. package/src/components/insertLink/insertLink.vue +1 -1
  30. package/src/components/insertVideo/insertVideo.vue +1 -1
  31. package/src/components/layer/layer.vue +9 -3
  32. package/src/components/tooltip/tooltip.vue +1 -1
  33. package/src/components/updateLink/updateLink.vue +1 -1
  34. package/src/core/function.ts +873 -491
  35. package/src/core/rule.ts +86 -368
  36. package/src/core/shortcut.ts +386 -0
  37. package/src/core/tool.ts +111 -159
  38. package/src/css/var.less +0 -10
  39. package/src/editify/editify.less +85 -39
  40. package/src/editify/editify.vue +204 -88
  41. package/src/editify/menu/menu.vue +2 -3
  42. package/src/editify/props.ts +1 -6
  43. package/src/editify/toolbar/props.ts +2 -2
  44. package/src/editify/toolbar/toolbar.vue +12 -12
  45. package/src/feature/align.ts +2 -62
  46. package/src/feature/attachment.ts +14 -27
  47. package/src/feature/backColor.ts +2 -1
  48. package/src/feature/bold.ts +1 -1
  49. package/src/feature/code.ts +1 -1
  50. package/src/feature/codeBlock.ts +3 -3
  51. package/src/feature/fontFamily.ts +1 -1
  52. package/src/feature/fontSize.ts +1 -1
  53. package/src/feature/foreColor.ts +2 -1
  54. package/src/feature/formatClear.ts +1 -1
  55. package/src/feature/fullScreen.ts +1 -1
  56. package/src/feature/heading.ts +5 -76
  57. package/src/feature/image.ts +1 -1
  58. package/src/feature/indent.ts +1 -1
  59. package/src/feature/infoBlock.ts +6 -37
  60. package/src/feature/italic.ts +1 -1
  61. package/src/feature/lineHeight.ts +2 -78
  62. package/src/feature/link.ts +1 -1
  63. package/src/feature/mathformula.ts +4 -51
  64. package/src/feature/orderList.ts +168 -37
  65. package/src/feature/quote.ts +3 -3
  66. package/src/feature/redo.ts +1 -1
  67. package/src/feature/separator.ts +1 -1
  68. package/src/feature/sourceView.ts +1 -1
  69. package/src/feature/strikethrough.ts +1 -1
  70. package/src/feature/sub.ts +1 -1
  71. package/src/feature/super.ts +1 -1
  72. package/src/feature/table.ts +3 -3
  73. package/src/feature/task.ts +4 -58
  74. package/src/feature/underline.ts +1 -1
  75. package/src/feature/undo.ts +1 -1
  76. package/src/feature/unorderList.ts +108 -37
  77. package/src/feature/video.ts +1 -1
  78. package/src/icon/iconfont.css +39 -3
  79. package/src/icon/iconfont.ttf +0 -0
  80. package/src/icon/iconfont.woff +0 -0
  81. package/src/index.ts +13 -11
  82. package/src/locale/en_US.ts +109 -110
  83. package/src/locale/zh_CN.ts +11 -12
  84. package/lib/feature/panel.d.ts +0 -18
  85. package/src/feature/panel.ts +0 -107
@@ -107,10 +107,6 @@ declare const _default: import('vue').DefineComponent<{
107
107
  type: BooleanConstructor;
108
108
  default: boolean;
109
109
  };
110
- tab: {
111
- type: BooleanConstructor;
112
- default: boolean;
113
- };
114
110
  dark: {
115
111
  type: BooleanConstructor;
116
112
  default: boolean;
@@ -287,11 +283,156 @@ declare const _default: import('vue').DefineComponent<{
287
283
  };
288
284
  } | null;
289
285
  }[];
290
- current: number;
291
- push: (stack: AlexElement[], range?: import('alex-editor').AlexRange | null) => void;
292
- get: (type: -1 | 1) => import('alex-editor').AlexHistoryResultType | null;
293
- updateCurrentRange: (range: import('alex-editor').AlexRange) => void;
294
- __cloneRange: (newStack: AlexElement[], range?: import('alex-editor').AlexRange | null) => import('alex-editor').AlexRange | null;
286
+ redoRecords: {
287
+ stack: {
288
+ key: number;
289
+ type: import('alex-editor').AlexElementType;
290
+ parsedom: string | null;
291
+ marks: import('alex-editor').ObjectType | null;
292
+ styles: import('alex-editor').ObjectType | null;
293
+ textContent: string | null;
294
+ children: any[] | null;
295
+ parent: any | null;
296
+ behavior: "default" | "block";
297
+ namespace: string | null;
298
+ locked: boolean;
299
+ elm: HTMLElement | null;
300
+ isBlock: () => boolean;
301
+ isInblock: () => boolean;
302
+ isInline: () => boolean;
303
+ isClosed: () => boolean;
304
+ isText: () => boolean;
305
+ isBreak: () => boolean;
306
+ isEmpty: () => boolean;
307
+ isSpaceText: () => boolean;
308
+ getUneditableElement: () => AlexElement | null;
309
+ isEqual: (element: AlexElement) => boolean;
310
+ isContains: (element: AlexElement) => boolean;
311
+ isOnlyHasBreak: () => boolean | 0;
312
+ isPreStyle: () => boolean;
313
+ hasMarks: () => boolean;
314
+ hasStyles: () => boolean;
315
+ hasChildren: () => boolean;
316
+ hasContains: (element: AlexElement) => boolean;
317
+ clone: (deep?: boolean | undefined) => AlexElement;
318
+ convertToBlock: () => void;
319
+ toEmpty: () => void;
320
+ getBlock: () => AlexElement;
321
+ getInblock: () => AlexElement | null;
322
+ getInline: () => AlexElement | null;
323
+ isEqualStyles: (element: AlexElement) => boolean;
324
+ isEqualMarks: (element: AlexElement) => boolean;
325
+ isFirst: (element: AlexElement) => boolean;
326
+ isLast: (element: AlexElement) => boolean;
327
+ __render: () => void;
328
+ __fullClone: () => AlexElement;
329
+ }[];
330
+ range: {
331
+ anchor: {
332
+ element: {
333
+ key: number;
334
+ type: import('alex-editor').AlexElementType;
335
+ parsedom: string | null;
336
+ marks: import('alex-editor').ObjectType | null;
337
+ styles: import('alex-editor').ObjectType | null;
338
+ textContent: string | null;
339
+ children: any[] | null;
340
+ parent: any | null;
341
+ behavior: "default" | "block";
342
+ namespace: string | null;
343
+ locked: boolean;
344
+ elm: HTMLElement | null;
345
+ isBlock: () => boolean;
346
+ isInblock: () => boolean;
347
+ isInline: () => boolean;
348
+ isClosed: () => boolean;
349
+ isText: () => boolean;
350
+ isBreak: () => boolean;
351
+ isEmpty: () => boolean;
352
+ isSpaceText: () => boolean;
353
+ getUneditableElement: () => AlexElement | null;
354
+ isEqual: (element: AlexElement) => boolean;
355
+ isContains: (element: AlexElement) => boolean;
356
+ isOnlyHasBreak: () => boolean | 0;
357
+ isPreStyle: () => boolean;
358
+ hasMarks: () => boolean;
359
+ hasStyles: () => boolean;
360
+ hasChildren: () => boolean;
361
+ hasContains: (element: AlexElement) => boolean;
362
+ clone: (deep?: boolean | undefined) => AlexElement;
363
+ convertToBlock: () => void;
364
+ toEmpty: () => void;
365
+ getBlock: () => AlexElement;
366
+ getInblock: () => AlexElement | null;
367
+ getInline: () => AlexElement | null;
368
+ isEqualStyles: (element: AlexElement) => boolean;
369
+ isEqualMarks: (element: AlexElement) => boolean;
370
+ isFirst: (element: AlexElement) => boolean;
371
+ isLast: (element: AlexElement) => boolean;
372
+ __render: () => void;
373
+ __fullClone: () => AlexElement;
374
+ };
375
+ offset: number;
376
+ isEqual: (point: import('alex-editor').AlexPoint) => boolean;
377
+ moveToEnd: (element: AlexElement) => void;
378
+ moveToStart: (element: AlexElement) => void;
379
+ };
380
+ focus: {
381
+ element: {
382
+ key: number;
383
+ type: import('alex-editor').AlexElementType;
384
+ parsedom: string | null;
385
+ marks: import('alex-editor').ObjectType | null;
386
+ styles: import('alex-editor').ObjectType | null;
387
+ textContent: string | null;
388
+ children: any[] | null;
389
+ parent: any | null;
390
+ behavior: "default" | "block";
391
+ namespace: string | null;
392
+ locked: boolean;
393
+ elm: HTMLElement | null;
394
+ isBlock: () => boolean;
395
+ isInblock: () => boolean;
396
+ isInline: () => boolean;
397
+ isClosed: () => boolean;
398
+ isText: () => boolean;
399
+ isBreak: () => boolean;
400
+ isEmpty: () => boolean;
401
+ isSpaceText: () => boolean;
402
+ getUneditableElement: () => AlexElement | null;
403
+ isEqual: (element: AlexElement) => boolean;
404
+ isContains: (element: AlexElement) => boolean;
405
+ isOnlyHasBreak: () => boolean | 0;
406
+ isPreStyle: () => boolean;
407
+ hasMarks: () => boolean;
408
+ hasStyles: () => boolean;
409
+ hasChildren: () => boolean;
410
+ hasContains: (element: AlexElement) => boolean;
411
+ clone: (deep?: boolean | undefined) => AlexElement;
412
+ convertToBlock: () => void;
413
+ toEmpty: () => void;
414
+ getBlock: () => AlexElement;
415
+ getInblock: () => AlexElement | null;
416
+ getInline: () => AlexElement | null;
417
+ isEqualStyles: (element: AlexElement) => boolean;
418
+ isEqualMarks: (element: AlexElement) => boolean;
419
+ isFirst: (element: AlexElement) => boolean;
420
+ isLast: (element: AlexElement) => boolean;
421
+ __render: () => void;
422
+ __fullClone: () => AlexElement;
423
+ };
424
+ offset: number;
425
+ isEqual: (point: import('alex-editor').AlexPoint) => boolean;
426
+ moveToEnd: (element: AlexElement) => void;
427
+ moveToStart: (element: AlexElement) => void;
428
+ };
429
+ } | null;
430
+ }[];
431
+ cloneRange: (newStack: AlexElement[], range: import('alex-editor').AlexRange | null) => import('alex-editor').AlexRange | null;
432
+ setState: (stack: AlexElement[], range: import('alex-editor').AlexRange | null) => void;
433
+ undo: () => import('alex-editor').AlexHistoryRecordType | null;
434
+ redo: () => import('alex-editor').AlexHistoryRecordType | null;
435
+ updateRange: (range: import('alex-editor').AlexRange) => void;
295
436
  };
296
437
  stack: {
297
438
  key: number;
@@ -437,7 +578,9 @@ declare const _default: import('vue').DefineComponent<{
437
578
  };
438
579
  } | null;
439
580
  __guid: number;
440
- __events: import('alex-editor').ObjectType;
581
+ __events: {
582
+ [key: string]: ((...args: any) => void)[];
583
+ };
441
584
  __oldStack: {
442
585
  key: number;
443
586
  type: import('alex-editor').AlexElementType;
@@ -484,6 +627,12 @@ declare const _default: import('vue').DefineComponent<{
484
627
  __isInputChinese: boolean;
485
628
  __innerSelectionChange: boolean;
486
629
  __chineseInputTimer: any;
630
+ __domObserver: {
631
+ disconnect: () => void;
632
+ observe: (target: Node, options?: MutationObserverInit) => void;
633
+ takeRecords: () => MutationRecord[];
634
+ } | null;
635
+ __illegalDoms: Node[];
487
636
  initRange: () => void;
488
637
  delete: () => void;
489
638
  insertText: (data: string) => void;
@@ -507,8 +656,11 @@ declare const _default: import('vue').DefineComponent<{
507
656
  collapseToEnd: (element?: AlexElement) => void;
508
657
  setDisabled: () => void;
509
658
  setEnabled: () => void;
659
+ undo: () => void;
660
+ redo: () => void;
510
661
  emit: (eventName: string, ...value: any) => boolean;
511
662
  on: (eventName: string, eventHandle: (...args: any) => void) => void;
663
+ off: (eventName: string, eventHandle?: (...args: any) => void) => void;
512
664
  destroy: () => void;
513
665
  } | null>;
514
666
  isSourceView: import('vue').Ref<boolean>;
@@ -730,10 +882,6 @@ declare const _default: import('vue').DefineComponent<{
730
882
  type: BooleanConstructor;
731
883
  default: boolean;
732
884
  };
733
- tab: {
734
- type: BooleanConstructor;
735
- default: boolean;
736
- };
737
885
  dark: {
738
886
  type: BooleanConstructor;
739
887
  default: boolean;
@@ -784,7 +932,6 @@ declare const _default: import('vue').DefineComponent<{
784
932
  extraKeepTags: string[];
785
933
  renderRules: ((el: AlexElement) => void)[];
786
934
  autoheight: boolean;
787
- tab: boolean;
788
935
  dark: boolean;
789
936
  offset: number;
790
937
  }, {}>;
@@ -10,7 +10,7 @@ export type EditifyResizeParamsType = {
10
10
  export type EditifyToolbarOptionsType = {
11
11
  show: boolean;
12
12
  node: string | null;
13
- type: 'text' | 'link' | 'image' | 'video' | 'table' | 'codeBlock';
13
+ type: 'text' | 'link' | 'image' | 'video' | 'table' | 'codeBlock' | 'orderList' | 'unorderList';
14
14
  };
15
15
  export declare const EditifyProps: {
16
16
  locale: {
@@ -118,10 +118,6 @@ export declare const EditifyProps: {
118
118
  type: BooleanConstructor;
119
119
  default: boolean;
120
120
  };
121
- tab: {
122
- type: BooleanConstructor;
123
- default: boolean;
124
- };
125
121
  dark: {
126
122
  type: BooleanConstructor;
127
123
  default: boolean;
@@ -15,7 +15,7 @@ export declare const ToolbarProps: {
15
15
  default: null;
16
16
  };
17
17
  type: {
18
- type: PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video">;
18
+ type: PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video" | "orderList" | "unorderList">;
19
19
  default: string;
20
20
  validator(value: any): boolean;
21
21
  };
@@ -14,7 +14,7 @@ declare const _default: import('vue').DefineComponent<{
14
14
  default: null;
15
15
  };
16
16
  type: {
17
- type: import('vue').PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video">;
17
+ type: import('vue').PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video" | "orderList" | "unorderList">;
18
18
  default: string;
19
19
  validator(value: any): boolean;
20
20
  };
@@ -326,7 +326,7 @@ declare const _default: import('vue').DefineComponent<{
326
326
  default: null;
327
327
  };
328
328
  type: {
329
- type: import('vue').PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video">;
329
+ type: import('vue').PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video" | "orderList" | "unorderList">;
330
330
  default: string;
331
331
  validator(value: any): boolean;
332
332
  };
@@ -345,7 +345,7 @@ declare const _default: import('vue').DefineComponent<{
345
345
  }>> & {
346
346
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
347
347
  }, {
348
- type: "text" | "link" | "table" | "video" | "image" | "codeBlock";
348
+ type: "text" | "orderList" | "unorderList" | "link" | "table" | "video" | "image" | "codeBlock";
349
349
  color: string;
350
350
  zIndex: number;
351
351
  modelValue: boolean;