@hprint/plugins 0.0.1-alpha.0

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 (153) hide show
  1. package/dist/index.css +1 -0
  2. package/dist/index.js +478 -0
  3. package/dist/index.mjs +41731 -0
  4. package/dist/src/index.d.ts +8 -0
  5. package/dist/src/index.d.ts.map +1 -0
  6. package/dist/src/objects/Arrow.d.ts +2 -0
  7. package/dist/src/objects/Arrow.d.ts.map +1 -0
  8. package/dist/src/objects/ThinTailArrow.d.ts +2 -0
  9. package/dist/src/objects/ThinTailArrow.d.ts.map +1 -0
  10. package/dist/src/plugins/AddBaseTypePlugin.d.ts +26 -0
  11. package/dist/src/plugins/AddBaseTypePlugin.d.ts.map +1 -0
  12. package/dist/src/plugins/AlignGuidLinePlugin.d.ts +16 -0
  13. package/dist/src/plugins/AlignGuidLinePlugin.d.ts.map +1 -0
  14. package/dist/src/plugins/BarCodePlugin.d.ts +68 -0
  15. package/dist/src/plugins/BarCodePlugin.d.ts.map +1 -0
  16. package/dist/src/plugins/CenterAlignPlugin.d.ts +29 -0
  17. package/dist/src/plugins/CenterAlignPlugin.d.ts.map +1 -0
  18. package/dist/src/plugins/ControlsPlugin.d.ts +11 -0
  19. package/dist/src/plugins/ControlsPlugin.d.ts.map +1 -0
  20. package/dist/src/plugins/ControlsRotatePlugin.d.ts +11 -0
  21. package/dist/src/plugins/ControlsRotatePlugin.d.ts.map +1 -0
  22. package/dist/src/plugins/CopyPlugin.d.ts +30 -0
  23. package/dist/src/plugins/CopyPlugin.d.ts.map +1 -0
  24. package/dist/src/plugins/CreateElementPlugin.d.ts +121 -0
  25. package/dist/src/plugins/CreateElementPlugin.d.ts.map +1 -0
  26. package/dist/src/plugins/DeleteHotKeyPlugin.d.ts +25 -0
  27. package/dist/src/plugins/DeleteHotKeyPlugin.d.ts.map +1 -0
  28. package/dist/src/plugins/DrawLinePlugin.d.ts +26 -0
  29. package/dist/src/plugins/DrawLinePlugin.d.ts.map +1 -0
  30. package/dist/src/plugins/DrawPolygonPlugin.d.ts +41 -0
  31. package/dist/src/plugins/DrawPolygonPlugin.d.ts.map +1 -0
  32. package/dist/src/plugins/DringPlugin.d.ts +33 -0
  33. package/dist/src/plugins/DringPlugin.d.ts.map +1 -0
  34. package/dist/src/plugins/FlipPlugin.d.ts +26 -0
  35. package/dist/src/plugins/FlipPlugin.d.ts.map +1 -0
  36. package/dist/src/plugins/FontPlugin.d.ts +33 -0
  37. package/dist/src/plugins/FontPlugin.d.ts.map +1 -0
  38. package/dist/src/plugins/FreeDrawPlugin.d.ts +23 -0
  39. package/dist/src/plugins/FreeDrawPlugin.d.ts.map +1 -0
  40. package/dist/src/plugins/GroupAlignPlugin.d.ts +24 -0
  41. package/dist/src/plugins/GroupAlignPlugin.d.ts.map +1 -0
  42. package/dist/src/plugins/GroupPlugin.d.ts +24 -0
  43. package/dist/src/plugins/GroupPlugin.d.ts.map +1 -0
  44. package/dist/src/plugins/GroupTextEditorPlugin.d.ts +18 -0
  45. package/dist/src/plugins/GroupTextEditorPlugin.d.ts.map +1 -0
  46. package/dist/src/plugins/HistoryPlugin.d.ts +30 -0
  47. package/dist/src/plugins/HistoryPlugin.d.ts.map +1 -0
  48. package/dist/src/plugins/ImageStroke.d.ts +18 -0
  49. package/dist/src/plugins/ImageStroke.d.ts.map +1 -0
  50. package/dist/src/plugins/LayerPlugin.d.ts +31 -0
  51. package/dist/src/plugins/LayerPlugin.d.ts.map +1 -0
  52. package/dist/src/plugins/LockPlugin.d.ts +27 -0
  53. package/dist/src/plugins/LockPlugin.d.ts.map +1 -0
  54. package/dist/src/plugins/MaskPlugin.d.ts +38 -0
  55. package/dist/src/plugins/MaskPlugin.d.ts.map +1 -0
  56. package/dist/src/plugins/MaterialPlugin.d.ts +45 -0
  57. package/dist/src/plugins/MaterialPlugin.d.ts.map +1 -0
  58. package/dist/src/plugins/MiddleMousePlugin.d.ts +18 -0
  59. package/dist/src/plugins/MiddleMousePlugin.d.ts.map +1 -0
  60. package/dist/src/plugins/MoveHotKeyPlugin.d.ts +12 -0
  61. package/dist/src/plugins/MoveHotKeyPlugin.d.ts.map +1 -0
  62. package/dist/src/plugins/PathTextPlugin.d.ts +30 -0
  63. package/dist/src/plugins/PathTextPlugin.d.ts.map +1 -0
  64. package/dist/src/plugins/PolygonModifyPlugin.d.ts +28 -0
  65. package/dist/src/plugins/PolygonModifyPlugin.d.ts.map +1 -0
  66. package/dist/src/plugins/PrintPlugin.d.ts +39 -0
  67. package/dist/src/plugins/PrintPlugin.d.ts.map +1 -0
  68. package/dist/src/plugins/PsdPlugin.d.ts +17 -0
  69. package/dist/src/plugins/PsdPlugin.d.ts.map +1 -0
  70. package/dist/src/plugins/QrCodePlugin.d.ts +137 -0
  71. package/dist/src/plugins/QrCodePlugin.d.ts.map +1 -0
  72. package/dist/src/plugins/ResizePlugin.d.ts +44 -0
  73. package/dist/src/plugins/ResizePlugin.d.ts.map +1 -0
  74. package/dist/src/plugins/RulerPlugin.d.ts +24 -0
  75. package/dist/src/plugins/RulerPlugin.d.ts.map +1 -0
  76. package/dist/src/plugins/SimpleClipImagePlugin.d.ts +18 -0
  77. package/dist/src/plugins/SimpleClipImagePlugin.d.ts.map +1 -0
  78. package/dist/src/plugins/UnitPlugin.d.ts +84 -0
  79. package/dist/src/plugins/UnitPlugin.d.ts.map +1 -0
  80. package/dist/src/plugins/WaterMarkPlugin.d.ts +40 -0
  81. package/dist/src/plugins/WaterMarkPlugin.d.ts.map +1 -0
  82. package/dist/src/plugins/WorkspacePlugin.d.ts +57 -0
  83. package/dist/src/plugins/WorkspacePlugin.d.ts.map +1 -0
  84. package/dist/src/types/eventType.d.ts +11 -0
  85. package/dist/src/types/eventType.d.ts.map +1 -0
  86. package/dist/src/utils/psd.d.ts +3 -0
  87. package/dist/src/utils/psd.d.ts.map +1 -0
  88. package/dist/src/utils/ruler/guideline.d.ts +4 -0
  89. package/dist/src/utils/ruler/guideline.d.ts.map +1 -0
  90. package/dist/src/utils/ruler/index.d.ts +5 -0
  91. package/dist/src/utils/ruler/index.d.ts.map +1 -0
  92. package/dist/src/utils/ruler/ruler.d.ts +147 -0
  93. package/dist/src/utils/ruler/ruler.d.ts.map +1 -0
  94. package/dist/src/utils/ruler/utils.d.ts +50 -0
  95. package/dist/src/utils/ruler/utils.d.ts.map +1 -0
  96. package/dist/src/utils/units.d.ts +22 -0
  97. package/dist/src/utils/units.d.ts.map +1 -0
  98. package/package.json +51 -0
  99. package/src/assets/edgecontrol.svg +17 -0
  100. package/src/assets/lock.svg +7 -0
  101. package/src/assets/middlecontrol.svg +17 -0
  102. package/src/assets/middlecontrolhoz.svg +17 -0
  103. package/src/assets/rotateicon.svg +20 -0
  104. package/src/assets/style/resizePlugin.css +27 -0
  105. package/src/index.ts +121 -0
  106. package/src/objects/Arrow.js +47 -0
  107. package/src/objects/ThinTailArrow.js +50 -0
  108. package/src/plugins/AddBaseTypePlugin.ts +107 -0
  109. package/src/plugins/AlignGuidLinePlugin.ts +1141 -0
  110. package/src/plugins/BarCodePlugin.ts +860 -0
  111. package/src/plugins/CenterAlignPlugin.ts +133 -0
  112. package/src/plugins/ControlsPlugin.ts +251 -0
  113. package/src/plugins/ControlsRotatePlugin.ts +111 -0
  114. package/src/plugins/CopyPlugin.ts +255 -0
  115. package/src/plugins/CreateElementPlugin.ts +548 -0
  116. package/src/plugins/DeleteHotKeyPlugin.ts +57 -0
  117. package/src/plugins/DrawLinePlugin.ts +162 -0
  118. package/src/plugins/DrawPolygonPlugin.ts +205 -0
  119. package/src/plugins/DringPlugin.ts +125 -0
  120. package/src/plugins/FlipPlugin.ts +59 -0
  121. package/src/plugins/FontPlugin.ts +165 -0
  122. package/src/plugins/FreeDrawPlugin.ts +49 -0
  123. package/src/plugins/GroupAlignPlugin.ts +365 -0
  124. package/src/plugins/GroupPlugin.ts +82 -0
  125. package/src/plugins/GroupTextEditorPlugin.ts +198 -0
  126. package/src/plugins/HistoryPlugin.ts +181 -0
  127. package/src/plugins/ImageStroke.ts +121 -0
  128. package/src/plugins/LayerPlugin.ts +108 -0
  129. package/src/plugins/LockPlugin.ts +240 -0
  130. package/src/plugins/MaskPlugin.ts +155 -0
  131. package/src/plugins/MaterialPlugin.ts +224 -0
  132. package/src/plugins/MiddleMousePlugin.ts +45 -0
  133. package/src/plugins/MoveHotKeyPlugin.ts +46 -0
  134. package/src/plugins/PathTextPlugin.ts +89 -0
  135. package/src/plugins/PolygonModifyPlugin.ts +224 -0
  136. package/src/plugins/PrintPlugin.ts +81 -0
  137. package/src/plugins/PsdPlugin.ts +52 -0
  138. package/src/plugins/QrCodePlugin.ts +393 -0
  139. package/src/plugins/ResizePlugin.ts +274 -0
  140. package/src/plugins/RulerPlugin.ts +78 -0
  141. package/src/plugins/SimpleClipImagePlugin.ts +244 -0
  142. package/src/plugins/UnitPlugin.ts +327 -0
  143. package/src/plugins/WaterMarkPlugin.ts +257 -0
  144. package/src/plugins/WorkspacePlugin.ts +307 -0
  145. package/src/types/eventType.ts +11 -0
  146. package/src/utils/psd.js +432 -0
  147. package/src/utils/ruler/guideline.ts +145 -0
  148. package/src/utils/ruler/index.ts +91 -0
  149. package/src/utils/ruler/ruler.ts +924 -0
  150. package/src/utils/ruler/utils.ts +162 -0
  151. package/src/utils/units.ts +133 -0
  152. package/tsconfig.json +10 -0
  153. package/vite.config.ts +29 -0
