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

preact

Interfaces

UseStackOptions

Defined in: packages/preact/src/index.ts:81

Type Parameters

Type Parameter Default type
T LayerState[]

Properties

Property Type Defined in
stack? string packages/preact/src/index.ts:82
select? (states) => T packages/preact/src/index.ts:83
compare? (a, b) => boolean packages/preact/src/index.ts:84

UseLayerStateOptions

Defined in: packages/preact/src/index.ts:87

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/preact/src/index.ts:93
stack? string packages/preact/src/index.ts:94
select? (states) => U packages/preact/src/index.ts:95
compare? (a, b) => boolean packages/preact/src/index.ts:96

StackHandles

Defined in: packages/preact/src/index.ts:335

Properties

Property Type Defined in
states LayerState<unknown, void, Error, unknown>[] packages/preact/src/index.ts:336
getCall (state) => LayerCallContext<unknown, unknown> packages/preact/src/index.ts:337

MutationRun

Defined in: packages/preact/src/index.ts:415

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/preact/src/index.ts:417

MutationFlow

Defined in: packages/preact/src/index.ts:420

Type Parameters

Type Parameter
R

Properties

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

ScopedOpen()

Defined in: packages/preact/src/index.ts:475

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/preact/src/index.ts:476

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/preact/src/index.ts:484

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/preact/src/index.ts:489

Properties

Property Type Description Defined in
open ScopedOpen - packages/preact/src/index.ts:490
dismissAll (response?) => void - packages/preact/src/index.ts:491
states LayerState<unknown, void, Error, unknown>[] - packages/preact/src/index.ts:492
Outlet ComponentType<{ rootProps?: unknown; }> Renders the child stack inline — place inside the parent layer’s DOM. packages/preact/src/index.ts:494
stackId string - packages/preact/src/index.ts:495

AppStack

Defined in: packages/preact/src/index.ts:554

Properties

Property Type Defined in
open ScopedOpen packages/preact/src/index.ts:555
dismissAll (response?) => void packages/preact/src/index.ts:556
states LayerState<unknown, void, Error, unknown>[] packages/preact/src/index.ts:557

AppLayerProps

Defined in: packages/preact/src/index.ts:560

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/preact/src/index.ts:562
open boolean Controlled visibility. true opens the layer; false dismisses it. packages/preact/src/index.ts:564
payload P - packages/preact/src/index.ts:565
onResolved? (response) => void Called when the layer resolves. packages/preact/src/index.ts:567

StackHook

Defined in: packages/preact/src/index.ts:570

Type Parameters

Type Parameter
HostProps

Properties

Property Type Defined in
StackProvider (props) => VNode packages/preact/src/index.ts:571
useAppStack () => AppStack packages/preact/src/index.ts:575
AppHost (props) => VNode packages/preact/src/index.ts:576
AppLayer <P, R>(props) => null packages/preact/src/index.ts:577

Type Aliases

WiredLayerHandle

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

Defined in: packages/preact/src/index.ts:99

Type Declaration

Name Type Defined in
state LayerState<P, R, E, D>[] packages/preact/src/index.ts:106
queued LayerState<P, R, E, D>[] packages/preact/src/index.ts:107
top | LayerState<P, R, E, D> | null packages/preact/src/index.ts:108

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/preact/src/index.ts:111

Type Declaration

Type Parameters

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

Functions

StackProvider()

function StackProvider(props): VNode;

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

Provide a LayerClient to the subtree, creating one when omitted.

Parameters

Parameter Type
props { client?: LayerClient; children: ComponentChildren; }
props.client? LayerClient
props.children ComponentChildren

Returns

VNode


useLayerClient()

function useLayerClient(): LayerClient;

Defined in: packages/preact/src/index.ts:63

Return the nearest context-provided LayerClient.

Returns

LayerClient


useStack()

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

Defined in: packages/preact/src/index.ts:173

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

T


useQueuedStack()

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

Defined in: packages/preact/src/index.ts:187

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

T


useLayerState()

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

Defined in: packages/preact/src/index.ts:205

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

U


useLayerQueuedState()

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

Defined in: packages/preact/src/index.ts:228

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

U


useLayer()

Call Signature

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

Defined in: packages/preact/src/index.ts:293

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/preact/src/index.ts:307

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/preact/src/index.ts:341

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): VNode;

Defined in: packages/preact/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

VNode


StackSubscribe()

function StackSubscribe<T>(props): VNode;

Defined in: packages/preact/src/index.ts:406

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) => ComponentChildren; }
props.stack? string
props.selector (states) => T
props.children (value) => ComponentChildren

Returns

VNode


useMutationFlow()

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

Defined in: packages/preact/src/index.ts:449

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/preact-layers";

function Confirm({ call }: LayerComponentProps<void, boolean>) {
  const flow = useMutationFlow(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/preact/src/index.ts:504

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/preact/src/index.ts:581

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?: ComponentType<object & HostProps>; }
config.client? LayerClient
config.stack? string
config.Host? ComponentType<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?