DocsAPI referenceHeadlessreveal

reveal headless API

The core connector and vanilla mount are always visible. Use the framework choice to inspect native composition, props, outputs, context and hooks for the selected adapter.

@grassroot/ui-headless-core/reveal

Core connector and vanilla API

26 exports
View source packages/ui-headless/core/src/reveal/index.ts

connectReveal

function
DeclarationView source
connectRevealts
declare function connectReveal(service: RevealService, scope: PartScope): RevealApi;
Name
Kind
Type
Requirement
service
parameter
RevealService
required
scope
parameter
PartScope
required
return
return value
RevealApi
n/a
Name
service
Kind
parameter
Type
RevealService
Requirement
required
Name
scope
Kind
parameter
Type
PartScope
Requirement
required
Name
return
Kind
return value
Type
RevealApi
Requirement
n/a
DeclarationView source
createRevealControllerts
declare function createRevealController(host: RevealControllerHost): RevealController;
Name
Kind
Type
Requirement
host
parameter
RevealControllerHost
required
return
return value
RevealController
n/a
Name
host
Kind
parameter
Type
RevealControllerHost
Requirement
required
Name
return
Kind
return value
Type
RevealController
Requirement
n/a

mountReveal

function
DeclarationView source
mountRevealts
declare function mountReveal(container: HTMLElement, options?: MountRevealOptions): RevealMount;
Name
Kind
Type
Requirement
container
parameter
HTMLElement
required
options
parameter
MountRevealOptions
optional
return
return value
RevealMount
n/a
Name
container
Kind
parameter
Type
HTMLElement
Requirement
required
Name
options
Kind
parameter
Type
MountRevealOptions
Requirement
optional
Name
return
Kind
return value
Type
RevealMount
Requirement
n/a

MountRevealOptions

interface
DeclarationView source
MountRevealOptionsts
interface MountRevealOptions extends RevealInput {
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly scheduler?: Scheduler;
readonly evaluateViewportOnStart?: boolean;
readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;
readonly renderRoot?: (root: HTMLElement) => void;
}
Name
Kind
Type
Requirement
evaluateViewportOnStart
property
boolean
optional
host
property
Partial<Omit<RevealControllerHost, "getElement">>
optional
onRevealed
property
(detail: RevealChangeDetail) => void
optional
renderRoot
property
(root: HTMLElement) => void
optional
scheduler
property
Scheduler
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Name
host
Kind
property
Type
Partial<Omit<RevealControllerHost, "getElement">>
Requirement
optional
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Name
renderRoot
Kind
property
Type
(root: HTMLElement) => void
Requirement
optional
Name
scheduler
Kind
property
Type
Scheduler
Requirement
optional
DeclarationView source
REVEAL_OBSERVER_OPTIONSts
export declare const REVEAL_OBSERVER_OPTIONS: IntersectionObserverInit;
DeclarationView source
revealAnatomyts
export declare const revealAnatomy: {
readonly scope: "reveal";
readonly parts: readonly ["root"];
};
Name
Kind
Type
Requirement
parts
property
readonly ["root"]
required
scope
property
"reveal"
required
Name
parts
Kind
property
Type
readonly ["root"]
Requirement
required
Name
scope
Kind
property
Type
"reveal"
Requirement
required

RevealApi

interface
DeclarationView source
RevealApits
interface RevealApi {
rootProps(): PartProps;
readonly shown: boolean;
}
Name
Kind
Type
Requirement
rootProps
method
() => PartProps
required
shown
property
boolean
required
Name
rootProps
Kind
method
Type
() => PartProps
Requirement
required
Name
shown
Kind
property
Type
boolean
Requirement
required

RevealChangeDetail

interface
DeclarationView source
RevealChangeDetailts
interface RevealChangeDetail {
readonly reason: RevealReason;
}
Name
Kind
Type
Requirement
reason
property
RevealReason
required
Name
reason
Kind
property
Type
RevealReason
Requirement
required
DeclarationView source
RevealCommandts
type RevealCommand = (CommandObject & {
readonly type: "OBSERVE_START";
}) | (CommandObject & {
readonly type: "OBSERVE_STOP";
}) | (CommandObject & {
readonly type: "REVEALED";
readonly reason: RevealReason;
}) | ScheduleCommand<RevealEvent> | CancelCommand;
DeclarationView source
RevealContextts
type RevealContext = {
readonly observing: boolean;
readonly backstopPending: boolean;
};
Name
Kind
Type
Requirement
backstopPending
property
boolean
required
observing
property
boolean
required
Name
backstopPending
Kind
property
Type
boolean
Requirement
required
Name
observing
Kind
property
Type
boolean
Requirement
required

