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.
- package/dist/blocks.cjs +33 -25
- package/dist/blocks.d.cts +14 -1
- package/dist/blocks.d.ts +14 -1
- package/dist/blocks.js +3 -3
- package/dist/{chunk-U56KVTK5.cjs → chunk-26DSIOEY.cjs} +8 -8
- package/dist/{chunk-U56KVTK5.cjs.map → chunk-26DSIOEY.cjs.map} +1 -1
- package/dist/{chunk-X2BLERM5.cjs → chunk-3FTKM37U.cjs} +24 -16
- package/dist/chunk-3FTKM37U.cjs.map +1 -0
- package/dist/{chunk-2EBYURIX.js → chunk-CZB7F2LA.js} +3 -3
- package/dist/{chunk-2EBYURIX.js.map → chunk-CZB7F2LA.js.map} +1 -1
- package/dist/{chunk-AQ5FAAP6.cjs → chunk-GR76U6FP.cjs} +37 -11
- package/dist/chunk-GR76U6FP.cjs.map +1 -0
- package/dist/{chunk-KUB3TYG2.cjs → chunk-I22MGPXO.cjs} +22 -7
- package/dist/chunk-I22MGPXO.cjs.map +1 -0
- package/dist/{chunk-HMTCQOEV.js → chunk-JYSA6IM5.js} +22 -14
- package/dist/chunk-JYSA6IM5.js.map +1 -0
- package/dist/{chunk-6GRYRVU5.js → chunk-M6FQVH76.js} +4 -4
- package/dist/{chunk-6GRYRVU5.js.map → chunk-M6FQVH76.js.map} +1 -1
- package/dist/{chunk-JEVWEGSE.js → chunk-MUSSJOOA.js} +21 -7
- package/dist/chunk-MUSSJOOA.js.map +1 -0
- package/dist/{chunk-ABIEQHS2.js → chunk-N3IDPT3B.js} +31 -8
- package/dist/chunk-N3IDPT3B.js.map +1 -0
- package/dist/{chunk-IUDN2CGP.js → chunk-OJZJJEJX.js} +73 -32
- package/dist/chunk-OJZJJEJX.js.map +1 -0
- package/dist/{chunk-ZXWOZZXO.cjs → chunk-QJ5W5EED.cjs} +4 -4
- package/dist/{chunk-ZXWOZZXO.cjs.map → chunk-QJ5W5EED.cjs.map} +1 -1
- package/dist/{chunk-NDHTMYPA.cjs → chunk-RO3Y2MSU.cjs} +7 -7
- package/dist/{chunk-NDHTMYPA.cjs.map → chunk-RO3Y2MSU.cjs.map} +1 -1
- package/dist/{chunk-MHTTFNK2.cjs → chunk-RZOR3HOA.cjs} +80 -37
- package/dist/chunk-RZOR3HOA.cjs.map +1 -0
- package/dist/{chunk-M2TPAU2F.js → chunk-SOIYSSU3.js} +32 -3
- package/dist/chunk-SOIYSSU3.js.map +1 -0
- package/dist/{chunk-IRFFN74K.cjs → chunk-SP5LCPDG.cjs} +32 -2
- package/dist/chunk-SP5LCPDG.cjs.map +1 -0
- package/dist/{chunk-KCZKC3OG.js → chunk-W52ULJCW.js} +3 -3
- package/dist/{chunk-KCZKC3OG.js.map → chunk-W52ULJCW.js.map} +1 -1
- package/dist/editor.cjs +15 -15
- package/dist/editor.js +3 -3
- package/dist/index.cjs +114 -90
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -11
- package/dist/print.cjs +13 -13
- package/dist/print.js +4 -4
- package/dist/render.cjs +19 -19
- package/dist/render.js +4 -4
- package/dist/variables.cjs +41 -25
- package/dist/variables.d.cts +34 -2
- package/dist/variables.d.ts +34 -2
- package/dist/variables.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-ABIEQHS2.js.map +0 -1
- package/dist/chunk-AQ5FAAP6.cjs.map +0 -1
- package/dist/chunk-HMTCQOEV.js.map +0 -1
- package/dist/chunk-IRFFN74K.cjs.map +0 -1
- package/dist/chunk-IUDN2CGP.js.map +0 -1
- package/dist/chunk-JEVWEGSE.js.map +0 -1
- package/dist/chunk-KUB3TYG2.cjs.map +0 -1
- package/dist/chunk-M2TPAU2F.js.map +0 -1
- package/dist/chunk-MHTTFNK2.cjs.map +0 -1
- 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
|
|
3
|
+
var chunkRZOR3HOA_cjs = require('./chunk-RZOR3HOA.cjs');
|
|
4
4
|
require('./chunk-L5FXGEKX.cjs');
|
|
5
5
|
require('./chunk-LNBAFOVK.cjs');
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
37
|
+
get: function () { return chunkRZOR3HOA_cjs.DividerBlock; }
|
|
30
38
|
});
|
|
31
39
|
Object.defineProperty(exports, "HeadingBlock", {
|
|
32
40
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkRZOR3HOA_cjs.HeadingBlock; }
|
|
34
42
|
});
|
|
35
43
|
Object.defineProperty(exports, "IconTextBlock", {
|
|
36
44
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkRZOR3HOA_cjs.IconTextBlock; }
|
|
38
46
|
});
|
|
39
47
|
Object.defineProperty(exports, "ImageBlock", {
|
|
40
48
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkRZOR3HOA_cjs.ImageBlock; }
|
|
42
50
|
});
|
|
43
51
|
Object.defineProperty(exports, "ImageGridBlock", {
|
|
44
52
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkRZOR3HOA_cjs.ImageGridBlock; }
|
|
46
54
|
});
|
|
47
55
|
Object.defineProperty(exports, "ImageTextBlock", {
|
|
48
56
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkRZOR3HOA_cjs.ImageTextBlock; }
|
|
50
58
|
});
|
|
51
59
|
Object.defineProperty(exports, "ListBlock", {
|
|
52
60
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkRZOR3HOA_cjs.ListBlock; }
|
|
54
62
|
});
|
|
55
63
|
Object.defineProperty(exports, "PageBreakBlock", {
|
|
56
64
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkRZOR3HOA_cjs.PageBreakBlock; }
|
|
58
66
|
});
|
|
59
67
|
Object.defineProperty(exports, "QuoteBlock", {
|
|
60
68
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkRZOR3HOA_cjs.QuoteBlock; }
|
|
62
70
|
});
|
|
63
71
|
Object.defineProperty(exports, "RichText", {
|
|
64
72
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkRZOR3HOA_cjs.RichText; }
|
|
66
74
|
});
|
|
67
75
|
Object.defineProperty(exports, "SpacerBlock", {
|
|
68
76
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkRZOR3HOA_cjs.SpacerBlock; }
|
|
70
78
|
});
|
|
71
79
|
Object.defineProperty(exports, "TableBlock", {
|
|
72
80
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkRZOR3HOA_cjs.TableBlock; }
|
|
74
82
|
});
|
|
75
83
|
Object.defineProperty(exports, "TextBlock", {
|
|
76
84
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkRZOR3HOA_cjs.TextBlock; }
|
|
78
86
|
});
|
|
79
87
|
Object.defineProperty(exports, "TwoColumnsBlock", {
|
|
80
88
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkRZOR3HOA_cjs.TwoColumnsBlock; }
|
|
82
90
|
});
|
|
83
91
|
Object.defineProperty(exports, "blocksByKey", {
|
|
84
92
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkRZOR3HOA_cjs.blocksByKey; }
|
|
86
94
|
});
|
|
87
95
|
Object.defineProperty(exports, "defaultBlocks", {
|
|
88
96
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkRZOR3HOA_cjs.defaultBlocks; }
|
|
90
98
|
});
|
|
91
99
|
Object.defineProperty(exports, "defineBlock", {
|
|
92
100
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkRZOR3HOA_cjs.defineBlock; }
|
|
94
102
|
});
|
|
95
103
|
Object.defineProperty(exports, "overrideBlock", {
|
|
96
104
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
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-
|
|
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-
|
|
5
|
-
import './chunk-
|
|
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
|
|
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 =
|
|
31
|
-
const resolved =
|
|
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(
|
|
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 =
|
|
61
|
-
const resolved =
|
|
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-
|
|
68
|
-
//# sourceMappingURL=chunk-
|
|
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-
|
|
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
|
|
6
|
-
var
|
|
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,
|
|
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 =
|
|
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
|
-
|
|
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(
|
|
1084
|
-
|
|
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) =>
|
|
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(() =>
|
|
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(
|
|
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-
|
|
1346
|
-
//# sourceMappingURL=chunk-
|
|
1353
|
+
//# sourceMappingURL=chunk-3FTKM37U.cjs.map
|
|
1354
|
+
//# sourceMappingURL=chunk-3FTKM37U.cjs.map
|