xxshna.ui
V 1.1.0Get started ↗

Settings toggle rows

Align preference titles, supporting descriptions, and real switches.

Catalog · 1.1HTML, CSS & optional JSNo runtime dependencies

Live preview

Interactive exampleOpen playground ↗
Security alerts

Notify me about important account events.

HTML
<div class="xsh-settings-row">
<div>
<strong>Security alerts</strong>
<p>Notify me about important account events.</p>
</div>
<label class="xsh-switch">
<input type="checkbox" checked aria-label="Security alerts">
<span class="xsh-switch__track">
</span>
</label>
</div>

Installation & markup

Include the local stylesheet and script once on the page, then place the component inside a data-xsh-ui root. The example above works without a build system.

<link rel="stylesheet" href="/dist/xshna-ui.css">
<div data-xsh-ui>
  <!-- Add the HTML example above -->
</div>
<script defer src="/dist/xshna-ui.js"></script>

Component API

Public classes, attributes and hooks used by this example. Keep the xsh- prefix intact.

IdentifierContract
xsh-settings-rowUsed by the example markup and component styles or behavior.
xsh-switchUsed by the example markup and component styles or behavior.

Accessibility & keyboard

The real checkbox is activated by click and Space.

Implementation note. Store preference values in your application when using in settings pages.

Interaction contract

Behavioral components use the shared delegated runtime; visual-only primitives rely on semantic HTML and CSS. Runtime controls emit bubbling xsh:* CustomEvents; bind application handlers to those events when server persistence, API data or navigation is required.