FR
Traduction bêta

@core / blocks

1.0.0 ▾
vérifiéMIT
GitHub

Blocs de page : 15 sections accessibles (hero, tarifs, FAQ avec JSON-LD…), éditeur d'admin et registre extensible

Code25 fichiersContexte~681 tokensanalyse réussie

L’arborescence exacte qui sera injectée, après .genpmignore. Épinglée à

src/lib/blocks/core/form.tslecture seule · 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);
  },
});

Signaler @core/blocks

Connectez-vous avec GitHub pour signaler un paquet.