@snowcone-app/canvas 0.28.0 → 0.29.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 (59) hide show
  1. package/dist/{CanvasRenderer-B_3GISlW.js → CanvasRenderer-_lFoIoz5.js} +1083 -1071
  2. package/dist/CanvasRenderer-_lFoIoz5.js.map +1 -0
  3. package/dist/{CanvasStateV1-kL09wsAn.js → CanvasStateV1-BMxr6xb8.js} +7 -4
  4. package/dist/{CanvasStateV1-kL09wsAn.js.map → CanvasStateV1-BMxr6xb8.js.map} +1 -1
  5. package/dist/{ContextualToolbars-C69oYLdw.js → ContextualToolbars-0jWvnQgp.js} +1718 -1656
  6. package/dist/ContextualToolbars-0jWvnQgp.js.map +1 -0
  7. package/dist/{EditorCanvasImpl-CrI9C_xM.js → EditorCanvasImpl-BNz8TPFs.js} +8 -8
  8. package/dist/{EditorCanvasImpl-CrI9C_xM.js.map → EditorCanvasImpl-BNz8TPFs.js.map} +1 -1
  9. package/dist/{ExportManager-J2xK86uq.js → ExportManager-B8Td7uR5.js} +1043 -964
  10. package/dist/ExportManager-B8Td7uR5.js.map +1 -0
  11. package/dist/{FontAnalyzer-PE6nysqE.js → FontAnalyzer-D4Sg-P6_.js} +1234 -1172
  12. package/dist/FontAnalyzer-D4Sg-P6_.js.map +1 -0
  13. package/dist/{ImagePanel-CmQCxBGm.js → ImagePanel-CN2Bu3hf.js} +6 -6
  14. package/dist/{ImagePanel-CmQCxBGm.js.map → ImagePanel-CN2Bu3hf.js.map} +1 -1
  15. package/dist/{SnowconeCanvas-CQiFVR0X.js → SnowconeCanvas-CR_LdRFP.js} +27 -27
  16. package/dist/{SnowconeCanvas-CQiFVR0X.js.map → SnowconeCanvas-CR_LdRFP.js.map} +1 -1
  17. package/dist/{UnifiedFontService-BJzoqfBF.js → UnifiedFontService-CgYnYTj7.js} +7 -7
  18. package/dist/{UnifiedFontService-BJzoqfBF.js.map → UnifiedFontService-CgYnYTj7.js.map} +1 -1
  19. package/dist/advanced.mjs +14 -14
  20. package/dist/components/toolbars/SecondaryPanels.d.ts +11 -0
  21. package/dist/core/TextElement.d.ts +13 -0
  22. package/dist/core/TextMetrics.d.ts +17 -3
  23. package/dist/core/rich-text-layout.d.ts +2 -0
  24. package/dist/core/text-spacing.d.ts +74 -0
  25. package/dist/{custom-icons-BWiUGqD6.js → custom-icons-B5TRC1Ed.js} +2 -2
  26. package/dist/{custom-icons-BWiUGqD6.js.map → custom-icons-B5TRC1Ed.js.map} +1 -1
  27. package/dist/{design-builder-bquxIHct.js → design-builder-COj0zkxu.js} +2 -2
  28. package/dist/{design-builder-bquxIHct.js.map → design-builder-COj0zkxu.js.map} +1 -1
  29. package/dist/{editorErrors-8uDRMhow.js → editorErrors-CCvoKj_P.js} +2 -2
  30. package/dist/{editorErrors-8uDRMhow.js.map → editorErrors-CCvoKj_P.js.map} +1 -1
  31. package/dist/{embed-L3oRIgsj.js → embed-BTRtoktw.js} +10 -10
  32. package/dist/{embed-L3oRIgsj.js.map → embed-BTRtoktw.js.map} +1 -1
  33. package/dist/embed.mjs +6 -6
  34. package/dist/{guards-BlbhM5MX.js → guards-uQtEQJbs.js} +2 -2
  35. package/dist/{guards-BlbhM5MX.js.map → guards-uQtEQJbs.js.map} +1 -1
  36. package/dist/hooks/useTextToolbar.d.ts +8 -0
  37. package/dist/index.mjs +8 -8
  38. package/dist/internals.mjs +5 -5
  39. package/dist/rendering/renderer-types.d.ts +4 -0
  40. package/dist/rendering/rich-text-renderer.d.ts +4 -0
  41. package/dist/rendering/text-renderer.d.ts +4 -1
  42. package/dist/state/CanvasStateV1.d.ts +3 -0
  43. package/dist/{template-fields-ai7vnW8g.js → template-fields-BLRp84Ny.js} +6 -6
  44. package/dist/{template-fields-ai7vnW8g.js.map → template-fields-BLRp84Ny.js.map} +1 -1
  45. package/dist/testing.mjs +4 -4
  46. package/dist/types/index.d.ts +26 -0
  47. package/dist/{usePieceGuideBundle-CMe5br2a.js → usePieceGuideBundle-CTQszfKA.js} +2 -2
  48. package/dist/{usePieceGuideBundle-CMe5br2a.js.map → usePieceGuideBundle-CTQszfKA.js.map} +1 -1
  49. package/dist/utils/featureApplied.d.ts +6 -0
  50. package/dist/{validation-B8kIYutI.js → validation-eCebhplp.js} +1940 -1935
  51. package/dist/validation-eCebhplp.js.map +1 -0
  52. package/dist/workers/export-worker.bundle.string.d.ts +1 -1
  53. package/example/package.json +1 -1
  54. package/package.json +1 -1
  55. package/dist/CanvasRenderer-B_3GISlW.js.map +0 -1
  56. package/dist/ContextualToolbars-C69oYLdw.js.map +0 -1
  57. package/dist/ExportManager-J2xK86uq.js.map +0 -1
  58. package/dist/FontAnalyzer-PE6nysqE.js.map +0 -1
  59. package/dist/validation-B8kIYutI.js.map +0 -1
