vobi_document 1.1.0 → 1.1.1

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 (61) hide show
  1. package/dist/blocks.cjs +33 -25
  2. package/dist/blocks.d.cts +14 -1
  3. package/dist/blocks.d.ts +14 -1
  4. package/dist/blocks.js +3 -3
  5. package/dist/{chunk-U56KVTK5.cjs → chunk-26DSIOEY.cjs} +8 -8
  6. package/dist/{chunk-U56KVTK5.cjs.map → chunk-26DSIOEY.cjs.map} +1 -1
  7. package/dist/{chunk-X2BLERM5.cjs → chunk-3FTKM37U.cjs} +24 -16
  8. package/dist/chunk-3FTKM37U.cjs.map +1 -0
  9. package/dist/{chunk-2EBYURIX.js → chunk-CZB7F2LA.js} +3 -3
  10. package/dist/{chunk-2EBYURIX.js.map → chunk-CZB7F2LA.js.map} +1 -1
  11. package/dist/{chunk-AQ5FAAP6.cjs → chunk-GR76U6FP.cjs} +37 -11
  12. package/dist/chunk-GR76U6FP.cjs.map +1 -0
  13. package/dist/{chunk-KUB3TYG2.cjs → chunk-I22MGPXO.cjs} +22 -7
  14. package/dist/chunk-I22MGPXO.cjs.map +1 -0
  15. package/dist/{chunk-HMTCQOEV.js → chunk-JYSA6IM5.js} +22 -14
  16. package/dist/chunk-JYSA6IM5.js.map +1 -0
  17. package/dist/{chunk-6GRYRVU5.js → chunk-M6FQVH76.js} +4 -4
  18. package/dist/{chunk-6GRYRVU5.js.map → chunk-M6FQVH76.js.map} +1 -1
  19. package/dist/{chunk-JEVWEGSE.js → chunk-MUSSJOOA.js} +21 -7
  20. package/dist/chunk-MUSSJOOA.js.map +1 -0
  21. package/dist/{chunk-ABIEQHS2.js → chunk-N3IDPT3B.js} +31 -8
  22. package/dist/chunk-N3IDPT3B.js.map +1 -0
  23. package/dist/{chunk-IUDN2CGP.js → chunk-OJZJJEJX.js} +73 -32
  24. package/dist/chunk-OJZJJEJX.js.map +1 -0
  25. package/dist/{chunk-ZXWOZZXO.cjs → chunk-QJ5W5EED.cjs} +4 -4
  26. package/dist/{chunk-ZXWOZZXO.cjs.map → chunk-QJ5W5EED.cjs.map} +1 -1
  27. package/dist/{chunk-NDHTMYPA.cjs → chunk-RO3Y2MSU.cjs} +7 -7
  28. package/dist/{chunk-NDHTMYPA.cjs.map → chunk-RO3Y2MSU.cjs.map} +1 -1
  29. package/dist/{chunk-MHTTFNK2.cjs → chunk-RZOR3HOA.cjs} +80 -37
  30. package/dist/chunk-RZOR3HOA.cjs.map +1 -0
  31. package/dist/{chunk-M2TPAU2F.js → chunk-SOIYSSU3.js} +32 -3
  32. package/dist/chunk-SOIYSSU3.js.map +1 -0
  33. package/dist/{chunk-IRFFN74K.cjs → chunk-SP5LCPDG.cjs} +32 -2
  34. package/dist/chunk-SP5LCPDG.cjs.map +1 -0
  35. package/dist/{chunk-KCZKC3OG.js → chunk-W52ULJCW.js} +3 -3
  36. package/dist/{chunk-KCZKC3OG.js.map → chunk-W52ULJCW.js.map} +1 -1
  37. package/dist/editor.cjs +15 -15
  38. package/dist/editor.js +3 -3
  39. package/dist/index.cjs +114 -90
  40. package/dist/index.d.cts +2 -2
  41. package/dist/index.d.ts +2 -2
  42. package/dist/index.js +11 -11
  43. package/dist/print.cjs +13 -13
  44. package/dist/print.js +4 -4
  45. package/dist/render.cjs +19 -19
  46. package/dist/render.js +4 -4
  47. package/dist/variables.cjs +41 -25
  48. package/dist/variables.d.cts +34 -2
  49. package/dist/variables.d.ts +34 -2
  50. package/dist/variables.js +4 -4
  51. package/package.json +1 -1
  52. package/dist/chunk-ABIEQHS2.js.map +0 -1
  53. package/dist/chunk-AQ5FAAP6.cjs.map +0 -1
  54. package/dist/chunk-HMTCQOEV.js.map +0 -1
  55. package/dist/chunk-IRFFN74K.cjs.map +0 -1
  56. package/dist/chunk-IUDN2CGP.js.map +0 -1
  57. package/dist/chunk-JEVWEGSE.js.map +0 -1
  58. package/dist/chunk-KUB3TYG2.cjs.map +0 -1
  59. package/dist/chunk-M2TPAU2F.js.map +0 -1
  60. package/dist/chunk-MHTTFNK2.cjs.map +0 -1
  61. package/dist/chunk-X2BLERM5.cjs.map +0 -1
package/dist/blocks.cjs CHANGED
@@ -1,100 +1,108 @@
1
1
  'use strict';
2
2
 
3
- var chunkMHTTFNK2_cjs = require('./chunk-MHTTFNK2.cjs');
3
+ var chunkRZOR3HOA_cjs = require('./chunk-RZOR3HOA.cjs');
4
4
  require('./chunk-L5FXGEKX.cjs');
5
5
  require('./chunk-LNBAFOVK.cjs');