RevealController

interface
DeclarationView source
RevealControllerts
interface RevealController {
readonly observerCount: () => number;
readonly backstopArmed: () => boolean;
attach(service: RevealService): void;
ensureStarted(service: RevealService): void;
startObserving(): void;
stopObserving(): void;
destroy(): void;
}
Name
Kind
Type
Requirement
attach
method
(service: RevealService) => void
required
backstopArmed
property
() => boolean
required
destroy
method
() => void
required
ensureStarted
method
(service: RevealService) => void
required
observerCount
property
() => number
required
startObserving
method
() => void
required
stopObserving
method
() => void
required
Name
attach
Kind
method
Type
(service: RevealService) => void
Requirement
required
Name
backstopArmed
Kind
property
Type
() => boolean
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
ensureStarted
Kind
method
Type
(service: RevealService) => void
Requirement
required
Name
observerCount
Kind
property
Type
() => number
Requirement
required
Name
startObserving
Kind
method
Type
() => void
Requirement
required
Name
stopObserving
Kind
method
Type
() => void
Requirement
required
DeclarationView source
RevealControllerHostts
interface RevealControllerHost {
readonly getElement: () => RevealObserveTarget | null;
readonly matchMedia?: (query: string) => {
readonly matches: boolean;
};
readonly hasIntersectionObserver?: boolean;
readonly createObserver?: (callback: (entries: ReadonlyArray<{
readonly isIntersecting: boolean;
}>) => void, options: IntersectionObserverInit) => RevealObserverLike;
readonly getViewportHeight?: () => number;
/** When false, skip the synchronous in-viewport check (React first paint). */
readonly evaluateViewportOnStart?: boolean;
}
Name
Kind
Type
Requirement
Description
createObserver
property
(callback: (entries: ReadonlyArray<{ readonly isIntersecting: boolean; }>) => void, options: IntersectionObserverInit) => RevealObserverLike
optional
evaluateViewportOnStart
property
boolean
optional
When false, skip the synchronous in-viewport check (React first paint).
getElement
property
() => RevealObserveTarget | null
required
getViewportHeight
property
() => number
optional
hasIntersectionObserver
property
boolean
optional
matchMedia
property
(query: string) => { readonly matches: boolean; }
optional
Name
createObserver
Kind
property
Type
(callback: (entries: ReadonlyArray<{ readonly isIntersecting: boolean; }>) => void, options: IntersectionObserverInit) => RevealObserverLike
Requirement
optional
Description
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Description
When false, skip the synchronous in-viewport check (React first paint).
Name
getElement
Kind
property
Type
() => RevealObserveTarget | null
Requirement
required
Description
Name
getViewportHeight
Kind
property
Type
() => number
Requirement
optional
Description
Name
hasIntersectionObserver
Kind
property
Type
boolean
Requirement
optional
Description
Name
matchMedia
Kind
property
Type
(query: string) => { readonly matches: boolean; }
Requirement
optional
Description
DeclarationView source
RevealEventts
type RevealEvent = {
readonly type: "START";
} | {
readonly type: "VIEWPORT_INTERSECT";
} | {
readonly type: "BACKSTOP";
} | {
readonly type: "REVEAL";
} | {
readonly type: "STOP";
};
DeclarationView source
RevealInputts
type RevealInput = {
/** Controller-reported reduced-motion preference. Not a MediaQueryList. */
readonly prefersReducedMotion?: boolean;
/** Controller-reported IntersectionObserver support. */
readonly hasObserver?: boolean;
};
Name
Kind
Type
Requirement
Description
hasObserver
property
boolean
optional
Controller-reported IntersectionObserver support.
prefersReducedMotion
property
boolean
optional
Controller-reported reduced-motion preference. Not a MediaQueryList.
Name
hasObserver
Kind
property
Type
boolean
Requirement
optional
Description
Controller-reported IntersectionObserver support.
Name
prefersReducedMotion
Kind
property
Type
boolean
Requirement
optional
Description
Controller-reported reduced-motion preference. Not a MediaQueryList.
DeclarationView source
revealMachinets
export declare const revealMachine: RevealMachine;

