This page features interactive demos and side-by-side code samples that need at least 340 pixels of horizontal space. Please widen your browser window, or rotate your device, to continue.
Component <neo-input-group> is a layout wrapper that flushes leading and trailing addons (text, icons, buttons) against an <input> or <neo-textinput> under one merged border. DOM order decides placement; the group owns border, radius, and focus ring so the inner field drops its own.
Default
Currency prefix
Search
Search with shortcut
Search with submit
Toolbar
Disabled
DeactivateRenameDuplicateDelete
The preview routes through the in-browser server simulator. Its current Settings (network latency, a non-200 response, or an unreachable server) are in effect, so the live preview can look like it is misbehaving. Adjust them in the Settings panel.
New state Toggle autoplay
HTMLCSS
The selected state's markup and its scoped CSS. The CSS is wrapped in <style>@scope { ... }</style> and applies to the preview only. Edits change the preview above, applied live while Sync is on, or when you click Patch or Replace. Patch morphs the preview; Replace swaps it outright.
Signals
Datastar signals declared in the selected state's markup. Change a value to drive the preview, applied live while Sync is on, or when you click Patch.
Drop a <neo-combobox> in as a trailing addon to let the user pick from a short list of domains. The combobox's trigger adopts the addon background via a small demo-only override.
Several addons at once: a <neo-toggle> flipping between min and max on the left, a stack of <neo-select>s on the right (mass unit + rate denominator). The inner input takes the remaining horizontal space.
A <neo-select> of comparison operators sits between two number-only <neo-textinput> fields, composing one condition. The operator is a fixed glyph-width column that opens on hover; the operands share the rest.
Pair an input with an action button (copy, submit, toggle visibility…). A direct <neo-button> automatically drops its border and radius so it sits flush.
A window menubar: each <neo-button> opens a <neo-menu> dropdown and the group merges them under one border.
FileNew fileOpen…SaveQuitEditUndoRedoCutCopyPasteViewZoom inZoom outLightDarkSystemSelectionSelect allExpand selectionShrink selectionCopy line upCopy line down