Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import './styles.scss'
|
|
|
|
import { EditorContent, useEditor } from '@tiptap/react'
|
|
import StarterKit from '@tiptap/starter-kit'
|
|
import React from 'react'
|
|
|
|
import { InsertMenu } from './InsertMenu.jsx'
|
|
import { MenuBar } from './MenuBar.jsx'
|
|
import { TextMenu } from './TextMenu.jsx'
|
|
|
|
export default () => {
|
|
const editor = useEditor({
|
|
extensions: [StarterKit],
|
|
content: `
|
|
<h2>Accessibility Demo</h2>
|
|
<p>Tab into the demo & navigate around with only your keyboard</p>
|
|
<p>Use <code>Alt + F10</code> to focus the menu bar</p>
|
|
`,
|
|
editorProps: {
|
|
attributes: {
|
|
// Make sure the editor is announced as a rich text editor
|
|
'aria-label': 'Rich Text Editor',
|
|
// editor accepts multiline input
|
|
'aria-multiline': 'true',
|
|
'aria-readonly': 'false',
|
|
},
|
|
},
|
|
})
|
|
|
|
return (
|
|
<div role="application" className="editor-application">
|
|
{/* The static menu bar */}
|
|
<MenuBar editor={editor} />
|
|
{/* The editor content */}
|
|
<EditorContent editor={editor} />
|
|
{/* Handles marks: bold, italic, etc. using a bubble menu */}
|
|
<TextMenu editor={editor} />
|
|
{/* Handles nodes: headings, lists, etc. using a floating menu */}
|
|
<InsertMenu editor={editor} />
|
|
</div>
|
|
)
|
|
}
|