- Name
service- Kind
- parameter
- Type
RevealService- Requirement
- required
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
connectReveal
functiondeclare function connectReveal(service: RevealService, scope: PartScope): RevealApi;serviceRevealServicescopePartScopereturnRevealApi- Name
scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
return- Kind
- return value
- Type
RevealApi- Requirement
- n/a
createRevealController
functiondeclare function createRevealController(host: RevealControllerHost): RevealController;hostRevealControllerHostreturnRevealController- Name
host- Kind
- parameter
- Type
RevealControllerHost- Requirement
- required
- Name
return- Kind
- return value
- Type
RevealController- Requirement
- n/a
mountReveal
functiondeclare function mountReveal(container: HTMLElement, options?: MountRevealOptions): RevealMount;containerHTMLElementoptionsMountRevealOptionsreturnRevealMount- 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
interfaceinterface 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;}evaluateViewportOnStartbooleanhostPartial<Omit<RevealControllerHost, "getElement">>onRevealed(detail: RevealChangeDetail) => voidrenderRoot(root: HTMLElement) => voidschedulerScheduler- 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
REVEAL_OBSERVER_OPTIONS
valueexport declare const REVEAL_OBSERVER_OPTIONS: IntersectionObserverInit;revealAnatomy
valueexport declare const revealAnatomy: { readonly scope: "reveal"; readonly parts: readonly ["root"];};partsreadonly ["root"]scope"reveal"- Name
parts- Kind
- property
- Type
readonly ["root"]- Requirement
- required
- Name
scope- Kind
- property
- Type
"reveal"- Requirement
- required
RevealApi
interfaceinterface RevealApi { rootProps(): PartProps; readonly shown: boolean;}rootProps() => PartPropsshownboolean- Name
rootProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
shown- Kind
- property
- Type
boolean- Requirement
- required
RevealChangeDetail
interfaceinterface RevealChangeDetail { readonly reason: RevealReason;}reasonRevealReason- Name
reason- Kind
- property
- Type
RevealReason- Requirement
- required
RevealCommand
typetype RevealCommand = (CommandObject & { readonly type: "OBSERVE_START";}) | (CommandObject & { readonly type: "OBSERVE_STOP";}) | (CommandObject & { readonly type: "REVEALED"; readonly reason: RevealReason;}) | ScheduleCommand<RevealEvent> | CancelCommand;RevealContext
typetype RevealContext = { readonly observing: boolean; readonly backstopPending: boolean;};backstopPendingbooleanobservingboolean- Name
backstopPending- Kind
- property
- Type
boolean- Requirement
- required
- Name
observing- Kind
- property
- Type
boolean- Requirement
- required
RevealController
interfaceinterface RevealController { readonly observerCount: () => number; readonly backstopArmed: () => boolean; attach(service: RevealService): void; ensureStarted(service: RevealService): void; startObserving(): void; stopObserving(): void; destroy(): void;}attach(service: RevealService) => voidbackstopArmed() => booleandestroy() => voidensureStarted(service: RevealService) => voidobserverCount() => numberstartObserving() => voidstopObserving() => void- 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
RevealControllerHost
interfaceinterface 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;}createObserver(callback: (entries: ReadonlyArray<{
readonly isIntersecting: boolean;
}>) => void, options: IntersectionObserverInit) => RevealObserverLikeevaluateViewportOnStartbooleangetElement() => RevealObserveTarget | nullgetViewportHeight() => numberhasIntersectionObserverbooleanmatchMedia(query: string) => {
readonly matches: boolean;
}- 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
- —
RevealEvent
typetype RevealEvent = { readonly type: "START";} | { readonly type: "VIEWPORT_INTERSECT";} | { readonly type: "BACKSTOP";} | { readonly type: "REVEAL";} | { readonly type: "STOP";};RevealInput
typetype RevealInput = { /** Controller-reported reduced-motion preference. Not a MediaQueryList. */ readonly prefersReducedMotion?: boolean; /** Controller-reported IntersectionObserver support. */ readonly hasObserver?: boolean;};hasObserverbooleanprefersReducedMotionboolean- 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.
revealMachine
valueexport declare const revealMachine: RevealMachine;RevealMount
interfaceinterface RevealMount { readonly service: RevealService; readonly connector: RevealApi; readonly controller: RevealController; readonly root: HTMLElement; destroy(): void;}connectorRevealApicontrollerRevealControllerdestroy() => voidrootHTMLElementserviceRevealService- 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
interfaceinterface RevealObserverLike { observe(target: RevealObserveTarget): void; disconnect(): void;}disconnect() => voidobserve(target: RevealObserveTarget) => void- Name
disconnect- Kind
- method
- Type
() => void- Requirement
- required
- Name
observe- Kind
- method
- Type
(target: RevealObserveTarget) => void- Requirement
- required
RevealObserveTarget
interfaceinterface RevealObserveTarget { getBoundingClientRect(): RevealRectLike;}getBoundingClientRect() => RevealRectLike- Name
getBoundingClientRect- Kind
- method
- Type
() => RevealRectLike- Requirement
- required
RevealPart
typetype RevealPart = (typeof revealAnatomy.parts)[number];RevealReason
typetype RevealReason = "immediate" | "intersection" | "backstop" | "manual";RevealRectLike
interfaceinterface RevealRectLike { readonly top: number; readonly bottom: number;}bottomnumbertopnumber- Name
bottom- Kind
- property
- Type
number- Requirement
- required
- Name
top- Kind
- property
- Type
number- Requirement
- required
revealSelectors
valueexport declare const revealSelectors: { shown: (snapshot: RevealSnapshot) => boolean; observing: (snapshot: RevealSnapshot) => boolean; backstopPending: (snapshot: RevealSnapshot) => boolean;};backstopPending(snapshot: RevealSnapshot) => booleanobserving(snapshot: RevealSnapshot) => booleanshown(snapshot: RevealSnapshot) => boolean- 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
RevealService
typetype RevealService = Service<RevealInput, RevealStateValue, RevealContext, RevealEvent, RevealCommand>;RevealSnapshot
typetype RevealSnapshot = Snapshot<RevealStateValue, RevealContext>;RevealStateValue
typetype RevealStateValue = "hidden" | "shown";runRevealCommand
functiondeclare function runRevealCommand(command: RevealCommand, _scope: PartScope, options?: { readonly onRevealed?: (detail: { reason: RevealReason; }) => void; readonly controller?: Pick<RevealController, "startObserving" | "stopObserving">;}): void;commandRevealCommand_scopePartScopeoptions{
readonly onRevealed?: (detail: {
reason: RevealReason;
}) => void;
readonly controller?: Pick<RevealController, "startObserving" | "stopObserving">;
}returnvoid- 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 imports
import { Reveal, Root } from "@grassroot/ui-headless-react/reveal";Vue imports
<script setup lang="ts">import { RevealRoot } from "@grassroot/ui-headless-vue/reveal";</script>Angular imports
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
<script lang="ts"> import { RevealRoot } from "@grassroot/ui-headless-svelte/reveal";</script>Solid imports
import { RevealRoot } from "@grassroot/ui-headless-solid/reveal";@grassroot/ui-headless-react/reveal
React adapter
Reveal
valueexport declare const Reveal: { Root: import("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>;};Rootimport("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>- Name
Root- Kind
- property
- Type
import("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>- Requirement
- required
RevealChangeDetail
interfaceinterface RevealChangeDetail { readonly reason: RevealReason;}reasonRevealReason- Name
reason- Kind
- property
- Type
RevealReason- Requirement
- required
RevealContext
valueexport declare const RevealContext: import("react").Context<RevealContextValue | null>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
RevealContextValue
interfaceinterface RevealContextValue { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope;}connectorRevealApiscopePartScopeserviceRevealService- 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
interfaceinterface 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;}asstringasChildbooleanchildrenReactNodeevaluateViewportOnStartbooleanhostUseRevealOptions["host"]onRevealed(detail: RevealChangeDetail) => voidschedulerUseRevealOptions["scheduler"]- 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
valueexport declare const Root: import("react").ForwardRefExoticComponent<RevealRootProps & import("react").RefAttributes<HTMLElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
useReveal
functiondeclare function useReveal(input?: RevealInput, options?: UseRevealOptions): UseRevealResult;inputRevealInputoptionsUseRevealOptionsreturnUseRevealResult- 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
functiondeclare function useRevealContext(partName: string): RevealContextValue;partNamestringreturnRevealContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
RevealContextValue- Requirement
- n/a
UseRevealOptions
interfaceinterface 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">>;}evaluateViewportOnStartbooleanhostPartial<Omit<RevealControllerHost, "getElement">>onRevealed(detail: RevealChangeDetail) => voidschedulerScheduler- 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
interfaceinterface UseRevealResult { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope; readonly snapshot: RevealSnapshot;}connectorRevealApiscopePartScopeserviceRevealServicesnapshotRevealSnapshot- 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
RevealChangeDetail
interfaceinterface RevealChangeDetail { readonly reason: RevealReason;}reasonRevealReason- Name
reason- Kind
- property
- Type
RevealReason- Requirement
- required
RevealContextKey
valueexport declare const RevealContextKey: InjectionKey<RevealContextValue>;RevealContextValue
interfaceinterface RevealContextValue { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope; readonly snapshot: ShallowRef<RevealSnapshot>;}connectorRevealApiscopePartScopeserviceRevealServicesnapshotShallowRef<RevealSnapshot>- 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
valueexport 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
functiondeclare function useReveal(input?: RevealInput | (() => RevealInput), options?: UseRevealOptions): UseRevealResult;inputRevealInput | (() => RevealInput)optionsUseRevealOptionsreturnUseRevealResult- 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
functiondeclare function useRevealContext(partName: string): RevealContextValue;partNamestringreturnRevealContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
RevealContextValue- Requirement
- n/a
UseRevealOptions
interfaceinterface UseRevealOptions { readonly onRevealed?: (detail: RevealChangeDetail) => void; readonly scheduler?: Scheduler; readonly evaluateViewportOnStart?: boolean; readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;}evaluateViewportOnStartbooleanhostPartial<Omit<RevealControllerHost, "getElement">>onRevealed(detail: RevealChangeDetail) => voidschedulerScheduler- 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
interfaceinterface UseRevealResult { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope; readonly snapshot: ShallowRef<RevealSnapshot>;}connectorRevealApiscopePartScopeserviceRevealServicesnapshotShallowRef<RevealSnapshot>- 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
createRevealStore
functionexport declare function createRevealStore(initialInput?: RevealInput, options?: CreateRevealStoreOptions): RevealStore;initialInputRevealInputoptionsCreateRevealStoreOptionsreturnRevealStore- 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
CreateRevealStoreOptions
interfaceexport interface CreateRevealStoreOptions { readonly onRevealed?: (detail: RevealChangeDetail) => void; readonly onCommit?: () => void; readonly scheduler?: Scheduler; readonly evaluateViewportOnStart?: boolean; readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;}evaluateViewportOnStartbooleanhostPartial<Omit<RevealControllerHost, "getElement">>onCommit() => voidonRevealed(detail: RevealChangeDetail) => voidschedulerScheduler- 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
GR_REVEAL_DECLARATIONS
valueexport declare const GR_REVEAL_DECLARATIONS: readonly [typeof GrRevealRoot];GrRevealRoot
classexport 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>;}elementanyinjectoranylistenersanyngOnDestroy() => voidɵcmpi0.ɵɵComponentDeclaration<GrRevealRoot, "gr-reveal-root", never, {}, { "revealed": "revealed"; }, never, ["*"], true, never>ɵfaci0.ɵɵFactoryDeclaration<GrRevealRoot, never>revealedimport("@angular/core").OutputEmitterRef<RevealChangeDetail>storeRevealStore- 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
provideRevealStore
functionexport declare function provideRevealStore(): Provider;returnProvider- Name
return- Kind
- return value
- Type
Provider- Requirement
- n/a
REVEAL_HOST
valueexport declare const REVEAL_HOST: InjectionToken<Partial<Omit<RevealControllerHost, "getElement">>>;REVEAL_SCHEDULER
valueexport declare const REVEAL_SCHEDULER: InjectionToken<Scheduler>;REVEAL_STORE
valueexport declare const REVEAL_STORE: InjectionToken<RevealStore>;RevealChangeDetail
interfaceexport interface RevealChangeDetail { readonly reason: RevealReason;}reasonRevealReason- Name
reason- Kind
- property
- Type
RevealReason- Requirement
- required
RevealStore
interfaceexport 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;}bindRevealed(handler: (detail: RevealChangeDetail) => void) => voidconnectorRevealApiscopePartScopeserviceRevealServicestart() => voidstop() => voidsync(input: RevealInput) => voidversionWritableSignal<number>- 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
createReveal
functionexport declare function createReveal(inputGetter?: () => RevealInput, options?: UseRevealOptions): UseRevealResult;inputGetter() => RevealInputoptionsUseRevealOptionsreturnUseRevealResult- 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
interfaceexport interface RevealChangeDetail { readonly reason: RevealReason;}reasonRevealReason- Name
reason- Kind
- property
- Type
RevealReason- Requirement
- required
RevealContextValue
interfaceexport interface RevealContextValue { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope; readonly version: () => number;}connectorRevealApiscopePartScopeserviceRevealServiceversion() => number- 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
valueexport declare const RevealRoot: LegacyComponentType;argsParameters<Component<Record<string, any>>>returnReturnType<Component<Record<string, any>, Record<string, any>>>- 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
functionSplit the core prop bag, then apply Svelte-specific style/event handling.
export declare function splitProps(props: PartProps): SplitProps;propsPartPropsreturnSplitProps- Name
props- Kind
- parameter
- Type
PartProps- Requirement
- required
- Name
return- Kind
- return value
- Type
SplitProps- Requirement
- n/a
useRevealContext
functionexport declare function useRevealContext(partName: string): RevealContextValue;partNamestringreturnRevealContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
RevealContextValue- Requirement
- n/a
UseRevealOptions
interfaceexport interface UseRevealOptions { readonly onRevealed?: (detail: RevealChangeDetail) => void; readonly scheduler?: Scheduler; readonly evaluateViewportOnStart?: boolean; readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;}evaluateViewportOnStartbooleanhostPartial<Omit<RevealControllerHost, "getElement">>onRevealed(detail: RevealChangeDetail) => voidschedulerScheduler- 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
interfaceexport interface UseRevealResult { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope; readonly version: () => number;}connectorRevealApiscopePartScopeserviceRevealServiceversion() => number- 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
functionexport declare function wireEvents(node: Element, params: { events: Record<string, EventListener>; ref?: (node: Element | null) => void;}): { update(next: typeof params): void; destroy(): void;};nodeElementparams{
events: Record<string, EventListener>;
ref?: (node: Element | null) => void;
}return{
update(next: typeof params): void;
destroy(): void;
}- 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
RevealChangeDetail
interfaceexport interface RevealChangeDetail { readonly reason: RevealReason;}reasonRevealReason- Name
reason- Kind
- property
- Type
RevealReason- Requirement
- required
RevealContext
valueexport declare const RevealContext: import("solid-js").Context<RevealContextValue | undefined>;RevealContextValue
interfaceexport interface RevealContextValue { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope; readonly snapshot: Accessor<RevealSnapshot>;}connectorRevealApiscopePartScopeserviceRevealServicesnapshotAccessor<RevealSnapshot>- 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
functionexport declare function RevealRoot(props: RevealRootProps): JSX.Element;propsRevealRootPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
RevealRootProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
RevealRootProps
interfaceexport 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"];}asAsPropevaluateViewportOnStartbooleanhostUseRevealOptions["host"]onRevealed(detail: RevealChangeDetail) => voidschedulerUseRevealOptions["scheduler"]- 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
functionexport declare function useReveal(input: Accessor<RevealInput>, options?: UseRevealOptions): UseRevealResult;inputAccessor<RevealInput>optionsUseRevealOptionsreturnUseRevealResult- 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
functionexport declare function useRevealContext(partName: string): RevealContextValue;partNamestringreturnRevealContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
RevealContextValue- Requirement
- n/a
UseRevealOptions
interfaceexport interface UseRevealOptions { readonly onRevealed?: (detail: RevealChangeDetail) => void; readonly scheduler?: Scheduler; readonly evaluateViewportOnStart?: boolean; readonly host?: Partial<Omit<RevealControllerHost, "getElement">>;}evaluateViewportOnStartbooleanhostPartial<Omit<RevealControllerHost, "getElement">>onRevealed(detail: RevealChangeDetail) => voidschedulerScheduler- 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
interfaceexport interface UseRevealResult { readonly service: RevealService; readonly connector: RevealApi; readonly scope: PartScope; readonly snapshot: Accessor<RevealSnapshot>;}connectorRevealApiscopePartScopeserviceRevealServicesnapshotAccessor<RevealSnapshot>- 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