Skip to content
Layers
Esc
↑↓navigate↵open⌘Jpreview
On this page

solid

Interfaces

UseStackOptions

Defined in: packages/solid/src/index.ts:68

Type Parameters

Type Parameter Default type
T LayerState[]

Properties

Property Type Defined in
stack? string packages/solid/src/index.ts:69
select? (states) => T packages/solid/src/index.ts:70
compare? (a, b) => boolean packages/solid/src/index.ts:71

UseLayerStateOptions

Defined in: packages/solid/src/index.ts:74

Type Parameters

Type Parameter Default type
Key extends LayerKey -
P unknown
D unknown
U LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[]

Properties

Property Type Defined in
key Key packages/solid/src/index.ts:80
stack? string packages/solid/src/index.ts:81
select? (states) => U packages/solid/src/index.ts:82
compare? (a, b) => boolean packages/solid/src/index.ts:83

StackHandles

Defined in: packages/solid/src/index.ts:340

Properties

Property Type Defined in
states Accessor<LayerState<unknown, void, Error, unknown>[]> packages/solid/src/index.ts:341
getCall (state) => LayerCallContext<unknown, unknown> packages/solid/src/index.ts:342

MutationRun

Defined in: packages/solid/src/index.ts:436

Type Parameters

Type Parameter
R

Properties

Property Type Description Defined in
orEnd (response) => Promise<void> On success, end the layer with response; on failure, leave it open and rethrow. packages/solid/src/index.ts:438

MutationFlow

Defined in: packages/solid/src/index.ts:441

Type Parameters

Type Parameter
R

Properties

Property Type Description Defined in
pending Accessor<boolean> True while a run(...) async action is in flight. Mirrors the layer’s actionStatus: "running". packages/solid/src/index.ts:443
run (fn) => MutationRun<R> - packages/solid/src/index.ts:444

ScopedOpen()

Defined in: packages/solid/src/index.ts:490

Open a layer on a pre-bound stack, with DataTag response and error inference.

Call Signature

ScopedOpen<P, R, E, D, RootProps>(options): Promise<R>;

Defined in: packages/solid/src/index.ts:491

Open a layer on a pre-bound stack, with DataTag response and error inference.

Type Parameters
Type Parameter Default type
P -
R -
E Error
D unknown
RootProps unknown
Parameters
Parameter Type
options OmitKeyof<OpenLayerOptions<P, R, E, D, RootProps> & object, "stack" | "validate">
Returns

Promise<R>

Call Signature

ScopedOpen<P, R, E, D, RootProps>(options): Promise<R>;

Defined in: packages/solid/src/index.ts:499

Open a layer on a pre-bound stack, with DataTag response and error inference.

Type Parameters
Type Parameter Default type
P -
R void
E Error
D unknown
RootProps unknown
Parameters
Parameter Type
options OmitKeyof<OpenLayerOptions<P, R, E, D, RootProps>, "stack">
Returns

Promise<R>


LayerGroup

Defined in: packages/solid/src/index.ts:504

Properties

Property Type Description Defined in
open ScopedOpen - packages/solid/src/index.ts:505
dismissAll (response?) => void - packages/solid/src/index.ts:506
states Accessor<LayerState<unknown, void, Error, unknown>[]> - packages/solid/src/index.ts:507
Outlet Component<{ rootProps?: unknown; }> Renders the child stack inline — place inside the parent layer’s DOM. packages/solid/src/index.ts:509
stackId string - packages/solid/src/index.ts:510

AppStack

Defined in: packages/solid/src/index.ts:567

Properties

Property Type Defined in
open ScopedOpen packages/solid/src/index.ts:568
dismissAll (response?) => void packages/solid/src/index.ts:569
states Accessor<LayerState<unknown, void, Error, unknown>[]> packages/solid/src/index.ts:570

AppLayerProps

Defined in: packages/solid/src/index.ts:573

Type Parameters

Type Parameter Default type
P -
R void

Properties

Property Type Description Defined in
options OmitKeyof<LayerOptions<P, R>, "stack"> Layer definition with the stack supplied by the factory. packages/solid/src/index.ts:575
open boolean Controlled visibility. true opens the layer; false dismisses it. packages/solid/src/index.ts:577
payload P - packages/solid/src/index.ts:578
onResolved? (response) => void Called when the layer resolves. packages/solid/src/index.ts:580

StackHook

Defined in: packages/solid/src/index.ts:583

Type Parameters

Type Parameter
HostProps

Properties

