interface / @typed/ui/Dialog

CloseOptions

Options for dialog close and close-request buttons.

Learn this UI primitive →

Package version
1.0.0-beta.13
Category
Direct dismissal
Since
1.0.0

Import

import { CloseOptions } from "@typed/ui/Dialog";

Signatures

export interface CloseOptions extends Dom.HostOptions<HTMLButtonElement> {
    readonly state: RefSubject.HydratedRefSubject<State, Schema.SchemaError>;
    readonly controls?: string;
    readonly content: Renderable.Any;
}

Why

Supplying controls selects native commands and removes the Fx click fallback, requiring command-attribute browser support. Omitting it keeps the state-driven close or request-close handler.

Ownership and lifetime

Options are inert; rendering owns listeners and dynamic content by Scope.

Property: content

Visible button content and accessible name.

Property: content: Why

Every close action needs a discoverable label.

Property: content: Ownership and lifetime

Dynamic content follows the button Scope.

Property: controls

Dialog id targeted by native command attributes.

Property: controls: Why

Native command routing preserves the dialog’s platform lifecycle, but selecting it omits the component’s click fallback. Use it only where commandfor and the requested dialog command are supported; otherwise omit controls.

Property: controls: Ownership and lifetime

The string is reflected and retains no resources.

Property: state

Hydrated state for fallback close behavior.

Property: state: Why

Closing remains available when no native command target id is supplied.

Property: state: Ownership and lifetime

The button borrows state; its original Scope owns it.

Other public imports

These import paths expose the same declaration. Each page retains its own public name and signature.

Source