6
- require('./chunk-KUB3TYG2.cjs');
7
- require('./chunk-IRFFN74K.cjs');
6
+ require('./chunk-I22MGPXO.cjs');
7
+ require('./chunk-SP5LCPDG.cjs');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, "ButtonBlock", {
12
12
  enumerable: true,
13
- get: function () { return chunkMHTTFNK2_cjs.ButtonBlock; }
13
+ get: function () { return chunkRZOR3HOA_cjs.ButtonBlock; }
14
14
  });
15
15
  Object.defineProperty(exports, "CONTENT_ICON_CATALOG", {
16
16
  enumerable: true,
17
- get: function () { return chunkMHTTFNK2_cjs.CONTENT_ICON_CATALOG; }
17
+ get: function () { return chunkRZOR3HOA_cjs.CONTENT_ICON_CATALOG; }
18
18
  });
19
19
  Object.defineProperty(exports, "CONTENT_ICON_NAMES", {
20
20
  enumerable: true,
21
- get: function () { return chunkMHTTFNK2_cjs.CONTENT_ICON_NAMES; }
21
+ get: function () { return chunkRZOR3HOA_cjs.CONTENT_ICON_NAMES; }
22
22
  });
23
23
  Object.defineProperty(exports, "ContentIcon", {
24
24
  enumerable: true,
25
- get: function () { return chunkMHTTFNK2_cjs.ContentIcon; }
25
+ get: function () { return chunkRZOR3HOA_cjs.ContentIcon; }
26
+ });
27
+ Object.defineProperty(exports, "DOCUMENT_PROSE_CSS", {
28
+ enumerable: true,
29
+ get: function () { return chunkRZOR3HOA_cjs.DOCUMENT_PROSE_CSS; }
30
+ });
31
+ Object.defineProperty(exports, "DOCUMENT_TEXT_CSS", {
32
+ enumerable: true,
33
+ get: function () { return chunkRZOR3HOA_cjs.DOCUMENT_TEXT_CSS; }
26
34
  });
27
35
  Object.defineProperty(exports, "DividerBlock", {
28
36
  enumerable: true,
29
- get: function () { return chunkMHTTFNK2_cjs.DividerBlock; }
37
+ get: function () { return chunkRZOR3HOA_cjs.DividerBlock; }
30
38
  });
31
39
  Object.defineProperty(exports, "HeadingBlock", {
32
40
  enumerable: true,
33
- get: function () { return chunkMHTTFNK2_cjs.HeadingBlock; }
41
+ get: function () { return chunkRZOR3HOA_cjs.HeadingBlock; }
34
42
  });
35
43
  Object.defineProperty(exports, "IconTextBlock", {
36
44
  enumerable: true,
37
- get: function () { return chunkMHTTFNK2_cjs.IconTextBlock; }
45
+ get: function () { return chunkRZOR3HOA_cjs.IconTextBlock; }
38
46
  });
39
47
  Object.defineProperty(exports, "ImageBlock", {
40
48
  enumerable: true,
41
- get: function () { return chunkMHTTFNK2_cjs.ImageBlock; }
49
+ get: function () { return chunkRZOR3HOA_cjs.ImageBlock; }
42
50
  });
43
51
  Object.defineProperty(exports, "ImageGridBlock", {
44
52
  enumerable: true,
45
- get: function () { return chunkMHTTFNK2_cjs.ImageGridBlock; }
53
+ get: function () { return chunkRZOR3HOA_cjs.ImageGridBlock; }
46
54
  });
47
55
  Object.defineProperty(exports, "ImageTextBlock", {
48
56
  enumerable: true,
49
- get: function () { return chunkMHTTFNK2_cjs.ImageTextBlock; }
57
+ get: function () { return chunkRZOR3HOA_cjs.ImageTextBlock; }
50
58
  });
51
59
  Object.defineProperty(exports, "ListBlock", {
52
60
  enumerable: true,
53
- get: function () { return chunkMHTTFNK2_cjs.ListBlock; }
61
+ get: function () { return chunkRZOR3HOA_cjs.ListBlock; }
54
62
  });
55
63
  Object.defineProperty(exports, "PageBreakBlock", {
56
64
  enumerable: true,
57
- get: function () { return chunkMHTTFNK2_cjs.PageBreakBlock; }
65
+ get: function () { return chunkRZOR3HOA_cjs.PageBreakBlock; }
58
66
  });
59
67
  Object.defineProperty(exports, "QuoteBlock", {
60
68
  enumerable: true,
61
- get: function () { return chunkMHTTFNK2_cjs.QuoteBlock; }
69
+ get: function () { return chunkRZOR3HOA_cjs.QuoteBlock; }
62
70
  });
63
71
  Object.defineProperty(exports, "RichText", {
64
72
  enumerable: true,
65
- get: function () { return chunkMHTTFNK2_cjs.RichText; }
73
+ get: function () { return chunkRZOR3HOA_cjs.RichText; }
66
74
  });
67
75
  Object.defineProperty(exports, "SpacerBlock", {
68
76
  enumerable: true,
69
- get: function () { return chunkMHTTFNK2_cjs.SpacerBlock; }
77
+ get: function () { return chunkRZOR3HOA_cjs.SpacerBlock; }
70
78
  });
71
79
  Object.defineProperty(exports, "TableBlock", {
72
80
  enumerable: true,
73
- get: function () { return chunkMHTTFNK2_cjs.TableBlock; }
81
+ get: function () { return chunkRZOR3HOA_cjs.TableBlock; }
74
82
  });
75
83
  Object.defineProperty(exports, "TextBlock", {
76
84
  enumerable: true,
77
- get: function () { return chunkMHTTFNK2_cjs.TextBlock; }
85
+ get: function () { return chunkRZOR3HOA_cjs.TextBlock; }
78
86
  });
