Skip to content
This repository has been archived by the owner on Sep 5, 2024. It is now read-only.
/ math-input Public archive
forked from Khan/math-input

math-input = react + redux + mathquill

License

Notifications You must be signed in to change notification settings

ShaMan123/math-input

 
 

Repository files navigation

math-input

Khan Academy's new expression editor for the mobile web. Used in the Perseus exercise framework to power math input and expression editing on small screens.

Built with React, Redux, MathQuill, Aphrodite, and more.

Try it yourself on Khan Academy. (Note: you'll need to enable mobile emulation, if you're accessing the site from a desktop browser.)

Supported Features

  • Multiple keypad configurations, so as to accommodate a range of input types (i.e., fractions/mixed numbers, algebraic expressions).
  • Multi-page keypads, with swipeable page navigation.
  • Touch-and-drag interactions (as supported by the stock iOS and Android keypads).
  • A draggable cursor with a detached handle, for fine-grained control on touch devices.
  • Custom state transitions for the editing experience, to streamline expression entry.

Demo

A live demo is available via GitHub Pages. You can configure some of the keypad's behaviors, along with the set of active keys, via the editor.

Note that, as the input and keypad only respond to touch events, you'll need to enable mobile emulation (e.g., as supported by Chrome) in order to use the keypad in a desktop browser.

To run the demo locally, clone the repo, yarn install, yarn watch, and open the index.html page. The local behaviors can similarly be customized via the editor @ custom.html.

License

MIT License

About

math-input = react + redux + mathquill

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.7%
  • CSS 2.0%
  • Other 1.3%