Property Type Defined in
StackProvider (props) => Element packages/solid/src/index.ts:584
useAppStack () => AppStack packages/solid/src/index.ts:588
AppHost (props) => Element packages/solid/src/index.ts:589
AppLayer <P, R>(props) => null packages/solid/src/index.ts:590

Type Aliases

WiredLayerHandle

type WiredLayerHandle<P, R, E, D, RP> = LayerHandle<P, R, E, D, RP> & object;

Defined in: packages/solid/src/index.ts:86

Type Declaration

Name Type Defined in
state Accessor<LayerState<P, R, E, D>[]> packages/solid/src/index.ts:93
queued Accessor<LayerState<P, R, E, D>[]> packages/solid/src/index.ts:94
top Accessor< | LayerState<P, R, E, D> | null> packages/solid/src/index.ts:95

Type Parameters

Type Parameter Default type
P -
R -
E DefaultLayerError
D unknown
RP unknown

WiredValidatedLayerHandle

type WiredValidatedLayerHandle<V, R, E, D, RP> = ValidatedLayerHandle<V, R, E, D, RP> & object;

Defined in: packages/solid/src/index.ts:98

Type Declaration

Name Type Defined in
state Accessor<LayerState<InferValidatorOutput<V>, R, E, D>[]> packages/solid/src/index.ts:105
queued Accessor<LayerState<InferValidatorOutput<V>, R, E, D>[]> packages/solid/src/index.ts:106
top Accessor< | LayerState<InferValidatorOutput<V>, R, E, D> | null> packages/solid/src/index.ts:107

Type Parameters

Type Parameter Default type
V extends Validator<unknown> -
R -
E DefaultLayerError
D unknown
RP unknown

Variables

LayerClientContext

const LayerClientContext: Context<LayerClient | undefined>;

Defined in: packages/solid/src/index.ts:47

Provides a LayerClient to a Solid component tree.


createStack

const createStack: <T>(opts, client?) => Accessor<T> = useStack;

Defined in: packages/solid/src/index.ts:327

Solid-idiomatic alias for useStack.

Subscribe to a selected slice of a stack’s mounted snapshot.

Type Parameters

Type Parameter Default type
T LayerState<unknown, void, Error, unknown>[]

Parameters

Parameter Type
opts UseStackOptions<T>
client? LayerClient

Returns

Accessor<T>


createLayerState

const createLayerState: <Key, P, D, U>(opts, client?) => Accessor<U> = useLayerState;

Defined in: packages/solid/src/index.ts:330

Solid-idiomatic alias for useLayerState.

Observe all mounted layers matching a key.

A DataTag key infers its response and error types.

Type Parameters

Type Parameter Default type
Key extends LayerKey -
P unknown
D unknown
U LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[]

Parameters

Parameter Type
opts UseLayerStateOptions<Key, P, D, U>
client? LayerClient

Returns

Accessor<U>


createQueuedStack

const createQueuedStack: <T>(opts, client?) => Accessor<T> = useQueuedStack;

Defined in: packages/solid/src/index.ts:333

Solid-idiomatic alias for useQueuedStack.

Subscribe to a selected slice of a stack’s queued snapshot.

Type Parameters

Type Parameter Default type
T LayerState<unknown, void, Error, unknown>[]

Parameters

Parameter Type
opts UseStackOptions<T>
client? LayerClient

Returns

Accessor<T>


createLayerQueuedState

const createLayerQueuedState: <Key, P, D, U>(opts, client?) => Accessor<U> = useLayerQueuedState;

Defined in: packages/solid/src/index.ts:336

Solid-idiomatic alias for useLayerQueuedState.

Observe all queued layers matching a key.

Type Parameters

Type Parameter Default type
Key extends LayerKey -
P unknown
D unknown
U LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[]

Parameters

Parameter Type
opts UseLayerStateOptions<Key, P, D, U>
client? LayerClient

Returns

Accessor<U>

Functions

useLayerClient()

function useLayerClient(): LayerClient;

Defined in: packages/solid/src/index.ts:50

Reads the nearest LayerClient from Solid context.

Returns

LayerClient


useStack()

function useStack<T>(opts?, client?): Accessor<T>;

Defined in: packages/solid/src/index.ts:154

Subscribe to a selected slice of a stack’s mounted snapshot.

Type Parameters

Type Parameter Default type
T LayerState<unknown, void, Error, unknown>[]

Parameters

Parameter Type
opts UseStackOptions<T>
client? LayerClient