79
87
  Object.defineProperty(exports, "TwoColumnsBlock", {
80
88
  enumerable: true,
81
- get: function () { return chunkMHTTFNK2_cjs.TwoColumnsBlock; }
89
+ get: function () { return chunkRZOR3HOA_cjs.TwoColumnsBlock; }
82
90
  });
83
91
  Object.defineProperty(exports, "blocksByKey", {
84
92
  enumerable: true,
85
- get: function () { return chunkMHTTFNK2_cjs.blocksByKey; }
93
+ get: function () { return chunkRZOR3HOA_cjs.blocksByKey; }
86
94
  });
87
95
  Object.defineProperty(exports, "defaultBlocks", {
88
96
  enumerable: true,
89
- get: function () { return chunkMHTTFNK2_cjs.defaultBlocks; }
97
+ get: function () { return chunkRZOR3HOA_cjs.defaultBlocks; }
90
98
  });
91
99
  Object.defineProperty(exports, "defineBlock", {
92
100
  enumerable: true,
93
- get: function () { return chunkMHTTFNK2_cjs.defineBlock; }
101
+ get: function () { return chunkRZOR3HOA_cjs.defineBlock; }
94
102
  });
95
103
  Object.defineProperty(exports, "overrideBlock", {
96
104
  enumerable: true,
97
- get: function () { return chunkMHTTFNK2_cjs.overrideBlock; }
105
+ get: function () { return chunkRZOR3HOA_cjs.overrideBlock; }
98
106
  });
99
107
  //# sourceMappingURL=blocks.cjs.map
100
108
  //# sourceMappingURL=blocks.cjs.map
package/dist/blocks.d.cts CHANGED
@@ -170,6 +170,19 @@ type RichTextProps = {
170
170
  };
171
171
  declare function RichText({ html, editing, as, className }: RichTextProps): react.JSX.Element;
172
172
 
