- Name
service- Kind
- parameter
- Type
DialogService- Requirement
- required
DocsAPI referenceHeadlessdialog
dialog 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/dialog
Core connector and vanilla API
activateDialogManagers
functionManager lifecycle helper (spec's "Managers" section) — pushes a modal layer (which holds its own ref-counted `lockScroll` handle for its lifetime per the amendment) whose `onDismiss` forwards straight to `service.send({ type: "CLOSE", reason })` (dismissal never forks state — the machine's own `dismissable` guard decides whether it becomes a transition), with `getElements` covering the mounted Content *and* Trigger (so a trigger click while open is never treated as an outside click), and installs `trapFocus` on the mounted Content. Callers (adapters/`mountDialog`) invoke this once the overlay commits open, and call the returned `release()` on close-commit or unmount. Requires Content (and ideally Trigger) to already be registered in `scope` — this is a mount-time-only manager wire-up, never called at SSR or before the overlay's DOM exists (mirrors the shared layer's "pushing while unmounted is a development error" stance for its `document` argument).
declare function activateDialogManagers(service: DialogService, scope: PartScope, doc: Document): () => void;serviceDialogServicescopePartScopedocDocumentreturn() => void- Name
scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
doc- Kind
- parameter
- Type
Document- Requirement
- required
- Name
return- Kind
- return value
- Type
() => void- Requirement
- n/a
connectDialog
functiondeclare function connectDialog(service: DialogService, scope: PartScope, _options?: DialogConnectOptions): DialogApi;serviceDialogServicescopePartScope_optionsDialogConnectOptionsreturnDialogApi- Name
service- Kind
- parameter
- Type
DialogService- Requirement
- required
- Name
scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
_options- Kind
- parameter
- Type
DialogConnectOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
DialogApi- Requirement
- n/a
dialogAnatomy
valueexport declare const dialogAnatomy: { readonly scope: "dialog"; readonly parts: readonly ["trigger", "backdrop", "positioner", "content", "title", "description", "close-trigger"];};partsreadonly ["trigger", "backdrop", "positioner", "content", "title", "description", "close-trigger"]scope"dialog"- Name
parts- Kind
- property
- Type
readonly ["trigger", "backdrop", "positioner", "content", "title", "description", "close-trigger"]- Requirement
- required
- Name
scope- Kind
- property
- Type
"dialog"- Requirement
- required
DialogApi
interfaceinterface DialogApi { triggerProps(): PartProps; backdropProps(): PartProps; positionerProps(): PartProps; contentProps(): PartProps; titleProps(): PartProps; descriptionProps(): PartProps; closeTriggerProps(): PartProps; readonly open: boolean;}backdropProps() => PartPropscloseTriggerProps() => PartPropscontentProps() => PartPropsdescriptionProps() => PartPropsopenbooleanpositionerProps() => PartPropstitleProps() => PartPropstriggerProps() => PartProps- Name
backdropProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
closeTriggerProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
contentProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
descriptionProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
positionerProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
titleProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
triggerProps- Kind
- method
- Type
() => PartProps- Requirement
- required
DialogChangeReason
typetype DialogChangeReason = DialogOpenReason | DialogCloseReason;DialogCloseReason
typetype DialogCloseReason = "escape" | "outside-click" | "close-trigger" | "programmatic";DialogCommand
typetype DialogCommand = CommandObject & { readonly type: "OPEN_CHANGE_REQUEST"; readonly open: boolean; readonly reason: DialogChangeReason;};openbooleanreasonDialogChangeReasontypestring- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
- Name
type- Kind
- property
- Type
string- Requirement
- required
DialogConnectOptions
interfaceinterface DialogConnectOptions {}DialogContext
typetype DialogContext = { readonly mode: "controlled" | "uncontrolled";};mode"controlled" | "uncontrolled"- Name
mode- Kind
- property
- Type
"controlled" | "uncontrolled"- Requirement
- required
DialogEvent
typetype DialogEvent = { readonly type: "OPEN"; readonly reason: DialogOpenReason;} | { readonly type: "CLOSE"; readonly reason: DialogCloseReason;};DialogInput
typetype DialogInput = { readonly open?: boolean; readonly defaultOpen?: boolean; readonly dismissable?: boolean;};defaultOpenbooleandismissablebooleanopenboolean- Name
defaultOpen- Kind
- property
- Type
boolean- Requirement
- optional
- Name
dismissable- Kind
- property
- Type
boolean- Requirement
- optional
- Name
open- Kind
- property
- Type
boolean- Requirement
- optional
dialogMachine
valueexport declare const dialogMachine: DialogMachine;DialogMount
interfaceinterface DialogMount { readonly service: DialogService; readonly connector: DialogApi; readonly root: HTMLElement; readonly trigger: HTMLElement; destroy(): void;}connectorDialogApidestroy() => voidrootHTMLElementserviceDialogServicetriggerHTMLElement- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
root- Kind
- property
- Type
HTMLElement- Requirement
- required
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Name
trigger- Kind
- property
- Type
HTMLElement- Requirement
- required
DialogOpenChangeDetail
interfaceinterface DialogOpenChangeDetail { readonly open: boolean; readonly reason: DialogChangeReason;}openbooleanreasonDialogChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
DialogOpenReason
typetype DialogOpenReason = "trigger" | "programmatic";DialogPart
typetype DialogPart = (typeof dialogAnatomy.parts)[number];dialogSelectors
valueexport declare const dialogSelectors: { open: (snapshot: DialogSnapshot) => boolean;};open(snapshot: DialogSnapshot) => boolean- Name
open- Kind
- property
- Type
(snapshot: DialogSnapshot) => boolean- Requirement
- required
DialogService
typetype DialogService = Service<DialogInput, DialogStateValue, DialogContext, DialogEvent, DialogCommand>;DialogSnapshot
typetype DialogSnapshot = Snapshot<DialogStateValue, DialogContext>;DialogStateValue
typetype DialogStateValue = "open" | "closed";mountDialog
functiondeclare function mountDialog(container: HTMLElement, options?: MountDialogOptions): DialogMount;containerHTMLElementoptionsMountDialogOptionsreturnDialogMount- Name
container- Kind
- parameter
- Type
HTMLElement- Requirement
- required
- Name
options- Kind
- parameter
- Type
MountDialogOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
DialogMount- Requirement
- n/a
MountDialogOptions
interfaceinterface MountDialogOptions extends DialogInput { readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void; /** Render callback for the trigger's content; default = "Open" as textContent. */ readonly renderTrigger?: (button: HTMLElement) => void; /** Render callback for the content panel's own content (title/description/close-trigger are appended after it runs). */ readonly renderContent?: (panel: HTMLElement) => void; /** Render callback for the title's content; default = "Dialog" as textContent. */ readonly renderTitle?: (heading: HTMLElement) => void; /** Render callback for the description's content; default = untouched (empty). */ readonly renderDescription?: (paragraph: HTMLElement) => void; /** Render callback for the close-trigger's content; default = "Close" as textContent. */ readonly renderCloseTrigger?: (button: HTMLElement) => void;}onOpenChange(detail: DialogOpenChangeDetail) => voidrenderCloseTrigger(button: HTMLElement) => voidrenderContent(panel: HTMLElement) => voidrenderDescription(paragraph: HTMLElement) => voidrenderTitle(heading: HTMLElement) => voidrenderTrigger(button: HTMLElement) => void- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
- Description
- —
- Name
renderCloseTrigger- Kind
- property
- Type
(button: HTMLElement) => void- Requirement
- optional
- Description
- Render callback for the close-trigger's content; default = "Close" as textContent.
- Name
renderContent- Kind
- property
- Type
(panel: HTMLElement) => void- Requirement
- optional
- Description
- Render callback for the content panel's own content (title/description/close-trigger are appended after it runs).
- Name
renderDescription- Kind
- property
- Type
(paragraph: HTMLElement) => void- Requirement
- optional
- Description
- Render callback for the description's content; default = untouched (empty).
- Name
renderTitle- Kind
- property
- Type
(heading: HTMLElement) => void- Requirement
- optional
- Description
- Render callback for the title's content; default = "Dialog" as textContent.
- Name
renderTrigger- Kind
- property
- Type
(button: HTMLElement) => void- Requirement
- optional
- Description
- Render callback for the trigger's content; default = "Open" as textContent.
runDialogCommand
functionDialog-shaped command runner — mirrors `runTooltipCommand`. Pass this as the `runCommand` option when constructing the Dialog `Service` (never called by `connectDialog` itself). Resolves `OPEN_CHANGE_REQUEST` against an optional `onOpenChange` callback.
declare function runDialogCommand(command: DialogCommand, _scope: PartScope, options?: { readonly onOpenChange?: (detail: { open: boolean; reason: DialogChangeReason; }) => void;}): void;commandDialogCommand_scopePartScopeoptions{
readonly onOpenChange?: (detail: {
open: boolean;
reason: DialogChangeReason;
}) => void;
}returnvoid- Name
command- Kind
- parameter
- Type
DialogCommand- Requirement
- required
- Name
_scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
options- Kind
- parameter
- Type
{ readonly onOpenChange?: (detail: { open: boolean; reason: DialogChangeReason; }) => void; }- 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 { Backdrop, CloseTrigger, Content, Description, Dialog, Positioner, Root, Title } from "@grassroot/ui-headless-react/dialog"; // +1 more exportsVue imports
<script setup lang="ts">import { DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogRoot, DialogTitle, DialogTrigger } from "@grassroot/ui-headless-vue/dialog";</script>Angular imports
import { Component } from "@angular/core";import { GR_DIALOG_DECLARATIONS } from "@grassroot/ui-headless-angular/dialog"; @Component({ standalone: true, imports: [GR_DIALOG_DECLARATIONS], template: `<!-- compose the dialog parts here -->` })export class Example {}Svelte imports
<script lang="ts"> import { DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogRoot, DialogTitle, DialogTrigger } from "@grassroot/ui-headless-svelte/dialog";</script>Solid imports
import { DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogRoot, DialogTitle, DialogTrigger } from "@grassroot/ui-headless-solid/dialog";@grassroot/ui-headless-react/dialog
React adapter
Backdrop
valueexport declare const Backdrop: import("react").ForwardRefExoticComponent<DialogBackdropProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
CloseTrigger
valueexport declare const CloseTrigger: import("react").ForwardRefExoticComponent<DialogCloseTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Content
valueexport declare const Content: import("react").ForwardRefExoticComponent<DialogContentProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Description
valueexport declare const Description: import("react").ForwardRefExoticComponent<DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Dialog
valueexport declare const Dialog: { Root: typeof Root; Trigger: import("react").ForwardRefExoticComponent<DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>; Backdrop: import("react").ForwardRefExoticComponent<DialogBackdropProps & import("react").RefAttributes<HTMLDivElement>>; Positioner: import("react").ForwardRefExoticComponent<DialogPositionerProps & import("react").RefAttributes<HTMLDivElement>>; Content: import("react").ForwardRefExoticComponent<DialogContentProps & import("react").RefAttributes<HTMLDivElement>>; Title: import("react").ForwardRefExoticComponent<DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>>; Description: import("react").ForwardRefExoticComponent<DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>>; CloseTrigger: import("react").ForwardRefExoticComponent<DialogCloseTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;};Backdropimport("react").ForwardRefExoticComponent<DialogBackdropProps & import("react").RefAttributes<HTMLDivElement>>CloseTriggerimport("react").ForwardRefExoticComponent<DialogCloseTriggerProps & import("react").RefAttributes<HTMLButtonElement>>Contentimport("react").ForwardRefExoticComponent<DialogContentProps & import("react").RefAttributes<HTMLDivElement>>Descriptionimport("react").ForwardRefExoticComponent<DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>>Positionerimport("react").ForwardRefExoticComponent<DialogPositionerProps & import("react").RefAttributes<HTMLDivElement>>Roottypeof RootTitleimport("react").ForwardRefExoticComponent<DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>>Triggerimport("react").ForwardRefExoticComponent<DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>- Name
Backdrop- Kind
- property
- Type
import("react").ForwardRefExoticComponent<DialogBackdropProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
CloseTrigger- Kind
- property
- Type
import("react").ForwardRefExoticComponent<DialogCloseTriggerProps & import("react").RefAttributes<HTMLButtonElement>>- Requirement
- required
- Name
Content- Kind
- property
- Type
import("react").ForwardRefExoticComponent<DialogContentProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
Description- Kind
- property
- Type
import("react").ForwardRefExoticComponent<DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>>- Requirement
- required
- Name
Positioner- Kind
- property
- Type
import("react").ForwardRefExoticComponent<DialogPositionerProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
Root- Kind
- property
- Type
typeof Root- Requirement
- required
- Name
Title- Kind
- property
- Type
import("react").ForwardRefExoticComponent<DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>>- Requirement
- required
- Name
Trigger- Kind
- property
- Type
import("react").ForwardRefExoticComponent<DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>- Requirement
- required
DialogBackdropProps
interfaceinterface DialogBackdropProps extends ComponentPropsWithoutRef<"div"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
DialogCloseTriggerProps
interfaceinterface DialogCloseTriggerProps extends Omit<ComponentPropsWithoutRef<"button">, "type"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
DialogContentProps
interfaceinterface DialogContentProps extends ComponentPropsWithoutRef<"div"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
DialogContext
valueexport declare const DialogContext: import("react").Context<DialogContextValue | null>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
DialogContextValue
interfaceinterface DialogContextValue { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope;}connectorDialogApiscopePartScopeserviceDialogService- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
DialogDescriptionProps
interfaceinterface DialogDescriptionProps extends ComponentPropsWithoutRef<"p"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
DialogOpenChangeDetail
interfaceinterface DialogOpenChangeDetail { readonly open: boolean; readonly reason: DialogChangeReason;}openbooleanreasonDialogChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
DialogPositionerProps
interfaceinterface DialogPositionerProps extends ComponentPropsWithoutRef<"div"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
DialogRootProps
interfaceinterface DialogRootProps { readonly open?: DialogInput["open"]; readonly defaultOpen?: DialogInput["defaultOpen"]; readonly dismissable?: DialogInput["dismissable"]; readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void; readonly children?: ReactNode;}childrenReactNodedefaultOpenDialogInput["defaultOpen"]dismissableDialogInput["dismissable"]onOpenChange(detail: DialogOpenChangeDetail) => voidopenDialogInput["open"]- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
- Name
defaultOpen- Kind
- property
- Type
DialogInput["defaultOpen"]- Requirement
- optional
- Name
dismissable- Kind
- property
- Type
DialogInput["dismissable"]- Requirement
- optional
- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
- Name
open- Kind
- property
- Type
DialogInput["open"]- Requirement
- optional
DialogTitleProps
interfaceinterface DialogTitleProps extends ComponentPropsWithoutRef<"h2"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
DialogTriggerProps
interfaceinterface DialogTriggerProps extends Omit<ComponentPropsWithoutRef<"button">, "type"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
Positioner
valueexport declare const Positioner: import("react").ForwardRefExoticComponent<DialogPositionerProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Root
functiondeclare function Root(props: DialogRootProps): import("react").JSX.Element;propsDialogRootPropsreturnimport("react").JSX.Element- Name
props- Kind
- parameter
- Type
DialogRootProps- Requirement
- required
- Name
return- Kind
- return value
- Type
import("react").JSX.Element- Requirement
- n/a
Title
valueexport declare const Title: import("react").ForwardRefExoticComponent<DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Trigger
valueexport declare const Trigger: import("react").ForwardRefExoticComponent<DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
useDialog
functiondeclare function useDialog(input: DialogInput, options?: UseDialogOptions): UseDialogResult;inputDialogInputoptionsUseDialogOptionsreturnUseDialogResult- Name
input- Kind
- parameter
- Type
DialogInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseDialogOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseDialogResult- Requirement
- n/a
useDialogContext
functiondeclare function useDialogContext(partName: string): DialogContextValue;partNamestringreturnDialogContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
DialogContextValue- Requirement
- n/a
UseDialogOptions
interfaceinterface UseDialogOptions { readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void;}onOpenChange(detail: DialogOpenChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
UseDialogResult
interfaceinterface UseDialogResult { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope; readonly snapshot: DialogSnapshot;}connectorDialogApiscopePartScopeserviceDialogServicesnapshotDialogSnapshot- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
DialogSnapshot- Requirement
- required
useServiceVersion
functionSubscribes a component to a service's committed-snapshot version.
declare function useServiceVersion<S extends Service<any, any, any, any, any, any>>(service: S): ReturnType<S["getSnapshot"]>;serviceSreturnReturnType<S["getSnapshot"]>- Name
service- Kind
- parameter
- Type
S- Requirement
- required
- Name
return- Kind
- return value
- Type
ReturnType<S["getSnapshot"]>- Requirement
- n/a
@grassroot/ui-headless-vue/dialog
Vue adapter
DialogBackdrop
valueexport declare const DialogBackdrop: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;DialogCloseTrigger
valueexport declare const DialogCloseTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;DialogContent
valueexport declare const DialogContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;DialogContextKey
valueexport declare const DialogContextKey: InjectionKey<DialogContextValue>;DialogContextValue
interfaceinterface DialogContextValue { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope; /** Bumped on every committed machine update; parts read `.value` to establish a reactive dependency. */ readonly snapshot: ShallowRef<DialogSnapshot>;}connectorDialogApiscopePartScopeserviceDialogServicesnapshotShallowRef<DialogSnapshot>- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Description
- —
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Description
- —
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Description
- —
- Name
snapshot- Kind
- property
- Type
ShallowRef<DialogSnapshot>- Requirement
- required
- Description
- Bumped on every committed machine update; parts read `.value` to establish a reactive dependency.
DialogDescription
valueexport declare const DialogDescription: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;DialogOpenChangeDetail
interfaceinterface DialogOpenChangeDetail { readonly open: boolean; readonly reason: DialogChangeReason;}openbooleanreasonDialogChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
DialogPositioner
valueexport declare const DialogPositioner: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;DialogRoot
valueexport declare const DialogRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ open: { type: PropType<DialogInput["open"]>; default: undefined; }; defaultOpen: { type: PropType<DialogInput["defaultOpen"]>; default: undefined; }; dismissable: { type: PropType<DialogInput["dismissable"]>; default: undefined; };}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { openChange: (_detail: DialogOpenChangeDetail) => true;}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ open: { type: PropType<DialogInput["open"]>; default: undefined; }; defaultOpen: { type: PropType<DialogInput["defaultOpen"]>; default: undefined; }; dismissable: { type: PropType<DialogInput["dismissable"]>; default: undefined; };}>> & Readonly<{ onOpenChange?: ((_detail: DialogOpenChangeDetail) => any) | undefined;}>, { open: boolean | undefined; defaultOpen: boolean | undefined; dismissable: boolean | undefined;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;DialogTitle
valueexport declare const DialogTitle: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;DialogTrigger
valueexport declare const DialogTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;useDialog
functiondeclare function useDialog(input: DialogInput | (() => DialogInput), options?: UseDialogOptions): InternalUseDialogResult;inputDialogInput | (() => DialogInput)optionsUseDialogOptionsreturnInternalUseDialogResult- Name
input- Kind
- parameter
- Type
DialogInput | (() => DialogInput)- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseDialogOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
InternalUseDialogResult- Requirement
- n/a
useDialogContext
functiondeclare function useDialogContext(partName: string): DialogContextValue;partNamestringreturnDialogContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
DialogContextValue- Requirement
- n/a
UseDialogOptions
interfaceinterface UseDialogOptions { readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void;}onOpenChange(detail: DialogOpenChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
UseDialogResult
interfaceinterface UseDialogResult { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope; readonly snapshot: ShallowRef<DialogSnapshot>;}connectorDialogApiscopePartScopeserviceDialogServicesnapshotShallowRef<DialogSnapshot>- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
ShallowRef<DialogSnapshot>- Requirement
- required
@grassroot/ui-headless-angular/dialog
Angular adapter
createDialogStore
functionexport declare function createDialogStore(initialInput: DialogInput, options?: CreateDialogStoreOptions): DialogStore;initialInputDialogInputoptionsCreateDialogStoreOptionsreturnDialogStore- Name
initialInput- Kind
- parameter
- Type
DialogInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
CreateDialogStoreOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
DialogStore- Requirement
- n/a
CreateDialogStoreOptions
interfaceexport interface CreateDialogStoreOptions { readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void; readonly onCommit?: () => void;}onCommit() => voidonOpenChange(detail: DialogOpenChangeDetail) => void- Name
onCommit- Kind
- property
- Type
() => void- Requirement
- optional
- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
DIALOG_PROJECTION_STORE
valueexport declare const DIALOG_PROJECTION_STORE: InjectionToken<DialogProjectionStore>;DIALOG_STORE
valueexport declare const DIALOG_STORE: InjectionToken<DialogStore>;DialogOpenChangeDetail
interfaceexport interface DialogOpenChangeDetail { readonly open: boolean; readonly reason: DialogChangeReason;}openbooleanreasonDialogChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
DialogProjectionStore
interfaceNarrow projection seam shared by styled Dialog and AlertDialog. Keeping this token in the already-shared Angular adapter module lets the styled Dialog markers register accessible-name parts without importing the AlertDialog implementation (and therefore its whole source closure).
export interface DialogProjectionStore { readonly scope: Pick<PartScope, "id" | "register">; readonly version: () => number; readonly connector: { titleProps(): PartProps; descriptionProps(): PartProps; };}connector{
titleProps(): PartProps;
descriptionProps(): PartProps;
}scopePick<PartScope, "id" | "register">version() => number- Name
connector- Kind
- property
- Type
{ titleProps(): PartProps; descriptionProps(): PartProps; }- Requirement
- required
- Name
scope- Kind
- property
- Type
Pick<PartScope, "id" | "register">- Requirement
- required
- Name
version- Kind
- property
- Type
() => number- Requirement
- required
DialogStore
interfaceexport interface DialogStore { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope; /** * Bumped on every committed machine update. Effects that read the * connector's prop bags must read this signal first — inside the same * `effect()` — so Angular's reactivity re-runs the effect on every * committed change (the staleness bug class called out across every * other adapter). */ readonly version: WritableSignal<number>; /** Starts the underlying service (idempotent) — call from the browser only. */ start(): void; /** Stops the underlying service (idempotent). */ stop(): void; /** Forwards a new committed input to the machine (no-op on the very first call). */ sync(input: DialogInput): void;}connectorDialogApiscopePartScopeserviceDialogServicestart() => voidstop() => voidsync(input: DialogInput) => voidversionWritableSignal<number>- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Description
- —
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Description
- —
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Description
- —
- Name
start- Kind
- method
- Type
() => void- Requirement
- required
- Description
- Starts the underlying service (idempotent) — call from the browser only.
- Name
stop- Kind
- method
- Type
() => void- Requirement
- required
- Description
- Stops the underlying service (idempotent).
- Name
sync- Kind
- method
- Type
(input: DialogInput) => void- Requirement
- required
- Description
- Forwards a new committed input to the machine (no-op on the very first call).
- Name
version- Kind
- property
- Type
WritableSignal<number>- Requirement
- required
- Description
- Bumped on every committed machine update. Effects that read the connector's prop bags must read this signal first — inside the same `effect()` — so Angular's reactivity re-runs the effect on every committed change (the staleness bug class called out across every other adapter).
GR_DIALOG_DECLARATIONS
valueexport declare const GR_DIALOG_DECLARATIONS: readonly [typeof GrDialogRoot, typeof GrDialogTrigger, typeof GrDialogOpen, typeof GrDialogBackdrop, typeof GrDialogPositioner, typeof GrDialogContent, typeof GrDialogTitle, typeof GrDialogDescription, typeof GrDialogCloseTrigger];GrDialogBackdrop
classexport declare class GrDialogBackdrop implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogBackdrop, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogBackdrop, "[grDialogBackdrop]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogBackdrop, "[grDialogBackdrop]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogBackdrop, never>storeany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogBackdrop, "[grDialogBackdrop]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogBackdrop, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrDialogCloseTrigger
classexport declare class GrDialogCloseTrigger implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogCloseTrigger, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogCloseTrigger, "[grDialogCloseTrigger]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogCloseTrigger, "[grDialogCloseTrigger]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogCloseTrigger, never>storeany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogCloseTrigger, "[grDialogCloseTrigger]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogCloseTrigger, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrDialogContent
classexport declare class GrDialogContent implements OnDestroy { readonly ariaLabelledby: import("@angular/core").InputSignal<string | undefined>; readonly ariaDescribedby: import("@angular/core").InputSignal<string | undefined>; private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogContent, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogContent, "[grDialogContent]", never, { "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;}ariaDescribedbyimport("@angular/core").InputSignal<string | undefined>ariaLabelledbyimport("@angular/core").InputSignal<string | undefined>consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogContent, "[grDialogContent]", never, { "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogContent, never>storeany- Name
ariaDescribedby- Kind
- property
- Type
import("@angular/core").InputSignal<string | undefined>- Requirement
- required
- Name
ariaLabelledby- Kind
- property
- Type
import("@angular/core").InputSignal<string | undefined>- Requirement
- required
- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogContent, "[grDialogContent]", never, { "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogContent, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrDialogDescription
classexport declare class GrDialogDescription implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogDescription, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogDescription, "[grDialogDescription]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogDescription, "[grDialogDescription]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogDescription, never>storeany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogDescription, "[grDialogDescription]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogDescription, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrDialogOpen
classexport declare class GrDialogOpen implements OnDestroy { private readonly store; private readonly templateRef; private readonly viewContainerRef; private hasView; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogOpen, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogOpen, "[grDialogOpen]", never, {}, {}, never, never, true, never>;}hasViewanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogOpen, "[grDialogOpen]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogOpen, never>storeanytemplateRefanyviewContainerRefany- Name
hasView- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogOpen, "[grDialogOpen]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogOpen, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
- Name
templateRef- Kind
- property
- Type
any- Requirement
- required
- Name
viewContainerRef- Kind
- property
- Type
any- Requirement
- required
GrDialogPositioner
classexport declare class GrDialogPositioner implements OnDestroy { private readonly store; private readonly elementRef; private readonly renderer; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; private portalToBody; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogPositioner, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogPositioner, "[grDialogPositioner]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogPositioner, "[grDialogPositioner]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogPositioner, never>portalToBodyanyrendereranystoreany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogPositioner, "[grDialogPositioner]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogPositioner, never>- Requirement
- required
- Name
portalToBody- Kind
- property
- Type
any- Requirement
- required
- Name
renderer- Kind
- property
- Type
any- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrDialogRoot
classexport declare class GrDialogRoot implements OnDestroy { readonly open: import("@angular/core").InputSignal<boolean | undefined>; readonly defaultOpen: import("@angular/core").InputSignal<boolean | undefined>; readonly dismissable: import("@angular/core").InputSignal<boolean | undefined>; readonly openChange: import("@angular/core").OutputEmitterRef<DialogOpenChangeDetail>; private readonly injector; private lastSynced; private releaseManagers; readonly store: DialogStore; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogRoot, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogRoot, "[grDialogRoot]", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "dismissable": { "alias": "dismissable"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, never, true, never>;}defaultOpenimport("@angular/core").InputSignal<boolean | undefined>dismissableimport("@angular/core").InputSignal<boolean | undefined>injectoranylastSyncedanyngOnDestroy() => voidopenimport("@angular/core").InputSignal<boolean | undefined>openChangeimport("@angular/core").OutputEmitterRef<DialogOpenChangeDetail>ɵdiri0.ɵɵDirectiveDeclaration<GrDialogRoot, "[grDialogRoot]", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "dismissable": { "alias": "dismissable"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogRoot, never>releaseManagersanystoreDialogStore- Name
defaultOpen- Kind
- property
- Type
import("@angular/core").InputSignal<boolean | undefined>- Requirement
- required
- Name
dismissable- Kind
- property
- Type
import("@angular/core").InputSignal<boolean | undefined>- Requirement
- required
- Name
injector- Kind
- property
- Type
any- Requirement
- required
- Name
lastSynced- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
open- Kind
- property
- Type
import("@angular/core").InputSignal<boolean | undefined>- Requirement
- required
- Name
openChange- Kind
- property
- Type
import("@angular/core").OutputEmitterRef<DialogOpenChangeDetail>- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogRoot, "[grDialogRoot]", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "dismissable": { "alias": "dismissable"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogRoot, never>- Requirement
- required
- Name
releaseManagers- Kind
- property
- Type
any- Requirement
- required
- Name
store- Kind
- property
- Type
DialogStore- Requirement
- required
GrDialogTitle
classexport declare class GrDialogTitle implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogTitle, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogTitle, "[grDialogTitle]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogTitle, "[grDialogTitle]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogTitle, never>storeany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogTitle, "[grDialogTitle]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogTitle, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrDialogTrigger
classexport declare class GrDialogTrigger implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrDialogTrigger, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrDialogTrigger, "[grDialogTrigger]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrDialogTrigger, "[grDialogTrigger]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrDialogTrigger, never>storeany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrDialogTrigger, "[grDialogTrigger]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrDialogTrigger, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
@grassroot/ui-headless-svelte/dialog
Svelte adapter
createDialog
functionexport declare function createDialog(inputGetter: () => DialogInput, options?: UseDialogOptions): UseDialogResult;inputGetter() => DialogInputoptionsUseDialogOptionsreturnUseDialogResult- Name
inputGetter- Kind
- parameter
- Type
() => DialogInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseDialogOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseDialogResult- Requirement
- n/a
DialogBackdrop
valueexport declare const DialogBackdrop: 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
DialogChangeReason
typetype DialogChangeReason = DialogOpenReason | DialogCloseReason;DialogCloseTrigger
valueexport declare const DialogCloseTrigger: 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
DialogCommand
typetype DialogCommand = CommandObject & { readonly type: "OPEN_CHANGE_REQUEST"; readonly open: boolean; readonly reason: DialogChangeReason;};openbooleanreasonDialogChangeReasontypestring- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
- Name
type- Kind
- property
- Type
string- Requirement
- required
DialogContent
valueexport declare const DialogContent: 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
DialogContext
typetype DialogContext = { readonly mode: "controlled" | "uncontrolled";};mode"controlled" | "uncontrolled"- Name
mode- Kind
- property
- Type
"controlled" | "uncontrolled"- Requirement
- required
DialogContextValue
typeexport type DialogContextValue = UseDialogResult;DialogDescription
valueexport declare const DialogDescription: 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
DialogEvent
typetype DialogEvent = { readonly type: "OPEN"; readonly reason: DialogOpenReason;} | { readonly type: "CLOSE"; readonly reason: DialogCloseReason;};DialogInput
typetype DialogInput = { readonly open?: boolean; readonly defaultOpen?: boolean; readonly dismissable?: boolean;};defaultOpenbooleandismissablebooleanopenboolean- Name
defaultOpen- Kind
- property
- Type
boolean- Requirement
- optional
- Name
dismissable- Kind
- property
- Type
boolean- Requirement
- optional
- Name
open- Kind
- property
- Type
boolean- Requirement
- optional
DialogMachine
typetype DialogMachine = Machine<DialogInput, DialogStateValue, DialogContext, DialogEvent, DialogCommand>;DialogOpenChangeDetail
interfaceexport interface DialogOpenChangeDetail { readonly open: boolean; readonly reason: DialogChangeReason;}openbooleanreasonDialogChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
DialogPositioner
valueexport declare const DialogPositioner: 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
DialogRoot
valueexport declare const DialogRoot: 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
DialogSnapshot
typetype DialogSnapshot = Snapshot<DialogStateValue, DialogContext>;DialogStateValue
typetype DialogStateValue = "open" | "closed";DialogTitle
valueexport declare const DialogTitle: 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
DialogTrigger
valueexport declare const DialogTrigger: 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
useDialogContext
functionexport declare function useDialogContext(partName: string): DialogContextValue;partNamestringreturnDialogContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
DialogContextValue- Requirement
- n/a
UseDialogOptions
interfaceexport interface UseDialogOptions { readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void;}onOpenChange(detail: DialogOpenChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
UseDialogResult
interfaceexport interface UseDialogResult { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope; readonly version: () => number;}connectorDialogApiscopePartScopeserviceDialogServiceversion() => number- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Name
version- Kind
- property
- Type
() => number- Requirement
- required
@grassroot/ui-headless-solid/dialog
Solid adapter
DialogBackdrop
functionexport declare function DialogBackdrop(props: DialogBackdropProps): JSX.Element;propsDialogBackdropPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogBackdropProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogBackdropProps
interfaceexport interface DialogBackdropProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
DialogCloseTrigger
functionexport declare function DialogCloseTrigger(props: DialogCloseTriggerProps): JSX.Element;propsDialogCloseTriggerPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogCloseTriggerProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogCloseTriggerProps
interfaceexport interface DialogCloseTriggerProps extends Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "type"> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
DialogContent
functionexport declare function DialogContent(props: DialogContentProps): JSX.Element;propsDialogContentPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogContentProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogContentProps
interfaceexport interface DialogContentProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
DialogContext
valueexport declare const DialogContext: import("solid-js").Context<DialogContextValue | undefined>;DialogContextValue
interfaceexport interface DialogContextValue { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope; /** * Bumped on every committed machine update. Parts must call this * accessor *inside* the JSX/spread thunk that reads the connector's prop * bags — not once at setup — so Solid's fine-grained reactivity tracks * the dependency and re-runs on every committed change. */ readonly snapshot: Accessor<DialogSnapshot>;}connectorDialogApiscopePartScopeserviceDialogServicesnapshotAccessor<DialogSnapshot>- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Description
- —
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Description
- —
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Description
- —
- Name
snapshot- Kind
- property
- Type
Accessor<DialogSnapshot>- Requirement
- required
- Description
- Bumped on every committed machine update. Parts must call this accessor *inside* the JSX/spread thunk that reads the connector's prop bags — not once at setup — so Solid's fine-grained reactivity tracks the dependency and re-runs on every committed change.
DialogDescription
functionexport declare function DialogDescription(props: DialogDescriptionProps): JSX.Element;propsDialogDescriptionPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogDescriptionProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogDescriptionProps
interfaceexport interface DialogDescriptionProps extends JSX.HTMLAttributes<HTMLParagraphElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
DialogOpenChangeDetail
interfaceexport interface DialogOpenChangeDetail { readonly open: boolean; readonly reason: DialogChangeReason;}openbooleanreasonDialogChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
DialogChangeReason- Requirement
- required
DialogPositioner
functionexport declare function DialogPositioner(props: DialogPositionerProps): JSX.Element;propsDialogPositionerPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogPositionerProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogPositionerProps
interfaceexport interface DialogPositionerProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
DialogRoot
functionexport declare function DialogRoot(props: DialogRootProps): JSX.Element;propsDialogRootPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogRootProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogRootProps
interfaceexport interface DialogRootProps { readonly open?: DialogInput["open"]; readonly defaultOpen?: DialogInput["defaultOpen"]; readonly dismissable?: DialogInput["dismissable"]; readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void; readonly children?: JSX.Element;}childrenJSX.ElementdefaultOpenDialogInput["defaultOpen"]dismissableDialogInput["dismissable"]onOpenChange(detail: DialogOpenChangeDetail) => voidopenDialogInput["open"]- Name
children- Kind
- property
- Type
JSX.Element- Requirement
- optional
- Name
defaultOpen- Kind
- property
- Type
DialogInput["defaultOpen"]- Requirement
- optional
- Name
dismissable- Kind
- property
- Type
DialogInput["dismissable"]- Requirement
- optional
- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
- Name
open- Kind
- property
- Type
DialogInput["open"]- Requirement
- optional
DialogTitle
functionexport declare function DialogTitle(props: DialogTitleProps): JSX.Element;propsDialogTitlePropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogTitleProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogTitleProps
interfaceexport interface DialogTitleProps extends JSX.HTMLAttributes<HTMLHeadingElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
DialogTrigger
functionexport declare function DialogTrigger(props: DialogTriggerProps): JSX.Element;propsDialogTriggerPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
DialogTriggerProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
DialogTriggerProps
interfaceexport interface DialogTriggerProps extends Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "type"> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
useDialog
functionexport declare function useDialog(input: Accessor<DialogInput>, options?: UseDialogOptions): UseDialogResult;inputAccessor<DialogInput>optionsUseDialogOptionsreturnUseDialogResult- Name
input- Kind
- parameter
- Type
Accessor<DialogInput>- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseDialogOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseDialogResult- Requirement
- n/a
useDialogContext
functionexport declare function useDialogContext(partName: string): DialogContextValue;partNamestringreturnDialogContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
DialogContextValue- Requirement
- n/a
UseDialogOptions
interfaceexport interface UseDialogOptions { readonly onOpenChange?: (detail: DialogOpenChangeDetail) => void;}onOpenChange(detail: DialogOpenChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: DialogOpenChangeDetail) => void- Requirement
- optional
UseDialogResult
interfaceexport interface UseDialogResult { readonly service: DialogService; readonly connector: DialogApi; readonly scope: PartScope; readonly snapshot: Accessor<DialogSnapshot>;}connectorDialogApiscopePartScopeserviceDialogServicesnapshotAccessor<DialogSnapshot>- Name
connector- Kind
- property
- Type
DialogApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
DialogService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
Accessor<DialogSnapshot>- Requirement
- required