Returns

Accessor<T>


useQueuedStack()

function useQueuedStack<T>(opts?, client?): Accessor<T>;

Defined in: packages/solid/src/index.ts:167

Subscribe to a selected slice of a stack’s queued snapshot.

Type Parameters

Type Parameter Default type
T LayerState<unknown, void, Error, unknown>[]

Parameters

Parameter Type
opts UseStackOptions<T>
client? LayerClient

Returns

Accessor<T>


useLayerState()

function useLayerState<Key, P, D, U>(opts, client?): Accessor<U>;

Defined in: packages/solid/src/index.ts:184

Observe all mounted layers matching a key.

A DataTag key infers its response and error types.

Type Parameters

Type Parameter Default type
Key extends LayerKey -
P unknown
D unknown
U LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[]

Parameters

Parameter Type
opts UseLayerStateOptions<Key, P, D, U>
client? LayerClient

Returns

Accessor<U>


useLayerQueuedState()

function useLayerQueuedState<Key, P, D, U>(opts, client?): Accessor<U>;

Defined in: packages/solid/src/index.ts:207

Observe all queued layers matching a key.

Type Parameters

Type Parameter Default type
Key extends LayerKey -
P unknown
D unknown
U LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[]

Parameters

Parameter Type
opts UseLayerStateOptions<Key, P, D, U>
client? LayerClient

Returns

Accessor<U>


useLayer()

Call Signature

function useLayer<V, R, E, D, RP>(options, client?): WiredValidatedLayerHandle<V, R, E, D, RP>;

Defined in: packages/solid/src/index.ts:288

Wired handle: createLayer + reactive state/queued/top.

Type Parameters
Type Parameter Default type
V extends Validator<unknown> -
R -
E Error
D unknown
RP unknown
Parameters
Parameter Type
options LayerOptions<InferValidatorOutput<V>, R, E, D, RP> & object
client? LayerClient
Returns

WiredValidatedLayerHandle<V, R, E, D, RP>

Call Signature

function useLayer<P, R, E, D, RP>(options, client?): WiredLayerHandle<P, R, E, D, RP>;

Defined in: packages/solid/src/index.ts:302

Wired handle: createLayer + reactive state/queued/top.

Type Parameters
Type Parameter Default type
P -
R -
E Error
D unknown
RP unknown
Parameters
Parameter Type
options LayerOptions<P, R, E, D, RP> & object
client? LayerClient
Returns

WiredLayerHandle<P, R, E, D, RP>


useStackHandles()

function useStackHandles(stack?, rootProps?): StackHandles;

Defined in: packages/solid/src/index.ts:346

Return the states and call contexts needed to render a stack headlessly.

Parameters

Parameter Type Default value
stack string "default"
rootProps? unknown undefined

Returns

StackHandles


StackOutlet()

function StackOutlet(props): Element;

Defined in: packages/solid/src/index.ts:366

Render every active layer in a stack with its registered component.

Parameters

Parameter Type
props { stack?: string; rootProps?: unknown; }
props.stack? string
props.rootProps? unknown

Returns

Element


StackSubscribe()

function StackSubscribe<T>(props): Element;

Defined in: packages/solid/src/index.ts:427

Render a selected stack value through a render prop.

Type Parameters

Type Parameter
T

Parameters

Parameter Type
props { stack?: string; selector: (states) => T; children: (value) => Element; }
props.stack? string
props.selector (states) => T
props.children (value) => Element

Returns

Element


useMutationFlow()

function useMutationFlow<P, R, RootProps>(call): MutationFlow<R>;

Defined in: packages/solid/src/index.ts:467

Coordinate a layer’s pending state with an async mutation and end it on success.

Type Parameters

Type Parameter Default type
P -
R -
RootProps unknown

Parameters

Parameter Type
call LayerCallContext<P, R, RootProps>

Returns

MutationFlow<R>

Example

import { type LayerComponentProps, useMutationFlow } from "@stainless-code/solid-layers";

function Confirm(props: LayerComponentProps<void, boolean>) {
  const flow = useMutationFlow(props.call);
  return (
    <button
      disabled={flow.pending()}
      onClick={() => void flow.run(() => Promise.resolve()).orEnd(true)}
    >
      Confirm
    </button>
  );
}

useLayerGroup()

function useLayerGroup<P, R, RootProps>(call, options?): LayerGroup;

Defined in: packages/solid/src/index.ts:519

Create a child stack scoped to the calling layer’s lifetime.