173
+ /**
174
+ * Tipografia do texto rico do documento, em CSS cru para servir às três superfícies que
175
+ * mostram o MESMO conteúdo: o editor inline (iframe do TinyMCE, documento à parte que não
176
+ * recebe o CSS do app), o canvas do Puck e o HTML publicado. Antes cada uma caía num default
177
+ * diferente (h1 de 48px no canvas, 28px no editor, 32px no publicado) — ver docs/blocks.md.
178
+ *
179
+ * Sem `&` e sem seletor de escopo: dentro de `styled` os seletores de elemento já viram
180
+ * descendentes; no `content_style` do TinyMCE eles valem a partir do body.
181
+ */
182
+ /** Declarações da base do texto — vão no container (ou no `body`, no iframe). */
183
+ declare const DOCUMENT_TEXT_CSS = "font-size: 16px;\nline-height: 1.5;\noverflow-wrap: break-word;\nword-break: break-word;";
184
+ declare const DOCUMENT_PROSE_CSS = "p {\n margin: 0 0 8px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin: 0 0 8px;\n line-height: 1.25;\n font-weight: 600;\n}\n\nh1 { font-size: 2em; }\nh2 { font-size: 1.5em; }\nh3 { font-size: 1.25em; }\nh4 { font-size: 1.125em; }\nh5 { font-size: 1em; }\nh6 { font-size: 0.875em; }\n\nul, ol {\n margin: 0 0 8px;\n padding-left: 24px;\n}\n\nul { list-style: disc; }\nol { list-style: decimal; }\n\nli { margin: 0 0 4px; }\n\nstrong, b { font-weight: 600; }\nem, i { font-style: italic; }\n\na { color: var(--doc-brand, #005ac3); }\n\nimg { max-width: 100%; }\n\n/* O chip herda peso, estilo e sublinhado do texto ao redor: pinar qualquer um deles faz\n negrito/italico/sublinhado nao pegarem na variavel. Inline (e nao inline-block) porque\n text-decoration nao atravessa um inline-block. */\n.dg-var {\n display: inline;\n font-size: 0.92em;\n font-weight: inherit;\n font-style: inherit;\n white-space: nowrap;\n}\n\n/* Sem margem sobrando no fim do bloco. Seletores de elemento, e nao um combinador filho,\n porque a mesma string tambem e usada no topo de uma folha, onde nao ha pai. */\np:last-child,\nul:last-child,\nol:last-child,\nh1:last-child,\nh2:last-child,\nh3:last-child,\nh4:last-child,\nh5:last-child,\nh6:last-child {\n margin-bottom: 0;\n}";
185
+
173
186
  type ContentIconDef = {
174
187
  label: string;
175
188
  group: string;
@@ -198,4 +211,4 @@ type ContentIconProps = {
198
211
  };
199
212
  declare function ContentIcon({ name, size, color, strokeWidth, style, className }: ContentIconProps): react.JSX.Element | null;
200
213
 
201
- export { BlockEntry, ButtonBlock, CONTENT_ICON_CATALOG, CONTENT_ICON_NAMES, ContentIcon, type ContentIconDef, type ContentIconProps, DividerBlock, HeadingBlock, IconTextBlock, ImageBlock, ImageGridBlock, ImageTextBlock, ListBlock, PageBreakBlock, QuoteBlock, Registry, RichText, type RichTextProps, SpacerBlock, TableBlock, TextBlock, TwoColumnsBlock, blocksByKey, defaultBlocks, defineBlock, overrideBlock };
214
+ export { BlockEntry, ButtonBlock, CONTENT_ICON_CATALOG, CONTENT_ICON_NAMES, ContentIcon, type ContentIconDef, type ContentIconProps, DOCUMENT_PROSE_CSS, DOCUMENT_TEXT_CSS, DividerBlock, HeadingBlock, IconTextBlock, ImageBlock, ImageGridBlock, ImageTextBlock, ListBlock, PageBreakBlock, QuoteBlock, Registry, RichText, type RichTextProps, SpacerBlock, TableBlock, TextBlock, TwoColumnsBlock, blocksByKey, defaultBlocks, defineBlock, overrideBlock };
package/dist/blocks.d.ts CHANGED
@@ -170,6 +170,19 @@ type RichTextProps = {
170
170
  };
171
171
  declare function RichText({ html, editing, as, className }: RichTextProps): react.JSX.Element;
172
172
 
173
+ /**
174
+ * Tipografia do texto rico do documento, em CSS cru para servir às três superfícies que
175
+ * mostram o MESMO conteúdo: o editor inline (iframe do TinyMCE, documento à parte que não
176
+ * recebe o CSS do app), o canvas do Puck e o HTML publicado. Antes cada uma caía num default
177
+ * diferente (h1 de 48px no canvas, 28px no editor, 32px no publicado) — ver docs/blocks.md.
178
+ *
179
+ * Sem `&` e sem seletor de escopo: dentro de `styled` os seletores de elemento já viram
180
+ * descendentes; no `content_style` do TinyMCE eles valem a partir do body.
181
+ */
182
+ /** Declarações da base do texto — vão no container (ou no `body`, no iframe). */
183
+ declare const DOCUMENT_TEXT_CSS = "font-size: 16px;\nline-height: 1.5;\noverflow-wrap: break-word;\nword-break: break-word;";
184
+ declare const DOCUMENT_PROSE_CSS = "p {\n margin: 0 0 8px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin: 0 0 8px;\n line-height: 1.25;\n font-weight: 600;\n}\n\nh1 { font-size: 2em; }\nh2 { font-size: 1.5em; }\nh3 { font-size: 1.25em; }\nh4 { font-size: 1.125em; }\nh5 { font-size: 1em; }\nh6 { font-size: 0.875em; }\n\nul, ol {\n margin: 0 0 8px;\n padding-left: 24px;\n}\n\nul { list-style: disc; }\nol { list-style: decimal; }\n\nli { margin: 0 0 4px; }\n\nstrong, b { font-weight: 600; }\nem, i { font-style: italic; }\n\na { color: var(--doc-brand, #005ac3); }\n\nimg { max-width: 100%; }\n\n/* O chip herda peso, estilo e sublinhado do texto ao redor: pinar qualquer um deles faz\n negrito/italico/sublinhado nao pegarem na variavel. Inline (e nao inline-block) porque\n text-decoration nao atravessa um inline-block. */\n.dg-var {\n display: inline;\n font-size: 0.92em;\n font-weight: inherit;\n font-style: inherit;\n white-space: nowrap;\n}\n\n/* Sem margem sobrando no fim do bloco. Seletores de elemento, e nao um combinador filho,\n porque a mesma string tambem e usada no topo de uma folha, onde nao ha pai. */\np:last-child,\nul:last-child,\nol:last-child,\nh1:last-child,\nh2:last-child,\nh3:last-child,\nh4:last-child,\nh5:last-child,\nh6:last-child {\n margin-bottom: 0;\n}";
185
+
173
186
  type ContentIconDef = {
174
187
  label: string;
175
188
  group: string;
@@ -198,4 +211,4 @@ type ContentIconProps = {
198
211
  };
199
212
  declare function ContentIcon({ name, size, color, strokeWidth, style, className }: ContentIconProps): react.JSX.Element | null;
200
213
 
201
- export { BlockEntry, ButtonBlock, CONTENT_ICON_CATALOG, CONTENT_ICON_NAMES, ContentIcon, type ContentIconDef, type ContentIconProps, DividerBlock, HeadingBlock, IconTextBlock, ImageBlock, ImageGridBlock, ImageTextBlock, ListBlock, PageBreakBlock, QuoteBlock, Registry, RichText, type RichTextProps, SpacerBlock, TableBlock, TextBlock, TwoColumnsBlock, blocksByKey, defaultBlocks, defineBlock, overrideBlock };
214
+ export { BlockEntry, ButtonBlock, CONTENT_ICON_CATALOG, CONTENT_ICON_NAMES, ContentIcon, type ContentIconDef, type ContentIconProps, DOCUMENT_PROSE_CSS, DOCUMENT_TEXT_CSS, DividerBlock, HeadingBlock, IconTextBlock, ImageBlock, ImageGridBlock, ImageTextBlock, ListBlock, PageBreakBlock, QuoteBlock, Registry, RichText, type RichTextProps, SpacerBlock, TableBlock, TextBlock, TwoColumnsBlock, blocksByKey, defaultBlocks, defineBlock, overrideBlock };
package/dist/blocks.js CHANGED
@@ -1,7 +1,7 @@
1
- export { ButtonBlock, CONTENT_ICON_CATALOG, CONTENT_ICON_NAMES, ContentIcon, DividerBlock, HeadingBlock, IconTextBlock, ImageBlock, ImageGridBlock, ImageTextBlock, ListBlock, PageBreakBlock, QuoteBlock, RichText, SpacerBlock, TableBlock, TextBlock, TwoColumnsBlock, blocksByKey, defaultBlocks, defineBlock, overrideBlock } from './chunk-IUDN2CGP.js';
1
+ export { ButtonBlock, CONTENT_ICON_CATALOG, CONTENT_ICON_NAMES, ContentIcon, DOCUMENT_PROSE_CSS, DOCUMENT_TEXT_CSS, DividerBlock, HeadingBlock, IconTextBlock, ImageBlock, ImageGridBlock, ImageTextBlock, ListBlock, PageBreakBlock, QuoteBlock, RichText, SpacerBlock, TableBlock, TextBlock, TwoColumnsBlock, blocksByKey, defaultBlocks, defineBlock, overrideBlock } from './chunk-OJZJJEJX.js';
2
2
  import './chunk-QYBWIJXZ.js';
3
3
  import './chunk-ZOJBDFKU.js';
4
- import './chunk-JEVWEGSE.js';
5
- import './chunk-M2TPAU2F.js';
4
+ import './chunk-MUSSJOOA.js';
5
+ import './chunk-SOIYSSU3.js';
6
6
  //# sourceMappingURL=blocks.js.map
7
7
  //# sourceMappingURL=blocks.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkNDHTMYPA_cjs = require('./chunk-NDHTMYPA.cjs');
3
+ var chunkRO3Y2MSU_cjs = require('./chunk-RO3Y2MSU.cjs');
4
4
  var react = require('react');
5
5
  var core = require('@puckeditor/core');
6
6
  var styled = require('styled-components');
@@ -27,8 +27,8 @@ function CoverEditable({
27
27
  onFieldsChange,
28
28
  onImagePick
29
29
  }) {
30
- const Template = chunkNDHTMYPA_cjs.COVER_TEMPLATES[templateId] ?? chunkNDHTMYPA_cjs.COVER_TEMPLATES["model-1"];
31
- const resolved = chunkNDHTMYPA_cjs.resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);
30
+ const Template = chunkRO3Y2MSU_cjs.COVER_TEMPLATES[templateId] ?? chunkRO3Y2MSU_cjs.COVER_TEMPLATES["model-1"];
31
+ const resolved = chunkRO3Y2MSU_cjs.resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);
32
32
  const boxRef = react.useRef(null);
33
33
  react.useEffect(() => {
34
34
  const el = boxRef.current;
@@ -47,7 +47,7 @@ function CoverEditable({
47
47
  }),
48
48
  [fields, onFieldsChange, onImagePick]
49
49
  );
50
- return /* @__PURE__ */ jsxRuntime.jsx(chunkNDHTMYPA_cjs.CoverEditContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(A4Box, { ref: boxRef, children: /* @__PURE__ */ jsxRuntime.jsx(Template, { fields, theme, ...resolved }) }) });
50
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkRO3Y2MSU_cjs.CoverEditContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(A4Box, { ref: boxRef, children: /* @__PURE__ */ jsxRuntime.jsx(Template, { fields, theme, ...resolved }) }) });
51
51
  }
