PT

@core / blocks

1.0.0 ▾
verificadoMIT
GitHub

Blocos de página: 15 seções acessíveis (hero, preços, FAQ com JSON-LD…), editor no admin e registro extensível

Código25 arquivosContexto~681 tokensanálise aprovada

A árvore exata que será injetada, após o .genpmignore. Fixada em

src/lib/blocks/core/form.tssomente leitura · a255d6d
import { z } from 'zod';
import { createElement as h } from 'react';
import { defineBlock } from '../define.ts';
import { optText, Section, text } from '../parts.ts';

export const form = defineBlock({
  type: 'form',
  label: 'Form',
  icon: 'form',
  schema: z.object({ title: optText(160), intro: optText(400), formKey: text(60) }),
  fields: [
    { name: 'title', label: 'Title', type: 'text' },
    { name: 'intro', label: 'Introduction', type: 'textarea' },
    { name: 'formKey', label: 'Form', type: 'text', required: true, help: 'Key of a form defined with @core/forms (e.g. "contact").' },
  ],
  defaults: () => ({ formKey: 'contact' }),
  Component: ({ data, ctx }) => {
    const rendered = ctx.renderForm?.(data.formKey);
    if (!rendered) return null;
    return h(Section, { id: ctx.id, block: 'form', title: data.title, intro: data.intro, ctx, label: 'Form' }, rendered);
  },
});

Denunciar @core/blocks

Entre com o GitHub para denunciar um pacote.