vobi_document 1.0.2 → 1.1.0
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/README.md +23 -6
- package/dist/blocks.cjs +100 -0
- package/dist/blocks.cjs.map +1 -0
- package/dist/blocks.d.cts +201 -0
- package/dist/blocks.d.ts +201 -0
- package/dist/blocks.js +7 -0
- package/dist/blocks.js.map +1 -0
- package/dist/catalogContext-DenbX-OW.d.cts +15 -0
- package/dist/catalogContext-HGMU-w_4.d.ts +15 -0
- package/dist/chunk-2EBYURIX.js +90 -0
- package/dist/chunk-2EBYURIX.js.map +1 -0
- package/dist/chunk-6GRYRVU5.js +824 -0
- package/dist/chunk-6GRYRVU5.js.map +1 -0
- package/dist/chunk-ABIEQHS2.js +159 -0
- package/dist/chunk-ABIEQHS2.js.map +1 -0
- package/dist/chunk-AQ5FAAP6.cjs +168 -0
- package/dist/chunk-AQ5FAAP6.cjs.map +1 -0
- package/dist/chunk-ERKU5FDV.cjs +407 -0
- package/dist/chunk-ERKU5FDV.cjs.map +1 -0
- package/dist/chunk-FKX46GKE.cjs +36 -0
- package/dist/chunk-FKX46GKE.cjs.map +1 -0
- package/dist/chunk-HMTCQOEV.js +1319 -0
- package/dist/chunk-HMTCQOEV.js.map +1 -0
- package/dist/chunk-IRFFN74K.cjs +89 -0
- package/dist/chunk-IRFFN74K.cjs.map +1 -0
- package/dist/chunk-IUDN2CGP.js +863 -0
- package/dist/chunk-IUDN2CGP.js.map +1 -0
- package/dist/chunk-JEVWEGSE.js +95 -0
- package/dist/chunk-JEVWEGSE.js.map +1 -0
- package/dist/chunk-KCZKC3OG.js +61 -0
- package/dist/chunk-KCZKC3OG.js.map +1 -0
- package/dist/chunk-KUB3TYG2.cjs +102 -0
- package/dist/chunk-KUB3TYG2.cjs.map +1 -0
- package/dist/chunk-L5FXGEKX.cjs +114 -0
- package/dist/chunk-L5FXGEKX.cjs.map +1 -0
- package/dist/chunk-LNBAFOVK.cjs +14 -0
- package/dist/chunk-LNBAFOVK.cjs.map +1 -0
- package/dist/chunk-M2TPAU2F.js +79 -0
- package/dist/chunk-M2TPAU2F.js.map +1 -0
- package/dist/chunk-MHTTFNK2.cjs +890 -0
- package/dist/chunk-MHTTFNK2.cjs.map +1 -0
- package/dist/chunk-NDHTMYPA.cjs +844 -0
- package/dist/chunk-NDHTMYPA.cjs.map +1 -0
- package/dist/chunk-PLQNNXS2.js +382 -0
- package/dist/chunk-PLQNNXS2.js.map +1 -0
- package/dist/chunk-QYBWIJXZ.js +98 -0
- package/dist/chunk-QYBWIJXZ.js.map +1 -0
- package/dist/chunk-U56KVTK5.cjs +68 -0
- package/dist/chunk-U56KVTK5.cjs.map +1 -0
- package/dist/chunk-X2BLERM5.cjs +1346 -0
- package/dist/chunk-X2BLERM5.cjs.map +1 -0
- package/dist/chunk-ZOJBDFKU.js +12 -0
- package/dist/chunk-ZOJBDFKU.js.map +1 -0
- package/dist/chunk-ZXWOZZXO.cjs +94 -0
- package/dist/chunk-ZXWOZZXO.cjs.map +1 -0
- package/dist/editor.cjs +60 -0
- package/dist/editor.cjs.map +1 -0
- package/dist/editor.d.cts +190 -0
- package/dist/editor.d.ts +190 -0
- package/dist/editor.js +7 -0
- package/dist/editor.js.map +1 -0
- package/dist/index.cjs +412 -3753
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +72 -7892
- package/dist/index.d.ts +72 -7892
- package/dist/index.js +22 -3662
- package/dist/index.js.map +1 -1
- package/dist/messages-Bi0JxNIH.d.cts +23 -0
- package/dist/messages-Bi0JxNIH.d.ts +23 -0
- package/dist/print.cjs +354 -0
- package/dist/print.cjs.map +1 -0
- package/dist/print.d.cts +43 -0
- package/dist/print.d.ts +43 -0
- package/dist/print.js +336 -0
- package/dist/print.js.map +1 -0
- package/dist/puck.cjs +8 -8
- package/dist/puck.cjs.map +1 -1
- package/dist/render.cjs +72 -0
- package/dist/render.cjs.map +1 -0
- package/dist/render.d.cts +93 -0
- package/dist/render.d.ts +93 -0
- package/dist/render.js +7 -0
- package/dist/render.js.map +1 -0
- package/dist/theme-BuEFpQeZ.d.cts +112 -0
- package/dist/theme-BuEFpQeZ.d.ts +112 -0
- package/dist/types-BgIugNWW.d.cts +25 -0
- package/dist/types-BgIugNWW.d.ts +25 -0
- package/dist/types-CvKSS1Sy.d.cts +38 -0
- package/dist/types-CvKSS1Sy.d.ts +38 -0
- package/dist/variables.cjs +95 -0
- package/dist/variables.cjs.map +1 -0
- package/dist/variables.d.cts +74 -0
- package/dist/variables.d.ts +74 -0
- package/dist/variables.js +6 -0
- package/dist/variables.js.map +1 -0
- package/package.json +39 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/blocks/defineBlock.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","CHIP_CLASS","INVALID_CHIP_CLASS","useResolvedVariables","useCatalog","useUnresolvedDisplay","jsx","resolveVariableHtml","TextIcon","z","HeadingIcon","ListIcon","QuoteIcon","ButtonIcon","DividerIcon","SpacerIcon","ImageIcon","jsxs","ImageGridIcon","TwoColumnsIcon","slotSchema","ImageTextIcon","IconTextIcon","Grid","TableIcon","PageBreakIcon","devWarn"],"mappings":"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","file":"chunk-MHTTFNK2.cjs","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","import type { ElementType } from 'react';\nimport styled from 'styled-components';\nimport { useCatalog } from '../../variables/catalogContext';\nimport { useResolvedVariables, useUnresolvedDisplay } from '../../variables/resolvedContext';\nimport { CHIP_CLASS, INVALID_CHIP_CLASS, resolveVariableHtml } from '../../variables/variableHtml';\n\nexport type RichTextProps = {\n html?: string;\n editing?: boolean;\n as?: ElementType;\n className?: string;\n};\n\nconst Prose = styled.div`\n > :first-child {\n margin-top: 0;\n }\n > :last-child {\n margin-bottom: 0;\n }\n\n p,\n ul,\n ol {\n margin: 0 0 8px;\n }\n\n h1,\n h2,\n h3,\n h4 {\n margin: 0 0 8px;\n line-height: 1.25;\n }\n\n a {\n color: var(--doc-brand, #005ac3);\n }\n\n strong {\n font-weight: 600;\n }\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 font-size: 0.94em;\n white-space: nowrap;\n }\n\n .${INVALID_CHIP_CLASS} {\n background: #fdecea;\n color: #b4341b;\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"]}
|