vobi_document 1.1.2 → 1.1.4

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 (43) hide show
  1. package/dist/blocks.cjs +25 -25
  2. package/dist/blocks.d.cts +2 -2
  3. package/dist/blocks.d.ts +2 -2
  4. package/dist/blocks.js +1 -1
  5. package/dist/{chunk-QU6XF6OQ.js → chunk-2EVBMRJR.js} +3 -3
  6. package/dist/{chunk-QU6XF6OQ.js.map → chunk-2EVBMRJR.js.map} +1 -1
  7. package/dist/{chunk-KALUNX3C.cjs → chunk-3KIK2XTA.cjs} +52 -17
  8. package/dist/chunk-3KIK2XTA.cjs.map +1 -0
  9. package/dist/{chunk-2VZW2MGO.cjs → chunk-5H27FECZ.cjs} +9 -4
  10. package/dist/chunk-5H27FECZ.cjs.map +1 -0
  11. package/dist/{chunk-A427FKMP.cjs → chunk-CPU4SK5F.cjs} +25 -28
  12. package/dist/chunk-CPU4SK5F.cjs.map +1 -0
  13. package/dist/{chunk-SFKH6QYD.cjs → chunk-D3JG6YEL.cjs} +8 -8
  14. package/dist/{chunk-SFKH6QYD.cjs.map → chunk-D3JG6YEL.cjs.map} +1 -1
  15. package/dist/{chunk-QEWDIL2H.js → chunk-DQ4AL6SJ.js} +9 -4
  16. package/dist/chunk-DQ4AL6SJ.js.map +1 -0
  17. package/dist/{chunk-QRVQXVZC.js → chunk-EX252M4Y.js} +45 -10
  18. package/dist/chunk-EX252M4Y.js.map +1 -0
  19. package/dist/{chunk-OJZJJEJX.js → chunk-P2FDTTXF.js} +14 -6
  20. package/dist/chunk-P2FDTTXF.js.map +1 -0
  21. package/dist/{chunk-BEG6KN5X.js → chunk-PBBPAMLP.js} +12 -15
  22. package/dist/chunk-PBBPAMLP.js.map +1 -0
  23. package/dist/{chunk-RZOR3HOA.cjs → chunk-RP4T57MA.cjs} +14 -6
  24. package/dist/chunk-RP4T57MA.cjs.map +1 -0
  25. package/dist/editor.cjs +14 -14
  26. package/dist/editor.js +2 -2
  27. package/dist/index.cjs +83 -83
  28. package/dist/index.js +6 -6
  29. package/dist/print.cjs +22 -21
  30. package/dist/print.cjs.map +1 -1
  31. package/dist/print.js +8 -7
  32. package/dist/print.js.map +1 -1
  33. package/dist/render.cjs +18 -18
  34. package/dist/render.js +3 -3
  35. package/package.json +1 -1
  36. package/dist/chunk-2VZW2MGO.cjs.map +0 -1
  37. package/dist/chunk-A427FKMP.cjs.map +0 -1
  38. package/dist/chunk-BEG6KN5X.js.map +0 -1
  39. package/dist/chunk-KALUNX3C.cjs.map +0 -1
  40. package/dist/chunk-OJZJJEJX.js.map +0 -1
  41. package/dist/chunk-QEWDIL2H.js.map +0 -1
  42. package/dist/chunk-QRVQXVZC.js.map +0 -1
  43. package/dist/chunk-RZOR3HOA.cjs.map +0 -1
package/dist/blocks.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkRZOR3HOA_cjs = require('./chunk-RZOR3HOA.cjs');
3
+ var chunkRP4T57MA_cjs = require('./chunk-RP4T57MA.cjs');
4
4
  require('./chunk-L5FXGEKX.cjs');
5
5
  require('./chunk-LNBAFOVK.cjs');
6
6
  require('./chunk-I22MGPXO.cjs');
