# Client-only application

A separate Next.js static export with an explicit client-only document boundary.

## Client rendering and static output

Faye UI can be used in a client-rendered React application. Import the public component entrypoints and load the theme at the application boundary, as shown in [installation](/docs/installation/).

A static host and client rendering are different choices. A framework can generate complete initial HTML and hydrate its interactive controls, or load a client-only interface after startup. Choose the rendering model that fits your application's content and framework.

## Loading without layout shifts

Reserve the expected content frame while client-only content loads. Use Skeleton for structure, Spinner or Progress for status, and meaningful accessible status text. Keep navigation, page titles and persistent controls stable. Preserve dimensions when a loading state changes and respect reduced motion.

## Documentation examples

The prerendered documentation profile includes article content and route-specific examples in the initial HTML. Its client-only comparison reserves the same page geometry while loading. Markdown, API JSON and example resources remain directly readable without JavaScript.

## Themes and overlays

Apply matching initial theme preferences before content becomes visible, then preserve the same snapshot during hydration. Modal scroll locking should retain desktop scrollbar space so opening an overlay does not change the content width. See [server rendering](/docs/server-rendering/), [themes](/docs/theming/) and [dialogs](/docs/dialogs/).
