@edv4h/usketch-plugin-export 2.0.4 → 2.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG1E,wBAAgB,kBAAkB,IAAI,aAAa,CAiClD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG1E,wBAAgB,kBAAkB,IAAI,aAAa,CAkDlD"}
package/dist/plugin.js CHANGED
@@ -4,27 +4,45 @@ export function createExportPlugin() {
4
4
  id: "usketch-plugin-export",
5
5
  name: "エクスポート",
6
6
  setup(ctx) {
7
- const unsub1 = ctx.shortcuts.register("ctrl+shift+e", () => {
7
+ const exportImage = (format) => {
8
8
  const shapes = new Map(ctx.store.getShapes());
9
- exportCanvas(shapes, ctx.shapes, { format: "png" })
10
- .then((blob) => downloadBlob(blob, "usketch-export.png"))
11
- .catch((e) => console.error("PNG export failed:", e));
12
- });
13
- const unsub2 = ctx.shortcuts.register("ctrl+shift+alt+e", () => {
14
- const shapes = new Map(ctx.store.getShapes());
15
- exportCanvas(shapes, ctx.shapes, { format: "svg" })
16
- .then((blob) => downloadBlob(blob, "usketch-export.svg"))
17
- .catch((e) => console.error("SVG export failed:", e));
18
- });
19
- const unsub3 = ctx.shortcuts.register("ctrl+shift+j", () => {
20
- const shapes = new Map(ctx.store.getShapes());
21
- const blob = exportJson(shapes);
22
- downloadBlob(blob, "usketch-export.json");
23
- });
9
+ exportCanvas(shapes, ctx.shapes, { format })
10
+ .then((blob) => downloadBlob(blob, `usketch-export.${format}`))
11
+ .catch((e) => console.error(`${format.toUpperCase()} export failed:`, e));
12
+ };
13
+ const exportJsonFile = () => {
14
+ downloadBlob(exportJson(new Map(ctx.store.getShapes())), "usketch-export.json");
15
+ };
16
+ const unsub1 = ctx.shortcuts.register("ctrl+shift+e", () => exportImage("png"));
17
+ const unsub2 = ctx.shortcuts.register("ctrl+shift+alt+e", () => exportImage("svg"));
18
+ const unsub3 = ctx.shortcuts.register("ctrl+shift+j", exportJsonFile);
19
+ // ── Control HUD 用 Action(Demo の Export メニュー相当) ──
20
+ const offActions = [
21
+ ctx.actions.register({
22
+ id: "export:png",
23
+ label: "Export PNG",
24
+ group: "Export",
25
+ run: () => exportImage("png"),
26
+ }),
27
+ ctx.actions.register({
28
+ id: "export:svg",
29
+ label: "Export SVG",
30
+ group: "Export",
31
+ run: () => exportImage("svg"),
32
+ }),
33
+ ctx.actions.register({
34
+ id: "export:json",
35
+ label: "Export JSON",
36
+ group: "Export",
37
+ run: exportJsonFile,
38
+ }),
39
+ ];
24
40
  return () => {
25
41
  unsub1();
26
42
  unsub2();
27
43
  unsub3();
44
+ for (const off of offActions)
45
+ off();
28
46
  };
29
47
  },
30
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,UAAU,kBAAkB;IACjC,OAAO;QACN,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,QAAQ;QAEd,KAAK,CAAC,GAAkB;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9C,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;qBACjD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;qBACxD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC9D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9C,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;qBACjD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;qBACxD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChC,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,EAAE;gBACX,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;YACV,CAAC,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,UAAU,kBAAkB;IACjC,OAAO;QACN,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,QAAQ;QAEd,KAAK,CAAC,GAAkB;YACvB,MAAM,WAAW,GAAG,CAAC,MAAqB,EAAE,EAAE;gBAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9C,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;qBAC1C,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAkB,MAAM,EAAE,CAAC,CAAC;qBAC9D,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC;YACF,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC3B,YAAY,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;YACjF,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACpF,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAEtE,mDAAmD;YACnD,MAAM,UAAU,GAAG;gBAClB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpB,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;iBAC7B,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpB,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;iBAC7B,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpB,EAAE,EAAE,aAAa;oBACjB,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,cAAc;iBACnB,CAAC;aACF,CAAC;YAEF,OAAO,GAAG,EAAE;gBACX,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;gBACT,KAAK,MAAM,GAAG,IAAI,UAAU;oBAAE,GAAG,EAAE,CAAC;YACrC,CAAC,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-plugin-export",
3
- "version": "2.0.4",
3
+ "version": "2.1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,9 +11,9 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "satori": "0.26.0",
15
- "@edv4h/usketch-core": "2.0.4",
16
- "@edv4h/usketch-shared": "4.3.0"
14
+ "satori": "0.28.0",
15
+ "@edv4h/usketch-core": "2.1.0",
16
+ "@edv4h/usketch-shared": "4.5.0"
17
17
  },
18
18
  "peerDependencies": {
19
19
  "react": ">=19",
@@ -22,8 +22,8 @@
22
22
  "devDependencies": {
23
23
  "@types/react": "19.2.17",
24
24
  "@types/react-dom": "19.2.3",
25
- "typescript": "5.9.3",
26
- "vitest": "3.2.7"
25
+ "typescript": "7.0.2",
26
+ "vitest": "4.1.10"
27
27
  },
28
28
  "publishConfig": {
29
29
  "access": "public"