52
52
  function CoverTemplateStatic({
53
53
  templateId,
@@ -57,12 +57,12 @@ function CoverTemplateStatic({
57
57
  textColor,
58
58
  bgColor
59
59
  }) {
60
- const Template = chunkNDHTMYPA_cjs.COVER_TEMPLATES[templateId] ?? chunkNDHTMYPA_cjs.COVER_TEMPLATES["model-1"];
61
- const resolved = chunkNDHTMYPA_cjs.resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);
60
+ const Template = chunkRO3Y2MSU_cjs.COVER_TEMPLATES[templateId] ?? chunkRO3Y2MSU_cjs.COVER_TEMPLATES["model-1"];
61
+ const resolved = chunkRO3Y2MSU_cjs.resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);
62
62
  return /* @__PURE__ */ jsxRuntime.jsx(A4Box, { children: /* @__PURE__ */ jsxRuntime.jsx(Template, { fields, theme, ...resolved }) });
63
63
  }
64
64
 
65
65
  exports.CoverEditable = CoverEditable;
66
66
  exports.CoverTemplateStatic = CoverTemplateStatic;
67
- //# sourceMappingURL=chunk-U56KVTK5.cjs.map
68
- //# sourceMappingURL=chunk-U56KVTK5.cjs.map
67
+ //# sourceMappingURL=chunk-26DSIOEY.cjs.map
68
+ //# sourceMappingURL=chunk-26DSIOEY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/chrome/covers/CoverEditable.tsx","../src/render/chrome/covers/CoverTemplateStatic.tsx"],"names":["styled","COVER_TEMPLATES","resolveCoverColors","useRef","useEffect","registerOverlayPortal","useMemo","CoverEditContext","jsx"],"mappings":";;;;;;;;;;;;AASO,IAAM,QAAQA,uBAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;AAmBrB,SAAS,aAAA,CAAc;AAAA,EAC5B,UAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,QAAA,GAAWC,iCAAA,CAAgB,UAAU,CAAA,IAAKA,kCAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAWC,qCAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,MAAM,MAAA,GAASC,aAAuB,IAAI,CAAA;AAO1C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,KAAK,MAAA,CAAO,OAAA;AAClB,IAAA,IAAI,CAAC,EAAA,IAAM,CAAC,QAAA,EAAU,OAAO,MAAA;AAC7B,IAAA,IAAI;AACF,MAAA,OAAOC,0BAAA,CAAsB,EAAA,EAAI,EAAE,WAAA,EAAa,MAAM,CAAA;AAAA,IACxD,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,MAAM,YAAA,GAAeC,aAAA;AAAA,IACnB,OAAO;AAAA,MACL,QAAA,EAAU,IAAA;AAAA,MACV,aAAA,EAAe,CAAC,IAAA,EAAyB,KAAA,KAAkB,cAAA,CAAe,EAAE,GAAG,MAAA,EAAQ,CAAC,IAAI,GAAG,KAAA,EAAO,CAAA;AAAA,MACtG;AAAA,KACF,CAAA;AAAA,IACA,CAAC,MAAA,EAAQ,cAAA,EAAgB,WAAW;AAAA,GACtC;AACA,EAAA,sCACGC,kCAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,cAChC,QAAA,kBAAAC,cAAA,CAAC,KAAA,EAAA,EAAM,GAAA,EAAK,MAAA,EACV,yCAAC,QAAA,EAAA,EAAS,MAAA,EAAgB,OAAe,GAAG,QAAA,EAAU,GACxD,CAAA,EACF,CAAA;AAEJ;AC5DO,SAAS,mBAAA,CAAoB;AAAA,EAClC,UAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAA6B;AAC3B,EAAA,MAAM,QAAA,GAAWP,iCAAA,CAAgB,UAAU,CAAA,IAAKA,kCAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAWC,qCAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,uBACEM,cAAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAAA,cAAAA,CAAC,YAAS,MAAA,EAAgB,KAAA,EAAe,GAAG,QAAA,EAAU,CAAA,EACxD,CAAA;AAEJ","file":"chunk-U56KVTK5.cjs","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { registerOverlayPortal } from '@puckeditor/core';\nimport styled from 'styled-components';\nimport type { CoverFields, Theme } from '../../../schema/theme';\nimport { CoverEditContext } from './primitives';\nimport { COVER_TEMPLATES, resolveCoverColors } from './index';\n\n// container-type habilita unidades cqw nos templates: o cover fica proporcional\n// à largura do container (preview A4, tela de edição ~420px, miniatura) — sem px fixo.\nexport const A4Box = styled.div`\n aspect-ratio: 210 / 297;\n width: 100%;\n overflow: hidden;\n container-type: inline-size;\n`;\n\nexport type CoverEditableProps = {\n templateId: string;\n fields: CoverFields;\n accent?: string;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n selected?: boolean;\n onFieldsChange: (next: CoverFields) => void;\n onImagePick: () => void;\n};\n\nexport function CoverEditable({\n templateId,\n fields,\n accent,\n theme,\n textColor,\n bgColor,\n selected,\n onFieldsChange,\n onImagePick\n}: CoverEditableProps) {\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n const boxRef = useRef<HTMLDivElement>(null);\n\n // Campos sempre editáveis; o overlay portal só é registrado QUANDO o bloco está\n // selecionado (deps [selected]). Fluxo: bloco não-selecionado → sem portal → 1º\n // clique seleciona o bloco; selecionado → portal ativo (disableDrag) → edita inline\n // SEM soltar a seleção. A afinação visual (borda serrilhada) é só no hover/focus de\n // cada campo (covers.styles), então nada \"pisca\" ao selecionar.\n useEffect(() => {\n const el = boxRef.current;\n if (!el || !selected) return undefined;\n try {\n return registerOverlayPortal(el, { disableDrag: true });\n } catch {\n return undefined;\n }\n }, [selected]);\n\n const contextValue = useMemo(\n () => ({\n editable: true,\n onFieldChange: (name: keyof CoverFields, value: string) => onFieldsChange({ ...fields, [name]: value }),\n onImagePick\n }),\n [fields, onFieldsChange, onImagePick]\n );\n return (\n <CoverEditContext.Provider value={contextValue}>\n <A4Box ref={boxRef}>\n <Template fields={fields} theme={theme} {...resolved} />\n </A4Box>\n </CoverEditContext.Provider>\n );\n}\n","import type { CoverFields, Theme } from '../../../schema/theme';\nimport { COVER_TEMPLATES, resolveCoverColors } from './index';\nimport { A4Box } from './CoverEditable';\n\nexport type CoverTemplateStaticProps = {\n templateId: string;\n fields: CoverFields;\n accent?: string;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n};\n\nexport function CoverTemplateStatic({\n templateId,\n fields,\n accent,\n theme,\n textColor,\n bgColor\n}: CoverTemplateStaticProps) {\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n return (\n <A4Box>\n <Template fields={fields} theme={theme} {...resolved} />\n </A4Box>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/render/chrome/covers/CoverEditable.tsx","../src/render/chrome/covers/CoverTemplateStatic.tsx"],"names":["styled","COVER_TEMPLATES","resolveCoverColors","useRef","useEffect","registerOverlayPortal","useMemo","CoverEditContext","jsx"],"mappings":";;;;;;;;;;;;AASO,IAAM,QAAQA,uBAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;AAmBrB,SAAS,aAAA,CAAc;AAAA,EAC5B,UAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,QAAA,GAAWC,iCAAA,CAAgB,UAAU,CAAA,IAAKA,kCAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAWC,qCAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,MAAM,MAAA,GAASC,aAAuB,IAAI,CAAA;AAO1C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,KAAK,MAAA,CAAO,OAAA;AAClB,IAAA,IAAI,CAAC,EAAA,IAAM,CAAC,QAAA,EAAU,OAAO,MAAA;AAC7B,IAAA,IAAI;AACF,MAAA,OAAOC,0BAAA,CAAsB,EAAA,EAAI,EAAE,WAAA,EAAa,MAAM,CAAA;AAAA,IACxD,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,MAAM,YAAA,GAAeC,aAAA;AAAA,IACnB,OAAO;AAAA,MACL,QAAA,EAAU,IAAA;AAAA,MACV,aAAA,EAAe,CAAC,IAAA,EAAyB,KAAA,KAAkB,cAAA,CAAe,EAAE,GAAG,MAAA,EAAQ,CAAC,IAAI,GAAG,KAAA,EAAO,CAAA;AAAA,MACtG;AAAA,KACF,CAAA;AAAA,IACA,CAAC,MAAA,EAAQ,cAAA,EAAgB,WAAW;AAAA,GACtC;AACA,EAAA,sCACGC,kCAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,cAChC,QAAA,kBAAAC,cAAA,CAAC,KAAA,EAAA,EAAM,GAAA,EAAK,MAAA,EACV,yCAAC,QAAA,EAAA,EAAS,MAAA,EAAgB,OAAe,GAAG,QAAA,EAAU,GACxD,CAAA,EACF,CAAA;AAEJ;AC5DO,SAAS,mBAAA,CAAoB;AAAA,EAClC,UAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAA6B;AAC3B,EAAA,MAAM,QAAA,GAAWP,iCAAA,CAAgB,UAAU,CAAA,IAAKA,kCAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAWC,qCAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,uBACEM,cAAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAAA,cAAAA,CAAC,YAAS,MAAA,EAAgB,KAAA,EAAe,GAAG,QAAA,EAAU,CAAA,EACxD,CAAA;AAEJ","file":"chunk-26DSIOEY.cjs","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { registerOverlayPortal } from '@puckeditor/core';\nimport styled from 'styled-components';\nimport type { CoverFields, Theme } from '../../../schema/theme';\nimport { CoverEditContext } from './primitives';\nimport { COVER_TEMPLATES, resolveCoverColors } from './index';\n\n// container-type habilita unidades cqw nos templates: o cover fica proporcional\n// à largura do container (preview A4, tela de edição ~420px, miniatura) — sem px fixo.\nexport const A4Box = styled.div`\n aspect-ratio: 210 / 297;\n width: 100%;\n overflow: hidden;\n container-type: inline-size;\n`;\n\nexport type CoverEditableProps = {\n templateId: string;\n fields: CoverFields;\n accent?: string;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n selected?: boolean;\n onFieldsChange: (next: CoverFields) => void;\n onImagePick: () => void;\n};\n\nexport function CoverEditable({\n templateId,\n fields,\n accent,\n theme,\n textColor,\n bgColor,\n selected,\n onFieldsChange,\n onImagePick\n}: CoverEditableProps) {\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n const boxRef = useRef<HTMLDivElement>(null);\n\n // Campos sempre editáveis; o overlay portal só é registrado QUANDO o bloco está\n // selecionado (deps [selected]). Fluxo: bloco não-selecionado → sem portal → 1º\n // clique seleciona o bloco; selecionado → portal ativo (disableDrag) → edita inline\n // SEM soltar a seleção. A afinação visual (borda serrilhada) é só no hover/focus de\n // cada campo (covers.styles), então nada \"pisca\" ao selecionar.\n useEffect(() => {\n const el = boxRef.current;\n if (!el || !selected) return undefined;\n try {\n return registerOverlayPortal(el, { disableDrag: true });\n } catch {\n return undefined;\n }\n }, [selected]);\n\n const contextValue = useMemo(\n () => ({\n editable: true,\n onFieldChange: (name: keyof CoverFields, value: string) => onFieldsChange({ ...fields, [name]: value }),\n onImagePick\n }),\n [fields, onFieldsChange, onImagePick]\n );\n return (\n <CoverEditContext.Provider value={contextValue}>\n <A4Box ref={boxRef}>\n <Template fields={fields} theme={theme} {...resolved} />\n </A4Box>\n </CoverEditContext.Provider>\n );\n}\n","import type { CoverFields, Theme } from '../../../schema/theme';\nimport { COVER_TEMPLATES, resolveCoverColors } from './index';\nimport { A4Box } from './CoverEditable';\n\nexport type CoverTemplateStaticProps = {\n templateId: string;\n fields: CoverFields;\n accent?: string;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n};\n\nexport function CoverTemplateStatic({\n templateId,\n fields,\n accent,\n theme,\n textColor,\n bgColor\n}: CoverTemplateStaticProps) {\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n return (\n <A4Box>\n <Template fields={fields} theme={theme} {...resolved} />\n </A4Box>\n );\n}\n"]}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkL5FXGEKX_cjs = require('./chunk-L5FXGEKX.cjs');
4
4
  var chunkERKU5FDV_cjs = require('./chunk-ERKU5FDV.cjs');
