Spinner & skeleton.
Loading states that keep the layout steady.
LIVE PREVIEWTry it. It works.
Loading projects
Usage
<Spinner label="Loading projects" />
<Skeleton width="70%" height="1rem" />Import components from @bld8/ui and include @bld8/ui/styles.css once. Wrap the application in UIProvider.
API & behaviour
Spinner is decorative without a label, or a status with one. Skeleton accepts width and height and is always hidden from assistive technology. Reduced motion stops spinner rotation.
Notes to self
Test this component with real content, keyboard input and both themes. The example is a starting point; labels, error handling and behaviour still need to fit the application.