package/dist/embed.mjs CHANGED
@@ -1,9 +1,9 @@
1
- import { C as a, a as r, b as t, u as i, d as o, f as n, g as d } from "./UnifiedFontService-BJzoqfBF.js";
2
- import { E as l, R as u, a as E, b as c, S as p, c as g, d as S, f, p as x, e as T, g as v, h as C, v as P } from "./embed-L3oRIgsj.js";
3
- import { g as B, i as h, u as y } from "./editorErrors-8uDRMhow.js";
4
- import { D as k, d as D, a as I, i as F } from "./design-builder-bquxIHct.js";
5
- import { D as w, T as M, h as A, i as G, j as K, k as _, l as j, m as z, r as N, u as Y, a as q, b as H, c as J, d as O, e as Q, f as U, w as V } from "./template-fields-ai7vnW8g.js";
6
- import { s as X } from "./CanvasStateV1-kL09wsAn.js";
1
+ import { C as a, a as r, b as t, u as i, d as o, f as n, g as d } from "./UnifiedFontService-CgYnYTj7.js";
2
+ import { E as l, R as u, a as E, b as c, S as p, c as g, d as S, f, p as x, e as T, g as v, h as C, v as P } from "./embed-BTRtoktw.js";
3
+ import { g as B, i as h, u as y } from "./editorErrors-CCvoKj_P.js";
4
+ import { D as k, d as D, a as I, i as F } from "./design-builder-COj0zkxu.js";
5
+ import { D as w, T as M, h as A, i as G, j as K, k as _, l as j, m as z, r as N, u as Y, a as q, b as H, c as J, d as O, e as Q, f as U, w as V } from "./template-fields-BLRp84Ny.js";
6
+ import { s as X } from "./CanvasStateV1-BMxr6xb8.js";
7
7
  export {
8
8
  a as CanvasServicesProvider,
9
9
  k as DesignBuilder,
@@ -1,4 +1,4 @@
1
- import { G as n, I as t, P as a, S as s, T as i } from "./FontAnalyzer-PE6nysqE.js";
1
+ import { G as n, I as t, P as a, S as s, T as i } from "./FontAnalyzer-D4Sg-P6_.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-BlbhM5MX.js.map
24
+ //# sourceMappingURL=guards-uQtEQJbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards-BlbhM5MX.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-uQtEQJbs.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;"}
@@ -12,8 +12,16 @@ export interface UseTextToolbarReturn {
12
12
  italic: boolean;
13
13
  underline: boolean;
14
14
  letterCase: string;
15
+ /** Letter-spacing in px per character (element-level default; 0 = none). */
16
+ letterSpacing: number;
17
+ /** Line-height multiplier (1.2 = the layout default). */
18
+ lineHeight: number;
15
19
  handleFontSizeChange: (size: number) => void;
16
20
  handleFontSizeIncrement: (delta: number) => void;
21
+ /** Per-character aware (applies to the selection while editing text). */
22
+ handleLetterSpacingChange: (spacing: number) => void;
23
+ /** Element-level only (line layout is an element concern, not a span one). */
24
+ handleLineHeightChange: (lineHeight: number) => void;
17
25
  handleFontFamilyChange: (family: string) => void;
18
26
  handleFontColorChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
19
27
  handleBoldToggle: () => void;
package/dist/index.mjs CHANGED
@@ -1,12 +1,12 @@
1
- import { e as u } from "./UnifiedFontService-BJzoqfBF.js";
2
- import { C as l, c as x, a as I, b as v, u as A, d as T, f as g, g as B } from "./UnifiedFontService-BJzoqfBF.js";
3
- import { E as _, S as y, S as L, u as O, a as M } from "./SnowconeCanvas-CQiFVR0X.js";
4
- import { u as d, a as m } from "./editorErrors-8uDRMhow.js";
5
- import { T as z, r as w, u as F, a as D, b as K, c as N, d as V, e as b, f as h, w as U } from "./template-fields-ai7vnW8g.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-B8kIYutI.js";
7
- import { C as W, D as X, d as $, s as ee } from "./design-builder-bquxIHct.js";
1
+ import { e as u } from "./UnifiedFontService-CgYnYTj7.js";
2
+ import { C as l, c as x, a as I, b as v, u as A, d as T, f as g, g as B } from "./UnifiedFontService-CgYnYTj7.js";
3
+ import { E as _, S as y, S as L, u as O, a as M } from "./SnowconeCanvas-CR_LdRFP.js";
4
+ import { u as d, a as m } from "./editorErrors-CCvoKj_P.js";
5
+ import { T as z, r as w, u as F, a as D, b as K, c as N, d as V, e as b, f as h, w as U } from "./template-fields-BLRp84Ny.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-eCebhplp.js";
7
+ import { C as W, D as X, d as $, s as ee } from "./design-builder-COj0zkxu.js";
8
8
  import { c as se, e as te } from "./compose-DtQL_oit.js";
9
- import { d as oe, m as ie, s as ne, v as ue } from "./CanvasStateV1-kL09wsAn.js";
9
+ import { d as oe, m as ie, s as ne, v as ue } from "./CanvasStateV1-BMxr6xb8.js";
10
10
  function C() {
11
11
  const { isCanvasReady: e } = d();
12
12
  return e;
@@ -1,8 +1,8 @@
1
- import { A as w, a as b, C as I, I as R, R as W, S as A, T as E } from "./CanvasRenderer-B_3GISlW.js";
2
- import { r as p } from "./ExportManager-J2xK86uq.js";
3
- import { D as O, E as F, I as L, W as X, a as z, b as K, c as Y, d as B, e as _, f as J, h as N, i as V, j, k as q, l as Q, m as U, n as Z, o as $, p as m, q as G, s as x, t as D, u as rr, v as or, w as sr, x as ir, y as er, z as ar, A as nr, B as tr, C as hr } from "./ExportManager-J2xK86uq.js";
4
- import { D as cr, E as fr, H as pr, J as gr, K as lr, L as ur, M as Tr, N as kr, O as Mr, Q as yr, W as Cr, V as vr, X as Sr, Y as Pr, c as wr, Z as br, _ as Ir, $ as Rr, a0 as Wr, a1 as Ar } from "./FontAnalyzer-PE6nysqE.js";
5
- import { A as Hr, e as Or, C as Fr, S as Lr } from "./CanvasStateV1-kL09wsAn.js";
1
+ import { A as w, a as b, C as I, I as R, R as W, S as A, T as E } from "./CanvasRenderer-_lFoIoz5.js";
2
+ import { r as p } from "./ExportManager-B8Td7uR5.js";
3
+ import { D as O, E as F, I as L, W as X, a as z, b as K, c as Y, d as B, e as _, f as J, h as N, i as V, j, k as q, l as Q, m as U, n as Z, o as $, p as m, q as G, s as x, t as D, u as rr, v as or, w as sr, x as ir, y as er, z as ar, A as nr, B as tr, C as hr } from "./ExportManager-B8Td7uR5.js";
4
+ import { D as cr, E as fr, H as pr, J as gr, K as lr, L as ur, M as Tr, N as kr, O as Mr, Q as yr, W as Cr, V as vr, X as Sr, Y as Pr, c as wr, Z as br, _ as Ir, $ as Rr, a0 as Wr, a1 as Ar } from "./FontAnalyzer-D4Sg-P6_.js";
5
+ import { A as Hr, e as Or, C as Fr, S as Lr } from "./CanvasStateV1-BMxr6xb8.js";
6
6
  function y(r, o) {
7
7
  return !r.needsCropPixelConversion || r.cropWidth === void 0 ? r : {
8
8
  ...r,
@@ -19,6 +19,10 @@ export interface SerializedTextElement {
19
19
  italic: boolean;
20
20
  underline: boolean;
21
21
  strikethrough: boolean;
22
+ /** Extra advance per character in px (custom transform only; spans may override). */
23
+ letterSpacing?: number;
24
+ /** Line-height multiplier; undefined = LINE_HEIGHT_MULTIPLIER (1.2). Custom transform only. */
25
+ lineHeight?: number;
22
26
  transformData: AnyTransformData;
23
27
  stroke?: StrokeConfig;
24
28
  openTypeFeatures?: OpenTypeFeatures;
@@ -15,4 +15,8 @@ export declare function renderRichTextFillOnly(ctx: RenderContext, richText: Ric
15
15
  underline?: boolean;
16
16
  strikethrough?: boolean;
17
17
  textAlign?: TextAlign;
18
+ /** Element-level letter-spacing default (px/char); spans may override. */
19
+ letterSpacing?: number;
20
+ /** Line-height multiplier; undefined = LINE_HEIGHT_MULTIPLIER (1.2). */
21
+ lineHeight?: number;
18
22
  }, maxWidth?: number, lockedLineCount?: number): void;
@@ -6,8 +6,9 @@ import { RenderContext, SerializedTextElement } from './renderer-types.js';
6
6
  export declare function buildFontString(fontSize: number, fontFamily: string, bold?: boolean, italic?: boolean): string;
7
7
  /**
8
8
  * Measure text width
9
+ * @param letterSpacing - Extra advance per character in px (default 0 — legacy width)
9
10
  */
10
- export declare function measureTextWidth(text: string, fontSize: number, fontFamily: string, bold?: boolean, italic?: boolean): number;
11
+ export declare function measureTextWidth(text: string, fontSize: number, fontFamily: string, bold?: boolean, italic?: boolean, letterSpacing?: number): number;
11
12
  /**
12
13
  * Get font metrics for accurate text positioning
13
14
  */
@@ -49,6 +50,8 @@ export declare function renderTextFillOnly(ctx: RenderContext, element: {
49
50
  italic?: boolean;
50
51
  textAlign?: TextAlign;
51
52
  color: string;
53
+ /** Extra advance per character in px (custom transform only). */
54
+ letterSpacing?: number;
52
55
  }): void;
53
56
  /**
54
57
  * Word wrap text to fit within a given width
@@ -74,6 +74,7 @@ declare const CharacterStyleSchema: z.ZodObject<{
74
74
  italic: z.ZodOptional<z.ZodBoolean>;
75
75
  underline: z.ZodOptional<z.ZodBoolean>;
76
76
  strikethrough: z.ZodOptional<z.ZodBoolean>;
77
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
77
78
  }, z.core.$strip>;
78
79
  declare const TextSpanSchema: z.ZodObject<{
79
80
  text: z.ZodString;
@@ -85,6 +86,7 @@ declare const TextSpanSchema: z.ZodObject<{
85
86
  italic: z.ZodOptional<z.ZodBoolean>;
86
87
  underline: z.ZodOptional<z.ZodBoolean>;
87
88
  strikethrough: z.ZodOptional<z.ZodBoolean>;
89
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
88
90
  }, z.core.$strip>;
89
91
  }, z.core.$strip>;
90
92
  declare const RichTextSchema: z.ZodObject<{
@@ -98,6 +100,7 @@ declare const RichTextSchema: z.ZodObject<{
98
100
  italic: z.ZodOptional<z.ZodBoolean>;
99
101
  underline: z.ZodOptional<z.ZodBoolean>;
100
102
  strikethrough: z.ZodOptional<z.ZodBoolean>;
103
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
101
104
  }, z.core.$strip>;
102
105
  }, z.core.$strip>>;
103
106
  }, z.core.$strip>;
@@ -1,10 +1,10 @@
1
- import { g as C, u as ut, c as Y, b as W } from "./editorErrors-8uDRMhow.js";
2
- import { l as it, i as gt, a as Nt } from "./design-builder-bquxIHct.js";
1
+ import { g as C, u as ut, c as Y, b as W } from "./editorErrors-CCvoKj_P.js";
2
+ import { l as it, i as gt, a as Nt } from "./design-builder-COj0zkxu.js";
3
3
  import { toOptionAttributes as St, toCombinations as It, getMissingSelections as wt, validateProductSelection as Ot, findBestCombination as J, computeDisabledChoices as At } from "@snowcone-app/sdk";
4
4
  import { useRef as E, useCallback as I, useEffect as Tt, useContext as ht, useId as kt, useLayoutEffect as Dt, useMemo as V, useState as ot } from "react";
5
- import { G as Bt, I as z, P as _t, S as Ft, T as K, z as yt, U as st, c as Ut, y as rt } from "./FontAnalyzer-PE6nysqE.js";
6
- import { p as pt, U as Rt } from "./UnifiedFontService-BJzoqfBF.js";
7
- import { a as Lt, o as R, b as d, n as Pt, l as b, u as at, c as Yt } from "./CanvasStateV1-kL09wsAn.js";
5
+ import { G as Bt, I as z, P as _t, S as Ft, T as K, z as yt, U as st, c as Ut, y as rt } from "./FontAnalyzer-D4Sg-P6_.js";
6
+ import { p as pt, U as Rt } from "./UnifiedFontService-CgYnYTj7.js";
7
+ import { a as Lt, o as R, b as d, n as Pt, l as b, u as at, c as Yt } from "./CanvasStateV1-BMxr6xb8.js";
8
8
  function X(e) {
9
9
  return e.text;
10
10
  }
@@ -713,4 +713,4 @@ export {
713
713
  Oe as u,
714
714
  De as w
715
715
  };
716
- //# sourceMappingURL=template-fields-ai7vnW8g.js.map
716
+ //# sourceMappingURL=template-fields-BLRp84Ny.js.map