# Components

<!--{ "pin": "bottom", "order": 1 }-->

The goal of this library is not to replace HTML elements that already work very well, such as `<input>`, `<textarea>`, and `<button>`, but to provide things HTML elements simply don't, such as hierarchical menus, or do badly, such as `<select>` which cannot be styled, doesn't support separators, and has a race condition with its available options.

Visual and interactive custom elements that augment HTML5/CSS3 — dialogs,
tables, menus, layout, media, and more.

<!-- toc -->
- [3d](/babylon-3d/)
- [affix](/affix/)
- [carousel](/carousel/)
- [code](/code-editor/)
- [crud](/crud/)
- [dialog](/dialog/)
- [diff](/diff/)
- [editable-rect](/editable-rect/)
- [example](/component/)
- [float](/float/)
- [gamepads](/gamepad/)
- [header](/header/)
- [icons](/icons/)
- [layout](/layout/)
- [lottie / bodymovin](/bodymovin-player/)
- [map](/mapbox/)
- [markdown](/markdown-viewer/)
- [menu](/menu/)
- [notifications](/notifications/)
- [palette](/palette/)
- [pocket bar](/pocket-bar/)
- [popFloat](/pop-float/)
- [schema-form](/schema-form/)
- [sidebar](/side-nav/)
- [size-break](/size-break/)
- [sizer](/sizer/)
- [table](/data-table/)
- [tabs](/tab-selector/)
- [tooltip](/tooltip/)
<!-- /toc -->