@@ -0,0 +1,44 @@
1
+ import { fabric, IEditor, IPluginTempl } from '@hprint/core';
2
+ type IPosition = 'left' | 'right' | 'top' | 'bottom';
3
+ declare class ResizePlugin implements IPluginTempl {
4
+ canvas: fabric.Canvas;
5
+ editor: IEditor;
6
+ static pluginName: string;
7
+ static events: never[];
8
+ static apis: never[];
9
+ workspaceEl: HTMLElement;
10
+ minSize: {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ barOpts: {
15
+ bWidth: number;
16
+ bHeight: number;
17
+ bPadding: number;
18
+ };
19
+ hasCreatedBar: boolean;
20
+ isDragging: boolean;
21
+ dragEl: HTMLElement | null;
22
+ startPoints: {
23
+ x: number;
24
+ y: number;
25
+ };
26
+ barOffset: {
27
+ x: number;
28
+ y: number;
29
+ };
30
+ wsOffset: Record<'left' | 'top' | 'width' | 'height', number>;
31
+ constructor(canvas: fabric.Canvas, editor: IEditor);
32
+ _init(): void;
33
+ _initResizeObserve(): void;
34
+ renderBars(): void;
35
+ _getBarFromType(type: IPosition): HTMLElement;
36
+ _watchDrag(): void;
37
+ onDragging(e: MouseEvent): void;
38
+ private eventHandler;
39
+ _addListeners(): void;
40
+ getWorkspase(): fabric.Rect;
41
+ destroy(): void;
42
+ }
43
+ export default ResizePlugin;
44
+ //# sourceMappingURL=ResizePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResizePlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/ResizePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,KAAK,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErD,cAAM,YAAa,YAAW,YAAY;IAyB3B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,OAAO;IAzB1B,MAAM,CAAC,UAAU,SAAkB;IACnC,MAAM,CAAC,MAAM,UAAM;IACnB,MAAM,CAAC,IAAI,UAAM;IACjB,WAAW,EAAG,WAAW,CAAC;IAE1B,OAAO;;;MAA2B;IAElC,OAAO;;;;MAIL;IACF,aAAa,UAAS;IACtB,UAAU,UAAS;IACnB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAQ;IAClC,WAAW;;;MAAkB;IAC7B,SAAS;;;MAAkB;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC,CAK3D;gBAES,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,OAAO;IAO1B,KAAK;IASL,kBAAkB;IAUlB,UAAU;IAkCV,eAAe,CAAC,IAAI,EAAE,SAAS;IAgB/B,UAAU;IAkCV,UAAU,CAAC,CAAC,EAAE,UAAU;IA4GxB,OAAO,CAAC,YAAY,CAGlB;IAGF,aAAa;IAKb,YAAY,IAGwC,MAAM,CAAC,IAAI;IAG/D,OAAO;CAGV;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { fabric, IEditor, IPluginTempl } from '@hprint/core';
2
+ type IPlugin = Pick<RulerPlugin, 'hideGuideline' | 'showGuideline' | 'rulerEnable' | 'rulerDisable'>;
3
+ declare module '@hprint/core' {
4
+ interface IEditor extends IPlugin {
5
+ }
6
+ }
7
+ declare class RulerPlugin implements IPluginTempl {
8
+ canvas: fabric.Canvas;
9
+ editor: IEditor;
10
+ static pluginName: string;
11
+ static apis: string[];
12
+ ruler: any;
13
+ constructor(canvas: fabric.Canvas, editor: IEditor);
14
+ hookSaveBefore(): Promise<unknown>;
15
+ hookSaveAfter(): Promise<unknown>;
16
+ init(): void;
17
+ hideGuideline(): void;
18
+ showGuideline(): void;
19
+ rulerEnable(): void;
20
+ rulerDisable(): void;
21
+ destroy(): void;
22
+ }
23
+ export default RulerPlugin;
24
+ //# sourceMappingURL=RulerPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RulerPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/RulerPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,KAAK,OAAO,GAAG,IAAI,CACf,WAAW,EACX,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,cAAc,CACrE,CAAC;AAEF,OAAO,QAAQ,cAAc,CAAC;IAE1B,UAAU,OAAQ,SAAQ,OAAO;KAAG;CACvC;AAID,cAAM,WAAY,YAAW,YAAY;IAW1B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,OAAO;IAX1B,MAAM,CAAC,UAAU,SAAiB;IAElC,MAAM,CAAC,IAAI,WAKT;IACF,KAAK,EAAE,GAAG,CAAC;gBAEA,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,OAAO;IAK1B,cAAc;IAOd,aAAa;IAOb,IAAI;IAUJ,aAAa;IAIb,aAAa;IAIb,WAAW;IAIX,YAAY;IAIZ,OAAO;CAGV;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { fabric, IEditor, IPluginTempl } from '@hprint/core';
2
+ type IPlugin = Pick<SimpleClipImagePlugin, 'addClipPathToImage' | 'removeClip'>;
3
+ declare module '@hprint/core' {
4
+ interface IEditor extends IPlugin {
5
+ }
6
+ }
7
+ export default class SimpleClipImagePlugin implements IPluginTempl {
8
+ canvas: fabric.Canvas;
9
+ editor: IEditor;
10
+ static pluginName: string;
11
+ static apis: string[];
12
+ constructor(canvas: fabric.Canvas, editor: IEditor);
13
+ addClipPathToImage(value: string): void;
14
+ correctPosition(activeObject: fabric.Object, shell: fabric.Object, clipPath: fabric.Object): void;
15
+ removeClip(): void;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=SimpleClipImagePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleClipImagePlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/SimpleClipImagePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,KAAK,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,YAAY,CAAC,CAAC;AAEhF,OAAO,QAAQ,cAAc,CAAC;IAE1B,UAAU,OAAQ,SAAQ,OAAO;KAAG;CACvC;AA+HD,MAAM,CAAC,OAAO,OAAO,qBAAsB,YAAW,YAAY;IAKnD,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,OAAO;IAL1B,MAAM,CAAC,UAAU,SAA2B;IAE5C,MAAM,CAAC,IAAI,WAAwC;gBAExC,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,OAAO;IAE1B,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAuEhC,eAAe,CACX,YAAY,EAAE,MAAM,CAAC,MAAM,EAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM;IAgB3B,UAAU;CAQb"}
@@ -0,0 +1,84 @@
1
+ import { IEditor, IPluginTempl, fabric } from '@hprint/core';
2
+ type IPlugin = Pick<UnitPlugin, 'getUnit' | 'setUnit' | 'getSizeByUnit' | 'setSizeByUnit' | 'getOriginSize' | 'syncOriginSizeByUnit' | 'applyObjectPx' | 'applyObjectMm' | 'applyObjectInch' | 'applyObjectByUnit'>;
3
+ type TUnit = 'px' | 'mm' | 'inch';
4
+ declare module '@hprint/core' {
5
+ interface IEditor extends IPlugin {
6
+ }
7
+ }
8
+ declare class UnitPlugin implements IPluginTempl {
9
+ canvas: fabric.Canvas;
10
+ editor: IEditor;
11
+ static pluginName: string;
12
+ static apis: string[];
13
+ unit: TUnit;
14
+ precision?: number;
15
+ _originSize: Record<string, {
16
+ width: number;
17
+ height: number;
18
+ }>;
19
+ constructor(canvas: fabric.Canvas, editor: IEditor, options?: {
20
+ unit?: TUnit;
21
+ precision?: number;
22
+ });
23
+ hookSaveBefore(): Promise<unknown>;
24
+ hookSaveAfter(): Promise<unknown>;
25
+ init(options?: {
26
+ unit?: TUnit;
27
+ precision?: number;
28
+ }): void;
29
+ setUnit(unit: TUnit): void;
30
+ getUnit(): TUnit;
31
+ getPrecision(): number | undefined;
32
+ getSizeByUnit(pxValue: number, unit?: TUnit, dpi?: number): number | undefined;
33
+ _toPrecisionValue(value: number): number;
34
+ _formatOriginUnitValues<T extends {
35
+ [k: string]: number | undefined;
36
+ }>(vals: T): T;
37
+ applyObjectPx(obj: fabric.Object, opts: {
38
+ left?: number;
39
+ top?: number;
40
+ width?: number;
41
+ height?: number;
42
+ strokeWidth?: number;
43
+ fontSize?: number;
44
+ }): void;
45
+ applyObjectMm(obj: fabric.Object, mm: {
46
+ left?: number;
47
+ top?: number;
48
+ width?: number;
49
+ height?: number;
50
+ strokeWidth?: number;
51
+ fontSize?: number;
52
+ }, dpi?: number): void;
53
+ applyObjectInch(obj: fabric.Object, inch: {
54
+ left?: number;
55
+ top?: number;
56
+ width?: number;
57
+ height?: number;
58
+ strokeWidth?: number;
59
+ fontSize?: number;
60
+ }, dpi?: number): void;
61
+ applyObjectByUnit(obj: fabric.Object, opts: {
62
+ left?: number;
63
+ top?: number;
64
+ width?: number;
65
+ height?: number;
66
+ strokeWidth?: number;
67
+ fontSize?: number;
68
+ }, dpi?: number): void;
69
+ setSizeMm(widthMm: number, heightMm: number, dpi?: number): void;
70
+ setSizeByUnit(width: number, height: number, options: {
71
+ dpi: number;
72
+ slient?: boolean;
73
+ }): void;
74
+ getOriginSize(dpi?: number): {
75
+ width: number;
76
+ height: number;
77
+ };
78
+ _syncOriginSize(width?: number, height?: number): void;
79
+ syncOriginSizeByUnit(width?: number, height?: number): void;
80
+ _bindEvents(): void;
81
+ destroy(): void;
82
+ }
83
+ export default UnitPlugin;
84
+ //# sourceMappingURL=UnitPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnitPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/UnitPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { fabric, IEditor, IPluginTempl } from '@hprint/core';
2
+ type IPlugin = Pick<WaterMarkPlugin, 'drawWaterMark' | 'clearWaterMMatk' | 'updateDrawStatus'>;
3
+ declare module '@hprint/core' {
4
+ interface IEditor extends IPlugin {
5
+ }
6
+ }
7
+ declare enum POSITION {
8
+ lt = "Left_Top",
9
+ lb = "Left_Right",
10
+ rt = "Right_Top",
11
+ rb = "Right_Bottom",
12
+ full = "Full"
13
+ }
14
+ type IPosition = POSITION.lt | POSITION.lb | POSITION.rt | POSITION.rb | POSITION.full;
15
+ type IDrawOps = {
16
+ text: string;
17
+ size: number;
18
+ fontFamily: string;
19
+ color: string;
20
+ isRotate: boolean;
21
+ position: IPosition;
22
+ };
23
+ declare class WaterMarkPlugin implements IPluginTempl {
24
+ canvas: fabric.Canvas;
25
+ editor: IEditor;
26
+ static pluginName: string;
27
+ static apis: string[];
28
+ private hadDraw;
29
+ private drawOps;
30
+ constructor(canvas: fabric.Canvas, editor: IEditor);
31
+ private createCanvas;
32
+ private drawing;
33
+ drawWaterMark(ops: IDrawOps): void;
34
+ updateDrawStatus(status: boolean): void;
35
+ clearWaterMMatk(): void;
36
+ init(): void;
37
+ destroy(): void;
38
+ }
39
+ export default WaterMarkPlugin;
40
+ //# sourceMappingURL=WaterMarkPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaterMarkPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/WaterMarkPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,KAAK,OAAO,GAAG,IAAI,CACf,eAAe,EACf,eAAe,GAAG,iBAAiB,GAAG,kBAAkB,CAC3D,CAAC;AAEF,OAAO,QAAQ,cAAc,CAAC;IAE1B,UAAU,OAAQ,SAAQ,OAAO;KAAI;CACxC;AAED,aAAK,QAAQ;IACT,EAAE,aAAa;IACf,EAAE,eAAe;IACjB,EAAE,cAAc;IAChB,EAAE,iBAAiB;IACnB,IAAI,SAAS;CAChB;AAED,KAAK,SAAS,GACR,QAAQ,CAAC,EAAE,GACX,QAAQ,CAAC,EAAE,GACX,QAAQ,CAAC,EAAE,GACX,QAAQ,CAAC,EAAE,GACX,QAAQ,CAAC,IAAI,CAAC;AACpB,KAAK,QAAQ,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACvB,CAAC;AAWF,cAAM,eAAgB,YAAW,YAAY;IAM9B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,OAAO;IAN1B,MAAM,CAAC,UAAU,SAAqB;IACtC,MAAM,CAAC,IAAI,WAA4D;IACvE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA4B;gBAEhC,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,OAAO;IAK1B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO,CAsIb;IAEF,aAAa,CAAC,GAAG,EAAE,QAAQ;IA4B3B,gBAAgB,CAAC,MAAM,EAAE,OAAO;IAIhC,eAAe;IAQf,IAAI;IAKJ,OAAO;CAIV;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { fabric, IEditor, IPluginTempl } from '@hprint/core';
2
+ type IPlugin = Pick<WorkspacePlugin, 'big' | 'small' | 'auto' | 'one' | 'setSize' | 'getWorkspase' | 'setWorkspaseBg' | 'setCenterFromObject' | 'getZoom' | 'setZoom'>;
3
+ declare module '@hprint/core' {
4
+ interface IEditor extends IPlugin {
5
+ }
6
+ }
7
+ declare class WorkPluinConfig {
8
+ maxZoom: number;
9
+ minZoom: number;
10
+ zoomStep: number;
11
+ }
12
+ declare class WorkspacePlugin implements IPluginTempl {
13
+ canvas: fabric.Canvas;
14
+ editor: IEditor;
15
+ static pluginName: string;
16
+ static events: string[];
17
+ static apis: string[];
18
+ workspaceEl: HTMLElement;
19
+ workspace: null | fabric.Rect;
20
+ resizeObserver: ResizeObserver;
21
+ option: any;
22
+ config: WorkPluinConfig;
23
+ zoomRatio: number;
24
+ constructor(canvas: fabric.Canvas, editor: IEditor, config?: Partial<WorkPluinConfig>);
25
+ init(option: {
26
+ width: number;
27
+ height: number;
28
+ }): void;
29
+ hookImportAfter(): Promise<unknown>;
30
+ hookSaveAfter(): Promise<unknown>;
31
+ _initBackground(): void;
32
+ _initWorkspace(): void;
33
+ getWorkspase(): fabric.Rect;
34
+ /**
35
+ * 设置画布中心到指定对象中心点上
36
+ * @param {Object} obj 指定的对象
37
+ */
38
+ setCenterFromObject(obj: fabric.Rect): void;
39
+ _initResizeObserve(): void;
40
+ _getValidZoom(zoom: number): number;
41
+ setSize(width: number, height: number, options?: {
42
+ slient?: boolean;
43
+ }): void;
44
+ setZoomAuto(scale: number, cb?: (left?: number, top?: number) => void): void;
45
+ _getScale(): any;
46
+ big(): void;
47
+ small(): void;
48
+ auto(): void;
49
+ one(): void;
50
+ getZoom(): number;
51
+ setZoom(zoom: number): void;
52
+ setWorkspaseBg(color: string): void;
53
+ _bindWheel(): void;
54
+ destroy(): void;
55
+ }
56
+ export default WorkspacePlugin;
57
+ //# sourceMappingURL=WorkspacePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspacePlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/WorkspacePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,KAAK,OAAO,GAAG,IAAI,CACf,eAAe,EACb,KAAK,GACL,OAAO,GACP,MAAM,GACN,KAAK,GACL,SAAS,GACT,cAAc,GACd,gBAAgB,GAChB,qBAAqB,GACrB,SAAS,GACT,SAAS,CACd,CAAC;AAEF,OAAO,QAAQ,cAAc,CAAC;IAE1B,UAAU,OAAQ,SAAQ,OAAO;KAAI;CACxC;AAED,cAAM,eAAe;IACjB,OAAO,SAAK;IACZ,OAAO,SAAO;IACd,QAAQ,SAAO;CAClB;AAED,cAAM,eAAgB,YAAW,YAAY;IAuB9B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,OAAO;IAvB1B,MAAM,CAAC,UAAU,SAAqB;IACtC,MAAM,CAAC,MAAM,WAAkB;IAC/B,MAAM,CAAC,IAAI,WAYT;IACF,WAAW,EAAG,WAAW,CAAC;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC9B,cAAc,EAAG,cAAc,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAG,eAAe,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;gBAEP,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,OAAO,EACtB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAYrC,IAAI,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAc9C,eAAe;IAsBf,aAAa;IAQb,eAAe;IAOf,cAAc;IAuBd,YAAY,IAGwC,MAAM,CAAC,IAAI;IAG/D;;;OAGG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI;IAmBpC,kBAAkB;IAUlB,aAAa,CAAC,IAAI,EAAE,MAAM;IAK1B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;IAkBrE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI;IAuBrE,SAAS;IAQT,GAAG;IAWH,KAAK;IAWL,IAAI;IAOJ,GAAG;IAKH,OAAO;IAIP,OAAO,CAAC,IAAI,EAAE,MAAM;IAQpB,cAAc,CAAC,KAAK,EAAE,MAAM;IAK5B,UAAU;IAcV,OAAO;CAKV;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare enum SelectEvent {
2
+ ONE = "selectOne",
3
+ MULTI = "selectMultiple",
4
+ CANCEL = "selectCancel"
5
+ }
6
+ export declare enum SelectMode {
7
+ EMPTY = "",
8
+ ONE = "one",
9
+ MULTI = "multiple"
10
+ }
11
+ //# sourceMappingURL=eventType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventType.d.ts","sourceRoot":"","sources":["../../../src/types/eventType.ts"],"names":[],"mappings":"AACA,oBAAY,WAAW;IACnB,GAAG,cAAc;IACjB,KAAK,mBAAmB;IACxB,MAAM,iBAAiB;CAC1B;AACD,oBAAY,UAAU;IAClB,KAAK,KAAK;IACV,GAAG,QAAQ;IACX,KAAK,aAAa;CACrB"}
@@ -0,0 +1,3 @@
1
+ export default psdToJson;
2
+ declare function psdToJson(psdFile: any): Promise<string>;
3
+ //# sourceMappingURL=psd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psd.d.ts","sourceRoot":"","sources":["../../../src/utils/psd.js"],"names":[],"mappings":";AAKA,0DAmBC"}
@@ -0,0 +1,4 @@
1
+ export declare function setupGuideLine(): void;
2
+ declare const _default: any;
3
+ export default _default;
4
+ //# sourceMappingURL=guideline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guideline.d.ts","sourceRoot":"","sources":["../../../../src/utils/ruler/guideline.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,SA0I7B;;AAED,wBAAgC"}
@@ -0,0 +1,5 @@
1
+ import { Canvas, IEditor } from '@hprint/core';
2
+ import { default as CanvasRuler, RulerOptions } from './ruler';
3
+ declare function initRuler(canvas: Canvas, editor: IEditor, options?: RulerOptions): CanvasRuler;
4
+ export default initRuler;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/ruler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEpD,iBAAS,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,eAqFzE;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,147 @@
1
+ import { IEditor, Canvas, Point } from '@hprint/core';
2
+ /**
3
+ * 配置
4
+ */
5
+ export interface RulerOptions {
6
+ /**
7
+ * Canvas
8
+ */
9
+ canvas: Canvas;
10
+ /**
11
+ * Editor
12
+ */
13
+ editor: IEditor;
14
+ /**
15
+ * 单位(仅影响标尺文字展示)
16
+ * @default 'px'
17
+ */
18
+ unit?: 'px' | 'mm';
19
+ /**
20
+ * 标尺宽高
21
+ * @default 20
22
+ */
23
+ ruleSize?: number;
24
+ /**
25
+ * 字体大小
26
+ * @default 10
27
+ */
28
+ fontSize?: number;
29
+ /**
30
+ * 是否开启标尺
31
+ * @default false
32
+ */
33
+ enabled?: boolean;
34
+ /**
35
+ * 背景颜色
36
+ */
37
+ backgroundColor?: string;
38
+ /**
39
+ * 文字颜色
40
+ */
41
+ textColor?: string;
42
+ /**
43
+ * 边框颜色
44
+ */
45
+ borderColor?: string;
46
+ /**
47
+ * 高亮颜色
48
+ */
49
+ highlightColor?: string;
50
+ }
51
+ export type Rect = {
52
+ left: number;
53
+ top: number;
54
+ width: number;
55
+ height: number;
56
+ };
57
+ export type HighlightRect = {
58
+ skip?: 'x' | 'y';
59
+ originXStart?: number;
60
+ originXEnd?: number;
61
+ originYStart?: number;
62
+ originYEnd?: number;
63
+ } & Rect;
64
+ declare class CanvasRuler {
65
+ protected ctx: CanvasRenderingContext2D;
66
+ /**
67
+ * 配置
68
+ */
69
+ options: Required<RulerOptions>;
70
+ /**
71
+ * 当前单位
72
+ */
73
+ private unit;
74
+ /**
75
+ * 标尺起始点
76
+ */
77
+ startCalibration: undefined | Point;
78
+ private activeOn;
79
+ /**
80
+ * 选取对象矩形坐标
81
+ */
82
+ private objectRect;
83
+ /**
84
+ * 事件句柄缓存
85
+ */
86
+ private eventHandler;
87
+ private lastAttr;
88
+ private tempGuidelLine;
89
+ private needsRectUpdate;
90
+ private currentMovingTarget;
91
+ constructor(_options: RulerOptions);
92
+ setUnit(unit: 'px' | 'mm'): void;
93
+ private formatValueByUnit;
94
+ private formatLabel;
95
+ destroy(): void;
96
+ /**
97
+ * 移除全部辅助线
98
+ */
99
+ clearGuideline(): void;
100
+ /**
101
+ * 显示全部辅助线
102
+ */
103
+ showGuideline(): void;
104
+ /**
105
+ * 隐藏全部辅助线
106
+ */
107
+ hideGuideline(): void;
108
+ /**
109
+ * 启用
110
+ */
111
+ enable(): void;
112
+ /**
113
+ * 禁用
114
+ */
115
+ disable(): void;
116
+ /**
117
+ * 绘制
118
+ */
119
+ render(): void;
120
+ /**
121
+ * 获取画板尺寸
122
+ */
123
+ private getSize;
124
+ private getZoom;
125
+ private draw;
126
+ /**
127
+ * 计算起始点
128
+ */
129
+ private calcObjectRect;
130
+ private calcObjectRectFromTarget;
131
+ /**
132
+ * 清除起始点和矩形坐标
133
+ */
134
+ private clearStatus;
135
+ /**
136
+ 判断鼠标是否在标尺上
137
+ * @param point
138
+ * @returns "vertical" | "horizontal" | false
139
+ */
140
+ isPointOnRuler(point: Point): false | "horizontal" | "vertical";
141
+ private canvasMouseDown;
142
+ private getCommonEventInfo;
143
+ private canvasMouseMove;
144
+ private canvasMouseUp;
145
+ }
146
+ export default CanvasRuler;
147
+ //# sourceMappingURL=ruler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruler.d.ts","sourceRoot":"","sources":["../../../../src/utils/ruler/ruler.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,cAAc,CAAC;AActE;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAAC;AAET,cAAM,WAAW;IACb,SAAS,CAAC,GAAG,EAAE,wBAAwB,CAAC;IAExC;;OAEG;IACI,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,IAAI,CAAqB;IAEjC;;OAEG;IACI,gBAAgB,EAAE,SAAS,GAAG,KAAK,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAuB;IAEvC;;OAEG;IACH,OAAO,CAAC,UAAU,CAKZ;IAEN;;OAEG;IACH,OAAO,CAAC,YAAY,CAsBlB;IAEF,OAAO,CAAC,QAAQ,CAQV;IAEN,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,mBAAmB,CAA4B;gBAE3C,QAAQ,EAAE,YAAY;IA+B3B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAOhC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,WAAW;IASZ,OAAO;IAId;;OAEG;IACI,cAAc;IAMrB;;OAEG;IACI,aAAa;IASpB;;OAEG;IACI,aAAa;IASpB;;OAEG;IACI,MAAM;IA+Bb;;OAEG;IACI,OAAO;IAkCd;;OAEG;IACI,MAAM;IAiDb;;OAEG;IACH,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,IAAI;IAgPZ;;OAEG;IAYH,OAAO,CAAC,cAAc;IA4EtB,OAAO,CAAC,wBAAwB;IAwEhC;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;;KAIC;IACM,cAAc,CAAC,KAAK,EAAE,KAAK;IAuBlC,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,kBAAkB,CAWxB;IAEF,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,aAAa;CAWxB;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { Rect } from './ruler';
2
+ /**
3
+ * 计算尺子间距
4
+ * @param zoom 缩放比例
5
+ * @returns 返回计算出的尺子间距
6
+ */
7
+ declare const getGap: (zoom: number) => number;
8
+ /**
9
+ * 线段合并
10
+ * @param rect Rect数组
11
+ * @param isHorizontal
12
+ * @returns 合并后的Rect数组
13
+ */
14
+ declare const mergeLines: (rect: Rect[], isHorizontal: boolean) => Rect[];
15
+ declare const darwLine: (ctx: CanvasRenderingContext2D, options: {
16
+ left: number;
17
+ top: number;
18
+ width: number;
19
+ height: number;
20
+ stroke?: string | CanvasGradient | CanvasPattern;
21
+ lineWidth?: number;
22
+ }) => void;
23
+ declare const darwText: (ctx: CanvasRenderingContext2D, options: {
24
+ left: number;
25
+ top: number;
26
+ text: string;
27
+ fill?: string | CanvasGradient | CanvasPattern;
28
+ align?: CanvasTextAlign;
29
+ angle?: number;
30
+ fontSize?: number;
31
+ }) => void;
32
+ declare const darwRect: (ctx: CanvasRenderingContext2D, options: {
33
+ left: number;
34
+ top: number;
35
+ width: number;
36
+ height: number;
37
+ fill?: string | CanvasGradient | CanvasPattern;
38
+ stroke?: string;
39
+ strokeWidth?: number;
40
+ }) => void;
41
+ declare const drawMask: (ctx: CanvasRenderingContext2D, options: {
42
+ isHorizontal: boolean;
43
+ left: number;
44
+ top: number;
45
+ width: number;
46
+ height: number;
47
+ backgroundColor: string;
48
+ }) => void;
49
+ export { getGap, mergeLines, darwRect, darwText, darwLine, drawMask };
50
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/ruler/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC;;;;GAIG;AACH,QAAA,MAAM,MAAM,GAAI,MAAM,MAAM,WAU3B,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,UAAU,GAAI,MAAM,IAAI,EAAE,EAAE,cAAc,OAAO,WAyBtD,CAAC;AAEF,QAAA,MAAM,QAAQ,GACV,KAAK,wBAAwB,EAC7B,SAAS;IACL,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,aAAa,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,SAWJ,CAAC;AAEF,QAAA,MAAM,QAAQ,GACV,KAAK,wBAAwB,EAC7B,SAAS;IACL,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,aAAa,CAAC;IAC/C,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,SAeJ,CAAC;AAEF,QAAA,MAAM,QAAQ,GACV,KAAK,wBAAwB,EAC7B,SAAS;IACL,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,aAAa,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,SAcJ,CAAC;AAEF,QAAA,MAAM,QAAQ,GACV,KAAK,wBAAwB,EAC7B,SAAS;IACL,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CAC3B,SAsBJ,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { fabric, IEditor } from '@hprint/core';
2
+ export type MmOptions = {
3
+ left?: number;
4
+ top?: number;
5
+ width?: number;
6
+ height?: number;
7
+ strokeWidth?: number;
8
+ fontSize?: number;
9
+ };
10
+ export declare function applyMmToObject(obj: fabric.Object, mm: MmOptions, dpi?: number): void;
11
+ export declare function syncMmFromObject(obj: fabric.Object, dpi?: number, precision?: number): void;
12
+ export type UnitType = 'px' | 'mm' | 'inch';
13
+ export declare function getUnit(editor: IEditor): UnitType;
14
+ export declare function convertSingle(value: number | string, unit: UnitType, dpi?: number): number;
15
+ export declare function processOptions(opts: Record<string, any> | undefined, unit: UnitType, dpi?: number, fields?: string[]): {
16
+ processed: Record<string, number>;
17
+ originByUnit: Record<string, Record<string, any>>;
18
+ };
19
+ export declare function applyPrecision(value: number, precision?: number): number;
20
+ export declare function formatOriginValues(origin: Record<string, any>, precision?: number): Record<string, any>;
21
+ export declare function formatFixedString(num: number, precision?: number): string;
22
+ //# sourceMappingURL=units.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../../src/utils/units.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAClB,EAAE,EAAE,SAAS,EACb,GAAG,CAAC,EAAE,MAAM,QA6Bb;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,QAqBpF;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE5C,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAEjD;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,QAAQ,EACd,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAKR;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAK,EAC9B,IAAI,EAAE,QAAQ,EACd,GAAG,CAAC,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,EAA+D,GAC5E;IAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CAAE,CAY1F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,UAI/D;AAeD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAEvG;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,MAAM,CAGpE"}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@hprint/plugins",
3
+ "version": "0.0.1-alpha.0",
4
+ "description": "",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js"
13
+ }
14
+ },
15
+ "scripts": {
16
+ "build": "vite build",
17
+ "clean": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
18
+ "type-check": "tsc --noEmit",
19
+ "watch": "vite build --watch",
20
+ "test": "echo \"Error: no test specified\" && exit 1"
21
+ },
22
+ "dependencies": {
23
+ "@hprint/core": "workspace:*",
24
+ "@hprint/shared": "workspace:*",
25
+ "@webtoon/psd": "^0.4.0",
26
+ "axios": "^1.13.2",
27
+ "fontfaceobserver": "~2.1.0",
28
+ "jsbarcode": "~3.12.1",
29
+ "lodash-es": "^4.17.21",
30
+ "qr-code-styling": "^1.9.2",
31
+ "qs": "~6.12.3",
32
+ "socket.io-client": "^4.8.1",
33
+ "uuid": "~8.3.2"
34
+ },
35
+ "devDependencies": {
36
+ "@types/fontfaceobserver": "~2.1.3",
37
+ "@types/lodash-es": "^4.17.12",
38
+ "@types/qs": "^6.14.0",
39
+ "@types/uuid": "^9.0.8",
40
+ "rimraf": "^6.1.2",
41
+ "vite": "^7.2.4",
42
+ "vite-plugin-dts": "^4.5.4"
43
+ },
44
+ "keywords": [],
45
+ "author": "george-hong",
46
+ "license": "ISC",
47
+ "publishConfig": {
48
+ "access": "public"
49
+ },
50
+ "packageManager": "pnpm@10.20.0"
51
+ }
@@ -0,0 +1,17 @@
1
+ <svg width="19" height="18" viewBox="0 0 19 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_d)">
3
+ <circle cx="9.99609" cy="9" r="5" fill="white"/>
4
+ <circle cx="9.99609" cy="9" r="4.75" stroke="black" stroke-opacity="0.3" stroke-width="0.5"/>
5
+ </g>
6
+ <defs>
7
+ <filter id="filter0_d" x="0.996094" y="0" width="18" height="18" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
8
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
9
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
10
+ <feOffset/>
11
+ <feGaussianBlur stdDeviation="2"/>
12
+ <feColorMatrix type="matrix" values="0 0 0 0 0.137674 0 0 0 0 0.190937 0 0 0 0 0.270833 0 0 0 0.15 0"/>
13
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
14
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
15
+ </filter>
16
+ </defs>
17
+ </svg>