@@ -10,99 +10,99 @@ require('./chunk-SP5LCPDG.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "ButtonBlock", {
12
12
  enumerable: true,
13
- get: function () { return chunkRZOR3HOA_cjs.ButtonBlock; }
13
+ get: function () { return chunkRP4T57MA_cjs.ButtonBlock; }
14
14
  });
15
15
  Object.defineProperty(exports, "CONTENT_ICON_CATALOG", {
16
16
  enumerable: true,
17
- get: function () { return chunkRZOR3HOA_cjs.CONTENT_ICON_CATALOG; }
17
+ get: function () { return chunkRP4T57MA_cjs.CONTENT_ICON_CATALOG; }
18
18
  });
19
19
  Object.defineProperty(exports, "CONTENT_ICON_NAMES", {
20
20
  enumerable: true,
21
- get: function () { return chunkRZOR3HOA_cjs.CONTENT_ICON_NAMES; }
21
+ get: function () { return chunkRP4T57MA_cjs.CONTENT_ICON_NAMES; }
22
22
  });
23
23
  Object.defineProperty(exports, "ContentIcon", {
24
24
  enumerable: true,
25
- get: function () { return chunkRZOR3HOA_cjs.ContentIcon; }
25
+ get: function () { return chunkRP4T57MA_cjs.ContentIcon; }
26
26
  });
27
27
  Object.defineProperty(exports, "DOCUMENT_PROSE_CSS", {
28
28
  enumerable: true,
29
- get: function () { return chunkRZOR3HOA_cjs.DOCUMENT_PROSE_CSS; }
29
+ get: function () { return chunkRP4T57MA_cjs.DOCUMENT_PROSE_CSS; }
30
30
  });
31
31
  Object.defineProperty(exports, "DOCUMENT_TEXT_CSS", {
32
32
  enumerable: true,
33
- get: function () { return chunkRZOR3HOA_cjs.DOCUMENT_TEXT_CSS; }
33
+ get: function () { return chunkRP4T57MA_cjs.DOCUMENT_TEXT_CSS; }
34
34
  });
35
35
  Object.defineProperty(exports, "DividerBlock", {
36
36
  enumerable: true,
37
- get: function () { return chunkRZOR3HOA_cjs.DividerBlock; }
37
+ get: function () { return chunkRP4T57MA_cjs.DividerBlock; }
38
38
  });
39
39
  Object.defineProperty(exports, "HeadingBlock", {
40
40
  enumerable: true,
41
- get: function () { return chunkRZOR3HOA_cjs.HeadingBlock; }
41
+ get: function () { return chunkRP4T57MA_cjs.HeadingBlock; }
42
42
  });
43
43
  Object.defineProperty(exports, "IconTextBlock", {
44
44
  enumerable: true,
45
- get: function () { return chunkRZOR3HOA_cjs.IconTextBlock; }
45
+ get: function () { return chunkRP4T57MA_cjs.IconTextBlock; }
46
46
  });
47
47
  Object.defineProperty(exports, "ImageBlock", {
48
48
  enumerable: true,
49
- get: function () { return chunkRZOR3HOA_cjs.ImageBlock; }
49
+ get: function () { return chunkRP4T57MA_cjs.ImageBlock; }
50
50
  });
51
51
  Object.defineProperty(exports, "ImageGridBlock", {
52
52
  enumerable: true,
53
- get: function () { return chunkRZOR3HOA_cjs.ImageGridBlock; }
53
+ get: function () { return chunkRP4T57MA_cjs.ImageGridBlock; }
54
54
  });
55
55
  Object.defineProperty(exports, "ImageTextBlock", {
56
56
  enumerable: true,
57
- get: function () { return chunkRZOR3HOA_cjs.ImageTextBlock; }
57
+ get: function () { return chunkRP4T57MA_cjs.ImageTextBlock; }
58
58
  });
59
59
  Object.defineProperty(exports, "ListBlock", {
60
60
  enumerable: true,
61
- get: function () { return chunkRZOR3HOA_cjs.ListBlock; }
61
+ get: function () { return chunkRP4T57MA_cjs.ListBlock; }
62
62
  });
