Skip to content

Vizel API / svelte/src / createVizelEditor

Function: createVizelEditor() ​

ts
function createVizelEditor(options?): object;

Defined in: packages/svelte/src/runes/createVizelEditor.svelte.ts:78

Svelte 5 rune to create and manage a Vizel editor instance. Returns a reactive editor state that works with EditorContent component.

Reactive vs mount-time options ​

The Tiptap editor instance is created once on mount. To avoid expensive teardowns, most options are read once at mount and ignored on subsequent renders. The following option is an exception:

  • editable — propagated through editor.setEditable() whenever the prop value changes.

Changing initialContent, initialMarkdown, placeholder, features, extensions, flavor, locale, or autofocus after mount has no effect. Use editor.current?.commands.setContent(...) (or the corresponding feature command) to update the document after mount.

Parameters ​

ParameterType
optionsCreateVizelEditorOptions

Returns ​

object

current ​

Get Signature ​

ts
get current(): Editor | null;
Returns ​

Editor | null

Examples ​

svelte
<script lang="ts">
import { createVizelEditor, EditorContent, BubbleMenu } from '@vizel/svelte';

const editor = createVizelEditor({
  placeholder: "Start typing...",
  onUpdate: ({ editor }) => {
    console.log(editor.getJSON());
  },
});
</script>

<EditorContent editor={editor.current} />
{#if editor.current}
  <BubbleMenu editor={editor.current} />
{/if}
svelte
<script lang="ts">
// With initial markdown content
const editor = createVizelEditor({
  initialMarkdown: "# Hello World\n\nThis is **bold** text.",
});
</script>

Released under the MIT License.