Features

📖 Table of Contents

Markup-driven and Intuitive API

  • Create powerful interactive forms with just plain HTML.
  • Just add data-smark attribute to relevant tags and see the magic.
  • Intuitive option names.
    • Ex.: <button data-smark='{action: "addItem", for: "myList">

Easy to use

  • Leverage your existing HTML and CSS knowledge to create powerful forms.
  • No need for extensive JavaScript coding.

Advanced capabilities

  • Addressable elements by easy-to-read path-style relative or absolute addresses.
  • Complete separation between View and Controller logic.
  • Context-based actions (no need to hard-wire context and/or target).
  • Dynamic and reactive options loading for dropdowns (comming soon).

Can hold any data structure expressible in JSON

  • With subforms and arrays.
  • Allow users to add or remove items from arrays.
  • Impose lower and upper limits for arrays lengths.

Flexible and extendable

  • JSON import and export capabilities
  • Local Import and export of any subform instead of the whole one.
  • Develop your own component types to suit your specific needs.

Lightweight yet highly compatible

  • Bundled both as modern ES Module and UMD for wide compatibility.
  • Only 20KB minified!
  • > 0.25%, browser coverage thanks to Babel