Editor.js offers a block-based data model where everything is a block with a type and data. It supports tables via a beta plugin and has a rich set of features that can be extended through additional plugins. The supporting company behind Editor.js is Codex.