vkedit 3.2.7 → 4.0.1

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 (100) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/LICENSE +21 -21
  3. package/README.en.md +38 -36
  4. package/README.md +41 -28
  5. package/THIRD_PARTY_LICENSES.md +64 -0
  6. package/dist/commands/add-element-command.d.ts +0 -2
  7. package/dist/commands/change-layer-order-command.d.ts +2 -0
  8. package/dist/commands/index.d.ts +2 -0
  9. package/dist/commands/reorder-elements-command.d.ts +20 -0
  10. package/dist/commands/update-canvas-property-command.d.ts +23 -0
  11. package/dist/components/BaseElementPropertyPanel.vue.d.ts +28 -1
  12. package/dist/components/TextProperty.vue.d.ts +2 -0
  13. package/dist/components/ui/VkButton.vue.d.ts +2 -2
  14. package/dist/components/ui/VkColorPicker.vue.d.ts +26 -0
  15. package/dist/components/ui/VkTextarea.vue.d.ts +20 -0
  16. package/dist/components/ui/index.d.ts +2 -1
  17. package/dist/core/ContentLayer.vue.d.ts +0 -2
  18. package/dist/core/Editor.vue.d.ts +1 -0
  19. package/dist/{plugins/rect/Tool.vue.d.ts → core/GraphicToolRenderer.vue.d.ts} +6 -1
  20. package/dist/core/HelpGuide.vue.d.ts +3 -1
  21. package/dist/{plugins/table/CellsBorder.vue.d.ts → core/TransformOverlay.vue.d.ts} +2 -2
  22. package/dist/core/editor-host.d.ts +4 -11
  23. package/dist/favicon.svg +21 -0
  24. package/dist/hooks/index.d.ts +2 -0
  25. package/dist/hooks/use-canvas-property-command.d.ts +5 -0
  26. package/dist/hooks/use-content-layer.d.ts +6 -6
  27. package/dist/hooks/use-host-state.d.ts +1 -0
  28. package/dist/hooks/use-ruler-layer.d.ts +24 -0
  29. package/dist/hooks/use-selection-layer.d.ts +2 -3
  30. package/dist/hooks/use-stage-event.d.ts +1 -0
  31. package/dist/hooks/use-transform-overlay.d.ts +108 -0
  32. package/dist/index-Dpse_csX.js +25656 -0
  33. package/dist/{index.es-B1gCGYT7.js → index.es-LscL1n3Y.js} +1 -1
  34. package/dist/plugins/barcode/Shape.vue.d.ts +1 -1
  35. package/dist/plugins/barcode/index.d.ts +0 -1
  36. package/dist/plugins/export/export.d.ts +1 -2
  37. package/dist/plugins/graphic-registry/graphic-registry.d.ts +43 -0
  38. package/dist/plugins/graphic-registry/index.d.ts +1 -0
  39. package/dist/plugins/import/import.d.ts +1 -2
  40. package/dist/plugins/index.d.ts +2 -6
  41. package/dist/plugins/{table/ContextMenu.vue.d.ts → layer-manager/LayerPanel.vue.d.ts} +5 -4
  42. package/dist/plugins/layer-manager/index.d.ts +2 -0
  43. package/dist/plugins/layer-manager/layer-manager.d.ts +16 -0
  44. package/dist/plugins/line/Shape.vue.d.ts +3 -1
  45. package/dist/plugins/line/index.d.ts +0 -1
  46. package/dist/plugins/qrcode/Shape.vue.d.ts +1 -1
  47. package/dist/plugins/qrcode/index.d.ts +0 -1
  48. package/dist/plugins/rect/Shape.vue.d.ts +1 -1
  49. package/dist/plugins/rect/index.d.ts +0 -1
  50. package/dist/plugins/selection.d.ts +0 -1
  51. package/dist/plugins/text/Shape.vue.d.ts +1 -1
  52. package/dist/plugins/text/index.d.ts +0 -1
  53. package/dist/types/base-graphic-element.d.ts +10 -3
  54. package/dist/types/base.d.ts +6 -18
  55. package/dist/types/event-data.d.ts +38 -0
  56. package/dist/types/event-map.d.ts +14 -7
  57. package/dist/types/graphic-plugin.d.ts +53 -0
  58. package/dist/types/index.d.ts +1 -3
  59. package/dist/utils/color.d.ts +40 -0
  60. package/dist/utils/css-var.d.ts +14 -0
  61. package/dist/utils/index.d.ts +4 -0
  62. package/dist/utils/readability.d.ts +22 -0
  63. package/dist/utils/theme.d.ts +2 -0
  64. package/dist/utils/transform-geometry.d.ts +62 -0
  65. package/dist/utils/transform-overlay.d.ts +62 -0
  66. package/dist/vkedit.css +1 -1
  67. package/dist/vkedit.es.js +84 -97
  68. package/package.json +21 -21
  69. package/dist/components/ui/VkIcon.vue.d.ts +0 -8
  70. package/dist/favicon.ico +0 -0
  71. package/dist/index-Aa1HXlw6.js +0 -72887
  72. package/dist/plugins/barcode/Tool.vue.d.ts +0 -6
  73. package/dist/plugins/barcode/barcode.d.ts +0 -76
  74. package/dist/plugins/chart/PropertyPanel.vue.d.ts +0 -9
  75. package/dist/plugins/chart/Shape.vue.d.ts +0 -23
  76. package/dist/plugins/chart/Tool.vue.d.ts +0 -6
  77. package/dist/plugins/chart/chart.d.ts +0 -38
  78. package/dist/plugins/chart/index.d.ts +0 -4
  79. package/dist/plugins/element-manager.d.ts +0 -24
  80. package/dist/plugins/graphic-manager/graphic-manager.d.ts +0 -31
  81. package/dist/plugins/graphic-manager/index.d.ts +0 -1
  82. package/dist/plugins/graphic-tool-manager.d.ts +0 -16
  83. package/dist/plugins/line/Tool.vue.d.ts +0 -7
  84. package/dist/plugins/line/line.d.ts +0 -61
  85. package/dist/plugins/property-panel-manager/index.d.ts +0 -1
  86. package/dist/plugins/property-panel-manager/property-panel-manager.d.ts +0 -32
  87. package/dist/plugins/qrcode/Tool.vue.d.ts +0 -6
  88. package/dist/plugins/qrcode/qrcode.d.ts +0 -75
  89. package/dist/plugins/rect/rect.d.ts +0 -69
  90. package/dist/plugins/table/PropertyPanel.vue.d.ts +0 -9
  91. package/dist/plugins/table/Shape.vue.d.ts +0 -26
  92. package/dist/plugins/table/Tool.vue.d.ts +0 -7
  93. package/dist/plugins/table/cell.d.ts +0 -61
  94. package/dist/plugins/table/index.d.ts +0 -6
  95. package/dist/plugins/table/table.d.ts +0 -92
  96. package/dist/plugins/text/Tool.vue.d.ts +0 -6
  97. package/dist/plugins/text/text.d.ts +0 -76
  98. package/dist/types/base-graphic-type.d.ts +0 -9
  99. package/dist/types/element-type-map.d.ts +0 -12
  100. package/dist/types/plugin-map.d.ts +0 -12
