A wider screen, please

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.

Morpheus v0.1.0
v0.1.0

Link#

Component <a data-neo-link> is the kit's styled anchor: a plain native <a> that behaves exactly like a normal link (focus, keyboard activation, middle-click, :visited); the data-neo-link hook is all the kit's CSS keys on. The default variant reads as an inline prose link; the button variants make the anchor look exactly like <neo-button>  so it can stand in for a button when the destination is a URL.

Deactivate Rename Duplicate
Delete
New state Toggle autoplay
HTML CSS

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.

Replace Patch

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.

Patch

Reference#

Attributes #

NameTypeDefaultDescription
data-neo-linkbooleannoneStyling hook. Marks a native <a> for the kit's link styling; the wrapper adds it automatically, so raw HTML must include it to opt in.
hrefstringnoneLink target. Omitted attribute renders a placeholder the browser doesn't treat as a link.
variant"default" | "button-default" | "button-primary" | "button-secondary" | "button-ghost" | "button-danger""default"Visual style. default is an inline prose anchor; the rest adopt <neo-button> styling.
targetstringnoneNative browsing-context target (_blank, _self, a named context).
relstringnoneSpace-separated link-type tokens (noopener, noreferrer, nofollow, …).
downloadstringnoneTriggers a save-as instead of navigation; the value is the suggested filename.
hreflangstringnoneBCP-47 language tag of the linked resource. Hint only, consumed by AT and translation tools.
referrerpolicystringnoneHow much of the current URL is sent in the Referer header on follow. Empty inherits the document policy.
aria-disabledbooleanfalse<a> has no native disabled; the wrapper stamps aria-disabled="true" + tabindex="-1" so AT and keyboard nav skip it. The kit's CSS owns the visual state.

Slots #

NameDescription
defaultLink content: text, a <neo-icon>, or arbitrary markup.

Events #

NameDetailBubblesDescription
click noneyesNative anchor activation; also fires on Enter.

Examples#

Variants & states#

The inline default anchor, the five button-styled variants (button-default, button-primary, button-secondary, button-ghost, button-danger), and the disabled state.

Inline linkButton defaultPrimarySecondaryGhostDangerDisabled

Inline in prose#

The default variant is tuned to sit inside running text: accent colour, underline, and a focus ring that doesn't disturb the line box.

Open the getting started guide or jump straight to the API reference.

Call to action#

A button-styled link makes a navigation read as a primary action. Pair target="_blank" with rel="noopener noreferrer" on external destinations to get the cross-origin tab-isolation guarantee.

Get started Open external docs

Settings

Theme

Default Sunshine Ocean Matrix Rose

Accessibility

Playgrounds

Server Simulator