6.3.1 • Published 2 months ago

@replit/codemirror-interact v6.3.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

CodeMirror Interact

A CodeMirror extension that lets you interact with different values (clicking, dragging, etc).

https://user-images.githubusercontent.com/9929523/147966613-270cdece-564f-4906-b6e8-b48975a0d9e2.mp4

demo

Usage

import { EditorState } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
import interact from '@replit/codemirror-interact';

// hold Alt and drag / click values
new EditorView({
  state: EditorState.create({
    doc: 'const num = 123',
    extensions: [
      interact({
        rules: [
          // a rule for a number dragger
          {
            // the regexp matching the value
            regexp: /-?\b\d+\.?\d*\b/g,
            // set cursor to "ew-resize" on hover
            cursor: "ew-resize",
            // change number value based on mouse X movement on drag
            onDrag: (text, setText, e) => {
              const newVal = Number(text) + e.movementX;
              if (isNaN(newVal)) return;
              setText(newVal.toString());
            },
          }
        ],
      }),
    ],
  }),
  parent: document.querySelector('#editor'),
});
6.3.1

2 months ago

6.3.0

9 months ago

6.1.0

1 year ago

6.0.3

1 year ago

6.0.4

1 year ago

6.0.2

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

0.20.0

2 years ago

0.19.2

2 years ago

0.19.1

2 years ago

0.19.0

2 years ago