vobi_document 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocks.cjs +25 -25
- package/dist/blocks.d.cts +2 -2
- package/dist/blocks.d.ts +2 -2
- package/dist/blocks.js +1 -1
- package/dist/{chunk-QU6XF6OQ.js → chunk-2EVBMRJR.js} +3 -3
- package/dist/{chunk-QU6XF6OQ.js.map → chunk-2EVBMRJR.js.map} +1 -1
- package/dist/{chunk-KALUNX3C.cjs → chunk-3KIK2XTA.cjs} +52 -17
- package/dist/chunk-3KIK2XTA.cjs.map +1 -0
- package/dist/{chunk-2VZW2MGO.cjs → chunk-5H27FECZ.cjs} +9 -4
- package/dist/chunk-5H27FECZ.cjs.map +1 -0
- package/dist/{chunk-A427FKMP.cjs → chunk-CPU4SK5F.cjs} +25 -28
- package/dist/chunk-CPU4SK5F.cjs.map +1 -0
- package/dist/{chunk-SFKH6QYD.cjs → chunk-D3JG6YEL.cjs} +8 -8
- package/dist/{chunk-SFKH6QYD.cjs.map → chunk-D3JG6YEL.cjs.map} +1 -1
- package/dist/{chunk-QEWDIL2H.js → chunk-DQ4AL6SJ.js} +9 -4
- package/dist/chunk-DQ4AL6SJ.js.map +1 -0
- package/dist/{chunk-QRVQXVZC.js → chunk-EX252M4Y.js} +45 -10
- package/dist/chunk-EX252M4Y.js.map +1 -0
- package/dist/{chunk-OJZJJEJX.js → chunk-P2FDTTXF.js} +14 -6
- package/dist/chunk-P2FDTTXF.js.map +1 -0
- package/dist/{chunk-BEG6KN5X.js → chunk-PBBPAMLP.js} +12 -15
- package/dist/chunk-PBBPAMLP.js.map +1 -0
- package/dist/{chunk-RZOR3HOA.cjs → chunk-RP4T57MA.cjs} +14 -6
- package/dist/chunk-RP4T57MA.cjs.map +1 -0
- package/dist/editor.cjs +14 -14
- package/dist/editor.js +2 -2
- package/dist/index.cjs +83 -83
- package/dist/index.js +6 -6
- package/dist/print.cjs +22 -21
- package/dist/print.cjs.map +1 -1
- package/dist/print.js +8 -7
- package/dist/print.js.map +1 -1
- package/dist/render.cjs +18 -18
- package/dist/render.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-2VZW2MGO.cjs.map +0 -1
- package/dist/chunk-A427FKMP.cjs.map +0 -1
- package/dist/chunk-BEG6KN5X.js.map +0 -1
- package/dist/chunk-KALUNX3C.cjs.map +0 -1
- package/dist/chunk-OJZJJEJX.js.map +0 -1
- package/dist/chunk-QEWDIL2H.js.map +0 -1
- package/dist/chunk-QRVQXVZC.js.map +0 -1
- package/dist/chunk-RZOR3HOA.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/blocks/defineBlock.ts","../src/blocks/primitives/proseCss.ts","../src/blocks/primitives/RichText.tsx","../src/blocks/components/TextBlock.tsx","../src/blocks/components/HeadingBlock.tsx","../src/blocks/components/ListBlock.tsx","../src/blocks/components/QuoteBlock.tsx","../src/blocks/components/shared.tsx","../src/blocks/components/ButtonBlock.tsx","../src/blocks/components/DividerBlock.tsx","../src/blocks/components/SpacerBlock.tsx","../src/blocks/components/ImageBlock.tsx","../src/blocks/components/ImageGridBlock.tsx","../src/blocks/components/TwoColumnsBlock.tsx","../src/blocks/components/ImageTextBlock.tsx","../src/blocks/contentIcons.tsx","../src/blocks/components/IconTextBlock.tsx","../src/blocks/components/TableBlock.tsx","../src/blocks/components/PageBreakBlock.tsx","../src/blocks/defaults.tsx","../src/blocks/overrideBlock.ts"],"names":["styled","jsx","z","jsxs","slotSchema","Grid"],"mappings":"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","file":"chunk-P2FDTTXF.js","sourcesContent":["import type { BlockEntry } from './types';\n\n/** Helper tipado para declarar um bloco (`fields`/`defaultProps` alinhados às props). */\nexport function defineBlock<Props extends Record<string, unknown>>(entry: BlockEntry<Props>): BlockEntry<Props> {\n return entry;\n}\n","/**\n * Tipografia do texto rico do documento, em CSS cru para servir às três superfícies que\n * mostram o MESMO conteúdo: o editor inline (iframe do TinyMCE, documento à parte que não\n * recebe o CSS do app), o canvas do Puck e o HTML publicado. Antes cada uma caía num default\n * diferente (h1 de 48px no canvas, 28px no editor, 32px no publicado) — ver docs/blocks.md.\n *\n * Sem `&` e sem seletor de escopo: dentro de `styled` os seletores de elemento já viram\n * descendentes; no `content_style` do TinyMCE eles valem a partir do body.\n */\n\n/** Declarações da base do texto — vão no container (ou no `body`, no iframe). */\nexport const DOCUMENT_TEXT_CSS = `font-size: 14px;\nline-height: 1.5;\noverflow-wrap: break-word;\nword-break: break-word;`;\n\nexport const DOCUMENT_PROSE_CSS = `p {\n margin: 0 0 8px;\n font-size: 1em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin: 0 0 8px;\n line-height: 1.25;\n font-weight: 600;\n}\n\nh1 { font-size: 2em; }\nh2 { font-size: 1.5em; }\nh3 { font-size: 1.25em; }\nh4 { font-size: 1.125em; }\nh5 { font-size: 1em; }\nh6 { font-size: 0.875em; }\n\nul, ol {\n margin: 0 0 8px;\n padding-left: 24px;\n font-size: 1em;\n}\n\nul { list-style: disc; }\nol { list-style: decimal; }\n\nli {\n margin: 0 0 4px;\n font-size: 1em;\n}\n\nstrong, b { font-weight: 600; }\nem, i { font-style: italic; }\n\na {\n color: var(--doc-brand, #005ac3);\n text-decoration: underline;\n}\n\nimg { max-width: 100%; }\n\n/* O chip herda peso, estilo e sublinhado do texto ao redor: pinar qualquer um deles faz\n negrito/italico/sublinhado nao pegarem na variavel. Inline (e nao inline-block) porque\n text-decoration nao atravessa um inline-block. */\n.dg-var {\n display: inline;\n font-size: 0.92em;\n font-weight: inherit;\n font-style: inherit;\n white-space: nowrap;\n}\n\n/* Sem margem sobrando no fim do bloco. Seletores de elemento, e nao um combinador filho,\n porque a mesma string tambem e usada no topo de uma folha, onde nao ha pai. */\np:last-child,\nul:last-child,\nol:last-child,\nh1:last-child,\nh2:last-child,\nh3:last-child,\nh4:last-child,\nh5:last-child,\nh6:last-child {\n margin-bottom: 0;\n}`;\n","import type { ElementType } from 'react';\nimport styled from 'styled-components';\nimport { useCatalog } from '../../variables/catalogContext';\nimport { useResolvedVariables, useUnresolvedDisplay } from '../../variables/resolvedContext';\nimport { CHIP_CLASS, EMPTY_CHIP_CLASS, INVALID_CHIP_CLASS, resolveVariableHtml } from '../../variables/variableHtml';\nimport { DOCUMENT_PROSE_CSS, DOCUMENT_TEXT_CSS } from './proseCss';\n\nexport type RichTextProps = {\n html?: string;\n editing?: boolean;\n as?: ElementType;\n className?: string;\n};\n\nconst Prose = styled.div`\n ${DOCUMENT_TEXT_CSS}\n ${DOCUMENT_PROSE_CSS}\n\n .${CHIP_CLASS} {\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--doc-brand, #005ac3) 12%, transparent);\n color: var(--doc-brand, #005ac3);\n }\n\n .${INVALID_CHIP_CLASS} {\n background: #fdecea;\n color: #b4341b;\n }\n\n .${EMPTY_CHIP_CLASS} {\n background: #f5e4b8;\n color: #84620d;\n }\n`;\n\nexport function RichText({ html = '', editing = false, as, className }: RichTextProps) {\n const resolved = useResolvedVariables();\n const catalog = useCatalog();\n const unresolved = useUnresolvedDisplay();\n\n return (\n <Prose\n as={as}\n className={className}\n dangerouslySetInnerHTML={{\n __html: resolveVariableHtml(html, resolved, { keepChip: editing, catalog, unresolved })\n }}\n />\n );\n}\n","import { z } from 'zod';\nimport { defineBlock } from '../defineBlock';\nimport { TextIcon } from '../../editor/blockIcons';\nimport { RichText } from '../primitives/RichText';\n\nexport type TextBlockProps = {\n content: string;\n puck?: { isEditing?: boolean };\n};\n\nexport const TextBlock = defineBlock<TextBlockProps>({\n key: 'Text',\n label: 'Texto',\n category: 'Conteúdo',\n icon: <TextIcon />,\n fields: {\n content: { type: 'textarea', label: 'Conteúdo (HTML)' }\n },\n propsSchema: z.object({ content: z.string() }),\n defaultProps: { content: '<p>Escreva o texto do documento aqui.</p>' },\n component: ({ content, puck }) => <RichText html={content} editing={puck?.isEditing} />\n});\n","import { z } from 'zod';\nimport { defineBlock } from '../defineBlock';\nimport { HeadingIcon } from '../../editor/blockIcons';\nimport { RichText } from '../primitives/RichText';\n\nexport type HeadingBlockProps = {\n text: string;\n level: 1 | 2 | 3 | 4;\n puck?: { isEditing?: boolean };\n};\n\nexport const HeadingBlock = defineBlock<HeadingBlockProps>({\n key: 'Heading',\n label: 'Título',\n category: 'Conteúdo',\n icon: <HeadingIcon />,\n fields: {\n text: { type: 'text', label: 'Título' },\n level: {\n type: 'select',\n label: 'Nível',\n options: [\n { label: 'Título 1', value: 1 },\n { label: 'Título 2', value: 2 },\n { label: 'Título 3', value: 3 },\n { label: 'Título 4', value: 4 }\n ]\n }\n },\n propsSchema: z.object({ text: z.string(), level: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]) }),\n defaultProps: { text: 'Título da seção', level: 2 },\n component: ({ text, level, puck }) => <RichText as={`h${level ?? 2}`} html={text} editing={puck?.isEditing} />\n});\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { ListIcon } from '../../editor/blockIcons';\nimport { RichText } from '../primitives/RichText';\n\nexport type ListItem = { text: string };\n\nexport type ListBlockProps = {\n items: ListItem[];\n ordered: boolean;\n puck?: { isEditing?: boolean };\n};\n\nconst List = styled.ul`\n margin: 0;\n padding-left: 22px;\n\n li {\n margin-bottom: 4px;\n }\n li::marker {\n color: var(--doc-brand, #005ac3);\n }\n`;\n\nexport const ListBlock = defineBlock<ListBlockProps>({\n key: 'List',\n label: 'Lista',\n category: 'Conteúdo',\n icon: <ListIcon />,\n fields: {\n ordered: {\n type: 'radio',\n label: 'Marcador',\n options: [\n { label: 'Bolinha', value: false },\n { label: 'Numerada', value: true }\n ]\n },\n items: {\n type: 'array',\n label: 'Itens',\n getItemSummary: (item: ListItem, index) => item?.text || `Item ${(index ?? 0) + 1}`,\n arrayFields: { text: { type: 'text', label: 'Texto' } },\n defaultItemProps: { text: 'Novo item' }\n }\n },\n propsSchema: z.object({ items: z.array(z.object({ text: z.string() })), ordered: z.boolean() }),\n defaultProps: {\n ordered: false,\n items: [{ text: 'Primeiro item' }, { text: 'Segundo item' }]\n },\n component: ({ items = [], ordered, puck }) => (\n <List as={ordered ? 'ol' : 'ul'}>\n {items.map((item, index) => (\n // eslint-disable-next-line react/no-array-index-key -- o item não tem id próprio; a ordem é a identidade\n <li key={index}>\n <RichText as=\"span\" html={item?.text} editing={puck?.isEditing} />\n </li>\n ))}\n </List>\n )\n});\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { QuoteIcon } from '../../editor/blockIcons';\nimport { RichText } from '../primitives/RichText';\n\nexport type QuoteBlockProps = {\n content: string;\n author?: string;\n puck?: { isEditing?: boolean };\n};\n\nconst Callout = styled.blockquote`\n margin: 0;\n padding: 12px 0 12px 16px;\n border-left: 3px solid var(--doc-brand, #005ac3);\n`;\n\nconst Author = styled.footer`\n margin-top: 6px;\n font-size: 0.9em;\n opacity: 0.75;\n`;\n\nexport const QuoteBlock = defineBlock<QuoteBlockProps>({\n key: 'Quote',\n label: 'Destaque',\n category: 'Conteúdo',\n icon: <QuoteIcon />,\n fields: {\n content: { type: 'textarea', label: 'Texto (HTML)' },\n author: { type: 'text', label: 'Autor (opcional)' }\n },\n propsSchema: z.object({ content: z.string(), author: z.string().optional() }),\n defaultProps: { content: '<p>Texto em destaque.</p>', author: '' },\n component: ({ content, author, puck }) => (\n <Callout>\n <RichText html={content} editing={puck?.isEditing} />\n {author ? <Author>{author}</Author> : null}\n </Callout>\n )\n});\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nexport const SIZE_WIDTH: Record<string, string> = { small: '33%', medium: '66%', large: '100%' };\n\nexport const GAP_PX: Record<string, number> = { none: 0, small: 8, medium: 16, large: 24 };\n\nexport const Placeholder = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 64px;\n padding: 16px;\n border: 1px dashed #c3c9d2;\n border-radius: 8px;\n color: #9aa3af;\n font-size: 13px;\n text-align: center;\n`;\n\nexport const LinkButton = styled.a`\n display: inline-block;\n padding: 8px 16px;\n border-radius: 6px;\n background: var(--doc-brand, #1a56db);\n color: #fff;\n text-decoration: none;\n font-weight: 500;\n`;\n\nexport const PageBreakMark = styled.div`\n break-after: page;\n margin: 8px 0;\n border-top: 1px dashed #c3c9d2;\n text-align: center;\n color: #9aa3af;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n`;\n\n/**\n * Coluna de slot. `min-width: 0` é obrigatório: sem isso um filho largo (tabela,\n * imagem, palavra sem quebra) força a coluna a crescer e estoura a folha.\n */\nexport const SlotColumn = styled.div<{ $basis: number }>`\n flex: ${props => props.$basis} 1 0;\n min-width: 0;\n`;\n\nexport const Row = styled.div<{ $gap: number; $align?: string }>`\n display: flex;\n gap: ${props => props.$gap}px;\n align-items: ${props => props.$align ?? 'flex-start'};\n`;\n\n/**\n * Campo `slot` tem duas caras: no documento ele é um ARRAY de blocos (é isso que\n * `defaultProps` e `propsSchema` descrevem), mas o Puck entrega ao componente uma\n * FUNÇÃO que renderiza a zona. O helper faz a ponte sem espalhar cast por bloco.\n */\nexport const renderSlot = (slot: unknown): ReactNode =>\n typeof slot === 'function' ? (slot as () => ReactNode)() : null;\n","import { z } from 'zod';\nimport { defineBlock } from '../defineBlock';\nimport { ButtonIcon } from '../../editor/blockIcons';\nimport { LinkButton } from './shared';\n\nexport type ButtonBlockProps = {\n text: string;\n href: string;\n};\n\nexport const ButtonBlock = defineBlock<ButtonBlockProps>({\n key: 'Button',\n label: 'Botão',\n category: 'Conteúdo',\n icon: <ButtonIcon />,\n fields: {\n text: { type: 'text', label: 'Texto do botão', contentEditable: true },\n href: { type: 'text', label: 'Link ao clicar' }\n },\n propsSchema: z.object({ text: z.string(), href: z.string() }),\n defaultProps: { text: 'Clique aqui', href: '' },\n component: ({ text, href }) => (\n <LinkButton href={href || '#'} target=\"_blank\" rel=\"noopener noreferrer\">\n {text}\n </LinkButton>\n )\n});\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { DividerIcon } from '../../editor/blockIcons';\nimport { GAP_PX } from './shared';\n\nexport type DividerBlockProps = {\n variant: 'solid' | 'dashed' | 'dotted';\n spacing: 'none' | 'small' | 'medium' | 'large';\n};\n\nconst Rule = styled.hr<{ $variant: string; $spacing: number }>`\n border: none;\n border-top: 1px ${props => props.$variant} currentColor;\n opacity: 0.25;\n margin: ${props => props.$spacing}px 0;\n`;\n\nexport const DividerBlock = defineBlock<DividerBlockProps>({\n key: 'Divider',\n label: 'Divisor',\n category: 'Conteúdo',\n icon: <DividerIcon />,\n fields: {\n variant: {\n type: 'select',\n label: 'Traço',\n options: [\n { label: 'Contínuo', value: 'solid' },\n { label: 'Tracejado', value: 'dashed' },\n { label: 'Pontilhado', value: 'dotted' }\n ]\n },\n spacing: {\n type: 'select',\n label: 'Espaçamento',\n options: [\n { label: 'Nenhum', value: 'none' },\n { label: 'Pequeno', value: 'small' },\n { label: 'Médio', value: 'medium' },\n { label: 'Grande', value: 'large' }\n ]\n }\n },\n propsSchema: z.object({\n variant: z.enum(['solid', 'dashed', 'dotted']),\n spacing: z.enum(['none', 'small', 'medium', 'large'])\n }),\n defaultProps: { variant: 'solid', spacing: 'medium' },\n component: ({ variant, spacing }) => <Rule $variant={variant ?? 'solid'} $spacing={GAP_PX[spacing] ?? 16} />\n});\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { SpacerIcon } from '../../editor/blockIcons';\n\nexport type SpacerBlockProps = {\n height: number;\n puck?: { isEditing?: boolean };\n};\n\nconst Gap = styled.div<{ $height: number; $editing: boolean }>`\n height: ${props => props.$height}px;\n ${props => (props.$editing ? 'border: 1px dashed #dbe0e6; border-radius: 4px;' : '')}\n`;\n\nexport const SpacerBlock = defineBlock<SpacerBlockProps>({\n key: 'Spacer',\n label: 'Espaço',\n category: 'Conteúdo',\n icon: <SpacerIcon />,\n fields: {\n height: { type: 'number', label: 'Altura (px)', min: 4, max: 400 }\n },\n propsSchema: z.object({ height: z.number().int().min(1).max(600) }),\n defaultProps: { height: 24 },\n component: ({ height, puck }) => <Gap $height={height ?? 24} $editing={Boolean(puck?.isEditing)} />\n});\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { ImageIcon } from '../../editor/blockIcons';\nimport { Placeholder, SIZE_WIDTH } from './shared';\n\nexport type ImageBlockProps = {\n src: string;\n alt: string;\n caption?: string;\n size: 'small' | 'medium' | 'large';\n opacity: number;\n puck?: { isEditing?: boolean };\n};\n\nconst Figure = styled.figure`\n margin: 0;\n`;\n\nconst Caption = styled.figcaption`\n margin-top: 6px;\n font-size: 0.85em;\n opacity: 0.7;\n`;\n\nexport const ImageBlock = defineBlock<ImageBlockProps>({\n key: 'Image',\n label: 'Imagem',\n category: 'Mídia',\n icon: <ImageIcon />,\n fields: {\n src: { type: 'text', label: 'Imagem (URL)' },\n alt: { type: 'text', label: 'Texto alternativo' },\n caption: { type: 'text', label: 'Legenda (opcional)' },\n size: {\n type: 'select',\n label: 'Tamanho',\n options: [\n { label: 'Pequeno', value: 'small' },\n { label: 'Médio', value: 'medium' },\n { label: 'Grande', value: 'large' }\n ]\n },\n opacity: { type: 'number', label: 'Opacidade (%)', min: 0, max: 100 }\n },\n propsSchema: z.object({\n src: z.string(),\n alt: z.string(),\n caption: z.string().optional(),\n size: z.enum(['small', 'medium', 'large']),\n opacity: z.number().min(0).max(100)\n }),\n defaultProps: { src: '', alt: '', caption: '', size: 'medium', opacity: 100 },\n component: ({ src, alt, caption, size, opacity, puck }) => {\n if (!src) return puck?.isEditing ? <Placeholder>Informe a URL da imagem</Placeholder> : null;\n\n return (\n <Figure>\n <img\n src={src}\n alt={alt ?? ''}\n style={{ width: SIZE_WIDTH[size] ?? '66%', maxWidth: '100%', opacity: (opacity ?? 100) / 100 }}\n />\n {caption ? <Caption>{caption}</Caption> : null}\n </Figure>\n );\n }\n});\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { ImageGridIcon } from '../../editor/blockIcons';\nimport { GAP_PX, Placeholder } from './shared';\n\nexport type GridImage = { src: string; alt?: string };\n\nexport type ImageGridBlockProps = {\n images: GridImage[];\n columns: number;\n gap: 'none' | 'small' | 'medium' | 'large';\n ratio: 'square' | 'landscape' | 'portrait' | 'auto';\n puck?: { isEditing?: boolean };\n};\n\nconst RATIO: Record<string, string | undefined> = {\n square: '1 / 1',\n landscape: '4 / 3',\n portrait: '3 / 4',\n auto: undefined\n};\n\nconst Grid = styled.div<{ $columns: number; $gap: number }>`\n display: grid;\n grid-template-columns: repeat(${props => props.$columns}, 1fr);\n gap: ${props => props.$gap}px;\n`;\n\nconst Cell = styled.img<{ $ratio?: string }>`\n width: 100%;\n height: ${props => (props.$ratio ? '100%' : 'auto')};\n aspect-ratio: ${props => props.$ratio ?? 'auto'};\n object-fit: ${props => (props.$ratio ? 'cover' : 'contain')};\n display: block;\n`;\n\nexport const ImageGridBlock = defineBlock<ImageGridBlockProps>({\n key: 'ImageGrid',\n label: 'Grade de imagens',\n category: 'Mídia',\n icon: <ImageGridIcon />,\n fields: {\n images: {\n type: 'array',\n label: 'Imagens',\n getItemSummary: (item: GridImage, index) => item?.alt || item?.src || `Imagem ${(index ?? 0) + 1}`,\n arrayFields: {\n src: { type: 'text', label: 'URL' },\n alt: { type: 'text', label: 'Texto alternativo' }\n },\n defaultItemProps: { src: '', alt: '' }\n },\n columns: { type: 'number', label: 'Colunas', min: 1, max: 4 },\n gap: {\n type: 'select',\n label: 'Espaçamento',\n options: [\n { label: 'Nenhum', value: 'none' },\n { label: 'Pequeno', value: 'small' },\n { label: 'Médio', value: 'medium' },\n { label: 'Grande', value: 'large' }\n ]\n },\n ratio: {\n type: 'select',\n label: 'Proporção',\n options: [\n { label: 'Quadrada', value: 'square' },\n { label: 'Paisagem', value: 'landscape' },\n { label: 'Retrato', value: 'portrait' },\n { label: 'Original', value: 'auto' }\n ]\n }\n },\n propsSchema: z.object({\n images: z.array(z.object({ src: z.string(), alt: z.string().optional() })),\n columns: z.number().int().min(1).max(4),\n gap: z.enum(['none', 'small', 'medium', 'large']),\n ratio: z.enum(['square', 'landscape', 'portrait', 'auto'])\n }),\n defaultProps: { images: [], columns: 2, gap: 'small', ratio: 'square' },\n component: ({ images = [], columns, gap, ratio, puck }) => {\n const filled = images.filter(image => image?.src);\n if (!filled.length) return puck?.isEditing ? <Placeholder>Adicione imagens à grade</Placeholder> : null;\n\n return (\n <Grid $columns={columns ?? 2} $gap={GAP_PX[gap] ?? 8}>\n {filled.map((image, index) => (\n // eslint-disable-next-line react/no-array-index-key -- a imagem não tem id próprio; a ordem é a identidade\n <Cell key={index} src={image.src} alt={image.alt ?? ''} $ratio={RATIO[ratio ?? 'square']} />\n ))}\n </Grid>\n );\n }\n});\n","import type { Slot } from '@puckeditor/core';\nimport { z } from 'zod';\nimport { defineBlock } from '../defineBlock';\nimport { TwoColumnsIcon } from '../../editor/blockIcons';\nimport { GAP_PX, Row, SlotColumn, renderSlot } from './shared';\n\nexport type TwoColumnsBlockProps = {\n left: Slot;\n right: Slot;\n ratio: number;\n gap: 'none' | 'small' | 'medium' | 'large';\n align: 'start' | 'center';\n};\n\nconst slotSchema = z.array(z.unknown()).optional();\n\nexport const TwoColumnsBlock = defineBlock<TwoColumnsBlockProps>({\n key: 'TwoColumns',\n label: 'Duas colunas',\n category: 'Layout',\n icon: <TwoColumnsIcon />,\n fields: {\n left: { type: 'slot', label: 'Coluna esquerda' },\n right: { type: 'slot', label: 'Coluna direita' },\n ratio: { type: 'number', label: 'Largura da esquerda (%)', min: 20, max: 80 },\n gap: {\n type: 'select',\n label: 'Espaçamento',\n options: [\n { label: 'Nenhum', value: 'none' },\n { label: 'Pequeno', value: 'small' },\n { label: 'Médio', value: 'medium' },\n { label: 'Grande', value: 'large' }\n ]\n },\n align: {\n type: 'radio',\n label: 'Alinhamento vertical',\n options: [\n { label: 'Topo', value: 'start' },\n { label: 'Centro', value: 'center' }\n ]\n }\n },\n propsSchema: z.object({\n left: slotSchema,\n right: slotSchema,\n ratio: z.number().min(0).max(100),\n gap: z.enum(['none', 'small', 'medium', 'large']),\n align: z.enum(['start', 'center'])\n }),\n defaultProps: { ratio: 50, gap: 'medium', align: 'start' },\n component: ({ left, right, ratio = 50, gap, align }) => (\n <Row $gap={GAP_PX[gap] ?? 16} $align={align === 'center' ? 'center' : 'flex-start'}>\n <SlotColumn $basis={ratio}>{renderSlot(left)}</SlotColumn>\n <SlotColumn $basis={100 - ratio}>{renderSlot(right)}</SlotColumn>\n </Row>\n )\n});\n","import type { Slot } from '@puckeditor/core';\nimport { z } from 'zod';\nimport { defineBlock } from '../defineBlock';\nimport { ImageTextIcon } from '../../editor/blockIcons';\nimport { GAP_PX, Row, SlotColumn, renderSlot } from './shared';\n\nexport type ImageTextBlockProps = {\n image: Slot;\n text: Slot;\n ratio: number;\n imageRight: boolean;\n gap: 'none' | 'small' | 'medium' | 'large';\n};\n\nconst slotSchema = z.array(z.unknown()).optional();\n\nexport const ImageTextBlock = defineBlock<ImageTextBlockProps>({\n key: 'ImageText',\n label: 'Imagem e texto',\n category: 'Layout',\n icon: <ImageTextIcon />,\n fields: {\n image: { type: 'slot', label: 'Imagem', allow: ['Image', 'ImageGrid'] },\n text: { type: 'slot', label: 'Texto', allow: ['Text', 'Heading', 'List', 'Quote', 'Button'] },\n ratio: { type: 'number', label: 'Largura da imagem (%)', min: 20, max: 80 },\n imageRight: {\n type: 'radio',\n label: 'Posição da imagem',\n options: [\n { label: 'Esquerda', value: false },\n { label: 'Direita', value: true }\n ]\n },\n gap: {\n type: 'select',\n label: 'Espaçamento',\n options: [\n { label: 'Nenhum', value: 'none' },\n { label: 'Pequeno', value: 'small' },\n { label: 'Médio', value: 'medium' },\n { label: 'Grande', value: 'large' }\n ]\n }\n },\n propsSchema: z.object({\n image: slotSchema,\n text: slotSchema,\n ratio: z.number().min(0).max(100),\n imageRight: z.boolean(),\n gap: z.enum(['none', 'small', 'medium', 'large'])\n }),\n defaultProps: {\n ratio: 40,\n imageRight: false,\n gap: 'medium',\n image: [{ type: 'Image', props: {} }],\n text: [{ type: 'Text', props: {} }]\n },\n component: ({ image, text, ratio = 40, imageRight, gap }) => {\n const imageColumn = <SlotColumn $basis={ratio}>{renderSlot(image)}</SlotColumn>;\n const textColumn = <SlotColumn $basis={100 - ratio}>{renderSlot(text)}</SlotColumn>;\n\n return (\n <Row $gap={GAP_PX[gap] ?? 16}>\n {imageRight ? textColumn : imageColumn}\n {imageRight ? imageColumn : textColumn}\n </Row>\n );\n }\n});\n","import type { CSSProperties } from 'react';\n\nconst SOCIAL = 'Social e contato';\nconst ACTIONS = 'Ações';\nconst NAV = 'Navegação';\nconst TIME_PLACE = 'Tempo e local';\nconst GENERAL = 'Gerais';\n\nexport type ContentIconDef = {\n label: string;\n group: string;\n viewBox: string;\n inner: string;\n variant?: 'fill' | 'stroke';\n};\n\n/**\n * SVG inline com width/height explícitos: o HTML do documento (iframe, link público, PDF)\n * não carrega CSS global nenhum, e sem dimensão o svg cai no default 300x150.\n *\n * As `key`s são contrato de dado — ficam gravadas em `appearance.icon` no documento.\n * Renomear uma exige migração; trocar o desenho, não.\n */\nexport const CONTENT_ICON_CATALOG: Record<string, ContentIconDef> = {\n whatsapp: {\n label: 'WhatsApp',\n group: SOCIAL,\n variant: 'fill',\n viewBox: '0 0 448 512',\n inner:\n '<path d=\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"/>'\n },\n instagram: {\n label: 'Instagram',\n group: SOCIAL,\n variant: 'fill',\n viewBox: '0 0 448 512',\n inner:\n '<path d=\"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: {\n label: 'Facebook',\n group: SOCIAL,\n variant: 'fill',\n viewBox: '0 0 320 512',\n inner:\n '<path d=\"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 email: {\n label: 'E-mail',\n group: SOCIAL,\n viewBox: '0 0 24 24',\n inner: '<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 telefone: {\n label: 'Telefone',\n group: SOCIAL,\n viewBox: '0 0 24 24',\n inner:\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 link: {\n label: 'Link',\n group: SOCIAL,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\" /><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\" />'\n },\n download: {\n label: 'Download',\n group: ACTIONS,\n viewBox: '0 0 24 24',\n inner: '<path d=\"M12 15V3\" /><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" /><path d=\"m7 10 5 5 5-5\" />'\n },\n check: {\n label: 'Check',\n group: ACTIONS,\n viewBox: '0 0 24 24',\n inner: '<path d=\"M20 6 9 17l-5-5\" />'\n },\n enviar: {\n label: 'Enviar',\n group: ACTIONS,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\" /><path d=\"m21.854 2.147-10.94 10.939\" />'\n },\n cifrao: {\n label: 'Cifrão',\n group: ACTIONS,\n viewBox: '0 0 24 24',\n inner: '<line x1=\"12\" x2=\"12\" y1=\"2\" y2=\"22\" /><path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\" />'\n },\n 'seta-esquerda': {\n label: 'Seta esquerda',\n group: NAV,\n viewBox: '0 0 24 24',\n inner: '<path d=\"m12 19-7-7 7-7\" /><path d=\"M19 12H5\" />'\n },\n 'seta-direita': {\n label: 'Seta direita',\n group: NAV,\n viewBox: '0 0 24 24',\n inner: '<path d=\"M5 12h14\" /><path d=\"m12 5 7 7-7 7\" />'\n },\n 'link-externo': {\n label: 'Link externo',\n group: NAV,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M15 3h6v6\" /><path d=\"M10 14 21 3\" /><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" />'\n },\n calendario: {\n label: 'Calendário',\n group: TIME_PLACE,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M8 2v3\" /><path d=\"M16 2v3\" /><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" /><path d=\"M3 9h18\" />'\n },\n relogio: {\n label: 'Relógio',\n group: TIME_PLACE,\n viewBox: '0 0 24 24',\n inner: '<circle cx=\"12\" cy=\"12\" r=\"10\" /><path d=\"M12 6v6l4 2\" />'\n },\n localizacao: {\n label: 'Localização',\n group: TIME_PLACE,\n viewBox: '0 0 24 24',\n inner:\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 predio: {\n label: 'Prédio',\n group: TIME_PLACE,\n viewBox: '0 0 24 24',\n inner:\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 estrela: {\n label: 'Estrela',\n group: GENERAL,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\" />'\n },\n coracao: {\n label: 'Coração',\n group: GENERAL,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\" />'\n },\n globo: {\n label: 'Globo',\n group: GENERAL,\n viewBox: '0 0 24 24',\n inner:\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 usuario: {\n label: 'Usuário',\n group: GENERAL,\n viewBox: '0 0 24 24',\n inner: '<path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\" /><circle cx=\"12\" cy=\"7\" r=\"4\" />'\n },\n arquivo: {\n label: 'Arquivo',\n group: GENERAL,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\" /><path d=\"M14 2v5a1 1 0 0 0 1 1h5\" />'\n },\n imagem: {\n label: 'Imagem',\n group: GENERAL,\n viewBox: '0 0 24 24',\n inner:\n '<rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" /><circle cx=\"9\" cy=\"9\" r=\"2\" /><path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" />'\n },\n camera: {\n label: 'Câmera',\n group: GENERAL,\n viewBox: '0 0 24 24',\n inner:\n '<path d=\"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\" /><circle cx=\"12\" cy=\"13\" r=\"3\" />'\n }\n};\n\nexport const CONTENT_ICON_NAMES = Object.keys(CONTENT_ICON_CATALOG);\n\nexport type ContentIconProps = {\n name?: string;\n /** Aceita número (px) ou qualquer unidade CSS. Default `1em` — acompanha o font-size do contexto. */\n size?: number | string;\n color?: string;\n /** Espessura do traço, em unidades do viewBox (24). Ignorado por ícone preenchido. */\n strokeWidth?: number;\n style?: CSSProperties;\n className?: string;\n};\n\nexport function ContentIcon({\n name,\n size = '1em',\n color = 'currentColor',\n strokeWidth = 2,\n style,\n className\n}: ContentIconProps) {\n const def = name ? CONTENT_ICON_CATALOG[name] : undefined;\n if (!def) return null;\n\n const stroked = def.variant !== 'fill';\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={def.viewBox}\n fill={stroked ? 'none' : color}\n {...(stroked\n ? { stroke: color, strokeWidth, strokeLinecap: 'round' as const, strokeLinejoin: 'round' as const }\n : {})}\n aria-hidden=\"true\"\n focusable=\"false\"\n className={className}\n style={{ display: 'inline-block', verticalAlign: '-0.125em', flexShrink: 0, ...style }}\n // eslint-disable-next-line react/no-danger -- markup estático deste arquivo, nunca entrada do host\n dangerouslySetInnerHTML={{ __html: def.inner }}\n />\n );\n}\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { IconTextIcon } from '../../editor/blockIcons';\nimport { CONTENT_ICON_CATALOG, CONTENT_ICON_NAMES, ContentIcon } from '../contentIcons';\nimport { GAP_PX, Row } from './shared';\nimport { RichText } from '../primitives/RichText';\n\nexport type IconTextBlockProps = {\n icon: string;\n content: string;\n iconSize: number;\n iconRight: boolean;\n gap: 'none' | 'small' | 'medium' | 'large';\n puck?: { isEditing?: boolean };\n};\n\nconst IconSlot = styled.span`\n flex: none;\n color: var(--doc-brand, #005ac3);\n line-height: 1;\n`;\n\nconst Body = styled.div`\n flex: 1;\n min-width: 0;\n`;\n\nexport const IconTextBlock = defineBlock<IconTextBlockProps>({\n key: 'IconText',\n label: 'Ícone e texto',\n category: 'Layout',\n icon: <IconTextIcon />,\n fields: {\n icon: {\n type: 'select',\n label: 'Ícone',\n options: CONTENT_ICON_NAMES.map(name => ({ label: CONTENT_ICON_CATALOG[name].label, value: name }))\n },\n content: { type: 'textarea', label: 'Texto (HTML)' },\n iconSize: { type: 'number', label: 'Tamanho do ícone (px)', min: 12, max: 96 },\n iconRight: {\n type: 'radio',\n label: 'Posição do ícone',\n options: [\n { label: 'Esquerda', value: false },\n { label: 'Direita', value: true }\n ]\n },\n gap: {\n type: 'select',\n label: 'Espaçamento',\n options: [\n { label: 'Nenhum', value: 'none' },\n { label: 'Pequeno', value: 'small' },\n { label: 'Médio', value: 'medium' },\n { label: 'Grande', value: 'large' }\n ]\n }\n },\n propsSchema: z.object({\n icon: z.string(),\n content: z.string(),\n iconSize: z.number().int().min(8).max(128),\n iconRight: z.boolean(),\n gap: z.enum(['none', 'small', 'medium', 'large'])\n }),\n defaultProps: { icon: 'check', content: '<p>Descreva o item.</p>', iconSize: 24, iconRight: false, gap: 'small' },\n component: ({ icon, content, iconSize, iconRight, gap, puck }) => {\n const glyph = (\n <IconSlot>\n <ContentIcon name={icon} size={iconSize ?? 24} />\n </IconSlot>\n );\n\n return (\n <Row $gap={GAP_PX[gap] ?? 8} $align=\"flex-start\">\n {iconRight ? null : glyph}\n <Body>\n <RichText html={content} editing={puck?.isEditing} />\n </Body>\n {iconRight ? glyph : null}\n </Row>\n );\n }\n});\n","import { z } from 'zod';\nimport styled from 'styled-components';\nimport { defineBlock } from '../defineBlock';\nimport { TableIcon } from '../../editor/blockIcons';\nimport { Placeholder } from './shared';\nimport { RichText } from '../primitives/RichText';\n\nexport type TableCell = { value: string };\nexport type TableRow = { cells: TableCell[] };\n\nexport type TableBlockProps = {\n rows: TableRow[];\n headerRow: boolean;\n puck?: { isEditing?: boolean };\n};\n\nconst Grid = styled.table`\n width: 100%;\n border-collapse: collapse;\n font-size: 0.95em;\n\n th,\n td {\n padding: 8px 10px;\n border-bottom: 1px solid rgba(127, 137, 152, 0.28);\n text-align: left;\n vertical-align: top;\n }\n\n th {\n font-weight: 600;\n background: color-mix(in srgb, var(--doc-brand, #005ac3) 8%, transparent);\n }\n`;\n\nexport const TableBlock = defineBlock<TableBlockProps>({\n key: 'Table',\n label: 'Tabela',\n category: 'Dados',\n icon: <TableIcon />,\n fields: {\n headerRow: {\n type: 'radio',\n label: 'Primeira linha é cabeçalho',\n options: [\n { label: 'Sim', value: true },\n { label: 'Não', value: false }\n ]\n },\n rows: {\n type: 'array',\n label: 'Linhas',\n getItemSummary: (row: TableRow, index) =>\n row?.cells\n ?.map(cell => cell?.value)\n .filter(Boolean)\n .join(' · ') || `Linha ${(index ?? 0) + 1}`,\n arrayFields: {\n cells: {\n type: 'array',\n label: 'Células',\n getItemSummary: (cell: TableCell, index) => cell?.value || `Coluna ${(index ?? 0) + 1}`,\n arrayFields: { value: { type: 'text', label: 'Conteúdo' } },\n defaultItemProps: { value: '' }\n }\n },\n defaultItemProps: { cells: [{ value: '' }, { value: '' }] }\n }\n },\n propsSchema: z.object({\n rows: z.array(z.object({ cells: z.array(z.object({ value: z.string() })) })),\n headerRow: z.boolean()\n }),\n defaultProps: {\n headerRow: true,\n rows: [{ cells: [{ value: 'Item' }, { value: 'Valor' }] }, { cells: [{ value: 'Exemplo' }, { value: 'R$ 0,00' }] }]\n },\n component: ({ rows = [], headerRow, puck }) => {\n if (!rows.length) return puck?.isEditing ? <Placeholder>Adicione linhas à tabela</Placeholder> : null;\n\n const [first, ...rest] = rows;\n const body = headerRow ? rest : rows;\n\n return (\n <Grid>\n {headerRow ? (\n <thead>\n <tr>\n {(first?.cells ?? []).map((cell, index) => (\n // eslint-disable-next-line react/no-array-index-key -- a célula não tem id; a posição é a identidade\n <th key={index}>\n <RichText as=\"span\" html={cell?.value} editing={puck?.isEditing} />\n </th>\n ))}\n </tr>\n </thead>\n ) : null}\n <tbody>\n {body.map((row, rowIndex) => (\n // eslint-disable-next-line react/no-array-index-key -- idem\n <tr key={rowIndex}>\n {(row?.cells ?? []).map((cell, cellIndex) => (\n // eslint-disable-next-line react/no-array-index-key -- idem\n <td key={cellIndex}>\n <RichText as=\"span\" html={cell?.value} editing={puck?.isEditing} />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </Grid>\n );\n }\n});\n","import { z } from 'zod';\nimport { defineBlock } from '../defineBlock';\nimport { PageBreakIcon } from '../../editor/blockIcons';\nimport { PageBreakMark } from './shared';\n\nexport type PageBreakBlockProps = {\n puck?: { isEditing?: boolean };\n};\n\nexport const PageBreakBlock = defineBlock<PageBreakBlockProps>({\n key: 'PageBreak',\n label: 'Quebra de página',\n category: 'Estrutura',\n icon: <PageBreakIcon />,\n fields: {},\n propsSchema: z.object({}),\n component: ({ puck }) => (puck?.isEditing ? <PageBreakMark>Quebra de página</PageBreakMark> : null)\n});\n","import { TextBlock } from './components/TextBlock';\nimport { HeadingBlock } from './components/HeadingBlock';\nimport { ListBlock } from './components/ListBlock';\nimport { QuoteBlock } from './components/QuoteBlock';\nimport { ButtonBlock } from './components/ButtonBlock';\nimport { DividerBlock } from './components/DividerBlock';\nimport { SpacerBlock } from './components/SpacerBlock';\nimport { ImageBlock } from './components/ImageBlock';\nimport { ImageGridBlock } from './components/ImageGridBlock';\nimport { TwoColumnsBlock } from './components/TwoColumnsBlock';\nimport { ImageTextBlock } from './components/ImageTextBlock';\nimport { IconTextBlock } from './components/IconTextBlock';\nimport { TableBlock } from './components/TableBlock';\nimport { PageBreakBlock } from './components/PageBreakBlock';\nimport type { BlockEntry, Registry } from './types';\n\nexport {\n TextBlock,\n HeadingBlock,\n ListBlock,\n QuoteBlock,\n ButtonBlock,\n DividerBlock,\n SpacerBlock,\n ImageBlock,\n ImageGridBlock,\n TwoColumnsBlock,\n ImageTextBlock,\n IconTextBlock,\n TableBlock,\n PageBreakBlock\n};\n\nexport const defaultBlocks: Registry = [\n TextBlock,\n HeadingBlock,\n ListBlock,\n QuoteBlock,\n ButtonBlock,\n DividerBlock,\n SpacerBlock,\n ImageBlock,\n ImageGridBlock,\n TwoColumnsBlock,\n ImageTextBlock,\n IconTextBlock,\n TableBlock,\n PageBreakBlock\n];\n\nexport const blocksByKey: Record<string, BlockEntry> = Object.fromEntries(\n defaultBlocks.map(block => [block.key, block])\n);\n","import { devWarn } from '../core/devWarn';\nimport { blocksByKey } from './defaults';\nimport type { BlockEntry } from './types';\n\n/**\n * Deriva um bloco a partir de um default da lib: herda a entry inteira e aplica `patch`\n * por cima.\n *\n * ```ts\n * const MeuTexto = overrideBlock('Text', { component: MeuRichText });\n * const Copia = overrideBlock('Text', { key: 'TextoLegal' }); // clona sob outra key\n * ```\n *\n * `key` desconhecida avisa em dev e devolve a entry só com o `patch` — para bloco que é\n * só do host, use `defineBlock`, que não promete herança nenhuma.\n */\nexport function overrideBlock<Props extends Record<string, unknown> = Record<string, unknown>>(\n key: string,\n patch: Partial<BlockEntry<Props>> = {}\n): BlockEntry<Props> {\n const base = blocksByKey[key];\n\n if (!base) {\n devWarn(\n `override-unknown-block:${key}`,\n `overrideBlock('${key}') não achou bloco default com essa key — nada foi herdado. ` +\n 'Bloco que é só do host se declara com defineBlock.'\n );\n }\n\n return { ...(base as BlockEntry<Props> | undefined), key, ...patch } as BlockEntry<Props>;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_DOCUMENT_COLORS, buildConfig, useDocumentFont, DocumentThemeProvider, fontStack } from './chunk-
|
|
1
|
+
import { DEFAULT_DOCUMENT_COLORS, buildConfig, useDocumentFont, DocumentThemeProvider, fontStack } from './chunk-DQ4AL6SJ.js';
|
|
2
2
|
import { resolveDocumentVariables } from './chunk-CZB7F2LA.js';
|
|
3
3
|
import { extractBindingKeys, CatalogProvider, ResolvedProvider } from './chunk-SOIYSSU3.js';
|
|
4
4
|
import { createContext, useContext, useMemo, useState, useEffect } from 'react';
|
|
@@ -95,7 +95,6 @@ var CoverFrame = styled6.div`
|
|
|
95
95
|
|
|
96
96
|
[data-cover-field][contenteditable] {
|
|
97
97
|
cursor: text;
|
|
98
|
-
border-radius: 3px;
|
|
99
98
|
outline: 1px dashed transparent;
|
|
100
99
|
outline-offset: 3px;
|
|
101
100
|
transition: outline-color 0.12s ease;
|
|
@@ -221,9 +220,9 @@ var Subtitle = styled6(CoverField)`
|
|
|
221
220
|
font-weight: 400;
|
|
222
221
|
line-height: 1.3;
|
|
223
222
|
`;
|
|
224
|
-
function Model1({ fields, theme,
|
|
223
|
+
function Model1({ fields, theme, textColor, bgColor }) {
|
|
225
224
|
return /* @__PURE__ */ jsxs(CoverFrame, { $font: fontStack(theme?.documentFont), $bg: fields.imageUrl ? void 0 : bgColor, $color: textColor, children: [
|
|
226
|
-
fields.imageUrl ? /* @__PURE__ */ jsx(FullBleedImage, { $overlay:
|
|
225
|
+
fields.imageUrl ? /* @__PURE__ */ jsx(FullBleedImage, { $overlay: bgColor, $overlayOpacity: 0.85, children: /* @__PURE__ */ jsx(CoverImage, { src: fields.imageUrl }) }) : null,
|
|
227
226
|
/* @__PURE__ */ jsxs(Chrome, { children: [
|
|
228
227
|
/* @__PURE__ */ jsxs(TopRow, { children: [
|
|
229
228
|
theme?.logo?.url ? /* @__PURE__ */ jsx(Logo, { src: theme.logo.url, alt: "" }) : /* @__PURE__ */ jsx("span", {}),
|
|
@@ -453,7 +452,6 @@ var DateChip = styled6(CoverField)`
|
|
|
453
452
|
padding: 1.18cqw 2.94cqw;
|
|
454
453
|
font-size: 2.94cqw;
|
|
455
454
|
font-weight: 400;
|
|
456
|
-
letter-spacing: -0.29cqw;
|
|
457
455
|
color: #ffffff;
|
|
458
456
|
`;
|
|
459
457
|
var Title4 = styled6(CoverField)`
|
|
@@ -463,7 +461,6 @@ var Title4 = styled6(CoverField)`
|
|
|
463
461
|
font-size: 14.1cqw;
|
|
464
462
|
font-weight: 300;
|
|
465
463
|
line-height: 1.1;
|
|
466
|
-
letter-spacing: -1.41cqw;
|
|
467
464
|
`;
|
|
468
465
|
var Footer = styled6.div`
|
|
469
466
|
margin-top: auto;
|
|
@@ -478,7 +475,6 @@ var Party = styled6.div`
|
|
|
478
475
|
var Label3 = styled6.div`
|
|
479
476
|
font-size: 3.53cqw;
|
|
480
477
|
font-weight: 300;
|
|
481
|
-
letter-spacing: -0.35cqw;
|
|
482
478
|
opacity: 0.72;
|
|
483
479
|
`;
|
|
484
480
|
var Value3 = styled6(CoverField)`
|
|
@@ -486,7 +482,6 @@ var Value3 = styled6(CoverField)`
|
|
|
486
482
|
margin-top: 1.5cqw;
|
|
487
483
|
font-size: 4.12cqw;
|
|
488
484
|
font-weight: 500;
|
|
489
|
-
letter-spacing: -0.41cqw;
|
|
490
485
|
`;
|
|
491
486
|
function Model4({ fields, theme, accent, textColor, bgColor }) {
|
|
492
487
|
const { editable } = useContext(CoverEditContext);
|
|
@@ -616,18 +611,20 @@ var COVER_SURFACES = {
|
|
|
616
611
|
"model-1": "brand",
|
|
617
612
|
"model-2": "background",
|
|
618
613
|
"model-3": "brand",
|
|
619
|
-
"model-4": "
|
|
614
|
+
"model-4": "dark",
|
|
620
615
|
"model-5": "background"
|
|
621
616
|
};
|
|
622
617
|
var ON_BRAND_TEXT = "#FFFFFF";
|
|
618
|
+
var DARK_SURFACE_BG = "#131B2C";
|
|
623
619
|
var resolveCoverColors = (templateId, { accent, textColor, bgColor }, theme) => {
|
|
624
620
|
const colors = { ...DEFAULT_DOCUMENT_COLORS, ...theme?.colors };
|
|
625
|
-
const
|
|
621
|
+
const surface = COVER_SURFACES[templateId ?? ""] ?? COVER_SURFACES["model-1"];
|
|
626
622
|
const resolvedAccent = resolveCoverAccent(accent, theme);
|
|
623
|
+
const surfaceBg = { brand: resolvedAccent, dark: DARK_SURFACE_BG, background: colors.background }[surface];
|
|
627
624
|
return {
|
|
628
625
|
accent: resolvedAccent,
|
|
629
|
-
textColor: textColor ?? (
|
|
630
|
-
bgColor: bgColor ??
|
|
626
|
+
textColor: textColor ?? (surface === "background" ? colors.text : ON_BRAND_TEXT),
|
|
627
|
+
bgColor: bgColor ?? surfaceBg
|
|
631
628
|
};
|
|
632
629
|
};
|
|
633
630
|
function CoverPage({ templateId, accent, fields, theme, textColor, bgColor }) {
|
|
@@ -706,7 +703,7 @@ var HeaderLayout = styled6.div`
|
|
|
706
703
|
flex-direction: ${(props) => props.$reverse ? "row-reverse" : "row"};
|
|
707
704
|
gap: 16px;
|
|
708
705
|
height: 100%;
|
|
709
|
-
padding:
|
|
706
|
+
padding: 20px 0;
|
|
710
707
|
`;
|
|
711
708
|
var HeaderInfo = styled6.div`
|
|
712
709
|
display: flex;
|
|
@@ -820,5 +817,5 @@ var DG_READY = "dg-ready";
|
|
|
820
817
|
var DG_ERROR = "dg-error";
|
|
821
818
|
|
|
822
819
|
export { COMPANY_INFO_ICONS, COVER_TEMPLATES, COVER_TEMPLATE_IDS, CoverEditContext, CoverPage, DG_ERROR, DG_MESSAGE_SOURCE, DG_READY, DocumentRenderer, FOOTER_INFO_ORDER, FooterBar, HEADER_INFO_ORDER, HeaderBar, resolveCoverAccent, resolveCoverColors };
|
|
823
|
-
//# sourceMappingURL=chunk-
|
|
824
|
-
//# sourceMappingURL=chunk-
|
|
820
|
+
//# sourceMappingURL=chunk-PBBPAMLP.js.map
|
|
821
|
+
//# sourceMappingURL=chunk-PBBPAMLP.js.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":["jsx","styled","HAIRLINE","Logo","Head","Title","useContext","jsxs","Subtitle","Label","Value","Body","ImageBand"],"mappings":"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","file":"chunk-PBBPAMLP.js","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 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 Model1({ 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, 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 Model2({ 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 { 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': 'brand',\n 'model-2': 'background',\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,12 +18,13 @@ function defineBlock(entry) {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
// src/blocks/primitives/proseCss.ts
|
|
21
|
-
var DOCUMENT_TEXT_CSS = `font-size:
|
|
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;`;
|
|
25
25
|
var DOCUMENT_PROSE_CSS = `p {
|
|
26
26
|
margin: 0 0 8px;
|
|
27
|
+
font-size: 1em;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
h1, h2, h3, h4, h5, h6 {
|
|
@@ -42,17 +43,24 @@ h6 { font-size: 0.875em; }
|
|
|
42
43
|
ul, ol {
|
|
43
44
|
margin: 0 0 8px;
|
|
44
45
|
padding-left: 24px;
|
|
46
|
+
font-size: 1em;
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
ul { list-style: disc; }
|
|
48
50
|
ol { list-style: decimal; }
|
|
49
51
|
|
|
50
|
-
li {
|
|
52
|
+
li {
|
|
53
|
+
margin: 0 0 4px;
|
|
54
|
+
font-size: 1em;
|
|
55
|
+
}
|
|
51
56
|
|
|
52
57
|
strong, b { font-weight: 600; }
|
|
53
58
|
em, i { font-style: italic; }
|
|
54
59
|
|
|
55
|
-
a {
|
|
60
|
+
a {
|
|
61
|
+
color: var(--doc-brand, #005ac3);
|
|
62
|
+
text-decoration: underline;
|
|
63
|
+
}
|
|
56
64
|
|
|
57
65
|
img { max-width: 100%; }
|
|
58
66
|
|
|
@@ -272,7 +280,7 @@ var ButtonBlock = defineBlock({
|
|
|
272
280
|
href: { type: "text", label: "Link ao clicar" }
|
|
273
281
|
},
|
|
274
282
|
propsSchema: zod.z.object({ text: zod.z.string(), href: zod.z.string() }),
|
|
275
|
-
defaultProps: { text: "Clique aqui", href: "
|
|
283
|
+
defaultProps: { text: "Clique aqui", href: "" },
|
|
276
284
|
component: ({ text, href }) => /* @__PURE__ */ jsxRuntime.jsx(LinkButton, { href: href || "#", target: "_blank", rel: "noopener noreferrer", children: text })
|
|
277
285
|
});
|
|
278
286
|
var Rule = styled4__default.default.hr`
|
|
@@ -929,5 +937,5 @@ exports.blocksByKey = blocksByKey;
|
|
|
929
937
|
exports.defaultBlocks = defaultBlocks;
|
|
930
938
|
exports.defineBlock = defineBlock;
|
|
931
939
|
exports.overrideBlock = overrideBlock;
|
|
932
|
-
//# sourceMappingURL=chunk-
|
|
933
|
-
//# sourceMappingURL=chunk-
|
|
940
|
+
//# sourceMappingURL=chunk-RP4T57MA.cjs.map
|
|
941
|
+
//# sourceMappingURL=chunk-RP4T57MA.cjs.map
|