63
63
  Object.defineProperty(exports, "PageBreakBlock", {
64
64
  enumerable: true,
65
- get: function () { return chunkRZOR3HOA_cjs.PageBreakBlock; }
65
+ get: function () { return chunkRP4T57MA_cjs.PageBreakBlock; }
66
66
  });
67
67
  Object.defineProperty(exports, "QuoteBlock", {
68
68
  enumerable: true,
69
- get: function () { return chunkRZOR3HOA_cjs.QuoteBlock; }
69
+ get: function () { return chunkRP4T57MA_cjs.QuoteBlock; }
70
70
  });
71
71
  Object.defineProperty(exports, "RichText", {
72
72
  enumerable: true,
73
- get: function () { return chunkRZOR3HOA_cjs.RichText; }
73
+ get: function () { return chunkRP4T57MA_cjs.RichText; }
74
74
  });
75
75
  Object.defineProperty(exports, "SpacerBlock", {
76
76
  enumerable: true,
77
- get: function () { return chunkRZOR3HOA_cjs.SpacerBlock; }
77
+ get: function () { return chunkRP4T57MA_cjs.SpacerBlock; }
78
78
  });
79
79
  Object.defineProperty(exports, "TableBlock", {
80
80
  enumerable: true,
81
- get: function () { return chunkRZOR3HOA_cjs.TableBlock; }
81
+ get: function () { return chunkRP4T57MA_cjs.TableBlock; }
82
82
  });
83
83
  Object.defineProperty(exports, "TextBlock", {
84
84
  enumerable: true,
85
- get: function () { return chunkRZOR3HOA_cjs.TextBlock; }
85
+ get: function () { return chunkRP4T57MA_cjs.TextBlock; }
86
86
  });
87
87
  Object.defineProperty(exports, "TwoColumnsBlock", {
88
88
  enumerable: true,
89
- get: function () { return chunkRZOR3HOA_cjs.TwoColumnsBlock; }
89
+ get: function () { return chunkRP4T57MA_cjs.TwoColumnsBlock; }
90
90
  });
91
91
  Object.defineProperty(exports, "blocksByKey", {
92
92
  enumerable: true,
93
- get: function () { return chunkRZOR3HOA_cjs.blocksByKey; }
93
+ get: function () { return chunkRP4T57MA_cjs.blocksByKey; }
94
94
  });
95
95
  Object.defineProperty(exports, "defaultBlocks", {
96
96
  enumerable: true,
97
- get: function () { return chunkRZOR3HOA_cjs.defaultBlocks; }
97
+ get: function () { return chunkRP4T57MA_cjs.defaultBlocks; }
98
98
  });
99
99
  Object.defineProperty(exports, "defineBlock", {
100
100
  enumerable: true,
101
- get: function () { return chunkRZOR3HOA_cjs.defineBlock; }
101
+ get: function () { return chunkRP4T57MA_cjs.defineBlock; }
102
102
  });
103
103
  Object.defineProperty(exports, "overrideBlock", {
104
104
  enumerable: true,
105
- get: function () { return chunkRZOR3HOA_cjs.overrideBlock; }
105
+ get: function () { return chunkRP4T57MA_cjs.overrideBlock; }
106
106
  });
107
107
  //# sourceMappingURL=blocks.cjs.map
108
108
  //# sourceMappingURL=blocks.cjs.map
package/dist/blocks.d.cts CHANGED
@@ -180,8 +180,8 @@ declare function RichText({ html, editing, as, className }: RichTextProps): reac
180
180
  * descendentes; no `content_style` do TinyMCE eles valem a partir do body.
181
181
  */
182
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}";
183
+ declare const DOCUMENT_TEXT_CSS = "font-size: 14px;\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 font-size: 1em;\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 font-size: 1em;\n}\n\nul { list-style: disc; }\nol { list-style: decimal; }\n\nli {\n margin: 0 0 4px;\n font-size: 1em;\n}\n\nstrong, b { font-weight: 600; }\nem, i { font-style: italic; }\n\na {\n color: var(--doc-brand, #005ac3);\n text-decoration: underline;\n}\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
185
 
