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
| Name | Type | Defined in |
|---|---|---|
state |
LayerState<InferValidatorOutput<V>, R, E, D>[] |
packages/preact/src/index.ts:118 |
queued |
LayerState<InferValidatorOutput<V>, R, E, D>[] |
packages/preact/src/index.ts:119 |
top |
| LayerState<InferValidatorOutput<V>, R, E, D> | null |
packages/preact/src/index.ts:120 |
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
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
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
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