Import
import { Dialog } from "@typed/ui/index";Access Dialog.TriggerOptions through the imported Dialog export. Its declaration below describes the member.
This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.
Signatures
export interface TriggerOptions extends Dom.HostOptions<HTMLButtonElement> {
readonly state: RefSubject.HydratedRefSubject<State, Schema.SchemaError>;
readonly controls?: string;
readonly content: Renderable.Any;
}Why
The trigger exposes dialog relationship and expanded state to the platform.
Ownership and lifetime
Options are inert; rendering owns listeners/subscriptions by Scope.
Property: content
Visible trigger content and accessible name.
Property: content: Why
A dialog trigger must be discoverable to assistive technology.
Property: content: Ownership and lifetime
Dynamic content follows the trigger Scope.
Property: controls
Dialog id targeted by native command attributes.
Property: controls: Why
With an id, the trigger emits commandfor and command="show-modal" and
deliberately omits its Fx click fallback. That form therefore requires
browser support for native command attributes. Without controls, Typed
installs the state-driven click fallback instead.
Property: controls: Ownership and lifetime
The string is reflected and retains no resources.
Property: state
Hydrated state shared with dialog content.
Property: state: Why
One source drives aria-expanded and dialog visibility.
Property: state: Ownership and lifetime
The trigger borrows state; its originating Scope owns it.
Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.