RevealMount

interface
DeclarationView source
RevealMountts
interface RevealMount {
readonly service: RevealService;
readonly connector: RevealApi;
readonly controller: RevealController;
readonly root: HTMLElement;
destroy(): void;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
controller
property
RevealController
required
destroy
method
() => void
required
root
property
HTMLElement
required
service
property
RevealService
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
controller
Kind
property
Type
RevealController
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
root
Kind
property
Type
HTMLElement
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required

RevealObserverLike

interface
DeclarationView source
RevealObserverLikets
interface RevealObserverLike {
observe(target: RevealObserveTarget): void;
disconnect(): void;
}
Name
Kind
Type
Requirement
disconnect
method
() => void
required
observe
method
(target: RevealObserveTarget) => void
required
Name
disconnect
Kind
method
Type
() => void
Requirement
required
Name
observe
Kind
method
Type
(target: RevealObserveTarget) => void
Requirement
required
DeclarationView source
RevealObserveTargetts
interface RevealObserveTarget {
getBoundingClientRect(): RevealRectLike;
}
Name
Kind
Type
Requirement
getBoundingClientRect
method
() => RevealRectLike
required
Name
getBoundingClientRect
Kind
method
Type
() => RevealRectLike
Requirement
required

RevealPart

type
DeclarationView source
RevealPartts
type RevealPart = (typeof revealAnatomy.parts)[number];
DeclarationView source
RevealReasonts
type RevealReason = "immediate" | "intersection" | "backstop" | "manual";

RevealRectLike

interface
DeclarationView source
RevealRectLikets
interface RevealRectLike {
readonly top: number;
readonly bottom: number;
}
Name
Kind
Type
Requirement
bottom
property
number
required
top
property
number
required
Name
bottom
Kind
property
Type
number
Requirement
required
Name
top
Kind
property
Type
number
Requirement
required
DeclarationView source
revealSelectorsts
export declare const revealSelectors: {
shown: (snapshot: RevealSnapshot) => boolean;
observing: (snapshot: RevealSnapshot) => boolean;
backstopPending: (snapshot: RevealSnapshot) => boolean;
};
Name
Kind
Type
Requirement
backstopPending
property
(snapshot: RevealSnapshot) => boolean
required
observing
property
(snapshot: RevealSnapshot) => boolean
required
shown
property
(snapshot: RevealSnapshot) => boolean
required
Name
backstopPending
Kind
property
Type
(snapshot: RevealSnapshot) => boolean
Requirement
required
Name
observing
Kind
property
Type
(snapshot: RevealSnapshot) => boolean
Requirement
required
Name
shown
Kind
property
Type
(snapshot: RevealSnapshot) => boolean
Requirement
required
DeclarationView source
RevealServicets
type RevealService = Service<RevealInput, RevealStateValue, RevealContext, RevealEvent, RevealCommand>;
DeclarationView source
RevealSnapshotts
type RevealSnapshot = Snapshot<RevealStateValue, RevealContext>;
DeclarationView source
RevealStateValuets
type RevealStateValue = "hidden" | "shown";

runRevealCommand

function
DeclarationView source
runRevealCommandts
declare function runRevealCommand(command: RevealCommand, _scope: PartScope, options?: {
readonly onRevealed?: (detail: {
reason: RevealReason;
}) => void;
readonly controller?: Pick<RevealController, "startObserving" | "stopObserving">;
}): void;
Name
Kind
Type
Requirement
command
parameter
RevealCommand
required
_scope
parameter
PartScope
required
options
parameter
{ readonly onRevealed?: (detail: { reason: RevealReason; }) => void; readonly controller?: Pick<RevealController, "startObserving" | "stopObserving">; }
optional
return
return value
void
n/a
Name
command
Kind
parameter
Type
RevealCommand
Requirement
required
Name
_scope
Kind
parameter
Type
PartScope
Requirement
required
Name
options
Kind
parameter
Type
{ readonly onRevealed?: (detail: { reason: RevealReason; }) => void; readonly controller?: Pick<RevealController, "startObserving" | "stopObserving">; }
Requirement
optional
Name
return
Kind
return value
Type
void
Requirement
n/a

Framework adapters

Each panel keeps its adapter's public vocabulary. React compound exports, Vue composables, standalone Angular declarations, Svelte components, and Solid hooks stay native to their framework.

React example follows below.

React imports

@grassroot/ui-headless-react/revealts
import { Reveal, Root } from "@grassroot/ui-headless-react/reveal";

Vue imports

@grassroot/ui-headless-vue/revealts
<script setup lang="ts">
import { RevealRoot } from "@grassroot/ui-headless-vue/reveal";
</script>

Angular imports

@grassroot/ui-headless-angular/revealts
import { Component } from "@angular/core";
import { GR_REVEAL_DECLARATIONS } from "@grassroot/ui-headless-angular/reveal";
@Component({ standalone: true, imports: [GR_REVEAL_DECLARATIONS], template: `<!-- compose the reveal parts here -->` })
export class Example {}

Svelte imports

@grassroot/ui-headless-svelte/revealts
<script lang="ts">
import { RevealRoot } from "@grassroot/ui-headless-svelte/reveal";
</script>

Solid imports

@grassroot/ui-headless-solid/revealts
import { RevealRoot } from "@grassroot/ui-headless-solid/reveal";

@grassroot/ui-headless-react/reveal

React adapter

10 exports
View source packages/ui-headless/react/src/reveal/index.ts

Reveal

value
DeclarationView source
Revealts
export declare const Reveal: {
Root: import("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>;
};
Name
Kind
Type
Requirement
Root
property
import("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>
required
Name
Root
Kind
property
Type
import("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>
Requirement
required

RevealChangeDetail

interface
DeclarationView source
RevealChangeDetailts
interface RevealChangeDetail {
readonly reason: RevealReason;
}
Name
Kind
Type
Requirement
reason
property
RevealReason
required
Name
reason
Kind
property
Type
RevealReason
Requirement
required
DeclarationView source
RevealContextts
export declare const RevealContext: import("react").Context<RevealContextValue | null>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

RevealContextValue

interface
DeclarationView source
RevealContextValuets
interface RevealContextValue {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required

RevealRootProps

interface
DeclarationView source
RevealRootPropsts
interface RevealRootProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
readonly asChild?: boolean;
readonly as?: string;
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly evaluateViewportOnStart?: boolean;
readonly host?: UseRevealOptions["host"];
readonly scheduler?: UseRevealOptions["scheduler"];
readonly children?: ReactNode;
}
Name
Kind
Type
Requirement
as
property
string
optional
asChild
property
boolean
optional
children
property
ReactNode
optional
evaluateViewportOnStart
property
boolean
optional
host
property
UseRevealOptions["host"]
optional
onRevealed
property
(detail: RevealChangeDetail) => void
optional
scheduler
property
UseRevealOptions["scheduler"]
optional
Name
as
Kind
property
Type
string
Requirement
optional
Name
asChild
Kind
property
Type
boolean
Requirement
optional
Name
children
Kind
property
Type
ReactNode
Requirement
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Name
host
Kind
property
Type
UseRevealOptions["host"]
Requirement
optional
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Name
scheduler
Kind
property
Type
UseRevealOptions["scheduler"]
Requirement
optional

Root

value
DeclarationView source
Rootts
export declare const Root: import("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

useReveal

function
DeclarationView source
useRevealts
declare function useReveal(input?: RevealInput, options?: UseRevealOptions): UseRevealResult;
Name
Kind
Type
Requirement
input
parameter
RevealInput
optional
options
parameter
UseRevealOptions
optional
return
return value
UseRevealResult
n/a
Name
input
Kind
parameter
Type
RevealInput
Requirement
optional
Name
options
Kind
parameter
Type
UseRevealOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRevealResult
Requirement
n/a

useRevealContext

function
DeclarationView source
useRevealContextts
declare function useRevealContext(partName: string): RevealContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
RevealContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
RevealContextValue
Requirement
n/a

UseRevealOptions

interface
DeclarationView source
UseRevealOptionsts
interface UseRevealOptions {
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly scheduler?: Scheduler;
/** When false, skip the synchronous in-viewport check (styled React first paint). */
readonly evaluateViewportOnStart?: boolean;
/** Test/SSR host overrides (observer, matchMedia). `getElement` stays adapter-owned. */
readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;
}
Name
Kind
Type
Requirement
Description
evaluateViewportOnStart
property
boolean
optional
When false, skip the synchronous in-viewport check (styled React first paint).
host
property
Partial<Omit<RevealControllerHost, "getElement">>
optional
Test/SSR host overrides (observer, matchMedia). `getElement` stays adapter-owned.
onRevealed
property
(detail: RevealChangeDetail) => void
optional
scheduler
property
Scheduler
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Description
When false, skip the synchronous in-viewport check (styled React first paint).
Name
host
Kind
property
Type
Partial<Omit<RevealControllerHost, "getElement">>
Requirement
optional
Description
Test/SSR host overrides (observer, matchMedia). `getElement` stays adapter-owned.
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Description
Name
scheduler
Kind
property
Type
Scheduler
Requirement
optional
Description

UseRevealResult

interface
DeclarationView source
UseRevealResultts
interface UseRevealResult {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly snapshot: RevealSnapshot;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
snapshot
property
RevealSnapshot
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
snapshot
Kind
property
Type
RevealSnapshot
Requirement
required

@grassroot/ui-headless-vue/reveal

Vue adapter

8 exports
View source packages/ui-headless/vue/src/reveal/index.ts

RevealChangeDetail

interface
DeclarationView source
RevealChangeDetailts
interface RevealChangeDetail {
readonly reason: RevealReason;
}
Name
Kind
Type
Requirement
reason
property
RevealReason
required
Name
reason
Kind
property
Type
RevealReason
Requirement
required
DeclarationView source
RevealContextKeyts
export declare const RevealContextKey: InjectionKey<RevealContextValue>;

RevealContextValue

interface
DeclarationView source
RevealContextValuets
interface RevealContextValue {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly snapshot: ShallowRef<RevealSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
snapshot
property
ShallowRef<RevealSnapshot>
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
snapshot
Kind
property
Type
ShallowRef<RevealSnapshot>
Requirement
required

RevealRoot

value
DeclarationView source
RevealRootts
export declare const RevealRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
as: {
type: StringConstructor;
default: string;
};
evaluateViewportOnStart: {
type: PropType<boolean | undefined>;
default: undefined;
};
host: {
type: PropType<UseRevealOptions["host"]>;
default: undefined;
};
scheduler: {
type: PropType<UseRevealOptions["scheduler"]>;
default: undefined;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
revealed: (_detail: RevealChangeDetail) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
as: {
type: StringConstructor;
default: string;
};
evaluateViewportOnStart: {
type: PropType<boolean | undefined>;
default: undefined;
};
host: {
type: PropType<UseRevealOptions["host"]>;
default: undefined;
};
scheduler: {
type: PropType<UseRevealOptions["scheduler"]>;
default: undefined;
};
}>> & Readonly<{
onRevealed?: ((_detail: RevealChangeDetail) => any) | undefined;
}>, {
asChild: boolean;
as: string;
evaluateViewportOnStart: boolean | undefined;
host: Partial<Omit<import("@grassroot/ui-headless-core/reveal").RevealControllerHost, "getElement">> | undefined;
scheduler: import("@grassroot/statechart/scheduler").Scheduler | undefined;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

useReveal

function
DeclarationView source
useRevealts
declare function useReveal(input?: RevealInput | (() => RevealInput), options?: UseRevealOptions): UseRevealResult;
Name
Kind
Type
Requirement
input
parameter
RevealInput | (() => RevealInput)
optional
options
parameter
UseRevealOptions
optional
return
return value
UseRevealResult
n/a
Name
input
Kind
parameter
Type
RevealInput | (() => RevealInput)
Requirement
optional
Name
options
Kind
parameter
Type
UseRevealOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRevealResult
Requirement
n/a

useRevealContext

function
DeclarationView source
useRevealContextts
declare function useRevealContext(partName: string): RevealContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
RevealContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
RevealContextValue
Requirement
n/a

UseRevealOptions

interface
DeclarationView source
UseRevealOptionsts
interface UseRevealOptions {
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly scheduler?: Scheduler;
readonly evaluateViewportOnStart?: boolean;
readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;
}
Name
Kind
Type
Requirement
evaluateViewportOnStart
property
boolean
optional
host
property
Partial<Omit<RevealControllerHost, "getElement">>
optional
onRevealed
property
(detail: RevealChangeDetail) => void
optional
scheduler
property
Scheduler
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Name
host
Kind
property
Type
Partial<Omit<RevealControllerHost, "getElement">>
Requirement
optional
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Name
scheduler
Kind
property
Type
Scheduler
Requirement
optional

UseRevealResult

interface
DeclarationView source
UseRevealResultts
interface UseRevealResult {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly snapshot: ShallowRef<RevealSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
snapshot
property
ShallowRef<RevealSnapshot>
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
snapshot
Kind
property
Type
ShallowRef<RevealSnapshot>
Requirement
required

@grassroot/ui-headless-angular/reveal

Angular adapter

10 exports
View source packages/ui-headless/angular/src/reveal/index.ts
DeclarationView source
createRevealStorets
export declare function createRevealStore(initialInput?: RevealInput, options?: CreateRevealStoreOptions): RevealStore;
Name
Kind
Type
Requirement
initialInput
parameter
RevealInput
optional
options
parameter
CreateRevealStoreOptions
optional
return
return value
RevealStore
n/a
Name
initialInput
Kind
parameter
Type
RevealInput
Requirement
optional
Name
options
Kind
parameter
Type
CreateRevealStoreOptions
Requirement
optional
Name
return
Kind
return value
Type
RevealStore
Requirement
n/a
DeclarationView source
CreateRevealStoreOptionsts
export interface CreateRevealStoreOptions {
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly onCommit?: () => void;
readonly scheduler?: Scheduler;
readonly evaluateViewportOnStart?: boolean;
readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;
}
Name
Kind
Type
Requirement
evaluateViewportOnStart
property
boolean
optional
host
property
Partial<Omit<RevealControllerHost, "getElement">>
optional
onCommit
property
() => void
optional
onRevealed
property
(detail: RevealChangeDetail) => void
optional
scheduler
property
Scheduler
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Name
host
Kind
property
Type
Partial<Omit<RevealControllerHost, "getElement">>
Requirement
optional
Name
onCommit
Kind
property
Type
() => void
Requirement
optional
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Name
scheduler
Kind
property
Type
Scheduler
Requirement
optional
DeclarationView source
GR_REVEAL_DECLARATIONSts
export declare const GR_REVEAL_DECLARATIONS: readonly [typeof GrRevealRoot];

GrRevealRoot

class
DeclarationView source
GrRevealRootts
export declare class GrRevealRoot implements OnDestroy {
readonly revealed: import("@angular/core").OutputEmitterRef<RevealChangeDetail>;
private readonly element;
private readonly injector;
private readonly listeners;
readonly store: RevealStore;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrRevealRoot, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<GrRevealRoot, "gr-reveal-root", never, {}, { "revealed": "revealed"; }, never, ["*"], true, never>;
}
Name
Kind
Type
Requirement
element
property
any
required
injector
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵcmp
property
i0.ɵɵComponentDeclaration<GrRevealRoot, "gr-reveal-root", never, {}, { "revealed": "revealed"; }, never, ["*"], true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrRevealRoot, never>
required
revealed
property
import("@angular/core").OutputEmitterRef<RevealChangeDetail>
required
store
property
RevealStore
required
Name
element
Kind
property
Type
any
Requirement
required
Name
injector
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵcmp
Kind
property
Type
i0.ɵɵComponentDeclaration<GrRevealRoot, "gr-reveal-root", never, {}, { "revealed": "revealed"; }, never, ["*"], true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrRevealRoot, never>
Requirement
required
Name
revealed
Kind
property
Type
import("@angular/core").OutputEmitterRef<RevealChangeDetail>
Requirement
required
Name
store
Kind
property
Type
RevealStore
Requirement
required
DeclarationView source
provideRevealStorets
export declare function provideRevealStore(): Provider;
Name
Kind
Type
Requirement
return
return value
Provider
n/a
Name
return
Kind
return value
Type
Provider
Requirement
n/a

REVEAL_HOST

value
DeclarationView source
REVEAL_HOSTts
export declare const REVEAL_HOST: InjectionToken<Partial<Omit<RevealControllerHost, "getElement">>>;
DeclarationView source
REVEAL_SCHEDULERts
export declare const REVEAL_SCHEDULER: InjectionToken<Scheduler>;

REVEAL_STORE

value
DeclarationView source
REVEAL_STOREts
export declare const REVEAL_STORE: InjectionToken<RevealStore>;

RevealChangeDetail

interface
DeclarationView source
RevealChangeDetailts
export interface RevealChangeDetail {
readonly reason: RevealReason;
}
Name
Kind
Type
Requirement
reason
property
RevealReason
required
Name
reason
Kind
property
Type
RevealReason
Requirement
required

RevealStore

interface
DeclarationView source
RevealStorets
export interface RevealStore {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly version: WritableSignal<number>;
start(): void;
stop(): void;
sync(input: RevealInput): void;
bindRevealed(handler: (detail: RevealChangeDetail) => void): void;
}
Name
Kind
Type
Requirement
bindRevealed
method
(handler: (detail: RevealChangeDetail) => void) => void
required
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
start
method
() => void
required
stop
method
() => void
required
sync
method
(input: RevealInput) => void
required
version
property
WritableSignal<number>
required
Name
bindRevealed
Kind
method
Type
(handler: (detail: RevealChangeDetail) => void) => void
Requirement
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
start
Kind
method
Type
() => void
Requirement
required
Name
stop
Kind
method
Type
() => void
Requirement
required
Name
sync
Kind
method
Type
(input: RevealInput) => void
Requirement
required
Name
version
Kind
property
Type
WritableSignal<number>
Requirement
required

@grassroot/ui-headless-svelte/reveal

Svelte adapter

9 exports
View source packages/ui-headless/svelte/src/reveal/index.ts

createReveal

function
DeclarationView source
createRevealts
export declare function createReveal(inputGetter?: () => RevealInput, options?: UseRevealOptions): UseRevealResult;
Name
Kind
Type
Requirement
inputGetter
parameter
() => RevealInput
optional
options
parameter
UseRevealOptions
optional
return
return value
UseRevealResult
n/a
Name
inputGetter
Kind
parameter
Type
() => RevealInput
Requirement
optional
Name
options
Kind
parameter
Type
UseRevealOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRevealResult
Requirement
n/a

RevealChangeDetail

interface
DeclarationView source
RevealChangeDetailts
export interface RevealChangeDetail {
readonly reason: RevealReason;
}
Name
Kind
Type
Requirement
reason
property
RevealReason
required
Name
reason
Kind
property
Type
RevealReason
Requirement
required

RevealContextValue

interface
DeclarationView source
RevealContextValuets
export interface RevealContextValue {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly version: () => number;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
version
property
() => number
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
version
Kind
property
Type
() => number
Requirement
required

RevealRoot

value
DeclarationView source
RevealRootts
export declare const RevealRoot: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a

splitProps

function

Split the core prop bag, then apply Svelte-specific style/event handling.

DeclarationView source
splitPropsts
export declare function splitProps(props: PartProps): SplitProps;
Name
Kind
Type
Requirement
props
parameter
PartProps
required
return
return value
SplitProps
n/a
Name
props
Kind
parameter
Type
PartProps
Requirement
required
Name
return
Kind
return value
Type
SplitProps
Requirement
n/a

useRevealContext

function
DeclarationView source
useRevealContextts
export declare function useRevealContext(partName: string): RevealContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
RevealContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
RevealContextValue
Requirement
n/a

UseRevealOptions

interface
DeclarationView source
UseRevealOptionsts
export interface UseRevealOptions {
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly scheduler?: Scheduler;
readonly evaluateViewportOnStart?: boolean;
readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;
}
Name
Kind
Type
Requirement
evaluateViewportOnStart
property
boolean
optional
host
property
Partial<Omit<RevealControllerHost, "getElement">>
optional
onRevealed
property
(detail: RevealChangeDetail) => void
optional
scheduler
property
Scheduler
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Name
host
Kind
property
Type
Partial<Omit<RevealControllerHost, "getElement">>
Requirement
optional
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Name
scheduler
Kind
property
Type
Scheduler
Requirement
optional

UseRevealResult

interface
DeclarationView source
UseRevealResultts
export interface UseRevealResult {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly version: () => number;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
version
property
() => number
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
version
Kind
property
Type
() => number
Requirement
required

wireEvents

function
DeclarationView source
wireEventsts
export declare function wireEvents(node: Element, params: {
events: Record<string, EventListener>;
ref?: (node: Element | null) => void;
}): {
update(next: typeof params): void;
destroy(): void;
};
Name
Kind
Type
Requirement
node
parameter
Element
required
params
parameter
{ events: Record<string, EventListener>; ref?: (node: Element | null) => void; }
required
return
return value
{ update(next: typeof params): void; destroy(): void; }
n/a
Name
node
Kind
parameter
Type
Element
Requirement
required
Name
params
Kind
parameter
Type
{ events: Record<string, EventListener>; ref?: (node: Element | null) => void; }
Requirement
required
Name
return
Kind
return value
Type
{ update(next: typeof params): void; destroy(): void; }
Requirement
n/a

@grassroot/ui-headless-solid/reveal

Solid adapter

9 exports
View source packages/ui-headless/solid/src/reveal/index.ts

RevealChangeDetail

interface
DeclarationView source
RevealChangeDetailts
export interface RevealChangeDetail {
readonly reason: RevealReason;
}
Name
Kind
Type
Requirement
reason
property
RevealReason
required
Name
reason
Kind
property
Type
RevealReason
Requirement
required
DeclarationView source
RevealContextts
export declare const RevealContext: import("solid-js").Context<RevealContextValue | undefined>;

RevealContextValue

interface
DeclarationView source
RevealContextValuets
export interface RevealContextValue {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly snapshot: Accessor<RevealSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
snapshot
property
Accessor<RevealSnapshot>
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
snapshot
Kind
property
Type
Accessor<RevealSnapshot>
Requirement
required

RevealRoot

function
DeclarationView source
RevealRootts
export declare function RevealRoot(props: RevealRootProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
RevealRootProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
RevealRootProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

RevealRootProps

interface
DeclarationView source
RevealRootPropsts
export interface RevealRootProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onChange"> {
readonly as?: AsProp;
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly evaluateViewportOnStart?: boolean;
readonly host?: UseRevealOptions["host"];
readonly scheduler?: UseRevealOptions["scheduler"];
}
Name
Kind
Type
Requirement
as
property
AsProp
optional
evaluateViewportOnStart
property
boolean
optional
host
property
UseRevealOptions["host"]
optional
onRevealed
property
(detail: RevealChangeDetail) => void
optional
scheduler
property
UseRevealOptions["scheduler"]
optional
Name
as
Kind
property
Type
AsProp
Requirement
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Name
host
Kind
property
Type
UseRevealOptions["host"]
Requirement
optional
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Name
scheduler
Kind
property
Type
UseRevealOptions["scheduler"]
Requirement
optional

useReveal

function
DeclarationView source
useRevealts
export declare function useReveal(input: Accessor<RevealInput>, options?: UseRevealOptions): UseRevealResult;
Name
Kind
Type
Requirement
input
parameter
Accessor<RevealInput>
required
options
parameter
UseRevealOptions
optional
return
return value
UseRevealResult
n/a
Name
input
Kind
parameter
Type
Accessor<RevealInput>
Requirement
required
Name
options
Kind
parameter
Type
UseRevealOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRevealResult
Requirement
n/a

useRevealContext

function
DeclarationView source
useRevealContextts
export declare function useRevealContext(partName: string): RevealContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
RevealContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
RevealContextValue
Requirement
n/a

UseRevealOptions

interface
DeclarationView source
UseRevealOptionsts
export interface UseRevealOptions {
readonly onRevealed?: (detail: RevealChangeDetail) => void;
readonly scheduler?: Scheduler;
readonly evaluateViewportOnStart?: boolean;
readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;
}
Name
Kind
Type
Requirement
evaluateViewportOnStart
property
boolean
optional
host
property
Partial<Omit<RevealControllerHost, "getElement">>
optional
onRevealed
property
(detail: RevealChangeDetail) => void
optional
scheduler
property
Scheduler
optional
Name
evaluateViewportOnStart
Kind
property
Type
boolean
Requirement
optional
Name
host
Kind
property
Type
Partial<Omit<RevealControllerHost, "getElement">>
Requirement
optional
Name
onRevealed
Kind
property
Type
(detail: RevealChangeDetail) => void
Requirement
optional
Name
scheduler
Kind
property
Type
Scheduler
Requirement
optional

UseRevealResult

interface
DeclarationView source
UseRevealResultts
export interface UseRevealResult {
readonly service: RevealService;
readonly connector: RevealApi;
readonly scope: PartScope;
readonly snapshot: Accessor<RevealSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
RevealApi
required
scope
property
PartScope
required
service
property
RevealService
required
snapshot
property
Accessor<RevealSnapshot>
required
Name
connector
Kind
property
Type
RevealApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RevealService
Requirement
required
Name
snapshot
Kind
property
Type
Accessor<RevealSnapshot>
Requirement
required