vobi_document 1.1.3 → 1.1.5

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 (53) 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-CJFNHGYH.cjs → chunk-3F5SJWGQ.cjs} +52 -17
  6. package/dist/chunk-3F5SJWGQ.cjs.map +1 -0
  7. package/dist/{chunk-Z3SAVLTS.js → chunk-4BAC7SQD.js} +3 -3
  8. package/dist/{chunk-Z3SAVLTS.js.map → chunk-4BAC7SQD.js.map} +1 -1
  9. package/dist/{chunk-S3FCX5TC.cjs → chunk-GDLKTYDB.cjs} +9 -4
  10. package/dist/chunk-GDLKTYDB.cjs.map +1 -0
  11. package/dist/{chunk-OUSXJTQ5.js → chunk-K6ZKB5EA.js} +9 -4
  12. package/dist/chunk-K6ZKB5EA.js.map +1 -0
  13. package/dist/{chunk-HANC7MNV.cjs → chunk-LQAZBMG4.cjs} +8 -8
  14. package/dist/{chunk-HANC7MNV.cjs.map → chunk-LQAZBMG4.cjs.map} +1 -1
  15. package/dist/{chunk-QBNPQGAL.js → chunk-MFBZNNYC.js} +99 -102
  16. package/dist/chunk-MFBZNNYC.js.map +1 -0
  17. package/dist/{chunk-7QF2U74X.js → chunk-NPNQGHGK.js} +13 -10
  18. package/dist/chunk-NPNQGHGK.js.map +1 -0
  19. package/dist/{chunk-XHKS4BTC.js → chunk-QQHKBSAG.js} +45 -10
  20. package/dist/chunk-QQHKBSAG.js.map +1 -0
  21. package/dist/{chunk-GWSTB65K.cjs → chunk-RKYQRL6M.cjs} +111 -114
  22. package/dist/chunk-RKYQRL6M.cjs.map +1 -0
  23. package/dist/{chunk-KQDH7LRX.cjs → chunk-USMVHVHF.cjs} +13 -10
  24. package/dist/chunk-USMVHVHF.cjs.map +1 -0
  25. package/dist/editor.cjs +14 -14
  26. package/dist/editor.d.cts +1 -1
  27. package/dist/editor.d.ts +1 -1
  28. package/dist/editor.js +2 -2
  29. package/dist/index.cjs +83 -83
  30. package/dist/index.d.cts +2 -2
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.js +6 -6
  33. package/dist/print.cjs +22 -21
  34. package/dist/print.cjs.map +1 -1
  35. package/dist/print.d.cts +1 -1
  36. package/dist/print.d.ts +1 -1
  37. package/dist/print.js +8 -7
  38. package/dist/print.js.map +1 -1
  39. package/dist/render.cjs +18 -18
  40. package/dist/render.d.cts +1 -1
  41. package/dist/render.d.ts +1 -1
  42. package/dist/render.js +3 -3
  43. package/dist/{theme-BuEFpQeZ.d.cts → theme-DWRLG-2_.d.cts} +1 -1
  44. package/dist/{theme-BuEFpQeZ.d.ts → theme-DWRLG-2_.d.ts} +1 -1
  45. package/package.json +1 -1
  46. package/dist/chunk-7QF2U74X.js.map +0 -1
  47. package/dist/chunk-CJFNHGYH.cjs.map +0 -1
  48. package/dist/chunk-GWSTB65K.cjs.map +0 -1
  49. package/dist/chunk-KQDH7LRX.cjs.map +0 -1
  50. package/dist/chunk-OUSXJTQ5.js.map +0 -1
  51. package/dist/chunk-QBNPQGAL.js.map +0 -1
  52. package/dist/chunk-S3FCX5TC.cjs.map +0 -1
  53. package/dist/chunk-XHKS4BTC.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkS3FCX5TC_cjs = require('./chunk-S3FCX5TC.cjs');
3
+ var chunkGDLKTYDB_cjs = require('./chunk-GDLKTYDB.cjs');
4
4
  var chunkQJ5W5EED_cjs = require('./chunk-QJ5W5EED.cjs');
5
5
  var chunkSP5LCPDG_cjs = require('./chunk-SP5LCPDG.cjs');
6
6
  var react = require('react');
@@ -23,9 +23,9 @@ function DocumentRenderer({
23
23
  unresolvedDisplay = "placeholder",
24
24
  metadata
25
25
  }) {
26
- const config = react.useMemo(() => chunkS3FCX5TC_cjs.buildConfig(registry), [registry]);
26
+ const config = react.useMemo(() => chunkGDLKTYDB_cjs.buildConfig(registry), [registry]);
27
27
  const [resolved, setResolved] = react.useState(resolvedVariables ?? {});
28
- chunkS3FCX5TC_cjs.useDocumentFont(theme.documentFont);
28
+ chunkGDLKTYDB_cjs.useDocumentFont(theme.documentFont);
29
29
  const keysHash = react.useMemo(() => chunkSP5LCPDG_cjs.extractBindingKeys(data).sort().join("|"), [data]);
30
30
  const ctxHash = JSON.stringify(ctx);
31
31
  react.useEffect(() => {
@@ -39,7 +39,7 @@ function DocumentRenderer({
39
39
  };
40
40
  }, [resolvedVariables, resolver, catalog, keysHash, ctxHash]);
41
41
  const effective = resolvedVariables ?? resolved;
42
- return /* @__PURE__ */ jsxRuntime.jsx(chunkS3FCX5TC_cjs.DocumentThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntime.jsx(chunkSP5LCPDG_cjs.CatalogProvider, { catalog, children: /* @__PURE__ */ jsxRuntime.jsx(chunkSP5LCPDG_cjs.ResolvedProvider, { resolved: effective, unresolvedDisplay, children: /* @__PURE__ */ jsxRuntime.jsx(core.Render, { config, data, metadata }) }) }) });
42
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkGDLKTYDB_cjs.DocumentThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntime.jsx(chunkSP5LCPDG_cjs.CatalogProvider, { catalog, children: /* @__PURE__ */ jsxRuntime.jsx(chunkSP5LCPDG_cjs.ResolvedProvider, { resolved: effective, unresolvedDisplay, children: /* @__PURE__ */ jsxRuntime.jsx(core.Render, { config, data, metadata }) }) }) });
43
43
  }
44
44
  var CoverEditContext = react.createContext({ editable: false });
