ZH
测试版翻译

@core / blocks

1.0.0 ▾
已验证MIT
GitHub

页面区块:15 个无障碍版块(首屏、价格、带 JSON-LD 的 FAQ 等)、后台编辑器和可扩展注册表

代码25 个文件上下文约 681 个 token扫描通过

应用 .genpmignore 后将被注入的确切目录树。固定于

src/lib/blocks/core/benefits.ts只读 · a255d6d
import { createElement as h } from 'react';
import { z } from 'zod';
import { defineBlock } from '../define.ts';
import { Img, mediaId, optText, Section, text } from '../parts.ts';

export const benefits = defineBlock({
  type: 'benefits',
  label: 'Benefits',
  icon: 'check',
  schema: z.object({
    title: optText(160),
    intro: optText(400),
    image: mediaId,
    items: z.array(z.object({ text: text(200) })).min(1).max(12),
  }),
  fields: [
    { name: 'title', label: 'Title', type: 'text' },
    { name: 'intro', label: 'Introduction', type: 'textarea' },
    { name: 'image', label: 'Image', type: 'media' },
    { name: 'items', label: 'Benefits', type: 'list', required: true, fields: [{ name: 'text', label: 'Benefit', type: 'text', required: true }] },
  ],
  defaults: () => ({ items: [{ text: 'Benefit' }] }),
  Component: ({ data, ctx }) =>
    h(
      Section,
      { id: ctx.id, block: 'benefits', title: data.title, intro: data.intro, ctx },
      h('div', { className: 'blk-split' }, h('ul', { className: 'blk-checklist' }, data.items.map((it, i) => h('li', { key: i }, it.text))), h(Img, { image: ctx.image(data.image) })),
    ),
});

举报 @core/blocks

使用 GitHub 登录后才能举报包。