Neura - UI components for Nsys

A modern, dependency-light UI component library for the Nsys platform. Successor to AUI 5.4, built to drop into the existing server-rendered (Velocity + jQuery) stack without rewriting the frontend.

About the name

Neura takes its name from the Greek neûra (νεῦρα), "sinews" or "nerves" - the threads that connect a body. The library plays the same role: small, focused UI parts that wire together a coherent interface from server-rendered fragments.

Pronunciation: NEW-rə (IPA /ˈnjʊərə/), like "neural" without the L. Two syllables, stress on the first. The name pairs phonetically with Nsys (the platform) and the predecessor AUI: three short brandable words sharing a vowel-forward sound.

Who Neura is for

The docs and component surface are designed for two audiences in parallel:

Human developers

Frontend and full-stack engineers working on Nsys, or on any Velocity / jQuery / Java-rendered app that wants a modern UI without a React or Vue rewrite. Each component page has a Summary, When to use, live Examples, copy-paste HTML, a CSS classes table, the JavaScript API, and an AUI compatibility note.

AI coding agents

Claude Code, Codex, Gemini, and similar coding assistants use this sandbox as their reference surface when generating code that targets Neura. A machine-readable llms.txt at the sandbox root indexes every component's markup contract, JS API, and migration map from AJS.* / aui-* to Neura.* / neura-*.

Both audiences share the same rule: always use Neura.* and neura-* for new code. The AJS.* JavaScript API and aui-* CSS classes exist only for back-compat with pre-existing Nsys code, are documented under AUI compatibility, and will drop at 2.0. The reasoning behind the library's look and rigor is written down in Design principles and How it's built.

Components

Pick a component from the sidebar, or jump straight in:

Component matrix

The full component surface at a glance. Parity means the component ports AUI 5.4 and its legacy aui-* / AJS.* spellings keep working through the compatibility shim; Neura-native means the component has no AUI equivalent and no legacy spelling. Auto-init is the selector wired up on DOMContentLoaded; "imperative" components are created by calling their API.

ComponentKindJS APIAuto-initAUI 5.4Since
AvatarsCSSParity (aui-avatar)0.1.0
BadgesCSSParity (aui-badge)0.1.0
BannersCSS + JSNeura.banner.neura-banner (close wiring)Neura-native0.2.0
ButtonsCSSParity (aui-button)0.1.0
Date pickerCSS + JSNeura.datePicker / dateRange.neura-date-picker-inputParity (AJS.DatePicker; own calendar DOM)0.1.0
DialogsCSS + JSNeura.dialog2imperativeParity (AJS.dialog2 + legacy AJS.Dialog v1)0.1.0
DropdownsCSS + JSNeura.dropdown2.neura-dropdown2-trigger[aria-controls]Parity (AJS.dropdown2 + v1 dropDown)0.1.0
ExpanderCSS + JSNeura.expander.neura-expander-trigger[aria-controls]Parity (AJS.expander)0.1.0
FlagsCSS + JSNeura.flagimperative (dynamic only)Neura-native0.2.0
FormsCSSParity (form.aui)0.1.0
HeaderCSS + JSNeura.responsiveHeader.neura-header[data-neura-responsive]Parity (AJS.responsiveheader)0.1.0
IconsCSSParity (aui-iconfont-* mapped to mask glyphs)0.1.0
Inline dialogCSS + JSNeura.inlineDialog.neura-inline-dialog-trigger[aria-controls]Parity (AJS.InlineDialog)0.1.0
LabelsCSSParity (aui-label)0.1.0
LozengesCSSParity (aui-lozenge)0.1.0
MessagesCSS + JSNeura.message + .create.neura-message (close wiring)Parity (AJS.messages.*)0.1.0 ¹
NavigationCSSParity (aui-navgroup, breadcrumbs, pagination)0.1.0
PageCSSParity (page skeleton + footer)0.1.0
Page headerCSSParity (aui-page-header)0.1.0
Page layoutCSSParity (aui-page-panel)0.1.0
PanelsCSSNeura-native (.aui-panel deliberately not aliased; AUI 5.4 gave it no chrome)0.1.0
ProgressCSS + JSNeura.progressimperativeParity (AJS.progressBars.*)0.1.0 ¹
QuicksearchCSSParity (aui-quicksearch)0.1.0
RESTful tableCSS + JSNeura.restfulTableimperativeParity (AJS.RestfulTable; AUI-experimental)0.1.0
SelectCSS + JSNeura.selectimperativeParity (auiSelect2; AUI-experimental)0.1.0
ShortcutsJSNeura.shortcutsimperativeParity (AJS.whenIType)0.1.0
SidebarCSS + JSNeura.sidebarimperativeParity ($.fn.sidebar; AUI-experimental)0.1.0
SpinnerCSS + JSNeura.spinner / spinnerStopimperativeParity ($.fn.spin)0.1.0
TablesCSS + JSNeura.sortableTabletable.neura-table-sortableParity (AJS.tablessortable)0.1.0 ¹
TabsCSS + JSNeura.tabs.neura-tabs:not(.neura-tabs-disabled)Parity (AJS.tabs)0.1.0
ToolbarsCSSParity (aui-toolbar2)0.1.0
TooltipCSS + JSNeura.tooltip[data-neura-tooltip]Parity ($.fn.tooltip)0.1.0
TypographyCSSParity (element-level, no classes)0.1.0
UtilitiesCSSParity (legacy .hidden / .assistive)0.1.0

¹ Styling and behavior since 0.1.0; the Neura-native JS API (Neura.message.create, Neura.progress, Neura.sortableTable) was promoted from the AUI shim in 0.2.0.

Beyond components, the library-level APIs are Neura.theme (Theming) and Neura.i18n (i18n).