@@ -1,92 +0,0 @@
1
- import { BasePlugin } from '../../types/base-plugin';
2
- import { BaseGraphicElement, BaseGraphicElementOptions } from '../../types/base-graphic-element';
3
- import { EditorHost } from '../../core';
4
- export interface TableOptions extends BaseGraphicElementOptions {
5
- x?: number;
6
- y?: number;
7
- rowsHeight?: number[];
8
- colsWidth?: number[];
9
- cells?: any[][];
10
- xmm?: number;
11
- ymm?: number;
12
- }
13
- export interface CellConfig {
14
- x: number;
15
- y: number;
16
- width: number;
17
- height: number;
18
- fill: string;
19
- text: string;
20
- borderUp: boolean;
21
- borderLeft: boolean;
22
- mergeUp: boolean;
23
- mergeLeft: boolean;
24
- fontSize: number;
25
- align: 'left' | 'center' | 'right' | 'justify';
26
- verticalAlign: 'top' | 'middle' | 'bottom';
27
- fontStyle?: 'normal' | 'italic' | 'bold' | '500' | 'italic bold';
28
- visible: boolean;
29
- }
30
- export declare class TableElement extends BaseGraphicElement {
31
- type: string;
32
- activeCell: CellConfig;
33
- activeRow: number;
34
- activeCol: number;
35
- rowsHeight: number[];
36
- colsWidth: number[];
37
- cells: CellConfig[][];
38
- constructor(host: EditorHost, options?: Partial<TableOptions>);
39
- initWidthHeight(): void;
40
- initCells(): void;
41
- updateCells(): void;
42
- getCellX(col: number): number;
43
- getCellY(row: number): number;
44
- getCellSize: (rowIndex: number, colIndex: number) => {
45
- width: number;
46
- height: number;
47
- };
48
- setActiveCell(rowIndex: number, colIndex: number): void;
49
- getDefaultCellConfig(rowIndex: number, colIndex: number): CellConfig;
50
- addRow(after?: number): void;
51
- removeRow(index?: number): void;
52
- addCol(after?: number): void;
53
- removeCol(index?: number): void;
54
- deserialize(data: any): void;
55
- serialize(): {
56
- rowsHeight: number[];
57
- colsWidth: number[];
58
- cells: CellConfig[][];
59
- id: string;
60
- type: string;
61
- xmm: number;
62
- ymm: number;
63
- wmm: number;
64
- hmm: number;
65
- rotation: number;
66
- scaleX: number;
67
- scaleY: number;
68
- visible: boolean;
69
- locked: boolean;
70
- draggable: boolean;
71
- transferable: boolean;
72
- };
73
- getCell(row?: number, col?: number): CellConfig | undefined;
74
- get rowCount(): number;
75
- get colCount(): number;
76
- offset(row: number, col: number): CellConfig | undefined;
77
- }
78
- export declare class TablePlugin extends BasePlugin {
79
- name: string;
80
- version: string;
81
- protected onInstall(): void;
82
- }
83
- declare module '../../types' {
84
- interface ElementTypeMap {
85
- table: TableElement;
86
- }
87
- }
88
- declare module '../../types' {
89
- interface PluginMap {
90
- 'table-plugin': TablePlugin;
91
- }
92
- }
@@ -1,6 +0,0 @@
1
- type __VLS_Props = {
2
- host: import('../../core').EditorHost;
3
- collapsed?: boolean;
4
- };
5
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
6
- export default _default;
@@ -1,76 +0,0 @@
1
- import { BasePlugin } from '../../types/base-plugin';
2
- import { BaseGraphicElement, BaseGraphicElementOptions } from '../../types/base-graphic-element';
3
- import { EditorHost } from '../../core';
4
- export interface TextOptions extends BaseGraphicElementOptions {
5
- x?: number;
6
- y?: number;
7
- text?: string;
8
- fontSize?: number;
9
- align?: 'left' | 'center' | 'right' | 'justify';
10
- verticalAlign?: 'top' | 'middle' | 'bottom';
11
- fontStyle?: 'normal' | 'italic' | 'bold' | '500' | 'italic bold';
12
- xmm?: number;
13
- ymm?: number;
14
- }
15
- export declare class TextElement extends BaseGraphicElement {
16
- type: string;
17
- text: string;
18
- fontSize: number;
19
- align: 'left' | 'center' | 'right' | 'justify';
20
- verticalAlign: 'top' | 'middle' | 'bottom';
21
- fontStyle: 'normal' | 'italic' | 'bold' | '500' | 'italic bold';
22
- constructor(host: EditorHost, options?: Partial<TextOptions>);
23
- get config(): {
24
- text: string;
25
- fontSize: number;
26
- align: "left" | "right" | "center" | "justify";
27
- verticalAlign: "top" | "bottom" | "middle";
28
- fontStyle: "bold" | "normal" | "italic" | "500" | "italic bold";
29
- id: string;
30
- x: number;
31
- y: number;
32
- width: number;
33
- height: number;
34
- rotation: number;
35
- scaleX: number;
36
- scaleY: number;
37
- visible: boolean;
38
- draggable: boolean;
39
- };
40
- deserialize(data: any): void;
41
- serialize(): {
42
- text: string;
43
- fontSize: number;
44
- align: "left" | "right" | "center" | "justify";
45
- verticalAlign: "top" | "bottom" | "middle";
46
- fontStyle: "bold" | "normal" | "italic" | "500" | "italic bold";
47
- id: string;
48
- type: string;
49
- xmm: number;
50
- ymm: number;
51
- wmm: number;
52
- hmm: number;
53
- rotation: number;
54
- scaleX: number;
55
- scaleY: number;
56
- visible: boolean;
57
- locked: boolean;
58
- draggable: boolean;
59
- transferable: boolean;
60
- };
61
- }
62
- export declare class TextPlugin extends BasePlugin {
63
- name: string;
64
- version: string;
65
- protected onInstall(): void;
66
- }
67
- declare module '../../types' {
68
- interface ElementTypeMap {
69
- text: TextElement;
70
- }
71
- }
72
- declare module '../../types' {
73
- interface PluginMap {
74
- 'text-plugin': TextPlugin;
75
- }
76
- }
@@ -1,9 +0,0 @@
1
- import { Component } from 'vue';
2
- import { IGraphicElement, IGraphicType } from '.';
3
- export declare abstract class BaseGraphicType implements IGraphicType {
4
- abstract readonly type: string;
5
- abstract render(): Component;
6
- abstract renderTool(): Component;
7
- abstract renderPropertyPanel(): Component;
8
- abstract createElement(x: number, y: number): IGraphicElement;
9
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * 可扩展的元素类型映射(插件可以通过模块声明合并来为此接口添加新类型)
3
- * 示例:在某个插件中扩展`ElementTypeMap`
4
- * - `declare module '@/types' {`
5
- * - `interface ElementTypeMap {`
6
- * - `yourType: YourElement}`
7
- * - `}`
8
- * - 然后你就可以这样使用它了:
9
- * - const el = elementManager.createElement('yourType') // el 的类型被推断为 YourElement
10
- */
11
- export interface ElementTypeMap {
12
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * PluginMap 保持为空接口,具体插件应在各自实现文件中用模块声明合并(declare module '@/types')来扩展。
3
- * 例如在 `src/plugins/rect/rect.ts` 中添加:
4
- *
5
- * declare module '@/types' {
6
- * interface PluginMap {
7
- * 'rect-plugin': RectPlugin
8
- * }
9
- * }
10
- */
11
- export interface PluginMap {
12
- }