@printwithsynergy/artwork-pdf-editor 0.1.5 → 0.2.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 (39) hide show
  1. package/README.md +63 -2
  2. package/dist/components/EditorApp.d.ts +23 -4
  3. package/dist/components/EditorApp.d.ts.map +1 -1
  4. package/dist/components/EditorApp.js +72 -2
  5. package/dist/components/EditorApp.js.map +1 -1
  6. package/dist/components/EditorCanvas.d.ts +21 -1
  7. package/dist/components/EditorCanvas.d.ts.map +1 -1
  8. package/dist/components/EditorCanvas.js +23 -52
  9. package/dist/components/EditorCanvas.js.map +1 -1
  10. package/dist/components/PageNavigator.d.ts +26 -0
  11. package/dist/components/PageNavigator.d.ts.map +1 -0
  12. package/dist/components/PageNavigator.js +91 -0
  13. package/dist/components/PageNavigator.js.map +1 -0
  14. package/dist/data/dielines.json +35 -0
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/lens/dieline-overlay.d.ts +25 -0
  20. package/dist/lens/dieline-overlay.d.ts.map +1 -0
  21. package/dist/lens/dieline-overlay.js +50 -0
  22. package/dist/lens/dieline-overlay.js.map +1 -0
  23. package/dist/lens/index.d.ts +27 -0
  24. package/dist/lens/index.d.ts.map +1 -0
  25. package/dist/lens/index.js +28 -0
  26. package/dist/lens/index.js.map +1 -0
  27. package/dist/lens/preflight-findings.d.ts +21 -0
  28. package/dist/lens/preflight-findings.d.ts.map +1 -0
  29. package/dist/lens/preflight-findings.js +82 -0
  30. package/dist/lens/preflight-findings.js.map +1 -0
  31. package/dist/lib/dieline-template.d.ts +82 -0
  32. package/dist/lib/dieline-template.d.ts.map +1 -1
  33. package/dist/lib/dieline-template.js +66 -1
  34. package/dist/lib/dieline-template.js.map +1 -1
  35. package/dist/lib/editor-config.d.ts +0 -1
  36. package/dist/lib/editor-config.d.ts.map +1 -1
  37. package/dist/lib/editor-config.js +0 -2
  38. package/dist/lib/editor-config.js.map +1 -1
  39. package/package.json +11 -2
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ "use client";
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ const PANEL_BG = "#1a0f08";
5
+ const BORDER = "#3d1a00";
6
+ const BRAND = "#fc5102";
7
+ const MUTED = "#888";
8
+ /**
9
+ * Build a lens-pdf panel plugin that surfaces an artwork-pdf
10
+ * `PreflightReport` in the right-hand panel. Reuses the same preflight
11
+ * types the editor's pre-render PreflightPanel consumed.
12
+ *
13
+ * Pass the latest report when registering (or via a closure that re-reads
14
+ * a host store). Each issue renders as a clickable row; in this first
15
+ * pass we just list them — wiring to canvas-highlight (an OverlayItem
16
+ * round-trip) comes in a follow-up.
17
+ *
18
+ * @public
19
+ */
20
+ export function preflightFindingsPlugin(opts) {
21
+ return {
22
+ id: "artworkpdf.panel.preflight",
23
+ version: "1.0.0",
24
+ slot: "panel.right",
25
+ title: "Preflight",
26
+ order: 10,
27
+ mount(_ctx) {
28
+ const report = opts.report;
29
+ if (!report) {
30
+ return (_jsx("div", { style: {
31
+ padding: "0.75rem",
32
+ fontSize: "0.78rem",
33
+ color: MUTED,
34
+ background: PANEL_BG,
35
+ height: "100%",
36
+ }, children: "No preflight report attached to this document." }));
37
+ }
38
+ return (_jsxs("div", { style: {
39
+ background: PANEL_BG,
40
+ color: "#ddd",
41
+ height: "100%",
42
+ display: "flex",
43
+ flexDirection: "column",
44
+ fontSize: "0.8rem",
45
+ }, children: [_jsxs("header", { style: {
46
+ padding: "0.5rem 0.75rem",
47
+ borderBottom: `1px solid ${BORDER}`,
48
+ display: "flex",
49
+ alignItems: "center",
50
+ gap: "0.5rem",
51
+ }, children: [_jsx("span", { style: {
52
+ width: 8,
53
+ height: 8,
54
+ borderRadius: 4,
55
+ background: report.passed ? "#2e7d32" : "#b71c1c",
56
+ }, "aria-hidden": true }), _jsx("span", { style: { fontWeight: 600 }, children: report.passed ? "Passed" : "Issues found" }), _jsxs("span", { style: { marginLeft: "auto", color: MUTED, fontSize: "0.7rem" }, children: [report.issues.length, " issue", report.issues.length === 1 ? "" : "s"] })] }), _jsxs("ul", { style: {
57
+ flex: 1,
58
+ overflowY: "auto",
59
+ listStyle: "none",
60
+ margin: 0,
61
+ padding: 0,
62
+ }, children: [report.issues.length === 0 && (_jsx("li", { style: { padding: "0.75rem", color: MUTED }, children: "No issues." })), report.issues.map((issue, i) => (_jsx("li", { style: { borderBottom: `1px solid ${BORDER}` }, children: _jsxs("button", { type: "button", onClick: () => opts.onIssueClick?.(issue), style: {
63
+ width: "100%",
64
+ background: "transparent",
65
+ border: "none",
66
+ padding: "0.55rem 0.75rem",
67
+ textAlign: "left",
68
+ color: "#ddd",
69
+ cursor: opts.onIssueClick ? "pointer" : "default",
70
+ fontFamily: "inherit",
71
+ fontSize: "0.78rem",
72
+ }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [_jsx("span", { style: {
73
+ fontSize: "0.6rem",
74
+ letterSpacing: "0.08em",
75
+ textTransform: "uppercase",
76
+ color: issue.severity === "block" ? "#ef5350" : "#ffb74d",
77
+ fontWeight: 600,
78
+ }, children: issue.severity }), _jsx("span", { style: { color: BRAND, fontSize: "0.7rem", fontFamily: "monospace" }, children: issue.checkName }), issue.page !== undefined && (_jsxs("span", { style: { marginLeft: "auto", color: MUTED, fontSize: "0.7rem" }, children: ["p.", issue.page] }))] }), _jsx("div", { style: { marginTop: "0.2rem", lineHeight: 1.4 }, children: issue.message })] }) }, `${issue.checkName}-${i}`)))] })] }));
79
+ },
80
+ };
81
+ }
82
+ //# sourceMappingURL=preflight-findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight-findings.js","sourceRoot":"","sources":["../../src/lens/preflight-findings.tsx"],"names":[],"mappings":"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"}
@@ -25,9 +25,91 @@ export type DielineTemplate = {
25
25
  * rather than being lumped in with artwork spot inks. */
26
26
  export declare const DIELINE_STROKE = "#fc5102";
27
27
  export declare const DIELINE_NAME = "Die Line";
28
+ /**
29
+ * A multi-page dieline set — an ordered list of {@link DielineTemplate}
30
+ * ids that compose a single multi-page artwork document (e.g. a carton's
31
+ * front + back, or pouch front + back).
32
+ *
33
+ * @public
34
+ */
35
+ export type TemplateSet = {
36
+ id: string;
37
+ name: string;
38
+ description: string;
39
+ category: string;
40
+ pages: Array<{
41
+ templateId: string;
42
+ name?: string;
43
+ }>;
44
+ tags: string[];
45
+ isDefault?: boolean;
46
+ };
28
47
  export declare const TEMPLATES: DielineTemplate[];
48
+ /**
49
+ * Bundled multi-page template sets (e.g. carton front + back). Empty if
50
+ * the library has none.
51
+ *
52
+ * @public
53
+ */
54
+ export declare const TEMPLATE_SETS: TemplateSet[];
29
55
  export declare function getDefaultTemplate(): DielineTemplate;
30
56
  export declare function getTemplateById(id: string | undefined): DielineTemplate | undefined;
57
+ /**
58
+ * Lookup a multi-page template set by id (e.g. `"carton-6x4x2-set"`).
59
+ * Returns `undefined` for unknown / missing.
60
+ *
61
+ * @public
62
+ */
63
+ export declare function getTemplateSetById(id: string | undefined): TemplateSet | undefined;
64
+ /**
65
+ * Expand a {@link TemplateSet} into an ordered list of {@link Page}s.
66
+ * Each set entry resolves to its `DielineTemplate`; unknown ids are
67
+ * skipped (so callers always get a non-throwing result they can fall
68
+ * back from).
69
+ *
70
+ * @public
71
+ */
72
+ export declare function templateSetToPages(set: TemplateSet, bleedMmOverride?: number): Page[];
73
+ /**
74
+ * One page of a multi-page artwork document. Carries the dieline rect
75
+ * + any user-drawn objects, plus the per-page geometry (pageSize, bleed).
76
+ * Used as the array element of {@link EditorAppProps.initialPages}.
77
+ *
78
+ * @public
79
+ */
80
+ export type Page = {
81
+ /** Stable id (e.g. `uuid()` or ``page-${i}``) — used as a React key. */
82
+ id: string;
83
+ objects: CanvasObj[];
84
+ pageSize: {
85
+ width: number;
86
+ height: number;
87
+ };
88
+ bleedMm: number;
89
+ /** Source template id, when this page was seeded from a known dieline. */
90
+ templateId?: string;
91
+ /** Human label shown in the page navigator (e.g. "Front", "Back"). */
92
+ name?: string;
93
+ };
94
+ /**
95
+ * Build a {@link Page} from a {@link DielineTemplate}. Mirrors the
96
+ * single-page {@link templateToInitialState} output but in the new
97
+ * multi-page shape. Use this to seed `EditorAppProps.initialPages`.
98
+ *
99
+ * @public
100
+ */
101
+ export declare function templateToPage(template: DielineTemplate, bleedMmOverride?: number, name?: string): Page;
102
+ /**
103
+ * Build a list of {@link Page}s from an ordered set of templates +
104
+ * per-page names. Convenience for multi-page document sets (e.g. a
105
+ * carton's front / back / spine).
106
+ *
107
+ * @public
108
+ */
109
+ export declare function templatesToPages(entries: ReadonlyArray<{
110
+ template: DielineTemplate;
111
+ name?: string;
112
+ }>, bleedMmOverride?: number): Page[];
31
113
  export declare function templateToInitialState(template: DielineTemplate, bleedMmOverride?: number): {
32
114
  objects: CanvasObj[];
33
115
  pageSize: {
@@ -1 +1 @@
1
- {"version":3,"file":"dieline-template.d.ts","sourceRoot":"","sources":["../../src/lib/dieline-template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAIF;;0DAE0D;AAC1D,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,SAAS,EAAE,eAAe,EAA4D,CAAC;AAEpG,wBAAgB,kBAAkB,IAAI,eAAe,CAMpD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAGnF;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,eAAe,CAAC,EAAE,MAAM,GACvB;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAyBA"}
1
+ {"version":3,"file":"dieline-template.d.ts","sourceRoot":"","sources":["../../src/lib/dieline-template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAIF;;0DAE0D;AAC1D,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AASF,eAAO,MAAM,SAAS,EAAE,eAAe,EAAsB,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EAA+B,CAAC;AAEvE,wBAAgB,kBAAkB,IAAI,eAAe,CAMpD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAGnF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAGlF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,CAOrF;AAGD;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,EACzB,eAAe,CAAC,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAWN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACpE,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,EAAE,CAER;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,eAAe,CAAC,EAAE,MAAM,GACvB;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAyBA"}
@@ -5,7 +5,15 @@ const MM_TO_PT = 2.83465;
5
5
  * rather than being lumped in with artwork spot inks. */
6
6
  export const DIELINE_STROKE = "#fc5102";
7
7
  export const DIELINE_NAME = "Die Line";
8
- export const TEMPLATES = library.templates;
8
+ const LIBRARY = library;
9
+ export const TEMPLATES = LIBRARY.templates;
10
+ /**
11
+ * Bundled multi-page template sets (e.g. carton front + back). Empty if
12
+ * the library has none.
13
+ *
14
+ * @public
15
+ */
16
+ export const TEMPLATE_SETS = LIBRARY.templateSets ?? [];
9
17
  export function getDefaultTemplate() {
10
18
  const flagged = TEMPLATES.find((t) => t.isDefault);
11
19
  if (flagged)
@@ -20,6 +28,63 @@ export function getTemplateById(id) {
20
28
  return undefined;
21
29
  return TEMPLATES.find((t) => t.id === id);
22
30
  }
31
+ /**
32
+ * Lookup a multi-page template set by id (e.g. `"carton-6x4x2-set"`).
33
+ * Returns `undefined` for unknown / missing.
34
+ *
35
+ * @public
36
+ */
37
+ export function getTemplateSetById(id) {
38
+ if (!id)
39
+ return undefined;
40
+ return TEMPLATE_SETS.find((s) => s.id === id);
41
+ }
42
+ /**
43
+ * Expand a {@link TemplateSet} into an ordered list of {@link Page}s.
44
+ * Each set entry resolves to its `DielineTemplate`; unknown ids are
45
+ * skipped (so callers always get a non-throwing result they can fall
46
+ * back from).
47
+ *
48
+ * @public
49
+ */
50
+ export function templateSetToPages(set, bleedMmOverride) {
51
+ return set.pages
52
+ .map(({ templateId, name }) => {
53
+ const tpl = getTemplateById(templateId);
54
+ return tpl ? templateToPage(tpl, bleedMmOverride, name) : null;
55
+ })
56
+ .filter((p) => p !== null);
57
+ }
58
+ /**
59
+ * Build a {@link Page} from a {@link DielineTemplate}. Mirrors the
60
+ * single-page {@link templateToInitialState} output but in the new
61
+ * multi-page shape. Use this to seed `EditorAppProps.initialPages`.
62
+ *
63
+ * @public
64
+ */
65
+ export function templateToPage(template, bleedMmOverride, name) {
66
+ const { objects, pageSize } = templateToInitialState(template, bleedMmOverride);
67
+ const page = {
68
+ id: `page-${template.id}-${Math.random().toString(36).slice(2, 8)}`,
69
+ objects,
70
+ pageSize,
71
+ bleedMm: bleedMmOverride ?? template.bleedMm,
72
+ templateId: template.id,
73
+ };
74
+ if (name !== undefined)
75
+ page.name = name;
76
+ return page;
77
+ }
78
+ /**
79
+ * Build a list of {@link Page}s from an ordered set of templates +
80
+ * per-page names. Convenience for multi-page document sets (e.g. a
81
+ * carton's front / back / spine).
82
+ *
83
+ * @public
84
+ */
85
+ export function templatesToPages(entries, bleedMmOverride) {
86
+ return entries.map(({ template, name }) => templateToPage(template, bleedMmOverride, name));
87
+ }
23
88
  export function templateToInitialState(template, bleedMmOverride) {
24
89
  const bleedMm = bleedMmOverride ?? template.bleedMm;
25
90
  const pageSize = {
@@ -1 +1 @@
1
- {"version":3,"file":"dieline-template.js","sourceRoot":"","sources":["../../src/lib/dieline-template.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAe5C,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEzB;;0DAE0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAuB,OAA4C,CAAC,SAAS,CAAC;AAEpG,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAsB;IACpD,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAyB,EACzB,eAAwB;IAKxB,MAAM,OAAO,GAAG,eAAe,IAAI,QAAQ,CAAC,OAAO,CAAC;IACpD,MAAM,QAAQ,GAAG;QACf,KAAK,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,QAAQ;QAC7D,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,QAAQ;KAChE,CAAC;IACF,mEAAmE;IACnE,+DAA+D;IAC/D,iEAAiE;IACjE,uCAAuC;IACvC,MAAM,UAAU,GAAc;QAC5B,EAAE,EAAE,WAAW,QAAQ,CAAC,EAAE,EAAE;QAC5B,IAAI,EAAE,MAAM;QACZ,CAAC,EAAE,OAAO,GAAG,QAAQ;QACrB,CAAC,EAAE,OAAO,GAAG,QAAQ;QACrB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ;QACxC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ;QAC1C,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,IAAI;KACb,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"dieline-template.js","sourceRoot":"","sources":["../../src/lib/dieline-template.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,6 @@ export interface EditorConfig {
32
32
  enable_dieline_chooser: boolean;
33
33
  enable_bleed_input: boolean;
34
34
  enable_layers_panel: boolean;
35
- enable_separations_panel: boolean;
36
35
  enable_preflight_banner: boolean;
37
36
  enable_canvas_grid: boolean;
38
37
  enable_bleed_visualization: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-config.d.ts","sourceRoot":"","sources":["../../src/lib/editor-config.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAE3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAG3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAG5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IAGjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,YA4BnC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAItD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAAM,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,GAAG,KAAK,EACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GACxC,YAAY,CAGd"}
1
+ {"version":3,"file":"editor-config.d.ts","sourceRoot":"","sources":["../../src/lib/editor-config.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAE3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAG3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAG5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IAGjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,YA2BnC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAGtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAAM,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,GAAG,KAAK,EACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GACxC,YAAY,CAGd"}
@@ -29,7 +29,6 @@ export const DEFAULT_EDITOR_CONFIG = {
29
29
  enable_bleed_input: true,
30
30
  // Panels
31
31
  enable_layers_panel: true,
32
- enable_separations_panel: true,
33
32
  enable_preflight_banner: true,
34
33
  // Canvas
35
34
  enable_canvas_grid: true,
@@ -44,7 +43,6 @@ export const DEFAULT_EDITOR_CONFIG = {
44
43
  */
45
44
  export const BASIC_MODE_OVERRIDES = {
46
45
  enable_layers_panel: false,
47
- enable_separations_panel: false,
48
46
  enable_source_link: false,
49
47
  };
50
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"editor-config.js","sourceRoot":"","sources":["../../src/lib/editor-config.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAiD7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,SAAS;IACT,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;IACvB,UAAU;IACV,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,IAAI;IACzB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,kBAAkB,EAAE,IAAI;IACxB,SAAS;IACT,mBAAmB,EAAE,IAAI;IACzB,wBAAwB,EAAE,IAAI;IAC9B,uBAAuB,EAAE,IAAI;IAC7B,SAAS;IACT,kBAAkB,EAAE,IAAI;IACxB,0BAA0B,EAAE,IAAI;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,mBAAmB,EAAE,KAAK;IAC1B,wBAAwB,EAAE,KAAK;IAC/B,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA0B,EAAE,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAqB,EACrB,iBAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACnF,OAAO,EAAE,GAAG,qBAAqB,EAAE,GAAG,aAAa,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"editor-config.js","sourceRoot":"","sources":["../../src/lib/editor-config.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAgD7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,SAAS;IACT,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;IACvB,UAAU;IACV,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,IAAI;IACzB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,kBAAkB,EAAE,IAAI;IACxB,SAAS;IACT,mBAAmB,EAAE,IAAI;IACzB,uBAAuB,EAAE,IAAI;IAC7B,SAAS;IACT,kBAAkB,EAAE,IAAI;IACxB,0BAA0B,EAAE,IAAI;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,mBAAmB,EAAE,KAAK;IAC1B,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA0B,EAAE,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAqB,EACrB,iBAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACnF,OAAO,EAAE,GAAG,qBAAqB,EAAE,GAAG,aAAa,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC9E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@printwithsynergy/artwork-pdf-editor",
3
- "version": "0.1.5",
3
+ "version": "0.2.0",
4
4
  "description": "artworkPDF WYSIWYG editor as a host-customizable React component. Drop-in mountable in Next.js, Astro, Remix, etc.",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "type": "module",
@@ -10,6 +10,10 @@
10
10
  ".": {
11
11
  "types": "./dist/index.d.ts",
12
12
  "import": "./dist/index.js"
13
+ },
14
+ "./lens": {
15
+ "types": "./dist/lens/index.d.ts",
16
+ "import": "./dist/lens/index.js"
13
17
  }
14
18
  },
15
19
  "files": ["dist", "README.md", "LICENSE"],
@@ -26,9 +30,14 @@
26
30
  "react": "^19.0.0",
27
31
  "react-dom": "^19.0.0",
28
32
  "react-konva": "^19.0.0",
29
- "konva": "^10.3.0"
33
+ "konva": "^10.3.0",
34
+ "@printwithsynergy/lens-pdf": "^0.4.0-beta.17"
35
+ },
36
+ "peerDependenciesMeta": {
37
+ "@printwithsynergy/lens-pdf": { "optional": true }
30
38
  },
31
39
  "devDependencies": {
40
+ "@printwithsynergy/lens-pdf": "^0.4.0-beta.17",
32
41
  "@types/react": "^19.0.0",
33
42
  "@types/react-dom": "^19.0.0",
34
43
  "konva": "^10.3.0",