@snowcone-app/canvas 0.30.0 → 0.32.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 (80) hide show
  1. package/ERROR_CONTRACT.md +11 -0
  2. package/STYLING_CONTRACT.md +3 -3
  3. package/dist/{CanvasRenderer-BEf0hXeF.js → CanvasRenderer-1j-twIbs.js} +443 -431
  4. package/dist/{CanvasRenderer-BEf0hXeF.js.map → CanvasRenderer-1j-twIbs.js.map} +1 -1
  5. package/dist/{CanvasStateV1-BDSyYo4A.js → CanvasStateV1-BmC1JfPv.js} +813 -798
  6. package/dist/{CanvasStateV1-BDSyYo4A.js.map → CanvasStateV1-BmC1JfPv.js.map} +1 -1
  7. package/dist/ContextualToolbars-BKU8IoAM.js +6474 -0
  8. package/dist/ContextualToolbars-BKU8IoAM.js.map +1 -0
  9. package/dist/{EditorCanvasImpl-DXeBz2CX.js → EditorCanvasImpl-4voOsj2k.js} +19 -20
  10. package/dist/{EditorCanvasImpl-DXeBz2CX.js.map → EditorCanvasImpl-4voOsj2k.js.map} +1 -1
  11. package/dist/{ExportManager-DUdis6se.js → ExportManager-Ci81K6xA.js} +783 -500
  12. package/dist/ExportManager-Ci81K6xA.js.map +1 -0
  13. package/dist/{FontAnalyzer-DKG5JK0x.js → FontAnalyzer-BrKY6XYn.js} +1604 -1444
  14. package/dist/FontAnalyzer-BrKY6XYn.js.map +1 -0
  15. package/dist/{ImagePanel-CBgGqmVV.js → ImagePanel-ntJBepby.js} +49 -49
  16. package/dist/{ImagePanel-CBgGqmVV.js.map → ImagePanel-ntJBepby.js.map} +1 -1
  17. package/dist/{SnowconeCanvas-BWPBngvI.js → SnowconeCanvas-CgQdiBXv.js} +27 -27
  18. package/dist/{SnowconeCanvas-BWPBngvI.js.map → SnowconeCanvas-CgQdiBXv.js.map} +1 -1
  19. package/dist/advanced.mjs +14 -14
  20. package/dist/components/ImageToolbar.d.ts +12 -0
  21. package/dist/components/ShapeToolbar.d.ts +8 -0
  22. package/dist/components/TextToolbar.d.ts +5 -1
  23. package/dist/components/toolbars/EmbeddedToolbarLayout.d.ts +6 -0
  24. package/dist/components/toolbars/GroupElementToolbar.d.ts +8 -0
  25. package/dist/components/toolbars/SecondaryPanels.d.ts +40 -1
  26. package/dist/components/toolbars/index.d.ts +2 -2
  27. package/dist/components/ui/SliderRow.d.ts +6 -0
  28. package/dist/components/ui/toolbar-button.d.ts +2 -2
  29. package/dist/core/BaseElement.d.ts +2 -1
  30. package/dist/core/image-adjustments.d.ts +32 -0
  31. package/dist/core/shape-fill.d.ts +31 -0
  32. package/dist/{custom-icons-BIaRovwG.js → custom-icons-DTWtkJ9N.js} +7 -7
  33. package/dist/{custom-icons-BIaRovwG.js.map → custom-icons-DTWtkJ9N.js.map} +1 -1
  34. package/dist/design-builder-BpbYUYtK.js +1672 -0
  35. package/dist/design-builder-BpbYUYtK.js.map +1 -0
  36. package/dist/{embed-Csez1hui.js → embed-C69x0jHc.js} +110 -111
  37. package/dist/{embed-Csez1hui.js.map → embed-C69x0jHc.js.map} +1 -1
  38. package/dist/embed.mjs +53 -54
  39. package/dist/embed.mjs.map +1 -1
  40. package/dist/errors/editorError.d.ts +7 -0
  41. package/dist/{guards-BSoX73yg.js → guards-BhaQgJrE.js} +2 -2
  42. package/dist/{guards-BSoX73yg.js.map → guards-BhaQgJrE.js.map} +1 -1
  43. package/dist/hooks/elementPatch.d.ts +14 -4
  44. package/dist/index.mjs +41 -41
  45. package/dist/internals.mjs +202 -133
  46. package/dist/internals.mjs.map +1 -1
  47. package/dist/rendering/LayerEffectsRenderer.d.ts +24 -0
  48. package/dist/rendering/element-painters.d.ts +0 -13
  49. package/dist/rendering/element-serializer.d.ts +3 -1
  50. package/dist/rendering/image-adjustments.d.ts +24 -0
  51. package/dist/rendering/renderer-types.d.ts +10 -1
  52. package/dist/state/CanvasStateV1.d.ts +22 -0
  53. package/dist/style.css +1 -1
  54. package/dist/template-fields-D-2oLhCi.js +505 -0
  55. package/dist/template-fields-D-2oLhCi.js.map +1 -0
  56. package/dist/testing.mjs +40 -41
  57. package/dist/testing.mjs.map +1 -1
  58. package/dist/types/index.d.ts +105 -1
  59. package/dist/types/public.d.ts +3 -2
  60. package/dist/{UnifiedFontService-Co9tQ59z.js → useCommands-DwnZHUg8.js} +2361 -2103
  61. package/dist/useCommands-DwnZHUg8.js.map +1 -0
  62. package/dist/{usePieceGuideBundle-CRLY2iQa.js → usePieceGuideBundle-CnSmYrmM.js} +2 -2
  63. package/dist/{usePieceGuideBundle-CRLY2iQa.js.map → usePieceGuideBundle-CnSmYrmM.js.map} +1 -1
  64. package/dist/utils/featureApplied.d.ts +6 -0
  65. package/dist/{validation-BGEl9rrE.js → validation-DyUOjRGa.js} +465 -465
  66. package/dist/{validation-BGEl9rrE.js.map → validation-DyUOjRGa.js.map} +1 -1
  67. package/dist/workers/export-worker.bundle.string.d.ts +1 -1
  68. package/example/package.json +1 -1
  69. package/package.json +1 -1
  70. package/dist/ContextualToolbars-C3D_6sep.js +0 -5960
  71. package/dist/ContextualToolbars-C3D_6sep.js.map +0 -1
  72. package/dist/ExportManager-DUdis6se.js.map +0 -1
  73. package/dist/FontAnalyzer-DKG5JK0x.js.map +0 -1
  74. package/dist/UnifiedFontService-Co9tQ59z.js.map +0 -1
  75. package/dist/design-builder-JYLO_Hyi.js +0 -470
  76. package/dist/design-builder-JYLO_Hyi.js.map +0 -1
  77. package/dist/editorErrors-WzaNxU1Y.js +0 -1206
  78. package/dist/editorErrors-WzaNxU1Y.js.map +0 -1
  79. package/dist/template-fields-DYPW7bVU.js +0 -716
  80. package/dist/template-fields-DYPW7bVU.js.map +0 -1
