@pooder/vue 3.3.1 → 4.0.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.
package/dist/index.es.js CHANGED
@@ -1,67 +1,67 @@
1
- import { defineComponent as C, ref as _, onMounted as A, onUnmounted as w, createElementBlock as x, openBlock as I, createElementVNode as R, provide as M, createVNode as B } from "vue";
2
- import { Pooder as H } from "@pooder/core";
1
+ import { defineComponent as w, ref as C, onMounted as z, onUnmounted as _, createElementBlock as x, openBlock as S, createElementVNode as A, provide as R, createVNode as M } from "vue";
2
+ import { Pooder as W } from "@pooder/core";
3
3
  export * from "@pooder/core";
4
- import { CanvasService as P, BackgroundTool as W, ImageTool as N, MirrorTool as V, DielineTool as F, RulerTool as G, FeatureTool as U } from "@pooder/kit";
4
+ import { CanvasService as H, BackgroundTool as P, ImageTool as N, MirrorTool as V, DielineTool as F, RulerTool as G, FeatureTool as U } from "@pooder/kit";
5
5
  export * from "@pooder/kit";
6
- const $ = /* @__PURE__ */ C({
6
+ const $ = /* @__PURE__ */ w({
7
7
  __name: "CanvasArea",
8
8
  emits: ["canvas-ready", "resize"],
9
- setup(m, { emit: d }) {
10
- const r = d, t = _(null), a = _(null);
11
- let n = null;
12
- return A(() => {
9
+ setup(v, { emit: d }) {
10
+ const r = d, t = C(null), a = C(null);
11
+ let o = null;
12
+ return z(() => {
13
13
  if (t.value && a.value) {
14
- const { clientWidth: g, clientHeight: v } = t.value;
15
- a.value.width = g, a.value.height = v, r("canvas-ready", a.value), n = new ResizeObserver((l) => {
16
- for (const u of l) {
17
- const { width: p, height: f } = u.contentRect;
18
- r("resize", p, f);
14
+ const { clientWidth: m, clientHeight: g } = t.value;
15
+ a.value.width = m, a.value.height = g, r("canvas-ready", a.value), o = new ResizeObserver((u) => {
16
+ for (const l of u) {
17
+ const { width: f, height: p } = l.contentRect;
18
+ r("resize", f, p);
19
19
  }
20
- }), n.observe(t.value);
20
+ }), o.observe(t.value);
21
21
  }
22
- }), w(() => {
23
- n && n.disconnect();
24
- }), (g, v) => (I(), x("div", {
22
+ }), _(() => {
23
+ o && o.disconnect();
24
+ }), (m, g) => (S(), x("div", {
25
25
  ref_key: "container",
26
26
  ref: t,
27
27
  class: "pooder-canvas-area"
28
28
  }, [
29
- R("canvas", {
29
+ A("canvas", {
30
30
  ref_key: "canvas",
31
31
  ref: a
32
32
  }, null, 512)
33
33
  ], 512));
34
34
  }
35
- }), S = (m, d) => {
36
- const r = m.__vccOpts || m;
35
+ }), I = (v, d) => {
36
+ const r = v.__vccOpts || v;
37
37
  for (const [t, a] of d)
38
38
  r[t] = a;
39
39
  return r;
40
- }, j = /* @__PURE__ */ S($, [["__scopeId", "data-v-ba73979d"]]), q = { class: "pooder-editor" }, J = /* @__PURE__ */ C({
40
+ }, j = /* @__PURE__ */ I($, [["__scopeId", "data-v-ba73979d"]]), q = { class: "pooder-editor" }, J = /* @__PURE__ */ w({
41
41
  __name: "PooderEditor",
42
42
  emits: ["image-change"],
43
- setup(m, { expose: d, emit: r }) {
44
- const t = new H();
45
- M("pooder", t);
46
- const a = t.getService("CommandService"), n = t.getService("ConfigurationService"), g = r, v = n.onAnyChange((e) => {
43
+ setup(v, { expose: d, emit: r }) {
44
+ const t = new W();
45
+ R("pooder", t);
46
+ const a = t.getService("CommandService"), o = t.getService("ConfigurationService"), m = t.getService("WorkbenchService"), g = r, u = o.onAnyChange((e) => {
47
47
  e.key === "image.items" && g("image-change", e.value);
48
48
  });
49
49
  d({
50
50
  importConfig: (e) => {
51
- n.import(e);
51
+ o.import(e);
52
52
  },
53
- exportConfig: () => n.export(),
54
- getImages: () => n.get("image.items", []),
53
+ exportConfig: () => o.export(),
54
+ getImages: () => o.get("image.items", []),
55
55
  generateCutImage: async () => await a.executeCommand("exportCutImage"),
56
- addImage: async (e, o) => {
57
- const c = await a.executeCommand("addImage", e, o), i = await a.executeCommand("getGeometry"), s = t.getService("CanvasService");
56
+ addImage: async (e, n) => {
57
+ const c = await a.executeCommand("addImage", e, n), i = await a.executeCommand("getGeometry"), s = t.getService("CanvasService");
58
58
  if (i && s) {
59
- const k = s.canvas.width, D = s.canvas.height, h = (n.get("dieline.offset") || 0) * i.scale, b = i.width + 2 * h, E = i.height + 2 * h, O = i.x / k, z = i.y / D;
59
+ const b = s.canvas.width, k = s.canvas.height, h = (o.get("dieline.offset") || 0) * i.scale, B = i.width + 2 * h, D = i.height + 2 * h, E = i.x / b, O = i.y / k;
60
60
  await a.executeCommand("fitImageToArea", c, {
61
- width: b,
62
- height: E,
63
- left: O,
64
- top: z
61
+ width: B,
62
+ height: D,
63
+ left: E,
64
+ top: O
65
65
  });
66
66
  } else s && await a.executeCommand("fitImageToArea", c, {
67
67
  width: s.canvas.width,
@@ -71,10 +71,10 @@ const $ = /* @__PURE__ */ C({
71
71
  });
72
72
  return c;
73
73
  },
74
- updateImage: async (e, o) => await a.executeCommand("updateImage", e, o),
74
+ updateImage: async (e, n) => await a.executeCommand("updateImage", e, n),
75
75
  clearImages: async () => await a.executeCommand("clearImages"),
76
76
  detectDieline: async (e) => {
77
- const o = await a.executeCommand("detectEdge", e, {
77
+ const n = await a.executeCommand("detectEdge", e, {
78
78
  expand: 10,
79
79
  // 安全距离(像素)
80
80
  smoothing: !0,
@@ -82,17 +82,31 @@ const $ = /* @__PURE__ */ C({
82
82
  simplifyTolerance: 2
83
83
  // 平滑度容差,值越大越圆润
84
84
  });
85
- if (o) {
86
- const { pathData: c, width: i, height: s } = o;
87
- return n.update("dieline.shape", "custom"), n.update("dieline.pathData", c), n.update("dieline.width", i), n.update("dieline.height", s), c;
85
+ if (n) {
86
+ const { pathData: c, width: i, height: s } = n;
87
+ return o.update("dieline.shape", "custom"), o.update("dieline.pathData", c), o.update("dieline.width", i), o.update("dieline.height", s), o.update("dieline.offset", 0), c;
88
88
  }
89
89
  return null;
90
+ },
91
+ activateTool: (e) => m.activate(e),
92
+ on: (e, n) => t.eventBus.on(e, n),
93
+ off: (e, n) => t.eventBus.off(e, n),
94
+ emit: (e, n) => t.eventBus.emit(e, n),
95
+ executeCommand: (e, ...n) => a.executeCommand(e, ...n),
96
+ getConfig: (e) => o.get(e),
97
+ updateConfig: (e, n) => o.update(e, n),
98
+ services: {
99
+ workbench: m,
100
+ command: a,
101
+ config: o
90
102
  }
91
103
  });
92
104
  const y = (e) => {
93
- const o = new P(e);
94
- t.registerService(o, "CanvasService"), [
95
- new W(),
105
+ const n = new H(e, {
106
+ eventBus: t.eventBus
107
+ });
108
+ t.registerService(n, "CanvasService"), [
109
+ new P(),
96
110
  new N(),
97
111
  // new FilmTool(),
98
112
  // new WhiteInkTool(),
@@ -103,21 +117,21 @@ const $ = /* @__PURE__ */ C({
103
117
  ].forEach((i) => {
104
118
  t.extensionManager.register(i);
105
119
  });
106
- }, T = (e, o) => {
120
+ }, T = (e, n) => {
107
121
  const c = t.getService("CanvasService");
108
- c && c.canvas.setDimensions({ width: e, height: o });
122
+ c && c.canvas.setDimensions({ width: e, height: n });
109
123
  };
110
- return w(() => {
124
+ return _(() => {
111
125
  const e = t.getService("CanvasService");
112
- e && e.dispose(), v.dispose(), t.extensionManager.destroy();
113
- }), (e, o) => (I(), x("div", q, [
114
- B(j, {
126
+ e && e.dispose(), u.dispose(), t.extensionManager.destroy();
127
+ }), (e, n) => (S(), x("div", q, [
128
+ M(j, {
115
129
  onCanvasReady: y,
116
130
  onResize: T
117
131
  })
118
132
  ]));
119
133
  }
120
- }), ae = /* @__PURE__ */ S(J, [["__scopeId", "data-v-a3843b59"]]);
134
+ }), ae = /* @__PURE__ */ I(J, [["__scopeId", "data-v-fe0feb51"]]);
121
135
  export {
122
136
  ae as PooderEditor
123
137
  };
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(i,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@pooder/core"),require("@pooder/kit")):typeof define=="function"&&define.amd?define(["exports","vue","@pooder/core","@pooder/kit"],e):(i=typeof globalThis<"u"?globalThis:i||self,e(i.PooderVue={},i.Vue,i.PooderCore,i.PooderKit))})(this,(function(i,e,v,m){"use strict";const I=e.defineComponent({__name:"CanvasArea",emits:["canvas-ready","resize"],setup(a,{emit:u}){const g=u,n=e.ref(null),o=e.ref(null);let c=null;return e.onMounted(()=>{if(n.value&&o.value){const{clientWidth:f,clientHeight:p}=n.value;o.value.width=f,o.value.height=p,g("canvas-ready",o.value),c=new ResizeObserver(y=>{for(const _ of y){const{width:C,height:w}=_.contentRect;g("resize",C,w)}}),c.observe(n.value)}}),e.onUnmounted(()=>{c&&c.disconnect()}),(f,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:n,class:"pooder-canvas-area"},[e.createElementVNode("canvas",{ref_key:"canvas",ref:o},null,512)],512))}}),h=(a,u)=>{const g=a.__vccOpts||a;for(const[n,o]of u)g[n]=o;return g},x=h(I,[["__scopeId","data-v-ba73979d"]]),O={class:"pooder-editor"},b=h(e.defineComponent({__name:"PooderEditor",emits:["image-change"],setup(a,{expose:u,emit:g}){const n=new v.Pooder;e.provide("pooder",n);const o=n.getService("CommandService"),c=n.getService("ConfigurationService"),f=g,p=c.onAnyChange(t=>{t.key==="image.items"&&f("image-change",t.value)});u({importConfig:t=>{c.import(t)},exportConfig:()=>c.export(),getImages:()=>c.get("image.items",[]),generateCutImage:async()=>await o.executeCommand("exportCutImage"),addImage:async(t,r)=>{const s=await o.executeCommand("addImage",t,r),d=await o.executeCommand("getGeometry"),l=n.getService("CanvasService");if(d&&l){const E=l.canvas.width,j=l.canvas.height,S=(c.get("dieline.offset")||0)*d.scale,D=d.width+2*S,z=d.height+2*S,A=d.x/E,B=d.y/j;await o.executeCommand("fitImageToArea",s,{width:D,height:z,left:A,top:B})}else l&&await o.executeCommand("fitImageToArea",s,{width:l.canvas.width,height:l.canvas.height,left:.5,top:.5});return s},updateImage:async(t,r)=>await o.executeCommand("updateImage",t,r),clearImages:async()=>await o.executeCommand("clearImages"),detectDieline:async t=>{const r=await o.executeCommand("detectEdge",t,{expand:10,smoothing:!0,simplifyTolerance:2});if(r){const{pathData:s,width:d,height:l}=r;return c.update("dieline.shape","custom"),c.update("dieline.pathData",s),c.update("dieline.width",d),c.update("dieline.height",l),s}return null}});const P=t=>{const r=new m.CanvasService(t);n.registerService(r,"CanvasService"),[new m.BackgroundTool,new m.ImageTool,new m.MirrorTool,new m.DielineTool,new m.RulerTool,new m.FeatureTool].forEach(d=>{n.extensionManager.register(d)})},T=(t,r)=>{const s=n.getService("CanvasService");s&&s.canvas.setDimensions({width:t,height:r})};return e.onUnmounted(()=>{const t=n.getService("CanvasService");t&&t.dispose(),p.dispose(),n.extensionManager.destroy()}),(t,r)=>(e.openBlock(),e.createElementBlock("div",O,[e.createVNode(x,{onCanvasReady:P,onResize:T})]))}}),[["__scopeId","data-v-a3843b59"]]);i.PooderEditor=b,Object.keys(v).forEach(a=>{a!=="default"&&!Object.prototype.hasOwnProperty.call(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:()=>v[a]})}),Object.keys(m).forEach(a=>{a!=="default"&&!Object.prototype.hasOwnProperty.call(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:()=>m[a]})}),Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(r,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("@pooder/core"),require("@pooder/kit")):typeof define=="function"&&define.amd?define(["exports","vue","@pooder/core","@pooder/kit"],o):(r=typeof globalThis<"u"?globalThis:r||self,o(r.PooderVue={},r.Vue,r.PooderCore,r.PooderKit))})(this,(function(r,o,p,m){"use strict";const x=o.defineComponent({__name:"CanvasArea",emits:["canvas-ready","resize"],setup(i,{emit:g}){const f=g,t=o.ref(null),a=o.ref(null);let c=null;return o.onMounted(()=>{if(t.value&&a.value){const{clientWidth:l,clientHeight:v}=t.value;a.value.width=l,a.value.height=v,f("canvas-ready",a.value),c=new ResizeObserver(h=>{for(const w of h){const{width:y,height:_}=w.contentRect;f("resize",y,_)}}),c.observe(t.value)}}),o.onUnmounted(()=>{c&&c.disconnect()}),(l,v)=>(o.openBlock(),o.createElementBlock("div",{ref_key:"container",ref:t,class:"pooder-canvas-area"},[o.createElementVNode("canvas",{ref_key:"canvas",ref:a},null,512)],512))}}),C=(i,g)=>{const f=i.__vccOpts||i;for(const[t,a]of g)f[t]=a;return f},I=C(x,[["__scopeId","data-v-ba73979d"]]),b={class:"pooder-editor"},O=C(o.defineComponent({__name:"PooderEditor",emits:["image-change"],setup(i,{expose:g,emit:f}){const t=new p.Pooder;o.provide("pooder",t);const a=t.getService("CommandService"),c=t.getService("ConfigurationService"),l=t.getService("WorkbenchService"),v=f,h=c.onAnyChange(e=>{e.key==="image.items"&&v("image-change",e.value)});g({importConfig:e=>{c.import(e)},exportConfig:()=>c.export(),getImages:()=>c.get("image.items",[]),generateCutImage:async()=>await a.executeCommand("exportCutImage"),addImage:async(e,n)=>{const s=await a.executeCommand("addImage",e,n),d=await a.executeCommand("getGeometry"),u=t.getService("CanvasService");if(d&&u){const B=u.canvas.width,E=u.canvas.height,S=(c.get("dieline.offset")||0)*d.scale,j=d.width+2*S,D=d.height+2*S,z=d.x/B,A=d.y/E;await a.executeCommand("fitImageToArea",s,{width:j,height:D,left:z,top:A})}else u&&await a.executeCommand("fitImageToArea",s,{width:u.canvas.width,height:u.canvas.height,left:.5,top:.5});return s},updateImage:async(e,n)=>await a.executeCommand("updateImage",e,n),clearImages:async()=>await a.executeCommand("clearImages"),detectDieline:async e=>{const n=await a.executeCommand("detectEdge",e,{expand:10,smoothing:!0,simplifyTolerance:2});if(n){const{pathData:s,width:d,height:u}=n;return c.update("dieline.shape","custom"),c.update("dieline.pathData",s),c.update("dieline.width",d),c.update("dieline.height",u),c.update("dieline.offset",0),s}return null},activateTool:e=>l.activate(e),on:(e,n)=>t.eventBus.on(e,n),off:(e,n)=>t.eventBus.off(e,n),emit:(e,n)=>t.eventBus.emit(e,n),executeCommand:(e,...n)=>a.executeCommand(e,...n),getConfig:e=>c.get(e),updateConfig:(e,n)=>c.update(e,n),services:{workbench:l,command:a,config:c}});const T=e=>{const n=new m.CanvasService(e,{eventBus:t.eventBus});t.registerService(n,"CanvasService"),[new m.BackgroundTool,new m.ImageTool,new m.MirrorTool,new m.DielineTool,new m.RulerTool,new m.FeatureTool].forEach(d=>{t.extensionManager.register(d)})},P=(e,n)=>{const s=t.getService("CanvasService");s&&s.canvas.setDimensions({width:e,height:n})};return o.onUnmounted(()=>{const e=t.getService("CanvasService");e&&e.dispose(),h.dispose(),t.extensionManager.destroy()}),(e,n)=>(o.openBlock(),o.createElementBlock("div",b,[o.createVNode(I,{onCanvasReady:T,onResize:P})]))}}),[["__scopeId","data-v-fe0feb51"]]);r.PooderEditor=O,Object.keys(p).forEach(i=>{i!=="default"&&!Object.prototype.hasOwnProperty.call(r,i)&&Object.defineProperty(r,i,{enumerable:!0,get:()=>p[i]})}),Object.keys(m).forEach(i=>{i!=="default"&&!Object.prototype.hasOwnProperty.call(r,i)&&Object.defineProperty(r,i,{enumerable:!0,get:()=>m[i]})}),Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})}));
@@ -1,3 +1,4 @@
1
+ import { CommandService, ConfigurationService, WorkbenchService } from '../../core/src/index.ts';
1
2
  declare const _default: import('vue').DefineComponent<{}, {
2
3
  importConfig: (config: Record<string, any>) => void;
3
4
  exportConfig: () => Record<string, any>;
@@ -7,6 +8,18 @@ declare const _default: import('vue').DefineComponent<{}, {
7
8
  updateImage: (id: string, options?: any) => Promise<any>;
8
9
  clearImages: () => Promise<any>;
9
10
  detectDieline: (url: string) => Promise<any>;
11
+ activateTool: (id: string) => void;
12
+ on: (event: string, handler: any) => void;
13
+ off: (event: string, handler: any) => void;
14
+ emit: (event: string, data: any) => void;
15
+ executeCommand: (id: string, ...args: any[]) => Promise<any>;
16
+ getConfig: (key: string) => any;
17
+ updateConfig: (key: string, val: any) => void;
18
+ services: {
19
+ workbench: WorkbenchService;
20
+ command: CommandService;
21
+ config: ConfigurationService;
22
+ };
10
23
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
11
24
  "image-change": (images: any[]) => any;
12
25
  }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
package/dist/vue.css CHANGED
@@ -1 +1 @@
1
- .pooder-canvas-area[data-v-ba73979d]{flex:1;width:100%;height:100%;min-height:650px;min-width:650px;overflow:hidden;background:#f5f5f5;position:relative}canvas[data-v-ba73979d]{display:block}.pooder-editor[data-v-a3843b59]{display:flex;width:100%;height:100%;overflow:hidden}
1
+ .pooder-canvas-area[data-v-ba73979d]{flex:1;width:100%;height:100%;min-height:650px;min-width:650px;overflow:hidden;background:#f5f5f5;position:relative}canvas[data-v-ba73979d]{display:block}.pooder-editor[data-v-fe0feb51]{display:flex;width:100%;height:100%;overflow:hidden}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pooder/vue",
3
- "version": "3.3.1",
3
+ "version": "4.0.0",
4
4
  "main": "./dist/index.umd.js",
5
5
  "module": "./dist/index.es.js",
6
6
  "types": "./dist/index.d.ts",
@@ -19,8 +19,8 @@
19
19
  "access": "public"
20
20
  },
21
21
  "dependencies": {
22
- "@pooder/core": "1.2.0",
23
- "@pooder/kit": "3.5.0"
22
+ "@pooder/core": "2.0.0",
23
+ "@pooder/kit": "4.0.0"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "vue": "^3.0.0"