react
Interfaces
UseStackOptions
Defined in: packages/react/src/index.tsx:88
Options for useStack / useQueuedStack. @default stack "default".
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState[] |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
stack? |
string |
Default "default" |
packages/react/src/index.tsx:90 |
select? |
(states) => T |
- | packages/react/src/index.tsx:91 |
compare? |
(a, b) => boolean |
Default Object.is (key-filtered hooks default to shallow array equality) |
packages/react/src/index.tsx:93 |
UseLayerStateOptions
Defined in: packages/react/src/index.tsx:97
Options for useLayerState / useLayerQueuedState.
Type Parameters
| Type Parameter | Default type |
|---|---|
Key extends LayerKey |
- |
P |
unknown |
D |
unknown |
U |
LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[] |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
key |
Key |
- | packages/react/src/index.tsx:103 |
stack? |
string |
Default "default" |
packages/react/src/index.tsx:105 |
select? |
(states) => U |
- | packages/react/src/index.tsx:106 |
compare? |
(a, b) => boolean |
- | packages/react/src/index.tsx:107 |
StackHandles
Defined in: packages/react/src/index.tsx:354
Properties
| Property | Type | Defined in |
|---|---|---|
states |
LayerState<unknown, void, Error, unknown>[] |
packages/react/src/index.tsx:355 |
getCall |
(state) => LayerCallContext<unknown, unknown> |
packages/react/src/index.tsx:356 |
MutationRun
Defined in: packages/react/src/index.tsx:441
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/react/src/index.tsx:443 |
MutationFlow
Defined in: packages/react/src/index.tsx:446
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/react/src/index.tsx:448 |
run |
(fn) => MutationRun<R> |
- | packages/react/src/index.tsx:449 |
ScopedOpen()
Defined in: packages/react/src/index.tsx:501
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/react/src/index.tsx:502
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/react/src/index.tsx:510
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/react/src/index.tsx:515
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
open |
ScopedOpen |
- | packages/react/src/index.tsx:516 |
dismissAll |
(response?) => void |
- | packages/react/src/index.tsx:517 |
states |
LayerState<unknown, void, Error, unknown>[] |
- | packages/react/src/index.tsx:518 |
Outlet |
ComponentType<{ rootProps?: unknown; }> |
Renders the child stack inline — place inside the parent layer’s DOM. | packages/react/src/index.tsx:520 |
stackId |
string |
- | packages/react/src/index.tsx:521 |
AppStack
Defined in: packages/react/src/index.tsx:577
Properties
| Property | Type | Defined in |
|---|---|---|
open |
ScopedOpen |
packages/react/src/index.tsx:578 |
dismissAll |
(response?) => void |
packages/react/src/index.tsx:579 |
states |
LayerState<unknown, void, Error, unknown>[] |
packages/react/src/index.tsx:580 |
AppLayerProps
Defined in: packages/react/src/index.tsx:583
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/react/src/index.tsx:585 |
open |
boolean |
Controlled visibility. true opens the layer; false dismisses it. |
packages/react/src/index.tsx:587 |
payload |
P |
- | packages/react/src/index.tsx:588 |
onResolved? |
(response) => void |
Called when the layer resolves. | packages/react/src/index.tsx:590 |
StackHook
Defined in: packages/react/src/index.tsx:593
Type Parameters
| Type Parameter |
|---|
HostProps |
Properties
| Property | Type | Defined in |
|---|---|---|
StackProvider |
(props) => ReactElement |
packages/react/src/index.tsx:594 |
useAppStack |
() => AppStack |
packages/react/src/index.tsx:598 |
AppHost |
(props) => ReactElement |
packages/react/src/index.tsx:599 |
AppLayer |
<P, R>(props) => null |
packages/react/src/index.tsx:600 |
Type Aliases
WiredLayerHandle
type WiredLayerHandle<P, R, E, D, RP> = LayerHandle<P, R, E, D, RP> & object;
Defined in: packages/react/src/index.tsx:111
LayerHandle plus reactive same-key state / queued / top.
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
LayerState<P, R, E, D>[] |
packages/react/src/index.tsx:118 |
queued |
LayerState<P, R, E, D>[] |
packages/react/src/index.tsx:119 |
top |
| LayerState<P, R, E, D> | null |
packages/react/src/index.tsx:120 |
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/react/src/index.tsx:123
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
LayerState<InferValidatorOutput<V>, R, E, D>[] |
packages/react/src/index.tsx:130 |
queued |
LayerState<InferValidatorOutput<V>, R, E, D>[] |
packages/react/src/index.tsx:131 |
top |
| LayerState<InferValidatorOutput<V>, R, E, D> | null |
packages/react/src/index.tsx:132 |
Type Parameters
| Type Parameter | Default type |
|---|---|
V extends Validator<unknown> |
- |
R |
- |
E |
DefaultLayerError |
D |
unknown |
RP |
unknown |
Functions
StackProvider()
function StackProvider(__namedParameters): Element;
Defined in: packages/react/src/index.tsx:46
Provide a LayerClient to the subtree, creating one when omitted.
Parameters
| Parameter | Type |
|---|---|
__namedParameters |
{ client?: LayerClient; children: ReactNode; } |
__namedParameters.client? |
LayerClient |
__namedParameters.children |
ReactNode |
Returns
Element
useLayerClient()
function useLayerClient(): LayerClient;
Defined in: packages/react/src/index.tsx:69
Return the nearest context-provided LayerClient.
Returns
useStack()
function useStack<T>(opts?, client?): T;
Defined in: packages/react/src/index.tsx:184
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/react/src/index.tsx:198
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/react/src/index.tsx:216
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/react/src/index.tsx:239
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/react/src/index.tsx:312
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>
Example
const c = useLayer(confirm);
await c.open({ title: "Remove?" });
Call Signature
function useLayer<P, R, E, D, RP>(options, client?): WiredLayerHandle<P, R, E, D, RP>;
Defined in: packages/react/src/index.tsx:326
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>
Example
const c = useLayer(confirm);
await c.open({ title: "Remove?" });
useStackHandles()
function useStackHandles(stack?, rootProps?): StackHandles;
Defined in: packages/react/src/index.tsx:360
Return the states and call contexts needed to render a stack headlessly.
Parameters
| Parameter | Type | Default value |
|---|---|---|
stack |
string |
"default" |
rootProps? |
unknown |
undefined |
Returns
StackOutlet()
function StackOutlet(__namedParameters): Element;
Defined in: packages/react/src/index.tsx:385
Render every active layer in a stack with its registered component.
Parameters
| Parameter | Type |
|---|---|
__namedParameters |
{ stack?: string; rootProps?: unknown; } |
__namedParameters.stack? |
string |
__namedParameters.rootProps? |
unknown |
Returns
Element
StackSubscribe()
function StackSubscribe<T>(__namedParameters): Element;
Defined in: packages/react/src/index.tsx:428
Render a selected stack value through a render prop.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
__namedParameters |
{ stack?: string; selector: (states) => T; children: (value) => ReactNode; } |
__namedParameters.stack? |
string |
__namedParameters.selector |
(states) => T |
__namedParameters.children |
(value) => ReactNode |
Returns
Element
useMutationFlow()
function useMutationFlow<P, R, RootProps>(call): MutationFlow<R>;
Defined in: packages/react/src/index.tsx:475
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/react-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/react/src/index.tsx:530
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
createStackHook()
function createStackHook<HostProps>(config?): StackHook<HostProps>;
Defined in: packages/react/src/index.tsx:604
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