package/dist/embed.mjs CHANGED
@@ -1,60 +1,59 @@
1
- import { C as a, a as t, b as r, u as o, d as i, f as n, g as m } from "./UnifiedFontService-Co9tQ59z.js";
2
- import { E as u, R as l, a as E, b as c, S as p, c as g, d as f, f as x, p as S, e as C, g as T, h as v, v as y } from "./embed-Csez1hui.js";
3
- import { E as P, y as b } from "./FontAnalyzer-DKG5JK0x.js";
4
- import { D as R, d as h, a as k, i as D } from "./design-builder-JYLO_Hyi.js";
5
- import { u as L } from "./editorErrors-WzaNxU1Y.js";
6
- import { D as M, T as A, h as G, i as K, j as _, k as j, l as z, m as N, r as Y, u as q, a as H, b as J, c as O, d as Q, e as U, f as V, w as W } from "./template-fields-DYPW7bVU.js";
7
- import { c as Z, e as $, l as ee, r as se } from "./ExportManager-DUdis6se.js";
8
- import { s as te } from "./CanvasStateV1-BDSyYo4A.js";
1
+ import { C as a, a as t, b as r, A as o, F as i, G as n, H as d, J as m, K as u, u as l, d as E, f as c, g as p, h as g } from "./useCommands-DwnZHUg8.js";
2
+ import { E as S, R as f, a as C, b as T, S as F, c as v, d as y, f as P, p as b, e as B, g as R, h, v as D } from "./embed-C69x0jHc.js";
3
+ import { E as L, y as k } from "./FontAnalyzer-BrKY6XYn.js";
4
+ import { D as A, d as G, j as K, i as M, u as _ } from "./design-builder-BpbYUYtK.js";
5
+ import { D as z, T as H, r as J, u as N, a as Y, b as q, c as O, d as Q, e as U, w as V } from "./template-fields-D-2oLhCi.js";
6
+ import { c as X, e as Z, l as $, r as ee } from "./ExportManager-Ci81K6xA.js";
7
+ import { s as ae } from "./CanvasStateV1-BmC1JfPv.js";
9
8
  export {
10
9
  a as CanvasServicesProvider,
11
- R as DesignBuilder,
12
- M as DesignStateStore,
13
- u as Editor,
14
- P as EditorError,
15
- l as RealtimeCanvas,
16
- E as RealtimeEmbed,
17
- c as RealtimeMockup,
18
- p as SnowconeEditor,
19
- A as TEMPLATE_FIELDS_KEY,
20
- g as auditEditor,
21
- f as collectEmbedIssues,
10
+ A as DesignBuilder,
11
+ z as DesignStateStore,
12
+ S as Editor,
13
+ L as EditorError,
14
+ f as RealtimeCanvas,
15
+ C as RealtimeEmbed,
16
+ T as RealtimeMockup,
17
+ F as SnowconeEditor,
18
+ H as TEMPLATE_FIELDS_KEY,
19
+ v as auditEditor,
20
+ y as collectEmbedIssues,
22
21
  t as createProxyGenerate,
23
22
  r as createProxyImageSearch,
24
- Z as customFontRegistry,
25
- h as design,
26
- G as editorElementKind,
27
- $ as ensureCustomFontsLoaded,
28
- x as formatBuyPrice,
29
- k as isColorToken,
30
- b as isEditorError,
31
- K as isGroupElement,
32
- _ as isImageElement,
33
- D as isLayerToken,
34
- j as isPathElement,
35
- z as isShapeElement,
36
- N as isTextElement,
37
- ee as loadCustomFont,
38
- S as productToRenderConfig,
39
- Y as readTemplateFields,
40
- se as registerCustomFonts,
41
- te as serializeState,
42
- o as useArtboards,
43
- i as useCanvasServices,
44
- q as useColorBinding,
45
- H as useCommands,
46
- L as useEditor,
47
- J as useElementByName,
48
- n as useExport,
49
- O as useFontBinding,
50
- Q as useImageBinding,
51
- m as useLayers,
52
- C as usePlacements,
53
- T as useProductSelection,
54
- v as useRealtimeMockups,
55
- U as useSelectedElement,
56
- V as useTextBinding,
57
- y as validateEmbed,
58
- W as withTemplateFields
23
+ X as customFontRegistry,
24
+ G as design,
25
+ o as editorElementKind,
26
+ Z as ensureCustomFontsLoaded,
27
+ P as formatBuyPrice,
28
+ K as isColorToken,
29
+ k as isEditorError,
30
+ i as isGroupElement,
31
+ n as isImageElement,
32
+ M as isLayerToken,
33
+ d as isPathElement,
34
+ m as isShapeElement,
35
+ u as isTextElement,
36
+ $ as loadCustomFont,
37
+ b as productToRenderConfig,
38
+ J as readTemplateFields,
39
+ ee as registerCustomFonts,
40
+ ae as serializeState,
41
+ l as useArtboards,
42
+ E as useCanvasServices,
43
+ N as useColorBinding,
44
+ c as useCommands,
45
+ _ as useEditor,
46
+ Y as useElementByName,
47
+ p as useExport,
48
+ q as useFontBinding,
49
+ O as useImageBinding,
50
+ g as useLayers,
51
+ B as usePlacements,
52
+ R as useProductSelection,
53
+ h as useRealtimeMockups,
54
+ Q as useSelectedElement,
55
+ U as useTextBinding,
56
+ D as validateEmbed,
57
+ V as withTemplateFields
59
58
  };
