Skip to content

Solid ​

@codemerge/integrate/solid is an alias of /mount (mountCodeMergeEditor + CSS). No Solid-specific component.

Value + changes ​

tsx
import { createEffect, createSignal, onCleanup, onMount } from 'solid-js';
import { mountCodeMergeEditor } from '@codemerge/integrate/solid';
import type { EditorHostHandle } from '@codemerge/integrate/solid';

export function PageEditor() {
  let el!: HTMLDivElement;
  const [html, setHtml] = createSignal('<p></p>');
  let host: EditorHostHandle | null = null;

  onMount(() => {
    host = mountCodeMergeEditor(el, {
      value: html(),
      onChange: setHtml,
    });
  });

  createEffect(() => {
    const next = html();
    host?.setValue(next);
  });

  onCleanup(() => host?.destroy());

  return <div ref={el} style={{ 'min-height': '300px' }} />;
}

Packs / upload: Host config. Load/save: Persistence.

Released under the MIT License.