Semantic structure
Animation must never be necessary to access information.
Compose existing xsh- classes on the appropriate HTML element. Keep content order meaningful when CSS is disabled.
Coordinated motion modes with automatic reduced-motion handling.
A sample of the shipped motion catalogue. Animate only content where motion improves orientation or communicates state.
<div class="xsh-ref-flex"><span class="xsh-ref-motion-pill xsh-motion-slow">slow</span><span class="xsh-ref-motion-pill xsh-motion-fast">fast</span><span class="xsh-ref-motion-pill xsh-motion-loop">loop</span><span class="xsh-ref-motion-pill xsh-motion-entrance-01">entrance-01</span><span class="xsh-ref-motion-pill xsh-motion-entrance-02">entrance-02</span><span class="xsh-ref-motion-pill xsh-motion-entrance-03">entrance-03</span><span class="xsh-ref-motion-pill xsh-motion-entrance-04">entrance-04</span><span class="xsh-ref-motion-pill xsh-motion-entrance-05">entrance-05</span><span class="xsh-ref-motion-pill xsh-motion-entrance-06">entrance-06</span><span class="xsh-ref-motion-pill xsh-motion-entrance-07">entrance-07</span><span class="xsh-ref-motion-pill xsh-motion-entrance-08">entrance-08</span><span class="xsh-ref-motion-pill xsh-motion-entrance-09">entrance-09</span></div>Set data-xsh-motion=none|subtle|expressive, use xsh-transition-all and xsh-duration-300 utilities.
<button class="xsh-btn xsh-btn-primary xsh-transition-all xsh-hover-scale-105">Hover carefully</button>Customize this component through --xsh-* CSS tokens, data-xsh-* configuration attributes and documented xsh-* utilities. Use the optional JavaScript distribution only when an interactive behavior is needed.
These selectors exist in the current distribution. An entry in this table does not imply that arbitrary modifier combinations are meaningful; use the examples above for the intended composition.
| Class | Purpose | Delivery |
|---|---|---|
.xsh-animate-fade | Composable modifier / structure class | CSS-only |
.xsh-animate-rise | Composable modifier / structure class | CSS-only |
.xsh-animate-scale | Composable modifier / structure class | CSS-only |
Animation must never be necessary to access information.
Compose existing xsh- classes on the appropriate HTML element. Keep content order meaningful when CSS is disabled.
Use prefers-reduced-motion to disable or simplify nonessential movement.
Load xshna.min.js only if the documented interaction needs it. Your application remains responsible for data, persistence and business rules.
Avoid continuous expensive blur/filter effects on dense interfaces.
Test 320px-wide viewports, container-constrained instances, keyboard zoom, longer translations and right-to-left text where relevant.
Use --xsh-* CSS variables for theme values and data-xsh-design / data-xsh-density on the xsh-app root.
Prefer design tokens over hard-coded overrides so components remain coherent across personalities.