function / @typed/ui/Dialog

close

Marks dialog state closed without requesting native cancellation.

Learn this UI primitive →

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

Import

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

Signatures

export declare function close<E, R>(state: RefSubject.RefSubject<State, E, R>): Effect.Effect<State, E, R>;

Why

Programmatic close is distinct from requestClose, which runs the browser’s cancelable close-request lifecycle.

Ownership and lifetime

The Effect updates existing state and acquires no resource.

Examples

import { Effect } from "effect"
import * as Dialog from "@typed/ui/Dialog"

const program = Effect.gen(function* () {
  const state = yield* Dialog.makeState({ open: true })
  yield* Dialog.close(state)
})

Other public imports

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

Source