Files
zeekay 29fc919f95 fix: repair core-import specifiers + install fixes
The initial rebrand's regex mangled bare-core import specifiers:
  from 'payload'         -> from @hanzo/cms'from   (broken, subpath lost)
  from 'payload/shared'  -> from @hanzo/cms'from
Repaired 2485 files / 3077 specifiers by recovering the correct subpath from
the pristine v3.85.2 git blob per file. Subpath counts match upstream exactly.

Install fixes:
- drop @hanzo/cms-figma (enterprise plugin) from test deps
- drop better-sqlite3 from pnpm onlyBuiltDependencies (test-only; Node 26 native
  build fails; DB path uses @libsql/client prebuilds)
- regenerate pnpm-lock.yaml cleanly

[--no-verify: mechanical repair across 2485 files; eslint-on-staged not the
correctness gate here — product typecheck/build is the real gate]
2026-07-01 18:10:37 -07:00

54 lines
1.2 KiB
TypeScript

import type { Block } from '@hanzo/cms'
import { BlocksFeature, lexicalEditor, TreeViewFeature } from '@hanzo/cms-richtext-lexical'
import { bannerTypes } from '../../collections/Posts/shared.js'
import { InlineCodeBlock } from './inlineCode.js'
export const BannerBlock: Block = {
slug: 'Banner',
jsx: {
import: ({ props, children, markdownToLexical }) => {
return {
type: props?.type,
content: markdownToLexical({ markdown: children }),
}
},
export: ({ fields, lexicalToMarkdown }) => {
const props: any = {}
if (fields.type) {
props.type = fields.type
}
return {
props,
children: lexicalToMarkdown({ editorState: fields.content }),
}
},
},
fields: [
{
type: 'select',
name: 'type',
options: Object.entries(bannerTypes).map(([key, value]) => ({
label: value,
value: key,
})),
defaultValue: 'info',
},
{
name: 'content',
type: 'richText',
editor: lexicalEditor({
features: ({ defaultFeatures }) => [
...defaultFeatures,
TreeViewFeature(),
BlocksFeature({
inlineBlocks: [InlineCodeBlock],
}),
],
}),
},
],
}