mirror of
https://github.com/hanzo-apps/cms.git
synced 2026-10-30 14:47:33 +00:00
- payload -> @hanzo/cms (core), bin payload -> hanzo-cms - create-payload-app -> @hanzo/create-cms-app - @payloadcms/<x> -> @hanzo/cms-<x> across the whole dependency graph - 3545 files, 72 package.json, 4419 scoped refs, 3852 core import specifiers, 82 scss imports - MIT attribution to Payload CMS Inc. preserved (LICENSE.md, author emails) Upstream: github.com/payloadcms/payload @ v3.85.2 (MIT)
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
'use client'
|
|
import type { LexicalEditorViewMap } from '@hanzo/cms-richtext-lexical'
|
|
|
|
import type { LexicalViewsFrontendNodes } from './index.js'
|
|
|
|
import { BannerBlockComponent } from './BannerBlock.js'
|
|
|
|
export const lexicalFrontendViews: LexicalEditorViewMap<LexicalViewsFrontendNodes> = {
|
|
frontend: {
|
|
admin: {
|
|
hideGutter: true,
|
|
},
|
|
filterFeatures: (features) => {
|
|
const { toolbarFixed, toolbarInline, ...rest } = features
|
|
return rest
|
|
},
|
|
// Using function form - no need to import defaultEditorLexicalConfig!
|
|
lexical: (defaultConfig) => ({
|
|
...defaultConfig,
|
|
theme: {
|
|
...defaultConfig.theme,
|
|
link: 'frontend-link',
|
|
paragraph: 'frontend-paragraph',
|
|
},
|
|
}),
|
|
nodes: {
|
|
blocks: {
|
|
banner: {
|
|
Block: BannerBlockComponent,
|
|
},
|
|
},
|
|
heading: {
|
|
createDOM(args) {
|
|
const { node } = args
|
|
// @ts-expect-error - accessing heading-specific method
|
|
const tag = node.getTag()
|
|
const heading = document.createElement(tag)
|
|
|
|
// Make headings blueish
|
|
heading.style.color = '#3b82f6'
|
|
heading.style.borderBottom = '2px solid #60a5fa'
|
|
heading.style.paddingBottom = '8px'
|
|
heading.style.marginBottom = '16px'
|
|
|
|
return heading
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|