5
- var chunkZXWOZZXO_cjs = require('./chunk-ZXWOZZXO.cjs');
6
- var chunkIRFFN74K_cjs = require('./chunk-IRFFN74K.cjs');
5
+ var chunkQJ5W5EED_cjs = require('./chunk-QJ5W5EED.cjs');
6
+ var chunkSP5LCPDG_cjs = require('./chunk-SP5LCPDG.cjs');
7
7
  var e = require('react');
8
8
  var core = require('@puckeditor/core');
9
9
  var zod = require('zod');
@@ -1044,6 +1044,11 @@ function DocumentSettingsModal({
1044
1044
  ] }) });
1045
1045
  }
1046
1046
  var EMPTY = {};
1047
+ var EMPTY_RAW = {};
1048
+ var defsFor = (keys, catalog) => {
1049
+ const byKey = new Map(catalog.map((def) => [def.key, def]));
1050
+ return keys.map((key) => byKey.get(key) ?? { key, label: key, type: "string", model: "outros" });
1051
+ };
1047
1052
  function useVariableResolution({
1048
1053
  catalog = [],
1049
1054
  resolver,
@@ -1052,7 +1057,7 @@ function useVariableResolution({
1052
1057
  }) {
1053
1058
  const keysHash = e.useMemo(() => [...keys].sort().join("|"), [keys]);
1054
1059
  const ctxHash = e.useMemo(() => JSON.stringify(ctx), [ctx]);
1055
- const [state, setState] = e.useState({ ctxHash, resolved: EMPTY, attempted: [] });
1060
+ const [state, setState] = e.useState({ ctxHash, raw: EMPTY_RAW, attempted: [] });
1056
1061
  const catalogRef = e.useRef(catalog);
1057
1062
  catalogRef.current = catalog;
1058
1063
  const resolverRef = e.useRef(resolver);
@@ -1065,7 +1070,10 @@ function useVariableResolution({
1065
1070
  keysRef.current = keys;
1066
1071
  const stateRef = e.useRef(state);
1067
1072
  stateRef.current = state;
1068
- const resolved = state.ctxHash === ctxHash ? state.resolved : EMPTY;
1073
+ const resolved = e.useMemo(
1074
+ () => state.ctxHash === ctxHash ? chunkQJ5W5EED_cjs.formatResolvedValues(defsFor(state.attempted, catalog), state.raw) : EMPTY,
1075
+ [state, ctxHash, catalog]
1076
+ );
1069
1077
  const missingFor = (list, forCtx) => {
1070
1078
  const attempted = new Set(stateRef.current.ctxHash === forCtx ? stateRef.current.attempted : []);
1071
1079
  return list.filter((key) => !attempted.has(key));
@@ -1074,16 +1082,14 @@ function useVariableResolution({
1074
1082
  const stale = prev.ctxHash !== forCtx;
1075
1083
  return {
1076
1084
  ctxHash: forCtx,
1077
- resolved: { ...stale ? EMPTY : prev.resolved, ...next },
1085
+ raw: { ...stale ? EMPTY_RAW : prev.raw, ...next },
1078
1086
  attempted: [.../* @__PURE__ */ new Set([...stale ? [] : prev.attempted, ...list])]
1079
1087
  };
1080
1088
  });
1081
1089
  const fetchKeys = e.useCallback((list) => {
1082
1090
  const currentResolver = resolverRef.current;
1083
- if (!currentResolver || list.length === 0) return Promise.resolve(EMPTY);
1084
- const byKey = new Map(catalogRef.current.map((def) => [def.key, def]));
1085
- const defs = list.map((key) => byKey.get(key) ?? { key, label: key, type: "string", model: "outros" });
1086
- return currentResolver(list, ctxRef.current).then((raw) => chunkZXWOZZXO_cjs.formatResolvedValues(defs, raw));
1091
+ if (!currentResolver || list.length === 0) return Promise.resolve(null);
1092
+ return currentResolver(list, ctxRef.current);
1087
1093
  }, []);
1088
1094
  e.useEffect(() => {
1089
1095
  const forCtx = ctxHash;
@@ -1091,18 +1097,20 @@ function useVariableResolution({
1091
1097
  if (!missing.length) return void 0;
1092
1098
  let active = true;
1093
1099
  fetchKeys(missing).then((next) => {
1094
- if (active) merge(forCtx, missing, next);
1100
+ if (active && next) merge(forCtx, missing, next);
1095
1101
  });
1096
1102
  return () => {
1097
1103
  active = false;
1098
1104
  };
1099
- }, [keysHash, ctxHash, fetchKeys]);
1105
+ }, [keysHash, ctxHash, fetchKeys, resolver]);
1100
1106
  const ensureResolved = e.useCallback(
1101
1107
  (list) => {
1102
1108
  const forCtx = ctxHashRef.current;
1103
1109
  const missing = missingFor(list, forCtx);
1104
1110
  if (!missing.length) return Promise.resolve();
1105
- return fetchKeys(missing).then((next) => merge(forCtx, missing, next));
1111
+ return fetchKeys(missing).then((next) => {
1112
+ if (next) merge(forCtx, missing, next);
1113
+ });
1106
1114
  },
1107
1115
  [fetchKeys]
1108
1116
  );
@@ -1161,7 +1169,7 @@ function DocumentEditor({
1161
1169
  apiRefRef.current = apiRef;
1162
1170
  const renderBlockActionsRef = e.useRef(renderBlockActions);
1163
1171
  renderBlockActionsRef.current = renderBlockActions;
1164
- const usedKeys = e.useMemo(() => chunkIRFFN74K_cjs.extractBindingKeys(data), [data]);
1172
+ const usedKeys = e.useMemo(() => chunkSP5LCPDG_cjs.extractBindingKeys(data), [data]);
1165
1173
  const { resolved, ensureResolved } = useVariableResolution({ catalog, resolver, ctx, keys: usedKeys });
1166
1174
  const blockByKey = e.useMemo(() => {
1167
1175
  const map = {};
@@ -1233,7 +1241,7 @@ function DocumentEditor({
1233
1241
  }
1234
1242
  return { ...withActions, header: Header };
1235
1243
  }, [blockByKey, disabledByKey, Boolean(renderHeader), Boolean(apiRef), Boolean(renderBlockActions)]);
1236
- return /* @__PURE__ */ jsxRuntime.jsx(chunkERKU5FDV_cjs.DocumentThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntime.jsx(chunkIRFFN74K_cjs.CatalogProvider, { catalog, translator, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkIRFFN74K_cjs.ResolvedProvider, { resolved, ensureResolved, unresolvedDisplay, children: [
1244
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERKU5FDV_cjs.DocumentThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntime.jsx(chunkSP5LCPDG_cjs.CatalogProvider, { catalog, translator, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkSP5LCPDG_cjs.ResolvedProvider, { resolved, ensureResolved, unresolvedDisplay, children: [
1237
1245
  /* @__PURE__ */ jsxRuntime.jsx(chunkERKU5FDV_cjs.EditorShell, { children: /* @__PURE__ */ jsxRuntime.jsx(
1238
1246
  core.Puck,
1239
1247
  {
@@ -1342,5 +1350,5 @@ exports.rgbToHex = rgbToHex;
1342
1350
  exports.themeSchema = themeSchema;
1343
1351
  exports.useDocumentAutosave = useDocumentAutosave;
1344
1352
  exports.usePuckState = usePuckState;
1345
- //# sourceMappingURL=chunk-X2BLERM5.cjs.map
1346
- //# sourceMappingURL=chunk-X2BLERM5.cjs.map
1353
+ //# sourceMappingURL=chunk-3FTKM37U.cjs.map
1354
+ //# sourceMappingURL=chunk-3FTKM37U.cjs.map