186
186
  type ContentIconDef = {
187
187
  label: string;
package/dist/blocks.d.ts CHANGED
@@ -180,8 +180,8 @@ declare function RichText({ html, editing, as, className }: RichTextProps): reac
180
180
  * descendentes; no `content_style` do TinyMCE eles valem a partir do body.
181
181
  */
182
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}";
183
+ declare const DOCUMENT_TEXT_CSS = "font-size: 14px;\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 font-size: 1em;\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 font-size: 1em;\n}\n\nul { list-style: disc; }\nol { list-style: decimal; }\n\nli {\n margin: 0 0 4px;\n font-size: 1em;\n}\n\nstrong, b { font-weight: 600; }\nem, i { font-style: italic; }\n\na {\n color: var(--doc-brand, #005ac3);\n text-decoration: underline;\n}\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
185
 
186
186
  type ContentIconDef = {
187
187
  label: string;
package/dist/blocks.js CHANGED
@@ -1,4 +1,4 @@
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';
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-P2FDTTXF.js';
2
2
  import './chunk-QYBWIJXZ.js';
3
3
  import './chunk-ZOJBDFKU.js';
4
4
  import './chunk-MUSSJOOA.js';
@@ -1,4 +1,4 @@
1
- import { COVER_TEMPLATES, resolveCoverColors, CoverEditContext } from './chunk-BEG6KN5X.js';
1
+ import { COVER_TEMPLATES, resolveCoverColors, CoverEditContext } from './chunk-PBBPAMLP.js';
2
2
  import { useRef, useEffect, useMemo } from 'react';
3
3
  import { registerOverlayPortal } from '@puckeditor/core';
4
4
  import styled from 'styled-components';
@@ -57,5 +57,5 @@ function CoverTemplateStatic({
57
57
  }
58
58
 
59
59
  export { CoverEditable, CoverTemplateStatic };
60
- //# sourceMappingURL=chunk-QU6XF6OQ.js.map
61
- //# sourceMappingURL=chunk-QU6XF6OQ.js.map
60
+ //# sourceMappingURL=chunk-2EVBMRJR.js.map
61
+ //# sourceMappingURL=chunk-2EVBMRJR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/chrome/covers/CoverEditable.tsx","../src/render/chrome/covers/CoverTemplateStatic.tsx"],"names":["jsx"],"mappings":";;;;;;AASO,IAAM,QAAQ,MAAA,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,GAAW,eAAA,CAAgB,UAAU,CAAA,IAAK,gBAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAW,mBAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,MAAM,MAAA,GAAS,OAAuB,IAAI,CAAA;AAO1C,EAAA,SAAA,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,OAAO,qBAAA,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,GAAe,OAAA;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,2BACG,gBAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,cAChC,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,GAAA,EAAK,MAAA,EACV,8BAAC,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,GAAW,eAAA,CAAgB,UAAU,CAAA,IAAK,gBAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAW,mBAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAAA,GAAAA,CAAC,YAAS,MAAA,EAAgB,KAAA,EAAe,GAAG,QAAA,EAAU,CAAA,EACxD,CAAA;AAEJ","file":"chunk-QU6XF6OQ.js","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":["jsx"],"mappings":";;;;;;AASO,IAAM,QAAQ,MAAA,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,GAAW,eAAA,CAAgB,UAAU,CAAA,IAAK,gBAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAW,mBAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,MAAM,MAAA,GAAS,OAAuB,IAAI,CAAA;AAO1C,EAAA,SAAA,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,OAAO,qBAAA,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,GAAe,OAAA;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,2BACG,gBAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,cAChC,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,GAAA,EAAK,MAAA,EACV,8BAAC,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,GAAW,eAAA,CAAgB,UAAU,CAAA,IAAK,gBAAgB,SAAS,CAAA;AACzE,EAAA,MAAM,QAAA,GAAW,mBAAmB,UAAA,EAAY,EAAE,QAAQ,SAAA,EAAW,OAAA,IAAW,KAAK,CAAA;AACrF,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAAA,GAAAA,CAAC,YAAS,MAAA,EAAgB,KAAA,EAAe,GAAG,QAAA,EAAU,CAAA,EACxD,CAAA;AAEJ","file":"chunk-2EVBMRJR.js","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,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkL5FXGEKX_cjs = require('./chunk-L5FXGEKX.cjs');
4
- var chunk2VZW2MGO_cjs = require('./chunk-2VZW2MGO.cjs');
4
+ var chunk5H27FECZ_cjs = require('./chunk-5H27FECZ.cjs');
5
5
  var chunkQJ5W5EED_cjs = require('./chunk-QJ5W5EED.cjs');
6
6
  var chunkSP5LCPDG_cjs = require('./chunk-SP5LCPDG.cjs');
7
7
  var e = require('react');
@@ -144,6 +144,33 @@ function headerApiFromHistory(history, extras) {
144
144
  };
145
145
  }
146
146
  var usePuckState = core.createUsePuck();
147
+ function usePreserveCanvasScroll(containerRef) {
148
+ const scrollTopRef = e.useRef(0);
149
+ e.useEffect(() => {
150
+ const container = containerRef.current;
151
+ const canvas = container?.querySelector('[class*="_PuckCanvas_"]');
152
+ if (!canvas) return void 0;
153
+ const handleScroll = () => {
154
+ scrollTopRef.current = canvas.scrollTop;
155
+ };
156
+ canvas.addEventListener("scroll", handleScroll, { passive: true });
157
+ const restoreScroll = () => {
158
+ requestAnimationFrame(() => {
159
+ const maxScrollTop = Math.max(canvas.scrollHeight - canvas.clientHeight, 0);
160
+ const target = Math.min(scrollTopRef.current, maxScrollTop);
161
+ if (canvas.scrollTop !== target) canvas.scrollTop = target;
162
+ });
163
+ };
164
+ const resizeObserver = new ResizeObserver(restoreScroll);
165
+ resizeObserver.observe(canvas);
166
+ const frame = canvas.querySelector("#preview-frame");
167
+ if (frame) resizeObserver.observe(frame);
168
+ return () => {
169
+ canvas.removeEventListener("scroll", handleScroll);
170
+ resizeObserver.disconnect();
171
+ };
172
+ }, [containerRef]);
173
+ }
147
174
  var pageFormatSchema = zod.z.enum(["A4", "A5", "A3", "Letter", "Legal"]);
148
175
  var marginsSchema = zod.z.object({
149
176
  top: zod.z.number(),
@@ -222,12 +249,12 @@ function resolveTheme(theme = {}) {
222
249
  return {
223
250
  ...theme,
224
251
  documentFont: theme.documentFont ?? DEFAULT_DOCUMENT_FONT_ID,
225
- colors: { ...chunk2VZW2MGO_cjs.DEFAULT_DOCUMENT_COLORS, ...theme.colors },
252
+ colors: { ...chunk5H27FECZ_cjs.DEFAULT_DOCUMENT_COLORS, ...theme.colors },
226
253
  page: {
227
254
  format: "A4",
228
255
  orientation: "portrait",
229
256
  ...theme.page,
230
- margins: { ...chunk2VZW2MGO_cjs.DEFAULT_PAGE_MARGINS, ...theme.page?.margins }
257
+ margins: { ...chunk5H27FECZ_cjs.DEFAULT_PAGE_MARGINS, ...theme.page?.margins }
231
258
  },
232
259
  header: { ...DEFAULT_HEADER_CONFIG, ...theme.header },
233
260
  footer: { ...DEFAULT_FOOTER_CONFIG, ...theme.footer }
@@ -977,7 +1004,7 @@ var COLOR_FIELDS = [
977
1004
  { key: "background", label: "Fundo" }
978
1005
  ];
979
1006
  function VisualTab({ theme, onPatch, onLogoUpload }) {
980
- const colors = { ...chunk2VZW2MGO_cjs.DEFAULT_DOCUMENT_COLORS, ...theme.colors };
1007
+ const colors = { ...chunk5H27FECZ_cjs.DEFAULT_DOCUMENT_COLORS, ...theme.colors };
981
1008
  const setColor = (key, value) => onPatch({ colors: { ...theme.colors, [key]: value } });
982
1009
  const handleLogo = async (file) => {
983
1010
  if (!file || !onLogoUpload) return;
@@ -1004,7 +1031,7 @@ function VisualTab({ theme, onPatch, onLogoUpload }) {
1004
1031
  "aria-label": "Fonte",
1005
1032
  value: theme.documentFont ?? DEFAULT_DOCUMENT_FONT_ID,
1006
1033
  onChange: (e2) => onPatch({ documentFont: e2.target.value }),
1007
- children: chunk2VZW2MGO_cjs.DOCUMENT_FONTS.map((font) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: font.id, children: font.label }, font.id))
1034
+ children: chunk5H27FECZ_cjs.DOCUMENT_FONTS.map((font) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: font.id, children: font.label }, font.id))
1008
1035
  }
1009
1036
  )
1010
1037
  ] }),