45
45
  function CoverField({ name, value, placeholder, as: Tag = "span", className }) {
@@ -101,7 +101,6 @@ var CoverFrame = styled6__default.default.div`
101
101
 
102
102
  [data-cover-field][contenteditable] {
103
103
  cursor: text;
104
- border-radius: 3px;
105
104
  outline: 1px dashed transparent;
106
105
  outline-offset: 3px;
107
106
  transition: outline-color 0.12s ease;
@@ -164,95 +163,17 @@ styled6__default.default.div`
164
163
  letter-spacing: 0.04em;
165
164
  opacity: 0.8;
166
165
  `;
167
- var HAIRLINE = "#d9d9d9";
168
- var Chrome = styled6__default.default.div`
169
- position: relative;
170
- display: flex;
171
- flex-direction: column;
172
- justify-content: space-between;
173
- height: 100%;
174
- padding: 0 7cqw 8cqw;
175
- `;
176
- var TopRow = styled6__default.default.div`
177
- display: flex;
178
- justify-content: space-between;
179
- align-items: flex-start;
180
- gap: 4cqw;
181
- `;
182
- var Logo = styled6__default.default(CoverLogoImg)`
183
- max-width: 17cqw;
184
- max-height: 17cqw;
185
- `;
186
- var Company = styled6__default.default(CoverField)`
187
- display: block;
188
- margin-top: 5cqw;
189
- max-width: 45cqw;
190
- font-size: 2.94cqw;
191
- font-weight: 800;
192
- line-height: 1.15;
193
- letter-spacing: 0.3cqw;
194
- text-align: right;
195
- text-transform: uppercase;
196
- `;
197
- var Head = styled6__default.default.div`
198
- display: flex;
199
- flex-direction: column;
200
-
201
- &::before,
202
- &::after {
203
- content: '';
204
- width: 19cqw;
205
- height: 0.9cqw;
206
- background: ${HAIRLINE};
207
- }
208
- &::before {
209
- margin-bottom: 6cqw;
210
- }
211
- &::after {
212
- margin-top: 6cqw;
213
- }
214
- `;
215
- var Title = styled6__default.default(CoverField)`
216
- display: block;
217
- font-size: 8.82cqw;
218
- font-weight: 800;
219
- line-height: 1.15;
220
- letter-spacing: 0.88cqw;
221
- text-transform: uppercase;
222
- `;
223
- var Subtitle = styled6__default.default(CoverField)`
224
- display: block;
225
- margin-top: 3cqw;
226
- font-size: 3.53cqw;
227
- font-weight: 400;
228
- line-height: 1.3;
229
- `;
230
- function Model1({ fields, theme, accent, textColor, bgColor }) {
231
- return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkS3FCX5TC_cjs.fontStack(theme?.documentFont), $bg: fields.imageUrl ? void 0 : bgColor, $color: textColor, children: [
232
- fields.imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(FullBleedImage, { $overlay: accent, $overlayOpacity: 0.85, children: /* @__PURE__ */ jsxRuntime.jsx(CoverImage, { src: fields.imageUrl }) }) : null,
233
- /* @__PURE__ */ jsxRuntime.jsxs(Chrome, { children: [
234
- /* @__PURE__ */ jsxRuntime.jsxs(TopRow, { children: [
235
- theme?.logo?.url ? /* @__PURE__ */ jsxRuntime.jsx(Logo, { src: theme.logo.url, alt: "" }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
236
- /* @__PURE__ */ jsxRuntime.jsx(Company, { name: "presentedBy", value: fields.presentedBy, placeholder: "Nome da empresa" })
237
- ] }),
238
- /* @__PURE__ */ jsxRuntime.jsxs(Head, { children: [
239
- /* @__PURE__ */ jsxRuntime.jsx(Title, { name: "title", value: fields.title, placeholder: "Digite o t\xEDtulo..." }),
240
- /* @__PURE__ */ jsxRuntime.jsx(Subtitle, { name: "subtitle", value: fields.subtitle, placeholder: "Digite o subt\xEDtulo..." })
241
- ] })
242
- ] })
243
- ] });
244
- }
245
166
  var BAND_BG = "#e8ecf1";
246
- var HAIRLINE2 = "#d5dae1";
167
+ var HAIRLINE = "#d5dae1";
247
168
  var Hairline = styled6__default.default.div`
248
169
  position: absolute;
249
170
  left: 4.7%;
250
171
  top: 3%;
251
172
  height: 94%;
252
173
  width: 1px;
253
- background: ${HAIRLINE2};
174
+ background: ${HAIRLINE};
254
175
  `;
255
- var Logo2 = styled6__default.default(CoverLogoImg)`
176
+ var Logo = styled6__default.default(CoverLogoImg)`
256
177
  position: absolute;
257
178
  left: 10.9%;
258
179
  top: 6%;
@@ -267,7 +188,7 @@ var AccentBar = styled6__default.default.div`
267
188
  height: 28.7%;
268
189
  background: ${(p) => p.$accent};
269
190
  `;
270
- var Head2 = styled6__default.default.div`
191
+ var Head = styled6__default.default.div`
271
192
  position: absolute;
272
193
  left: 10.9%;
273
194
  right: 6%;
@@ -275,7 +196,7 @@ var Head2 = styled6__default.default.div`
275
196
  display: flex;
276
197
  flex-direction: column;
277
198
  `;
278
- var Title2 = styled6__default.default(CoverField)`
199
+ var Title = styled6__default.default(CoverField)`
279
200
  display: block;
280
201
  font-weight: 800;
281
202
  font-size: 12.6cqw;
@@ -316,18 +237,18 @@ var Value = styled6__default.default(CoverField)`
316
237
  line-height: 1.3;
317
238
  text-transform: uppercase;
318
239
  `;
319
- function Model2({ fields, theme, accent, textColor, bgColor }) {
240
+ function Model1({ fields, theme, accent, textColor, bgColor }) {
320
241
  const { editable } = react.useContext(CoverEditContext);
321
242
  const showHead = editable || Boolean(fields.title || fields.date);
322
243
  const showPrepared = editable || Boolean(fields.preparedFor);
323
244
  const showPresented = editable || Boolean(fields.presentedBy);
324
245
  const hasBand = showPrepared || showPresented;
325
- return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkS3FCX5TC_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: [
326
- theme?.logo?.url ? /* @__PURE__ */ jsxRuntime.jsx(Logo2, { src: theme.logo.url, alt: "" }) : null,
246
+ return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkGDLKTYDB_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: [
247
+ theme?.logo?.url ? /* @__PURE__ */ jsxRuntime.jsx(Logo, { src: theme.logo.url, alt: "" }) : null,
327
248
  showHead ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
328
249
  /* @__PURE__ */ jsxRuntime.jsx(AccentBar, { $accent: accent }),
329
- /* @__PURE__ */ jsxRuntime.jsxs(Head2, { "data-cover-head": true, children: [
330
- /* @__PURE__ */ jsxRuntime.jsx(Title2, { name: "title", value: fields.title, placeholder: "Digite o t\xEDtulo..." }),
250
+ /* @__PURE__ */ jsxRuntime.jsxs(Head, { "data-cover-head": true, children: [
251
+ /* @__PURE__ */ jsxRuntime.jsx(Title, { name: "title", value: fields.title, placeholder: "Digite o t\xEDtulo..." }),
331
252
  /* @__PURE__ */ jsxRuntime.jsx(DateLine, { name: "date", value: fields.date, placeholder: "M\xEAs e ano" })
332
253
  ] })
333
254
  ] }) : null,
@@ -344,6 +265,84 @@ function Model2({ fields, theme, accent, textColor, bgColor }) {
344
265
  /* @__PURE__ */ jsxRuntime.jsx(Hairline, {})
345
266
  ] });
346
267
  }
268
+ var HAIRLINE2 = "#d9d9d9";
269
+ var Chrome = styled6__default.default.div`
270
+ position: relative;
271
+ display: flex;
272
+ flex-direction: column;
273
+ justify-content: space-between;
274
+ height: 100%;
275
+ padding: 0 7cqw 8cqw;
276
+ `;
277
+ var TopRow = styled6__default.default.div`
278
+ display: flex;
279
+ justify-content: space-between;
280
+ align-items: flex-start;
281
+ gap: 4cqw;
282
+ `;
283
+ var Logo2 = styled6__default.default(CoverLogoImg)`
284
+ max-width: 17cqw;
285
+ max-height: 17cqw;
286
+ `;
287
+ var Company = styled6__default.default(CoverField)`
288
+ display: block;
289
+ margin-top: 5cqw;
290
+ max-width: 45cqw;
291
+ font-size: 2.94cqw;
292
+ font-weight: 800;
293
+ line-height: 1.15;
294
+ letter-spacing: 0.3cqw;
295
+ text-align: right;
296
+ text-transform: uppercase;
297
+ `;
298
+ var Head2 = styled6__default.default.div`
299
+ display: flex;
300
+ flex-direction: column;
301
+
302
+ &::before,
303
+ &::after {
304
+ content: '';
305
+ width: 19cqw;
306
+ height: 0.9cqw;
307
+ background: ${HAIRLINE2};
308
+ }
309
+ &::before {
310
+ margin-bottom: 6cqw;
311
+ }
312
+ &::after {
313
+ margin-top: 6cqw;
314
+ }
315
+ `;
316
+ var Title2 = styled6__default.default(CoverField)`
317
+ display: block;
318
+ font-size: 8.82cqw;
319
+ font-weight: 800;
320
+ line-height: 1.15;
321
+ letter-spacing: 0.88cqw;
322
+ text-transform: uppercase;
323
+ `;
324
+ var Subtitle = styled6__default.default(CoverField)`
325
+ display: block;
326
+ margin-top: 3cqw;
327
+ font-size: 3.53cqw;
328
+ font-weight: 400;
329
+ line-height: 1.3;
330
+ `;
331
+ function Model2({ fields, theme, textColor, bgColor }) {
332
+ return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkGDLKTYDB_cjs.fontStack(theme?.documentFont), $bg: fields.imageUrl ? void 0 : bgColor, $color: textColor, children: [
333
+ fields.imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(FullBleedImage, { $overlay: bgColor, $overlayOpacity: 0.85, children: /* @__PURE__ */ jsxRuntime.jsx(CoverImage, { src: fields.imageUrl }) }) : null,
334
+ /* @__PURE__ */ jsxRuntime.jsxs(Chrome, { children: [
335
+ /* @__PURE__ */ jsxRuntime.jsxs(TopRow, { children: [
336
+ theme?.logo?.url ? /* @__PURE__ */ jsxRuntime.jsx(Logo2, { src: theme.logo.url, alt: "" }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
337
+ /* @__PURE__ */ jsxRuntime.jsx(Company, { name: "presentedBy", value: fields.presentedBy, placeholder: "Nome da empresa" })
338
+ ] }),
339
+ /* @__PURE__ */ jsxRuntime.jsxs(Head2, { children: [
340
+ /* @__PURE__ */ jsxRuntime.jsx(Title2, { name: "title", value: fields.title, placeholder: "Digite o t\xEDtulo..." }),
341
+ /* @__PURE__ */ jsxRuntime.jsx(Subtitle, { name: "subtitle", value: fields.subtitle, placeholder: "Digite o subt\xEDtulo..." })
342
+ ] })
343
+ ] })
344
+ ] });
345
+ }
347
346
  var ImageBand = styled6__default.default.div`
348
347
  position: relative;
349
348
  width: 100%;
@@ -412,7 +411,7 @@ function Model3({ fields, theme, textColor, bgColor }) {
412
411
  const { editable } = react.useContext(CoverEditContext);
413
412
  const showPresented = editable || Boolean(fields.presentedBy);
414
413
  const showPrepared = editable || Boolean(fields.preparedFor);
415
- return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkS3FCX5TC_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: [
414
+ return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkGDLKTYDB_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: [
416
415
  /* @__PURE__ */ jsxRuntime.jsxs(ImageBand, { children: [
417
416
  fields.imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(CoverImage, { src: fields.imageUrl }) : null,
418
417
  theme?.logo?.url ? /* @__PURE__ */ jsxRuntime.jsx(Logo3, { src: theme.logo.url, alt: "" }) : null
@@ -459,7 +458,6 @@ var DateChip = styled6__default.default(CoverField)`
459
458
  padding: 1.18cqw 2.94cqw;
460
459
  font-size: 2.94cqw;
461
460
  font-weight: 400;
462
- letter-spacing: -0.29cqw;
463
461
  color: #ffffff;
464
462
  `;
465
463
  var Title4 = styled6__default.default(CoverField)`
@@ -469,7 +467,6 @@ var Title4 = styled6__default.default(CoverField)`
469
467
  font-size: 14.1cqw;
470
468
  font-weight: 300;
471
469
  line-height: 1.1;
472
- letter-spacing: -1.41cqw;
473
470
  `;
474
471
  var Footer = styled6__default.default.div`
475
472
  margin-top: auto;
@@ -484,7 +481,6 @@ var Party = styled6__default.default.div`
484
481
  var Label3 = styled6__default.default.div`
485
482
  font-size: 3.53cqw;
486
483
  font-weight: 300;
487
- letter-spacing: -0.35cqw;
488
484
  opacity: 0.72;
489
485
  `;
490
486
  var Value3 = styled6__default.default(CoverField)`
@@ -492,13 +488,12 @@ var Value3 = styled6__default.default(CoverField)`
492
488
  margin-top: 1.5cqw;
493
489
  font-size: 4.12cqw;
494
490
  font-weight: 500;
495
- letter-spacing: -0.41cqw;
496
491
  `;
497
492
  function Model4({ fields, theme, accent, textColor, bgColor }) {
498
493
  const { editable } = react.useContext(CoverEditContext);
499
494
  const showPrepared = editable || Boolean(fields.preparedFor);
500
495
  const showPresented = editable || Boolean(fields.presentedBy);
501
- return /* @__PURE__ */ jsxRuntime.jsx(CoverFrame, { $font: chunkS3FCX5TC_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: /* @__PURE__ */ jsxRuntime.jsxs(Body2, { children: [
496
+ return /* @__PURE__ */ jsxRuntime.jsx(CoverFrame, { $font: chunkGDLKTYDB_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: /* @__PURE__ */ jsxRuntime.jsxs(Body2, { children: [
502
497
  theme?.logo?.url ? /* @__PURE__ */ jsxRuntime.jsx(Logo4, { src: theme.logo.url, alt: "" }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
503
498
  /* @__PURE__ */ jsxRuntime.jsxs(Head3, { children: [
504
499
  /* @__PURE__ */ jsxRuntime.jsx(DateChip, { name: "date", value: fields.date, placeholder: "M\xEAs e ano", $accent: accent }),
@@ -588,7 +583,7 @@ var PresentedValue = styled6__default.default(CoverField)`
588
583
  function Model5({ fields, theme, accent, textColor, bgColor }) {
589
584
  const { editable } = react.useContext(CoverEditContext);
590
585
  const showPresented = editable || Boolean(fields.presentedBy);
591
- return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkS3FCX5TC_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: [
586
+ return /* @__PURE__ */ jsxRuntime.jsxs(CoverFrame, { $font: chunkGDLKTYDB_cjs.fontStack(theme?.documentFont), $bg: bgColor, $color: textColor, children: [
592
587
  /* @__PURE__ */ jsxRuntime.jsx(Spacer, {}),
593
588
  /* @__PURE__ */ jsxRuntime.jsx(ImageBand2, { children: fields.imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(FullBleedImage, { $overlay: accent, $overlayOpacity: 0.5, children: /* @__PURE__ */ jsxRuntime.jsx(CoverImage, { src: fields.imageUrl }) }) : null }),
594
589
  /* @__PURE__ */ jsxRuntime.jsxs(Bottom, { children: [
@@ -617,28 +612,30 @@ var COVER_TEMPLATES = {
617
612
  "model-5": Model5
618
613
  };
619
614
  var COVER_TEMPLATE_IDS = Object.keys(COVER_TEMPLATES);
620
- var resolveCoverAccent = (accent, theme) => accent ?? theme?.colors?.brand ?? chunkS3FCX5TC_cjs.DEFAULT_DOCUMENT_COLORS.brand;
615
+ var resolveCoverAccent = (accent, theme) => accent ?? theme?.colors?.brand ?? chunkGDLKTYDB_cjs.DEFAULT_DOCUMENT_COLORS.brand;
621
616
  var COVER_SURFACES = {
622
- "model-1": "brand",
623
- "model-2": "background",
617
+ "model-1": "background",
618
+ "model-2": "brand",
624
619
  "model-3": "brand",
625
- "model-4": "brand",
620
+ "model-4": "dark",
626
621
  "model-5": "background"
627
622
  };
628
623
  var ON_BRAND_TEXT = "#FFFFFF";
624
+ var DARK_SURFACE_BG = "#131B2C";
629
625
  var resolveCoverColors = (templateId, { accent, textColor, bgColor }, theme) => {
630
- const colors = { ...chunkS3FCX5TC_cjs.DEFAULT_DOCUMENT_COLORS, ...theme?.colors };
631
- const onBrand = (COVER_SURFACES[templateId ?? ""] ?? COVER_SURFACES["model-1"]) === "brand";
626
+ const colors = { ...chunkGDLKTYDB_cjs.DEFAULT_DOCUMENT_COLORS, ...theme?.colors };
627
+ const surface = COVER_SURFACES[templateId ?? ""] ?? COVER_SURFACES["model-1"];
632
628
  const resolvedAccent = resolveCoverAccent(accent, theme);
629
+ const surfaceBg = { brand: resolvedAccent, dark: DARK_SURFACE_BG, background: colors.background }[surface];
633
630
  return {
634
631
  accent: resolvedAccent,
635
- textColor: textColor ?? (onBrand ? ON_BRAND_TEXT : colors.text),
636
- bgColor: bgColor ?? (onBrand ? resolvedAccent : colors.background)
632
+ textColor: textColor ?? (surface === "background" ? colors.text : ON_BRAND_TEXT),
633
+ bgColor: bgColor ?? surfaceBg
637
634
  };
638
635
  };
639
636
  function CoverPage({ templateId, accent, fields, theme, textColor, bgColor }) {
640
637
  if (!templateId) return null;
641
- const colors = { ...chunkS3FCX5TC_cjs.DEFAULT_DOCUMENT_COLORS, ...theme?.colors };
638
+ const colors = { ...chunkGDLKTYDB_cjs.DEFAULT_DOCUMENT_COLORS, ...theme?.colors };
642
639
  const vars = {
643
640
  ["--doc-brand"]: colors.brand,
644
641
  ["--doc-text"]: colors.text,
@@ -712,7 +709,7 @@ var HeaderLayout = styled6__default.default.div`
712
709
  flex-direction: ${(props) => props.$reverse ? "row-reverse" : "row"};
713
710
  gap: 16px;
714
711
  height: 100%;
715
- padding: 12px 0;
712
+ padding: 20px 0;
716
713
  `;
717
714
  var HeaderInfo = styled6__default.default.div`
718
715
  display: flex;
@@ -780,7 +777,7 @@ function HeaderBar({ config, companyInfo = {}, logoUrl, documentFont }) {
780
777
  (key) => config.info?.[key] && companyInfo[key]
781
778
  );
782
779
  const logoLeft = config.logoPosition === "left";
783
- return /* @__PURE__ */ jsxRuntime.jsx(HeaderRoot, { className: "dg-running-header", $color: config.color ?? "#3F4759", $font: chunkS3FCX5TC_cjs.fontStack(documentFont), children: /* @__PURE__ */ jsxRuntime.jsxs(HeaderLayout, { $reverse: logoLeft, children: [
780
+ return /* @__PURE__ */ jsxRuntime.jsx(HeaderRoot, { className: "dg-running-header", $color: config.color ?? "#3F4759", $font: chunkGDLKTYDB_cjs.fontStack(documentFont), children: /* @__PURE__ */ jsxRuntime.jsxs(HeaderLayout, { $reverse: logoLeft, children: [
784
781
  /* @__PURE__ */ jsxRuntime.jsx(HeaderInfo, { $alignEnd: logoLeft, children: lines.map((key) => /* @__PURE__ */ jsxRuntime.jsxs(InfoLine, { $strong: key === "companyName", $iconAfter: logoLeft, children: [
785
782
  COMPANY_INFO_ICONS[key],
786
783
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: companyInfo[key] })
@@ -811,7 +808,7 @@ function FooterBar({ config, companyInfo = {}, documentFont }) {
811
808
  (key) => config?.info?.[key] && companyInfo[key]
812
809
  ) : [];
813
810
  const justify = ALIGNMENT_TO_JUSTIFY[config?.alignment ?? "center"];
814
- return /* @__PURE__ */ jsxRuntime.jsxs(FooterRoot, { className: "dg-running-footer", $color: config?.color ?? "#3F4759", $font: chunkS3FCX5TC_cjs.fontStack(documentFont), children: [
811
+ return /* @__PURE__ */ jsxRuntime.jsxs(FooterRoot, { className: "dg-running-footer", $color: config?.color ?? "#3F4759", $font: chunkGDLKTYDB_cjs.fontStack(documentFont), children: [
815
812
  showPageNumber ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dg-page-number" }) : null,
816
813
  showBand ? /* @__PURE__ */ jsxRuntime.jsx(FooterLayout, { children: lines.length ? /* @__PURE__ */ jsxRuntime.jsx(FooterInfoRows, { $justify: justify, children: lines.map((key) => /* @__PURE__ */ jsxRuntime.jsxs(FooterItem, { children: [
817
814
  COMPANY_INFO_ICONS[key],
@@ -840,5 +837,5 @@ exports.HEADER_INFO_ORDER = HEADER_INFO_ORDER;
840
837
  exports.HeaderBar = HeaderBar;
841
838
  exports.resolveCoverAccent = resolveCoverAccent;
842
839
  exports.resolveCoverColors = resolveCoverColors;
843
- //# sourceMappingURL=chunk-GWSTB65K.cjs.map
844
- //# sourceMappingURL=chunk-GWSTB65K.cjs.map
840
+ //# sourceMappingURL=chunk-RKYQRL6M.cjs.map
841
+ //# sourceMappingURL=chunk-RKYQRL6M.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/render/DocumentRenderer.tsx","../src/render/chrome/covers/primitives.tsx","../src/render/chrome/covers/covers.styles.ts","../src/render/chrome/covers/Model1.tsx","../src/render/chrome/covers/Model2.tsx","../src/render/chrome/covers/Model3.tsx","../src/render/chrome/covers/Model4.tsx","../src/render/chrome/covers/Model5.tsx","../src/render/chrome/covers/index.ts","../src/render/chrome/CoverPage.tsx","../src/render/chrome/icons.tsx","../src/render/chrome/chrome.styles.ts","../src/render/chrome/HeaderBar.tsx","../src/render/chrome/FooterBar.tsx","../src/render/messages.ts"],"names":["useMemo","buildConfig","useState","useDocumentFont","extractBindingKeys","useEffect","resolveDocumentVariables","DocumentThemeProvider","CatalogProvider","ResolvedProvider","Render","createContext","useContext","jsx","styled","jsxs","fontStack","Fragment","HAIRLINE","Logo","Head","Title","Subtitle","Label","Value","Body","ImageBand","DEFAULT_DOCUMENT_COLORS"],"mappings":"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","file":"chunk-RKYQRL6M.cjs","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { type Data, type Metadata, Render } from '@puckeditor/core';\nimport { buildConfig } from '../core/buildConfig';\nimport type { Registry } from '../blocks/types';\nimport type { Theme } from '../schema/theme';\nimport { useDocumentFont } from '../surface/useDocumentFont';\nimport { DocumentThemeProvider } from '../surface/themeContext';\nimport { CatalogProvider } from '../variables/catalogContext';\nimport { ResolvedProvider } from '../variables/resolvedContext';\nimport { resolveDocumentVariables } from '../variables/resolve';\nimport { extractBindingKeys } from '../variables/bindings';\nimport type {\n ResolvedVariables,\n UnresolvedDisplay,\n VariableContext,\n VariableDef,\n VariableResolver\n} from '../variables/types';\n\nexport type DocumentRendererProps = {\n registry: Registry;\n data: Data;\n theme?: Theme;\n catalog?: VariableDef[];\n /** Live resolution (browser preview). Called in an effect. */\n resolver?: VariableResolver;\n ctx?: VariableContext;\n resolvedVariables?: ResolvedVariables;\n unresolvedDisplay?: UnresolvedDisplay;\n metadata?: Metadata;\n};\n\nexport function DocumentRenderer({\n registry,\n data,\n theme = {},\n catalog = [],\n resolver,\n ctx = {},\n resolvedVariables,\n unresolvedDisplay = 'placeholder',\n metadata\n}: DocumentRendererProps) {\n // Sem `theme`: ele chega pelo DocumentThemeProvider (config estável — ver docs/architecture.md).\n const config = useMemo(() => buildConfig(registry), [registry]);\n const [resolved, setResolved] = useState<ResolvedVariables>(resolvedVariables ?? {});\n\n useDocumentFont(theme.documentFont);\n\n const keysHash = useMemo(() => extractBindingKeys(data).sort().join('|'), [data]);\n const ctxHash = JSON.stringify(ctx);\n\n useEffect(() => {\n if (resolvedVariables || !resolver || keysHash === '') return undefined;\n let active = true;\n resolveDocumentVariables(data, catalog, resolver, ctx).then(next => {\n if (active) setResolved(next);\n });\n return () => {\n active = false;\n };\n // Keyado por keysHash/ctxHash (não por data) — evita refetch por edição.\n }, [resolvedVariables, resolver, catalog, keysHash, ctxHash]);\n\n const effective = resolvedVariables ?? resolved;\n\n return (\n <DocumentThemeProvider theme={theme}>\n <CatalogProvider catalog={catalog}>\n <ResolvedProvider resolved={effective} unresolvedDisplay={unresolvedDisplay}>\n <Render config={config} data={data} metadata={metadata} />\n </ResolvedProvider>\n </CatalogProvider>\n </DocumentThemeProvider>\n );\n}\n","import { createContext, useContext, type ElementType, type KeyboardEvent, type FocusEvent } from 'react';\nimport type { Theme, CoverFields } from '../../../schema/theme';\n\nexport type CoverEditCtx = {\n editable: boolean;\n onFieldChange?: (name: keyof CoverFields, value: string) => void;\n onImagePick?: () => void;\n};\n\nexport const CoverEditContext = createContext<CoverEditCtx>({ editable: false });\n\nexport type CoverTemplateProps = {\n fields: CoverFields;\n theme?: Theme;\n accent: string;\n textColor: string;\n bgColor: string;\n};\n\ntype CoverFieldProps = {\n name: keyof CoverFields;\n value?: string;\n placeholder: string;\n as?: ElementType;\n className?: string;\n};\n\nexport function CoverField({ name, value, placeholder, as: Tag = 'span', className }: CoverFieldProps) {\n const { editable, onFieldChange } = useContext(CoverEditContext);\n if (!editable) return value ? <Tag className={className}>{value}</Tag> : null;\n return (\n <Tag\n className={className}\n data-cover-field={name}\n data-placeholder={placeholder}\n contentEditable\n suppressContentEditableWarning\n onBlur={(e: FocusEvent<HTMLElement>) => onFieldChange?.(name, e.currentTarget.textContent?.trim() ?? '')}\n onKeyDown={(e: KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n (e.currentTarget as HTMLElement).blur();\n }\n }}\n >\n {value}\n </Tag>\n );\n}\n\ntype CoverImageProps = { src?: string; className?: string };\n\nexport function CoverImage({ src, className }: CoverImageProps) {\n const { editable, onImagePick } = useContext(CoverEditContext);\n if (!editable) {\n return src ? (\n <div className={className} data-cover-image>\n <img src={src} alt=\"\" />\n </div>\n ) : null;\n }\n return (\n <div\n className={className}\n data-cover-image\n role=\"button\"\n tabIndex={0}\n onClick={() => onImagePick?.()}\n onKeyDown={(e: KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onImagePick?.();\n }\n }}\n >\n {src ? <img src={src} alt=\"\" /> : <span>Adicionar imagem</span>}\n </div>\n );\n}\n","import styled from 'styled-components';\n\n// Página A4 inteira; cores/fonte por props (capa é irmã do PageFrame, não herda --doc-*).\nexport const CoverFrame = styled.div<{ $font: string; $bg?: string; $color?: string }>`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: ${p => p.$font};\n background: ${p => p.$bg ?? '#FFFFFF'};\n color: ${p => p.$color ?? '#111827'};\n overflow-wrap: break-word;\n\n [data-cover-field][contenteditable] {\n cursor: text;\n outline: 1px dashed transparent;\n outline-offset: 3px;\n transition: outline-color 0.12s ease;\n }\n [data-cover-field][contenteditable]:hover {\n outline-color: rgba(0, 90, 195, 0.45);\n }\n [data-cover-field][contenteditable]:focus {\n outline: 1px solid rgba(0, 90, 195, 0.8);\n }\n [data-cover-field][contenteditable]:empty::before {\n content: attr(data-placeholder);\n opacity: 0.45;\n font-style: italic;\n }\n [data-cover-image][role='button'] {\n cursor: pointer;\n outline: 1px dashed transparent;\n outline-offset: 3px;\n transition: outline-color 0.12s ease;\n }\n [data-cover-image][role='button']:hover {\n outline-color: rgba(0, 90, 195, 0.45);\n }\n [data-cover-image] img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n`;\n\nexport const FullBleedImage = styled.div<{ $overlay: string; $overlayOpacity?: number }>`\n position: absolute;\n inset: 0;\n\n & > [data-cover-image] {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: ${p => p.$overlay};\n opacity: ${p => p.$overlayOpacity ?? 0.55};\n }\n`;\n\nexport const CoverLogoImg = styled.img`\n max-height: 48px;\n max-width: 160px;\n object-fit: contain;\n`;\n\nexport const LabelSmall = styled.div`\n font-size: 11px;\n letter-spacing: 0.04em;\n opacity: 0.8;\n`;\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, CoverLogoImg } from './covers.styles';\n\nconst BAND_BG = '#e8ecf1';\nconst HAIRLINE = '#d5dae1';\n\nconst Hairline = styled.div`\n position: absolute;\n left: 4.7%;\n top: 3%;\n height: 94%;\n width: 1px;\n background: ${HAIRLINE};\n`;\n\nconst Logo = styled(CoverLogoImg)`\n position: absolute;\n left: 10.9%;\n top: 6%;\n max-height: 13.6cqw;\n max-width: 32.7cqw;\n`;\n\nconst AccentBar = styled.div<{ $accent: string }>`\n position: absolute;\n left: 4.7%;\n top: 22.3%;\n width: 1.13cqw;\n height: 28.7%;\n background: ${p => p.$accent};\n`;\n\nconst Head = styled.div`\n position: absolute;\n left: 10.9%;\n right: 6%;\n top: 22.3%;\n display: flex;\n flex-direction: column;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n font-weight: 800;\n font-size: 12.6cqw;\n line-height: 1.2;\n letter-spacing: -0.63cqw;\n text-transform: uppercase;\n`;\n\nconst DateLine = styled(CoverField)`\n display: block;\n margin-top: 3.3cqw;\n font-size: 4.5cqw;\n font-weight: 400;\n`;\n\nconst Band = styled.div`\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 29.2%;\n background: ${BAND_BG};\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 4.3cqw;\n padding-left: 10.9%;\n padding-right: 6%;\n box-sizing: border-box;\n`;\n\nconst Label = styled.div`\n font-size: 2.77cqw;\n font-weight: 400;\n`;\n\nconst Value = styled(CoverField)`\n display: block;\n margin-top: 1cqw;\n font-size: 3.4cqw;\n font-weight: 700;\n line-height: 1.3;\n text-transform: uppercase;\n`;\n\nexport function Model1({ fields, theme, accent, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showHead = editable || Boolean(fields.title || fields.date);\n const showPrepared = editable || Boolean(fields.preparedFor);\n const showPresented = editable || Boolean(fields.presentedBy);\n const hasBand = showPrepared || showPresented;\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : null}\n {showHead ? (\n <>\n <AccentBar $accent={accent} />\n <Head data-cover-head>\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <DateLine name=\"date\" value={fields.date} placeholder=\"Mês e ano\" />\n </Head>\n </>\n ) : null}\n {hasBand ? (\n <Band data-cover-band>\n {showPrepared ? (\n <div>\n <Label>Preparada para</Label>\n <Value name=\"preparedFor\" value={fields.preparedFor} placeholder=\"Nome do cliente\" />\n </div>\n ) : null}\n {showPresented ? (\n <div>\n <Label>Apresentada por</Label>\n <Value name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </div>\n ) : null}\n </Band>\n ) : null}\n <Hairline />\n </CoverFrame>\n );\n}\n","import styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverField, CoverImage, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, FullBleedImage, CoverLogoImg } from './covers.styles';\n\nconst HAIRLINE = '#d9d9d9';\n\nconst Chrome = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n padding: 0 7cqw 8cqw;\n`;\n\nconst TopRow = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 4cqw;\n`;\n\nconst Logo = styled(CoverLogoImg)`\n max-width: 17cqw;\n max-height: 17cqw;\n`;\n\nconst Company = styled(CoverField)`\n display: block;\n margin-top: 5cqw;\n max-width: 45cqw;\n font-size: 2.94cqw;\n font-weight: 800;\n line-height: 1.15;\n letter-spacing: 0.3cqw;\n text-align: right;\n text-transform: uppercase;\n`;\n\nconst Head = styled.div`\n display: flex;\n flex-direction: column;\n\n &::before,\n &::after {\n content: '';\n width: 19cqw;\n height: 0.9cqw;\n background: ${HAIRLINE};\n }\n &::before {\n margin-bottom: 6cqw;\n }\n &::after {\n margin-top: 6cqw;\n }\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n font-size: 8.82cqw;\n font-weight: 800;\n line-height: 1.15;\n letter-spacing: 0.88cqw;\n text-transform: uppercase;\n`;\n\nconst Subtitle = styled(CoverField)`\n display: block;\n margin-top: 3cqw;\n font-size: 3.53cqw;\n font-weight: 400;\n line-height: 1.3;\n`;\n\nexport function Model2({ fields, theme, textColor, bgColor }: CoverTemplateProps) {\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={fields.imageUrl ? undefined : bgColor} $color={textColor}>\n {fields.imageUrl ? (\n <FullBleedImage $overlay={bgColor} $overlayOpacity={0.85}>\n <CoverImage src={fields.imageUrl} />\n </FullBleedImage>\n ) : null}\n <Chrome>\n <TopRow>\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : <span />}\n <Company name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </TopRow>\n <Head>\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <Subtitle name=\"subtitle\" value={fields.subtitle} placeholder=\"Digite o subtítulo...\" />\n </Head>\n </Chrome>\n </CoverFrame>\n );\n}\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, CoverImage, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, CoverLogoImg } from './covers.styles';\n\nconst ImageBand = styled.div`\n position: relative;\n width: 100%;\n height: 42.9cqw;\n flex-shrink: 0;\n overflow: hidden;\n background: #1a1a1a;\n\n & > [data-cover-image] {\n position: absolute;\n inset: 0;\n }\n`;\n\nconst Logo = styled(CoverLogoImg)`\n position: absolute;\n top: 1.2cqw;\n right: 5.9cqw;\n max-width: 14.7cqw;\n max-height: 14.7cqw;\n`;\n\nconst Body = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 11.5cqw 9.4cqw 7.35cqw;\n`;\n\nconst DateField = styled(CoverField)`\n display: block;\n font-size: 2.94cqw;\n font-weight: 400;\n opacity: 0.5;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n margin-top: 2.35cqw;\n font-size: 10.6cqw;\n font-weight: 800;\n line-height: 1.2;\n text-transform: uppercase;\n`;\n\nconst Subtitle = styled(CoverField)`\n display: block;\n margin-top: 4.7cqw;\n font-size: 3.53cqw;\n font-weight: 400;\n opacity: 0.62;\n`;\n\nconst Parties = styled.div`\n margin-top: 13.8cqw;\n display: flex;\n flex-direction: column;\n gap: 4.7cqw;\n`;\n\nconst Label = styled.div`\n font-size: 3.53cqw;\n font-weight: 600;\n`;\n\nconst Value = styled(CoverField)`\n display: block;\n margin-top: 0.7cqw;\n font-size: 3.53cqw;\n font-weight: 400;\n opacity: 0.62;\n`;\n\nexport function Model3({ fields, theme, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showPresented = editable || Boolean(fields.presentedBy);\n const showPrepared = editable || Boolean(fields.preparedFor);\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n <ImageBand>\n {fields.imageUrl ? <CoverImage src={fields.imageUrl} /> : null}\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : null}\n </ImageBand>\n <Body>\n <DateField name=\"date\" value={fields.date} placeholder=\"Mês e ano\" />\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <Subtitle name=\"subtitle\" value={fields.subtitle} placeholder=\"Digite o subtítulo...\" />\n {showPresented || showPrepared ? (\n <Parties data-cover-parties>\n {showPresented ? (\n <div>\n <Label>Apresentada por</Label>\n <Value name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </div>\n ) : null}\n {showPrepared ? (\n <div>\n <Label>Preparada para</Label>\n <Value name=\"preparedFor\" value={fields.preparedFor} placeholder=\"Nome do cliente\" />\n </div>\n ) : null}\n </Parties>\n ) : null}\n </Body>\n </CoverFrame>\n );\n}\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, CoverLogoImg } from './covers.styles';\n\nconst Body = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 4.12cqw 9.4cqw 0;\n`;\n\nconst Logo = styled(CoverLogoImg)`\n max-width: 14.7cqw;\n max-height: 14.7cqw;\n`;\n\nconst Head = styled.div`\n margin-top: 23.2cqw;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`;\n\nconst DateChip = styled(CoverField)<{ $accent: string }>`\n display: inline-block;\n align-self: flex-start;\n max-width: 100%;\n background: ${p => p.$accent};\n border-radius: 1000px;\n padding: 1.18cqw 2.94cqw;\n font-size: 2.94cqw;\n font-weight: 400;\n color: #ffffff;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n align-self: stretch;\n margin-top: 3.5cqw;\n font-size: 14.1cqw;\n font-weight: 300;\n line-height: 1.1;\n`;\n\nconst Footer = styled.div`\n margin-top: auto;\n padding-bottom: 11cqw;\n display: flex;\n gap: 6cqw;\n`;\n\nconst Party = styled.div`\n flex: 1;\n min-width: 0;\n`;\n\nconst Label = styled.div`\n font-size: 3.53cqw;\n font-weight: 300;\n opacity: 0.72;\n`;\n\nconst Value = styled(CoverField)`\n display: block;\n margin-top: 1.5cqw;\n font-size: 4.12cqw;\n font-weight: 500;\n`;\n\nexport function Model4({ fields, theme, accent, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showPrepared = editable || Boolean(fields.preparedFor);\n const showPresented = editable || Boolean(fields.presentedBy);\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n <Body>\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : <span />}\n <Head>\n <DateChip name=\"date\" value={fields.date} placeholder=\"Mês e ano\" $accent={accent} />\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n </Head>\n {showPrepared || showPresented ? (\n <Footer data-cover-footer>\n {showPrepared ? (\n <Party>\n <Label>Apresentada para</Label>\n <Value name=\"preparedFor\" value={fields.preparedFor} placeholder=\"Nome do cliente\" />\n </Party>\n ) : null}\n {showPresented ? (\n <Party>\n <Label>Apresentada por</Label>\n <Value name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </Party>\n ) : null}\n </Footer>\n ) : null}\n </Body>\n </CoverFrame>\n );\n}\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, CoverImage, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, FullBleedImage, CoverLogoImg } from './covers.styles';\n\nconst Spacer = styled.div`\n height: 24.4cqw;\n flex-shrink: 0;\n`;\n\nconst ImageBand = styled.div`\n position: relative;\n width: 100%;\n height: 64.4cqw;\n flex-shrink: 0;\n overflow: hidden;\n background: #e8eef7;\n`;\n\nconst Bar = styled.div<{ $accent: string }>`\n position: absolute;\n width: 47.9cqw;\n height: 2.06cqw;\n background: ${p => p.$accent};\n`;\n\nconst BarTop = styled(Bar)`\n top: 0;\n right: 0;\n`;\n\nconst BarBottom = styled(Bar)`\n bottom: 0;\n left: 0;\n`;\n\nconst Bottom = styled.div`\n flex: 1;\n display: flex;\n align-items: center;\n gap: 7cqw;\n padding: 0 4.7cqw 4cqw 7cqw;\n`;\n\nconst LogoCol = styled.div`\n flex-shrink: 0;\n width: 29.4cqw;\n`;\n\nconst Logo = styled(CoverLogoImg)`\n max-width: 29.4cqw;\n max-height: 29.4cqw;\n`;\n\nconst TextCol = styled.div`\n flex: 1;\n min-width: 0;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n font-size: 7.06cqw;\n font-weight: 700;\n line-height: 1.2;\n text-transform: uppercase;\n`;\n\nconst Subtitle = styled(CoverField)`\n display: block;\n margin-top: 2.47cqw;\n font-size: 2.94cqw;\n font-weight: 400;\n line-height: 1.2;\n opacity: 0.72;\n`;\n\nconst Presented = styled.div`\n margin-top: 3.5cqw;\n font-size: 2.94cqw;\n font-weight: 600;\n line-height: 1.2;\n`;\n\nconst PresentedValue = styled(CoverField)`\n font-weight: 600;\n`;\n\nexport function Model5({ fields, theme, accent, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showPresented = editable || Boolean(fields.presentedBy);\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n <Spacer />\n <ImageBand>\n {fields.imageUrl ? (\n <FullBleedImage $overlay={accent} $overlayOpacity={0.5}>\n <CoverImage src={fields.imageUrl} />\n </FullBleedImage>\n ) : null}\n </ImageBand>\n <Bottom>\n <LogoCol>{theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : null}</LogoCol>\n <TextCol>\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <Subtitle name=\"subtitle\" value={fields.subtitle} placeholder=\"Digite o subtítulo...\" />\n {showPresented ? (\n <Presented>\n Apresentada por:{' '}\n <PresentedValue name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </Presented>\n ) : null}\n </TextCol>\n </Bottom>\n <BarTop $accent={accent} />\n <BarBottom $accent={accent} />\n </CoverFrame>\n );\n}\n","import type { ComponentType } from 'react';\nimport type { Theme } from '../../../schema/theme';\nimport { DEFAULT_DOCUMENT_COLORS } from '../../../surface/surface';\nimport type { CoverTemplateProps } from './primitives';\nimport { Model1 } from './Model1';\nimport { Model2 } from './Model2';\nimport { Model3 } from './Model3';\nimport { Model4 } from './Model4';\nimport { Model5 } from './Model5';\n\nexport const COVER_TEMPLATES: Record<string, ComponentType<CoverTemplateProps>> = {\n 'model-1': Model1,\n 'model-2': Model2,\n 'model-3': Model3,\n 'model-4': Model4,\n 'model-5': Model5\n};\n\nexport const COVER_TEMPLATE_IDS = Object.keys(COVER_TEMPLATES);\n\nexport const resolveCoverAccent = (accent?: string, theme?: Theme): string =>\n accent ?? theme?.colors?.brand ?? DEFAULT_DOCUMENT_COLORS.brand;\n\nconst COVER_SURFACES: Record<string, 'brand' | 'background' | 'dark'> = {\n 'model-1': 'background',\n 'model-2': 'brand',\n 'model-3': 'brand',\n 'model-4': 'dark',\n 'model-5': 'background'\n};\n\nconst ON_BRAND_TEXT = '#FFFFFF';\n\nconst DARK_SURFACE_BG = '#131B2C';\n\nexport type CoverColorOverrides = { accent?: string; textColor?: string; bgColor?: string };\n\nexport type CoverColors = { accent: string; textColor: string; bgColor: string };\n\nexport const resolveCoverColors = (\n templateId: string | undefined,\n { accent, textColor, bgColor }: CoverColorOverrides,\n theme?: Theme\n): CoverColors => {\n const colors = { ...DEFAULT_DOCUMENT_COLORS, ...theme?.colors };\n const surface = COVER_SURFACES[templateId ?? ''] ?? COVER_SURFACES['model-1'];\n const resolvedAccent = resolveCoverAccent(accent, theme);\n const surfaceBg = { brand: resolvedAccent, dark: DARK_SURFACE_BG, background: colors.background }[surface];\n\n return {\n accent: resolvedAccent,\n textColor: textColor ?? (surface === 'background' ? colors.text : ON_BRAND_TEXT),\n bgColor: bgColor ?? surfaceBg\n };\n};\n","import type { CSSProperties } from 'react';\nimport type { CoverFields, Theme } from '../../schema/theme';\nimport { DEFAULT_DOCUMENT_COLORS } from '../../surface/surface';\nimport { COVER_TEMPLATES, resolveCoverColors } from './covers';\n\nexport type CoverPageProps = {\n templateId?: string;\n accent?: string;\n fields?: CoverFields;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n};\n\nexport function CoverPage({ templateId, accent, fields, theme, textColor, bgColor }: CoverPageProps) {\n if (!templateId) return null;\n\n // CoverPage é IRMÃO do PageFrame no body (buildDocumentHtml), não descendente —\n // não pode contar com as --doc-* vars setadas lá, precisa das próprias.\n const colors = { ...DEFAULT_DOCUMENT_COLORS, ...theme?.colors };\n const vars: CSSProperties = {\n ['--doc-brand' as keyof CSSProperties]: colors.brand,\n ['--doc-text' as keyof CSSProperties]: colors.text,\n ['--doc-bg' as keyof CSSProperties]: colors.background\n } as CSSProperties;\n\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n\n // Layout (width/height/overflow) vem do CSS gerado (buildPageCss.ts): .dg-cover\n // já define width, e o escopo .pagedjs_page_content .dg-cover define height/overflow\n // para a página impressa. Inline aqui só carrega as --doc-* vars.\n return (\n <section className=\"dg-cover\" style={vars}>\n <Template fields={fields ?? {}} theme={theme} {...resolved} />\n </section>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { CompanyInfo } from './types';\n\nconst BOX: { width: number; height: number; 'aria-hidden': true } = { width: 14, height: 14, 'aria-hidden': true };\n\nconst stroke = (inner: string): ReactNode => (\n <svg\n {...BOX}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n // eslint-disable-next-line react/no-danger -- markup estático deste arquivo, nunca entrada do host\n dangerouslySetInnerHTML={{ __html: inner }}\n />\n);\n\nconst brand = (viewBox: string, d: string): ReactNode => (\n <svg {...BOX} viewBox={viewBox} fill=\"currentColor\">\n <path d={d} />\n </svg>\n);\n\nexport const COMPANY_INFO_ICONS: Record<keyof CompanyInfo, ReactNode> = {\n companyName: stroke(\n '<path d=\"M12 10h.01\" /><path d=\"M12 14h.01\" /><path d=\"M12 6h.01\" /><path d=\"M16 10h.01\" /><path d=\"M16 14h.01\" /><path d=\"M16 6h.01\" /><path d=\"M8 10h.01\" /><path d=\"M8 14h.01\" /><path d=\"M8 6h.01\" /><path d=\"M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3\" /><rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" />'\n ),\n cnpj: stroke(\n '<path d=\"M16 10h2\" /><path d=\"M16 14h2\" /><path d=\"M6.17 15a3 3 0 0 1 5.66 0\" /><circle cx=\"9\" cy=\"11\" r=\"2\" /><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\" />'\n ),\n phone: stroke(\n '<path d=\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\" />'\n ),\n email: stroke(\n '<path d=\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\" /><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />'\n ),\n address: stroke(\n '<path d=\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\" /><circle cx=\"12\" cy=\"10\" r=\"3\" />'\n ),\n site: stroke(\n '<circle cx=\"12\" cy=\"12\" r=\"10\" /><path d=\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\" /><path d=\"M2 12h20\" />'\n ),\n instagram: brand(\n '0 0 448 512',\n 'M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'\n ),\n facebook: brand(\n '0 0 320 512',\n 'M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'\n ),\n twitter: brand(\n '0 0 512 512',\n 'M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'\n ),\n linkedin: brand(\n '0 0 448 512',\n 'M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'\n )\n};\n","import styled from 'styled-components';\n\n// Chrome roda dentro das margin boxes do Paged.js — fora do PageFrame, sem herdar\n// font-family nem --doc-* vars; cada root recebe fonte e cores via props.\n// O Paged.js força `display: block` no filho direto da margin box com especificidade\n// (0,4,0) — por isso o root é block e o layout flex fica num wrapper interno.\n// O fundo da faixa NÃO fica aqui: é pintado na row inteira do Paged.js (corners\n// inclusos) pelo buildPageCss, pra faixa ser full-bleed até as bordas da página.\nexport const HeaderRoot = styled.header<{ $color: string; $font: string }>`\n height: 100%;\n color: ${props => props.$color};\n font-family: ${props => props.$font};\n line-height: 1.5;\n`;\n\nexport const HeaderLayout = styled.div<{ $reverse: boolean }>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-direction: ${props => (props.$reverse ? 'row-reverse' : 'row')};\n gap: 16px;\n height: 100%;\n padding: 20px 0;\n`;\n\nexport const HeaderInfo = styled.div<{ $alignEnd?: boolean }>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: ${props => (props.$alignEnd ? 'flex-end' : 'flex-start')};\n min-width: 0;\n font-size: 12px;\n text-align: ${props => (props.$alignEnd ? 'right' : 'left')};\n`;\n\n// Ícone fica sempre na borda externa da página: infos à direita (logo left) → texto, ícone.\nexport const InfoLine = styled.span<{ $strong?: boolean; $iconAfter?: boolean }>`\n display: flex;\n flex-direction: ${props => (props.$iconAfter ? 'row-reverse' : 'row')};\n align-items: center;\n gap: 8px;\n height: 22px;\n font-weight: ${props => (props.$strong ? 600 : 400)};\n font-size: ${props => (props.$strong ? '12.5px' : '12px')};\n\n svg {\n flex-shrink: 0;\n }\n`;\n\nexport const HeaderLogo = styled.img`\n max-height: 44px;\n max-width: 180px;\n object-fit: contain;\n`;\n\nexport const FooterRoot = styled.footer<{ $color: string; $font: string }>`\n height: 100%;\n color: ${props => props.$color};\n font-family: ${props => props.$font};\n line-height: 1.5;\n`;\n\nexport const FooterLayout = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n padding: 12px 0;\n`;\n\nexport const FooterInfoRows = styled.div<{ $justify: string }>`\n display: flex;\n align-items: center;\n justify-content: ${props => props.$justify};\n flex-wrap: wrap;\n column-gap: 24px;\n font-size: 12px;\n`;\n\nexport const FooterItem = styled.span`\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 22px;\n white-space: nowrap;\n\n svg {\n flex-shrink: 0;\n }\n`;\n","import type { HeaderConfig } from '../../schema/theme';\nimport type { CompanyInfo } from './types';\nimport { fontStack } from '../../surface/fonts';\nimport { COMPANY_INFO_ICONS } from './icons';\nimport { HeaderInfo, HeaderLayout, HeaderLogo, HeaderRoot, InfoLine } from './chrome.styles';\n\n/** Ordem em que as informações da empresa aparecem no cabeçalho. */\nexport const HEADER_INFO_ORDER: Array<keyof CompanyInfo> = ['companyName', 'cnpj', 'phone', 'email', 'address'];\n\nexport type HeaderBarProps = {\n config?: Partial<HeaderConfig>;\n companyInfo?: CompanyInfo;\n logoUrl?: string;\n documentFont?: string;\n};\n\nexport function HeaderBar({ config, companyInfo = {}, logoUrl, documentFont }: HeaderBarProps) {\n if (!config?.enabled) return null;\n\n const lines = HEADER_INFO_ORDER.filter(\n key => config.info?.[key as keyof NonNullable<HeaderConfig['info']>] && companyInfo[key]\n );\n const logoLeft = config.logoPosition === 'left';\n\n return (\n <HeaderRoot className=\"dg-running-header\" $color={config.color ?? '#3F4759'} $font={fontStack(documentFont)}>\n <HeaderLayout $reverse={logoLeft}>\n <HeaderInfo $alignEnd={logoLeft}>\n {lines.map(key => (\n <InfoLine key={key} $strong={key === 'companyName'} $iconAfter={logoLeft}>\n {COMPANY_INFO_ICONS[key]}\n <span>{companyInfo[key]}</span>\n </InfoLine>\n ))}\n </HeaderInfo>\n {logoUrl ? <HeaderLogo src={logoUrl} alt=\"\" /> : null}\n </HeaderLayout>\n </HeaderRoot>\n );\n}\n","import type { FooterConfig } from '../../schema/theme';\nimport type { CompanyInfo } from './types';\nimport { fontStack } from '../../surface/fonts';\nimport { COMPANY_INFO_ICONS } from './icons';\nimport { FooterInfoRows, FooterItem, FooterLayout, FooterRoot } from './chrome.styles';\n\nexport const FOOTER_INFO_ORDER: Array<keyof CompanyInfo> = [\n 'phone',\n 'site',\n 'instagram',\n 'facebook',\n 'twitter',\n 'linkedin',\n 'email',\n 'address'\n];\n\nconst ALIGNMENT_TO_JUSTIFY: Record<NonNullable<FooterConfig['alignment']>, string> = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end'\n};\n\nexport type FooterBarProps = {\n config?: Partial<FooterConfig>;\n companyInfo?: CompanyInfo;\n documentFont?: string;\n};\n\nexport function FooterBar({ config, companyInfo = {}, documentFont }: FooterBarProps) {\n const showBand = Boolean(config?.enabled);\n const showPageNumber = Boolean(config?.pageNumber);\n if (!showBand && !showPageNumber) return null;\n\n const lines = showBand\n ? FOOTER_INFO_ORDER.filter(\n key => config?.info?.[key as keyof NonNullable<FooterConfig['info']>] && companyInfo[key]\n )\n : [];\n const justify = ALIGNMENT_TO_JUSTIFY[config?.alignment ?? 'center'];\n\n return (\n <FooterRoot className=\"dg-running-footer\" $color={config?.color ?? '#3F4759'} $font={fontStack(documentFont)}>\n {showPageNumber ? <span className=\"dg-page-number\" /> : null}\n {showBand ? (\n <FooterLayout>\n {lines.length ? (\n <FooterInfoRows $justify={justify}>\n {lines.map(key => (\n <FooterItem key={key}>\n {COMPANY_INFO_ICONS[key]}\n <span>{companyInfo[key]}</span>\n </FooterItem>\n ))}\n </FooterInfoRows>\n ) : null}\n </FooterLayout>\n ) : null}\n </FooterRoot>\n );\n}\n","/**\n * Protocolo `postMessage` entre o documento gerado (iframe) e o host.\n * Módulo separado do `previewBootstrap` de propósito: o host precisa destas\n * constantes no browser, e o bootstrap só existe no caminho de impressão.\n */\nexport const DG_MESSAGE_SOURCE = 'document-generator';\nexport const DG_READY = 'dg-ready';\nexport const DG_ERROR = 'dg-error';\n"]}
@@ -18,7 +18,7 @@ function defineBlock(entry) {
18
18
  }
19
19
 
20
20
  // src/blocks/primitives/proseCss.ts
21
- var DOCUMENT_TEXT_CSS = `font-size: 12px;
21
+ var DOCUMENT_TEXT_CSS = `font-size: 14px;
22
22
  line-height: 1.5;
23
23
  overflow-wrap: break-word;
24
24
  word-break: break-word;`;
@@ -57,7 +57,10 @@ li {
57
57
  strong, b { font-weight: 600; }
58
58
  em, i { font-style: italic; }
59
59
 
60
- a { color: var(--doc-brand, #005ac3); }
60
+ a {
61
+ color: var(--doc-brand, #001a43);
62
+ text-decoration: underline;
63
+ }
61
64
 
62
65
  img { max-width: 100%; }
63
66
 
@@ -92,8 +95,8 @@ var Prose = styled4__default.default.div`
92
95
  .${chunkI22MGPXO_cjs.CHIP_CLASS} {
93
96
  padding: 1px 6px;
94
97
  border-radius: 4px;
95
- background: color-mix(in srgb, var(--doc-brand, #005ac3) 12%, transparent);
96
- color: var(--doc-brand, #005ac3);
98
+ background: color-mix(in srgb, var(--doc-brand, #001a43) 12%, transparent);
99
+ color: var(--doc-brand, #001a43);
97
100
  }
98
101
 
99
102
  .${chunkI22MGPXO_cjs.INVALID_CHIP_CLASS} {
@@ -163,7 +166,7 @@ var List = styled4__default.default.ul`
163
166
  margin-bottom: 4px;
164
167
  }
165
168
  li::marker {
166
- color: var(--doc-brand, #005ac3);
169
+ color: var(--doc-brand, #001a43);
167
170
  }
168
171
  `;
169
172
  var ListBlock = defineBlock({
@@ -201,7 +204,7 @@ var ListBlock = defineBlock({
201
204
  var Callout = styled4__default.default.blockquote`
202
205
  margin: 0;
203
206
  padding: 12px 0 12px 16px;
204
- border-left: 3px solid var(--doc-brand, #005ac3);
207
+ border-left: 3px solid var(--doc-brand, #001a43);
205
208
  `;
206
209
  var Author = styled4__default.default.footer`
207
210
  margin-top: 6px;
@@ -736,7 +739,7 @@ function ContentIcon({
736
739
  }
737
740
  var IconSlot = styled4__default.default.span`
738
741
  flex: none;
739
- color: var(--doc-brand, #005ac3);
742
+ color: var(--doc-brand, #001a43);
740
743
  line-height: 1;
741
744
  `;
742
745
  var Body = styled4__default.default.div`
@@ -807,7 +810,7 @@ var Grid2 = styled4__default.default.table`
807
810
 
808
811
  th {
809
812
  font-weight: 600;
810
- background: color-mix(in srgb, var(--doc-brand, #005ac3) 8%, transparent);
813
+ background: color-mix(in srgb, var(--doc-brand, #001a43) 8%, transparent);
811
814
  }
812
815
  `;
813
816
  var TableBlock = defineBlock({
@@ -934,5 +937,5 @@ exports.blocksByKey = blocksByKey;
934
937
  exports.defaultBlocks = defaultBlocks;
935
938
  exports.defineBlock = defineBlock;
936
939
  exports.overrideBlock = overrideBlock;
937
- //# sourceMappingURL=chunk-KQDH7LRX.cjs.map
938
- //# sourceMappingURL=chunk-KQDH7LRX.cjs.map
940
+ //# sourceMappingURL=chunk-USMVHVHF.cjs.map
941
+ //# sourceMappingURL=chunk-USMVHVHF.cjs.map