Skip to content
SLICES / TECHNICAL FOLIO Nº 001FULL-STACK ASSEMBLIES — OPEN SOURCE

Headless / Setup

Service setup notice

One gate that opens when a route has answered that the server could not load what a service needs. It has no looks and no words: a pattern draws it as a notice. Every service family spreads it into its own namespace with its scope already set, so a screen writes Files.MissingConfiguration or Avatar.MissingConfiguration.

2 public parts · 2examples

@slices.sh/core/headless/configurationView as Markdown ↗

Your design. Our behavior.

Explore the tree to see what each part controls. Gates reveal the relevant state; roots outline their scope.

Behavior / inputGateGenericRenderer · not headlessScope
COMPONENT ANATOMYHover · focus · tap
ONE POSSIBLE DESIGNStatic preview

Configuration.Missing · Generic

Configuration.MissingThe server answered that it lacks configuration this screen needs.

Installation

Choose what your component needs. Run these commands in an initialized Next.js app.

0

Before you start

The steps below run in a Next.js app with shadcn set up (it has a components.json). In an existing Next.js app, such as one from create-next-app, set shadcn up first:

npx shadcn@latest init -t next -b base -p nova

Or start fresh: the slices CLI creates the app and sets it up.

npx slices.sh install
1

Install the headless library

npm

Add the React parts to your app, then compose them with your own elements.

npm install @slices.sh/core@^0.1.7

Import from @slices.sh/core/headless/configuration.

These parts run locally. No service installation or provisioning is needed.

Start small

Parts bring the behavior. Use their default elements, or supply your own with render.

example.tsx
"use client"import { Configuration } from "@slices.sh/core/headless/configuration"export function Example() {  return (    <Configuration.Missing>      <p role="alert">This feature needs server configuration.</p>    </Configuration.Missing>  )}

This gate opens after a service reports a configuration error. It does not replace required-root setup errors.

API reference

Every public part used by this experience is listed below. Gates render children without adding an element. Element parts accept native element props and render; function children receive the state declared in their props. Scopes provide context rather than a visual element.

Configuration.Missinggate · Generic

The server answered that it lacks configuration this screen needs. Not an error to retry and not a state of the user's: nothing they do changes it, and somebody who can is a developer reading a log. So it says only that something is not set up, and who to tell, and leaves the settings themselves to the server's log — the answer never carried them. A gate that draws nothing until a request has actually learned this, because a screen that guessed would warn about a deployment that is fine. → docs/rules/states-gate-themselves.md

Props

2 documented props

Configuration.Missing props
PropTypeDefault
scope

The service (or services) this screen stands on, so another service's trouble is not its notice.

string | readonly string[]—
children

Content rendered inside this part.

ReactNode | ((state: { scopes: readonly string[] }) => ReactNode)—

Required props are marked. A dash means no explicit default is declared in this component.

Source: @slices.sh/core/src/headless/configuration/missing-configuration.tsx

MissingConfigurationgate · Generic

The server answered that it lacks configuration this screen needs. Not an error to retry and not a state of the user's: nothing they do changes it, and somebody who can is a developer reading a log. So it says only that something is not set up, and who to tell, and leaves the settings themselves to the server's log — the answer never carried them. A gate that draws nothing until a request has actually learned this, because a screen that guessed would warn about a deployment that is fine. → docs/rules/states-gate-themselves.md

Props

2 documented props

MissingConfiguration props
PropTypeDefault
scope

The service (or services) this screen stands on, so another service's trouble is not its notice.

string | readonly string[]—
children

Content rendered inside this part.

ReactNode | ((state: { scopes: readonly string[] }) => ReactNode)—

Required props are marked. A dash means no explicit default is declared in this component.

Source: @slices.sh/core/src/headless/configuration/missing-configuration.tsx

When something is missing

No service required
These parts run locally. Their parent contexts and required props still apply.
Missing capability or parent scope
Follow each part’s context requirements and the example composition. Capability-aware controls hide when the provider cannot perform their action.
Read the setup guide →