@@ -1142,12 +1169,14 @@ function DocumentEditor({
1142
1169
  }) {
1143
1170
  if (patchModifierState) installModifierStateShim();
1144
1171
  const [settingsOpen, setSettingsOpen] = e.useState(false);
1145
- chunk2VZW2MGO_cjs.useDocumentFont(theme.documentFont);
1172
+ const shellRef = e.useRef(null);
1173
+ usePreserveCanvasScroll(shellRef);
1174
+ chunk5H27FECZ_cjs.useDocumentFont(theme.documentFont);
1146
1175
  const disabledByKey = e.useMemo(
1147
1176
  () => Object.fromEntries(disabledBlocks.map((block) => [block.key, block.reason ?? ""])),
1148
1177
  [disabledBlocks.map((block) => `${block.key}:${block.reason ?? ""}`).join("|")]
1149
1178
  );
1150
- const baseConfig = e.useMemo(() => chunk2VZW2MGO_cjs.buildConfig(registry), [registry]);
1179
+ const baseConfig = e.useMemo(() => chunk5H27FECZ_cjs.buildConfig(registry), [registry]);
1151
1180
  const config = e.useMemo(() => {
1152
1181
  const disabledKeys = Object.keys(disabledByKey);
1153
1182
  if (!disabledKeys.length) return baseConfig;
@@ -1169,6 +1198,8 @@ function DocumentEditor({
1169
1198
  apiRefRef.current = apiRef;
1170
1199
  const renderBlockActionsRef = e.useRef(renderBlockActions);
1171
1200
  renderBlockActionsRef.current = renderBlockActions;
1201
+ const disabledByKeyRef = e.useRef(disabledByKey);
1202
+ disabledByKeyRef.current = disabledByKey;
1172
1203
  const usedKeys = e.useMemo(() => chunkSP5LCPDG_cjs.extractBindingKeys(data), [data]);
1173
1204
  const { resolved, ensureResolved } = useVariableResolution({ catalog, resolver, ctx, keys: usedKeys });
1174
1205
  const blockByKey = e.useMemo(() => {
@@ -1178,6 +1209,8 @@ function DocumentEditor({
1178
1209
  });
1179
1210
  return map;
1180
1211
  }, [registry]);
1212
+ const blockByKeyRef = e.useRef(blockByKey);
1213
+ blockByKeyRef.current = blockByKey;
1181
1214
  const plugins = e.useMemo(
1182
1215
  () => [
1183
1216
  { ...core.blocksPlugin(), label: "Blocos" },
@@ -1190,12 +1223,14 @@ function DocumentEditor({
1190
1223
  const base = {
1191
1224
  // eslint-disable-next-line react/no-unstable-nested-components, react/no-unused-prop-types
1192
1225
  drawerItem: ({ name }) => {
1193
- const card = /* @__PURE__ */ jsxRuntime.jsxs(chunk2VZW2MGO_cjs.DrawerCard, { $disabled: name in disabledByKey, children: [
1194
- /* @__PURE__ */ jsxRuntime.jsx(chunk2VZW2MGO_cjs.DrawerItemIcon, { children: blockByKey[name]?.icon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkL5FXGEKX_cjs.BlockIcon, {}) }),
1195
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: blockByKey[name]?.label ?? name })
1226
+ const disabledByKeyLive = disabledByKeyRef.current;
1227
+ const blockByKeyLive = blockByKeyRef.current;
1228
+ const card = /* @__PURE__ */ jsxRuntime.jsxs(chunk5H27FECZ_cjs.DrawerCard, { $disabled: name in disabledByKeyLive, children: [
1229
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5H27FECZ_cjs.DrawerItemIcon, { children: blockByKeyLive[name]?.icon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkL5FXGEKX_cjs.BlockIcon, {}) }),
1230
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: blockByKeyLive[name]?.label ?? name })
1196
1231
  ] });
1197
- if (!(name in disabledByKey)) return card;
1198
- return /* @__PURE__ */ jsxRuntime.jsx(chunk2VZW2MGO_cjs.DrawerHint, { "data-hint": disabledByKey[name] || void 0, children: card });
1232
+ if (!(name in disabledByKeyLive)) return card;
1233
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk5H27FECZ_cjs.DrawerHint, { "data-hint": disabledByKeyLive[name] || void 0, children: card });
1199
1234
  }
1200
1235
  };
1201
1236
  const withBridge = apiRefRef.current ? {
@@ -1240,9 +1275,9 @@ function DocumentEditor({
1240
1275
  return e.createElement(e.Fragment, null, renderHeaderRef.current?.(api));
1241
1276
  }
1242
1277
  return { ...withActions, header: Header };
1243
- }, [blockByKey, disabledByKey, Boolean(renderHeader), Boolean(apiRef), Boolean(renderBlockActions)]);
1244
- return /* @__PURE__ */ jsxRuntime.jsx(chunk2VZW2MGO_cjs.DocumentThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntime.jsx(chunkSP5LCPDG_cjs.CatalogProvider, { catalog, translator, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkSP5LCPDG_cjs.ResolvedProvider, { resolved, ensureResolved, unresolvedDisplay, children: [
1245
- /* @__PURE__ */ jsxRuntime.jsx(chunk2VZW2MGO_cjs.EditorShell, { children: /* @__PURE__ */ jsxRuntime.jsx(
1278
+ }, [Boolean(renderHeader), Boolean(apiRef), Boolean(renderBlockActions)]);
1279
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk5H27FECZ_cjs.DocumentThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntime.jsx(chunkSP5LCPDG_cjs.CatalogProvider, { catalog, translator, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkSP5LCPDG_cjs.ResolvedProvider, { resolved, ensureResolved, unresolvedDisplay, children: [
1280
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5H27FECZ_cjs.EditorShell, { ref: shellRef, children: /* @__PURE__ */ jsxRuntime.jsx(
1246
1281
  core.Puck,
1247
1282
  {
1248
1283
  config,
@@ -1350,5 +1385,5 @@ exports.rgbToHex = rgbToHex;
1350
1385
  exports.themeSchema = themeSchema;
1351
1386
  exports.useDocumentAutosave = useDocumentAutosave;
1352
1387
  exports.usePuckState = usePuckState;
1353
- //# sourceMappingURL=chunk-KALUNX3C.cjs.map
1354
- //# sourceMappingURL=chunk-KALUNX3C.cjs.map
1388
+ //# sourceMappingURL=chunk-3KIK2XTA.cjs.map
1389
+ //# sourceMappingURL=chunk-3KIK2XTA.cjs.map