60
59
  //# sourceMappingURL=embed.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"embed.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"embed.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -68,6 +68,13 @@ export type EditorErrorCode =
68
68
  * wrong primitive type). The message names the element kind and lists the
69
69
  * valid keys for it. Dev AND prod. */
70
70
  | 'E_INVALID_PATCH'
71
+ /** A shape `fill` value is not a valid `ShapeFill` union member: unknown
72
+ * `type` (valid: "solid" | "linear" | "radial"), a gradient with fewer
73
+ * than 2 stops, a stop `offset` outside 0..1 (or non-finite), a non-string
74
+ * stop `color`, or a non-finite linear `angle`. Thrown wherever a fill
75
+ * enters the model — `new ShapeElement(...)` and `updateElement` patches.
76
+ * Dev AND prod. */
77
+ | 'E_INVALID_FILL'
71
78
  /** `addElement(spec)`: there is no active artboard to add the element to.
72
79
  * Create or select an artboard first (`<Editor.Root>` seeds one
73
80
  * automatically; with a raw `EditorProvider` use `executeCreateArtboard`).
@@ -1,4 +1,4 @@
1
- import { G as n, I as t, P as a, S as s, T as i } from "./FontAnalyzer-DKG5JK0x.js";
1
+ import { G as n, I as t, P as a, S as s, T as i } from "./FontAnalyzer-BrKY6XYn.js";
2
2
  function r(e) {
3
3
  return e instanceof i;
4
4
  }
@@ -21,4 +21,4 @@ export {
21
21
  r as d,
22
22
  u as i
23
23
  };
24
- //# sourceMappingURL=guards-BSoX73yg.js.map
24
+ //# sourceMappingURL=guards-BhaQgJrE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards-BSoX73yg.js","sources":["../src/types/guards.ts"],"sourcesContent":["/**\n * Type guards for EditorElement discrimination\n *\n * These guards use instanceof checks against the concrete element classes,\n * matching the pattern established in EditorContext.tsx. They accept\n * BaseElement | EditorElement | undefined | null for maximum flexibility\n * at call sites.\n */\n\nimport { BaseElement } from '../core/BaseElement.js';\nimport { TextElement } from '../core/TextElement.js';\nimport { ImageElement } from '../core/ImageElement.js';\nimport { GroupElement } from '../core/GroupElement.js';\nimport { ShapeElement } from '../core/ShapeElement.js';\nimport { PathElement } from '../core/PathElement.js';\n\ntype Narrowable = BaseElement | TextElement | ImageElement | GroupElement | ShapeElement | PathElement | undefined | null;\n\n/**\n * Type guard: checks if an element is a TextElement (or any text-based transform subclass).\n *\n * TextElement is the base class for all text transforms (custom, circle, arch, wave, etc.),\n * so this returns true for any text-based element regardless of its specific transformType.\n */\nexport function isTextElement(element: Narrowable): element is TextElement {\n return element instanceof TextElement;\n}\n\n/**\n * Type guard: checks if an element is an ImageElement.\n */\nexport function isImageElement(element: Narrowable): element is ImageElement {\n return element instanceof ImageElement;\n}\n\n/**\n * Type guard: checks if an element is a GroupElement.\n */\nexport function isGroupElement(element: Narrowable): element is GroupElement {\n return element instanceof GroupElement;\n}\n\n/**\n * Type guard: checks if an element is a ShapeElement.\n */\nexport function isShapeElement(element: Narrowable): element is ShapeElement {\n return element instanceof ShapeElement;\n}\n\n/**\n * Type guard: checks if an element is a PathElement.\n */\nexport function isPathElement(element: Narrowable): element is PathElement {\n return element instanceof PathElement;\n}\n"],"names":["isTextElement","element","TextElement","isImageElement","ImageElement","isGroupElement","GroupElement","isShapeElement","ShapeElement","isPathElement","PathElement"],"mappings":";AAwBO,SAASA,EAAcC,GAA6C;AACzE,SAAOA,aAAmBC;AAC5B;AAKO,SAASC,EAAeF,GAA8C;AAC3E,SAAOA,aAAmBG;AAC5B;AAKO,SAASC,EAAeJ,GAA8C;AAC3E,SAAOA,aAAmBK;AAC5B;AAKO,SAASC,EAAeN,GAA8C;AAC3E,SAAOA,aAAmBO;AAC5B;AAKO,SAASC,EAAcR,GAA6C;AACzE,SAAOA,aAAmBS;AAC5B;"}
1
+ {"version":3,"file":"guards-BhaQgJrE.js","sources":["../src/types/guards.ts"],"sourcesContent":["/**\n * Type guards for EditorElement discrimination\n *\n * These guards use instanceof checks against the concrete element classes,\n * matching the pattern established in EditorContext.tsx. They accept\n * BaseElement | EditorElement | undefined | null for maximum flexibility\n * at call sites.\n */\n\nimport { BaseElement } from '../core/BaseElement.js';\nimport { TextElement } from '../core/TextElement.js';\nimport { ImageElement } from '../core/ImageElement.js';\nimport { GroupElement } from '../core/GroupElement.js';\nimport { ShapeElement } from '../core/ShapeElement.js';\nimport { PathElement } from '../core/PathElement.js';\n\ntype Narrowable = BaseElement | TextElement | ImageElement | GroupElement | ShapeElement | PathElement | undefined | null;\n\n/**\n * Type guard: checks if an element is a TextElement (or any text-based transform subclass).\n *\n * TextElement is the base class for all text transforms (custom, circle, arch, wave, etc.),\n * so this returns true for any text-based element regardless of its specific transformType.\n */\nexport function isTextElement(element: Narrowable): element is TextElement {\n return element instanceof TextElement;\n}\n\n/**\n * Type guard: checks if an element is an ImageElement.\n */\nexport function isImageElement(element: Narrowable): element is ImageElement {\n return element instanceof ImageElement;\n}\n\n/**\n * Type guard: checks if an element is a GroupElement.\n */\nexport function isGroupElement(element: Narrowable): element is GroupElement {\n return element instanceof GroupElement;\n}\n\n/**\n * Type guard: checks if an element is a ShapeElement.\n */\nexport function isShapeElement(element: Narrowable): element is ShapeElement {\n return element instanceof ShapeElement;\n}\n\n/**\n * Type guard: checks if an element is a PathElement.\n */\nexport function isPathElement(element: Narrowable): element is PathElement {\n return element instanceof PathElement;\n}\n"],"names":["isTextElement","element","TextElement","isImageElement","ImageElement","isGroupElement","GroupElement","isShapeElement","ShapeElement","isPathElement","PathElement"],"mappings":";AAwBO,SAASA,EAAcC,GAA6C;AACzE,SAAOA,aAAmBC;AAC5B;AAKO,SAASC,EAAeF,GAA8C;AAC3E,SAAOA,aAAmBG;AAC5B;AAKO,SAASC,EAAeJ,GAA8C;AAC3E,SAAOA,aAAmBK;AAC5B;AAKO,SAASC,EAAeN,GAA8C;AAC3E,SAAOA,aAAmBO;AAC5B;AAKO,SAASC,EAAcR,GAA6C;AACzE,SAAOA,aAAmBS;AAC5B;"}
@@ -2,7 +2,7 @@ import { LayerToken } from '../design/design-builder.js';
2
2
  import { EditorElementKind } from '../core/elementGuards.js';
