vue
Interfaces
UseStackOptions
Defined in: packages/vue/src/index.ts:88
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState[] |
Properties
| Property | Type | Defined in |
|---|---|---|
stack? |
string |
packages/vue/src/index.ts:89 |
select? |
(states) => T |
packages/vue/src/index.ts:90 |
compare? |
(a, b) => boolean |
packages/vue/src/index.ts:91 |
UseLayerStateOptions
Defined in: packages/vue/src/index.ts:94
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/vue/src/index.ts:100 |
stack? |
string |
packages/vue/src/index.ts:101 |
select? |
(states) => U |
packages/vue/src/index.ts:102 |
compare? |
(a, b) => boolean |
packages/vue/src/index.ts:103 |
StackSubscribeProps
Defined in: packages/vue/src/index.ts:381
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState[] |
Properties
| Property | Type | Defined in |
|---|---|---|
stack? |
string |
packages/vue/src/index.ts:382 |
selector |
(states) => T |
packages/vue/src/index.ts:383 |
StackHandles
Defined in: packages/vue/src/index.ts:417
Properties
| Property | Type | Defined in |
|---|---|---|
states |
Readonly<Ref<LayerState[]>> |
packages/vue/src/index.ts:418 |
getCall |
(state) => LayerCallContext<unknown, unknown> |
packages/vue/src/index.ts:419 |
MutationRun
Defined in: packages/vue/src/index.ts:443
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/vue/src/index.ts:445 |
MutationFlow
Defined in: packages/vue/src/index.ts:448
Type Parameters
| Type Parameter |
|---|
R |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
pending |
Readonly<Ref<boolean>> |
True while a run(...) async action is in flight. Mirrors the layer’s actionStatus: "running". |
packages/vue/src/index.ts:450 |
run |
(fn) => MutationRun<R> |
- | packages/vue/src/index.ts:451 |
ScopedOpen()
Defined in: packages/vue/src/index.ts:499
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/vue/src/index.ts:500
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/vue/src/index.ts:508
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/vue/src/index.ts:513
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
open |
ScopedOpen |
- | packages/vue/src/index.ts:514 |
dismissAll |
(response?) => void |
- | packages/vue/src/index.ts:515 |
states |
Readonly<Ref<LayerState[]>> |
- | packages/vue/src/index.ts:516 |
Outlet |
Component<{ rootProps?: unknown; }> |
Renders the child stack inline — place inside the parent layer’s DOM. | packages/vue/src/index.ts:518 |
stackId |
string |
- | packages/vue/src/index.ts:519 |
AppStack
Defined in: packages/vue/src/index.ts:577
Properties
| Property | Type | Defined in |
|---|---|---|
open |
ScopedOpen |
packages/vue/src/index.ts:578 |
dismissAll |
(response?) => void |
packages/vue/src/index.ts:579 |
states |
Readonly<Ref<LayerState[]>> |
packages/vue/src/index.ts:580 |
AppLayerProps
Defined in: packages/vue/src/index.ts: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/vue/src/index.ts:585 |
open |
boolean |
Controlled visibility. true opens the layer; false dismisses it. |
packages/vue/src/index.ts:587 |
payload |
P |
- | packages/vue/src/index.ts:588 |
onResolved? |
(response) => void |
Called when the layer resolves. | packages/vue/src/index.ts:590 |
StackHook
Defined in: packages/vue/src/index.ts:593
Type Parameters
| Type Parameter |
|---|
HostProps |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
StackProvider |
Component<{ client?: LayerClient; }> |
- | packages/vue/src/index.ts:594 |
useAppStack |
() => AppStack |
- | packages/vue/src/index.ts:595 |
AppHost |
Component<HostProps> |
Host props are forwarded to config.Host via fallthrough attrs. |
packages/vue/src/index.ts:597 |
AppLayer |
<P, R>(props) => null |
- | packages/vue/src/index.ts:598 |
Type Aliases
WiredLayerHandle
type WiredLayerHandle<P, R, E, D, RP> = LayerHandle<P, R, E, D, RP> & object;
Defined in: packages/vue/src/index.ts:106
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
Readonly<Ref<LayerState<P, R, E, D>[]>> |
packages/vue/src/index.ts:113 |
queued |
Readonly<Ref<LayerState<P, R, E, D>[]>> |
packages/vue/src/index.ts:114 |
top |
Readonly<Ref< | LayerState<P, R, E, D> | null>> |
packages/vue/src/index.ts:115 |
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/vue/src/index.ts:118
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
Readonly<Ref<LayerState<InferValidatorOutput<V>, R, E, D>[]>> |
packages/vue/src/index.ts:125 |
queued |
Readonly<Ref<LayerState<InferValidatorOutput<V>, R, E, D>[]>> |
packages/vue/src/index.ts:126 |
top |
Readonly<Ref< | LayerState<InferValidatorOutput<V>, R, E, D> | null>> |
packages/vue/src/index.ts:127 |
Type Parameters
| Type Parameter | Default type |
|---|---|
V extends Validator<unknown> |
- |
R |
- |
E |
DefaultLayerError |
D |
unknown |
RP |
unknown |
Variables
StackOutlet
const StackOutlet: DefineComponent<ExtractPropTypes<{
stack: {
type: StringConstructor;
default: string;
};
rootProps: {
type: null;
default: undefined;
};
}>, () => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>, {
}, {
}, {
}, ComponentOptionsMixin, ComponentOptionsMixin, {
}, string, PublicProps, ToResolvedProps<ExtractPropTypes<{
stack: {
type: StringConstructor;
default: string;
};
rootProps: {
type: null;
default: undefined;
};
}>, {
}>, {
stack: string;
rootProps: any;
}, {
}, {
}, {
}, string, ComponentProvideOptions, true, {
}, any>;
Defined in: packages/vue/src/index.ts:340
Render every active layer in a stack with its registered component.
StackSubscribe
const StackSubscribe: DefineComponent<ExtractPropTypes<{
stack: {
type: StringConstructor;
default: string;
};
selector: {
type: PropType<(states) => unknown>;
required: true;
};
}>, () => unknown, {
}, {
}, {
}, ComponentOptionsMixin, ComponentOptionsMixin, {
}, string, PublicProps, ToResolvedProps<ExtractPropTypes<{
stack: {
type: StringConstructor;
default: string;
};
selector: {
type: PropType<(states) => unknown>;
required: true;
};
}>, {
}>, {
stack: string;
}, SlotsType<{
default: (payload) => unknown;
}>, {
}, {
}, string, ComponentProvideOptions, true, {
}, any>;
Defined in: packages/vue/src/index.ts:399
Render a selected stack value through a default scoped slot (cross-adapter
parity). The slot payload is { value: unknown } — defineComponent can’t
thread the selector’s return type through a slot; prefer
useStack({ stack, select }) in setup() for a fully-typed value.
Example
<StackSubscribe :selector="(s) => s.length">
<template #default="{ value }">{{ value }} open</template>
</StackSubscribe>
Functions
provideLayerClient()
function provideLayerClient(client?): LayerClient;
Defined in: packages/vue/src/index.ts:59
Provides a LayerClient to descendant components.
Parameters
| Parameter | Type | Description |
|---|---|---|
client? |
LayerClient |
Client to provide. A new client is created when omitted. |
Returns
The provided client.
useLayerClient()
function useLayerClient(): LayerClient;
Defined in: packages/vue/src/index.ts:70
Reads the nearest LayerClient from Vue injection context.
Returns
The nearest provided client.
useStack()
function useStack<T>(opts?, client?): Readonly<Ref<T>>;
Defined in: packages/vue/src/index.ts:180
Exposes a LayerClient stack as a readonly Vue ref.
Call it inside setup() or an effectScope() so onScopeDispose can clean
up the stack subscription.
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState<unknown, void, Error, unknown>[] |
Parameters
| Parameter | Type | Description |
|---|---|---|
opts |
UseStackOptions<T> |
Options bag: stack, select, compare. |
client? |
LayerClient |
Client to observe. Omit it to use useLayerClient. |
Returns
Readonly<Ref<T>>
A readonly ref of the selected stack value.
Default
stack is "default"; select is identity; compare is
Object.is.
useQueuedStack()
function useQueuedStack<T>(opts?, client?): Readonly<Ref<T>>;
Defined in: packages/vue/src/index.ts:193
Exposes a stack’s queued snapshot as a readonly Vue ref.
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState<unknown, void, Error, unknown>[] |
Parameters
| Parameter | Type |
|---|---|
opts |
UseStackOptions<T> |
client? |
LayerClient |
Returns
Readonly<Ref<T>>
useLayerState()
function useLayerState<Key, P, D, U>(opts, client?): Readonly<Ref<U>>;
Defined in: packages/vue/src/index.ts:210
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
Readonly<Ref<U>>
useLayerQueuedState()
function useLayerQueuedState<Key, P, D, U>(opts, client?): Readonly<Ref<U>>;
Defined in: packages/vue/src/index.ts:236
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
Readonly<Ref<U>>
useLayer()
Call Signature
function useLayer<V, R, E, D, RP>(options, client?): WiredValidatedLayerHandle<V, R, E, D, RP>;
Defined in: packages/vue/src/index.ts:299
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/vue/src/index.ts:313
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/vue/src/index.ts:423
Return the states and call contexts needed to render a stack headlessly.
Parameters
| Parameter | Type | Default value |
|---|---|---|
stack |
string |
"default" |
rootProps? |
unknown |
undefined |
Returns
useMutationFlow()
function useMutationFlow<P, R, RootProps>(call): MutationFlow<R>;
Defined in: packages/vue/src/index.ts:476
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
<script setup lang="ts">
import { type LayerComponentProps, useMutationFlow } from "@stainless-code/vue-layers";
const props = defineProps<LayerComponentProps<void, boolean>>();
const flow = useMutationFlow(props.call);
</script>
<template>
<button
:disabled="flow.pending.value"
@click="flow.run(() => Promise.resolve()).orEnd(true)"
>
Confirm
</button>
</template>
useLayerGroup()
function useLayerGroup<P, R, RootProps>(call, options?): LayerGroup;
Defined in: packages/vue/src/index.ts:528
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/vue/src/index.ts:602
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