The child stack is disposed and cleared via cancelAll when its parent layer unmounts (LayerCancelledError).

Type Parameters

Type Parameter Default type
P -
R -
RootProps unknown

Parameters

Parameter Type
call LayerCallContext<P, R, RootProps>
options? LayerGroupOptions

Returns

LayerGroup


createStackHook()

function createStackHook<HostProps>(config?): StackHook<HostProps>;

Defined in: packages/solid/src/index.ts:594

Create provider, host, controlled-layer, and access hooks bound to one stack.

Type Parameters

Type Parameter Default type
HostProps extends object object

Parameters

Parameter Type
config { client?: LayerClient; stack?: string; Host?: Component<object & HostProps>; }
config.client? LayerClient
config.stack? string
config.Host? Component<object & HostProps>

Returns

StackHook<HostProps>

References

assertLayerKey

Re-exports assertLayerKey


hashKey

Re-exports hashKey


keySignature

Re-exports keySignature


shallowArrayEqual

Re-exports shallowArrayEqual


Subscribable

Re-exports Subscribable


notifyManager

Re-exports notifyManager


ControlledPromise

Re-exports ControlledPromise


Resolve

Re-exports Resolve


Reject

Re-exports Reject


Layer

Re-exports Layer


LayerStack

Re-exports LayerStack


LayerClient

Re-exports LayerClient


layerOptions

Re-exports layerOptions


createLayer

Re-exports createLayer


LayerHandle

Re-exports LayerHandle


ValidatedLayerHandle

Re-exports ValidatedLayerHandle


layerKey

Re-exports layerKey


DataTag

Re-exports DataTag


InferDataTagResponse

Re-exports InferDataTagResponse


InferDataTagError

Re-exports InferDataTagError


ResponseOf

Re-exports ResponseOf


ErrorOf

Re-exports ErrorOf


createCallContext

Re-exports createCallContext


childStackId

Re-exports childStackId


createLayerGroup

Re-exports createLayerGroup


LayerGroupHandle

Re-exports LayerGroupHandle


LayerGroupOptions

Re-exports LayerGroupOptions


StandardSchemaV1

Re-exports StandardSchemaV1


Validator

Re-exports Validator


InferValidatorInput

Re-exports InferValidatorInput


InferValidatorOutput

Re-exports InferValidatorOutput


OpenValidatePayload

Re-exports OpenValidatePayload


PayloadValidationError

Re-exports PayloadValidationError


isPayloadValidationError

Re-exports isPayloadValidationError


LayerKeyError

Re-exports LayerKeyError


isLayerKeyError

Re-exports isLayerKeyError


LayerCancelledError

Re-exports LayerCancelledError


isLayerCancelledError

Re-exports isLayerCancelledError


ValidationIssue

Re-exports ValidationIssue


LayerCancelReason

Re-exports LayerCancelReason


LayerKey

Re-exports LayerKey


LayerPhase

Re-exports LayerPhase


LayerTransition

Re-exports LayerTransition


LayerActionStatus

Re-exports LayerActionStatus


BlockerFn

Re-exports BlockerFn


StackBlockerFn

Re-exports StackBlockerFn


DismissAllMode

Re-exports DismissAllMode


DismissOptions

Re-exports DismissOptions


DismissAllOptions

Re-exports DismissAllOptions


LayerState

Re-exports LayerState


LayerCallContext

Re-exports LayerCallContext


LayerComponentProps

Re-exports LayerComponentProps


LayerComponent

Re-exports LayerComponent


LayerOptions

Re-exports LayerOptions


PayloadArg

Re-exports PayloadArg


ResponseArgTuple

Re-exports ResponseArgTuple


EndArgs

Re-exports EndArgs


DismissAllArgs

Re-exports DismissAllArgs


CancelQueuedArgs

Re-exports CancelQueuedArgs


HandleDismissArgs

Re-exports HandleDismissArgs


OpenLayerOptions

Re-exports OpenLayerOptions


OmitKeyof

Re-exports OmitKeyof


SerialOnLoadError

Re-exports SerialOnLoadError


StackOptions

Re-exports StackOptions


StackDefaults

Re-exports StackDefaults


LayerClientOptions

Re-exports LayerClientOptions


StackNotifyAction

Re-exports StackNotifyAction


LayerNotifyView

Re-exports LayerNotifyView


StackNotifyEvent

Re-exports StackNotifyEvent


Register

Re-exports Register


DefaultLayerError

Re-exports DefaultLayerError

Was this page helpful?