3
3
  import { ElementStore } from '../core/ElementStore.js';
4
4
  import { EditorElement } from '../contexts/EditorContext.js';
5
- import { TextAlign } from '../types/index.js';
5
+ import { ImageAdjustments, ShapeFill, TextAlign } from '../types/index.js';
6
6
  /**
7
7
  * A serializable element patch for {@link UseCommandsReturn.updateElement}.
8
8
  *
@@ -14,8 +14,8 @@ import { TextAlign } from '../types/index.js';
14
14
  * |---|---|
15
15
  * | `x`, `y`, `rotation`, `opacity`, `name`, `visible`, `locked` | every kind |
16
16
  * | `text`, `fontSize`, `color`, `fontFamily`, `bold`, `italic`, `textAlign` | text |
17
- * | `fillColor`, `width`, `height` | shape |
18
- * | `imageUrl`, `width`, `height` | image |
17
+ * | `fillColor`, `fill`, `width`, `height` | shape |
18
+ * | `imageUrl`, `width`, `height`, `adjustments` | image |
19
19
  */
20
20
  export interface ElementPatch {
21
21
  /** Center x in artboard coordinates. Any kind. */
@@ -46,8 +46,13 @@ export interface ElementPatch {
46
46
  italic?: boolean;
47
47
  /** Text alignment. Text elements only. */
48
48
  textAlign?: TextAlign;
49
- /** Fill color (CSS color). Shape elements only. */
49
+ /** Fill color (CSS color). Shape elements only. Also CLEARS any gradient
50
+ * `fill` so the patched color is what actually renders (`fill` wins over
51
+ * `fillColor` otherwise — a silently-overridden patch is a no-op trap). */
50
52
  fillColor?: string;
53
+ /** Rich fill (solid or gradient) — `{ type: 'solid' | 'linear' | 'radial', ... }`.
54
+ * Shape elements only. Invalid unions throw `E_INVALID_FILL`. */
55
+ fill?: ShapeFill;
51
56
  /** Frame width (> 0). Shape and image elements only. */
52
57
  width?: number;
53
58
  /** Frame height (> 0). Shape and image elements only. */
@@ -56,6 +61,11 @@ export interface ElementPatch {
56
61
  * Combined with explicit `width`/`height` the frame is preserved;
57
62
  * otherwise the frame height re-fits the loaded aspect ratio. */
58
63
  imageUrl?: string;
64
+ /** Brightness/contrast/saturation multipliers (each 0..3, 1 = neutral —
65
+ * e.g. "warmer/brighter photo" ≈ `{ brightness: 1.1, contrast: 1, saturation: 1.2 }`).
66
+ * Passing all-neutral `{1, 1, 1}` RESETS (the stored neutral state is the
67
+ * absence of adjustments). Image elements only. */
68
+ adjustments?: ImageAdjustments;
59
69
  }
60
70
  /** Options for {@link UseCommandsReturn.updateElement}. */
61
71
  export interface UpdateElementOptions {
package/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
- import { e as u } from "./UnifiedFontService-Co9tQ59z.js";
2
- import { C as p, c as x, a as I, b as v, u as A, d as g, f as T, g as B } from "./UnifiedFontService-Co9tQ59z.js";
3
- import { E as y, S as F, S as L, u as _, a as O } from "./SnowconeCanvas-BWPBngvI.js";
4
- import { u as m, a as d } from "./editorErrors-WzaNxU1Y.js";
5
- import { T as M, r as z, u as w, a as D, b as K, c as N, d as V, e as b, f as h, w as U } from "./template-fields-DYPW7bVU.js";
6
- import { A as Z, C as G, E as H, M as j, P as k, r as q, v as J } from "./validation-BGEl9rrE.js";
7
- import { c as W, e as X, l as $, r as ee } from "./ExportManager-DUdis6se.js";
8
- import { C as ae, D as te, d as oe, s as re } from "./design-builder-JYLO_Hyi.js";
1
+ import { e as u } from "./useCommands-DwnZHUg8.js";
2
+ import { C as p, c as x, a as I, b as v, u as A, d as g, f as T, g as B, h as P } from "./useCommands-DwnZHUg8.js";
3
+ import { E as F, S as L, S as _, u as O, a as R } from "./SnowconeCanvas-CgQdiBXv.js";
4
+ import { u as m, a as d } from "./design-builder-BpbYUYtK.js";
5
+ import { C as z, D as w, d as D, s as K } from "./design-builder-BpbYUYtK.js";
6
+ import { T as V, r as b, u as h, a as U, b as Y, c as Z, d as G, e as H, w as j } from "./template-fields-D-2oLhCi.js";
7
+ import { A as q, C as J, E as Q, M as W, P as X, r as $, v as ee } from "./validation-DyUOjRGa.js";
8
+ import { c as ae, e as te, l as oe, r as re } from "./ExportManager-Ci81K6xA.js";
9
9
  import { c as ie, e as ue } from "./compose-DtQL_oit.js";
10
- import { d as de, m as Ce, s as Se, v as Ee } from "./CanvasStateV1-BDSyYo4A.js";
10
+ import { d as de, m as Ce, s as Se, v as Ee } from "./CanvasStateV1-BmC1JfPv.js";
11
11
  function E() {
12
12
  const { isCanvasReady: e } = m();
13
13
  return e;
@@ -18,52 +18,52 @@ function c() {
18
18
  }
19
19
  u();
20
20
  export {
21
- Z as ALL_CAPABILITIES,
22
- ae as CANVAS_STATE_SCHEMA_VERSION,
23
- G as COMPACT_CUSTOMIZER,
21
+ q as ALL_CAPABILITIES,
22
+ z as CANVAS_STATE_SCHEMA_VERSION,
23
+ J as COMPACT_CUSTOMIZER,
24
24
  p as CanvasServicesProvider,
25
- te as DesignBuilder,
26
- H as EMBED_ONLY,
27
- y as ErrorBoundary,
28
- j as MINIMAL_CAPABILITIES,
29
- k as PRO_STUDIO,
30
- F as SnowconeCanvas,
31
- M as TEMPLATE_FIELDS_KEY,
25
+ w as DesignBuilder,
26
+ Q as EMBED_ONLY,
27
+ F as ErrorBoundary,
28
+ W as MINIMAL_CAPABILITIES,
29
+ X as PRO_STUDIO,
30
+ L as SnowconeCanvas,
31
+ V as TEMPLATE_FIELDS_KEY,
32
32
  ie as createKit,
33
33
  x as createProxyBgRemove,
34
34
  I as createProxyGenerate,
35
35
  v as createProxyImageSearch,
36
- W as customFontRegistry,
37
- L as default,
36
+ ae as customFontRegistry,
37
+ _ as default,
38
38
  de as deserializeState,
39
- oe as design,
40
- X as ensureCustomFontsLoaded,
39
+ D as design,
40
+ te as ensureCustomFontsLoaded,
41
41
  ue as extendKit,
42
- $ as loadCustomFont,
42
+ oe as loadCustomFont,
43
43
  Ce as migrateState,
44
- z as readTemplateFields,
45
- ee as registerCustomFonts,
46
- q as resolveKit,
44
+ b as readTemplateFields,
45
+ re as registerCustomFonts,
46
+ $ as resolveKit,
47
47
  Se as serializeState,
48
- re as serializeStateForServer,
48
+ K as serializeStateForServer,
49
49
  A as useArtboards,
50
- _ as useAutoExport,
50
+ O as useAutoExport,
51
51
  E as useCanvasReady,
52
52
  g as useCanvasServices,
53
- w as useColorBinding,
54
- D as useCommands,
55
- O as useContentReady,
53
+ h as useColorBinding,
54
+ T as useCommands,
55
+ R as useContentReady,
56
56
  m as useEditor,
57
- K as useElementByName,
58
- T as useExport,
59
- N as useFontBinding,
60
- V as useImageBinding,
61
- B as useLayers,
62
- b as useSelectedElement,
63
- h as useTextBinding,
57
+ U as useElementByName,
58
+ B as useExport,
59
+ Y as useFontBinding,
60
+ Z as useImageBinding,
61
+ P as useLayers,
62
+ G as useSelectedElement,
63
+ H as useTextBinding,
64
64
  c as useViewport,
65
- J as validateKit,
65
+ ee as validateKit,
66
66
  Ee as validateState,
67
- U as withTemplateFields
67
+ j as withTemplateFields
68
68
  };
69
69
  //# sourceMappingURL=index.mjs.map