Import
import { makeState } from "@typed/ui/Disclosure";Signatures
export declare function makeState(initial?: InitialState): Effect.Effect<RefSubject.HydratedRefSubject<{
readonly open: boolean;
}, Schema.SchemaError, never, never>, never, Scope.Scope>;Why
Applications can own and test open-state transitions independently of UI.
Ownership and lifetime
The calling Effect Scope owns the returned RefSubject.
Examples
import { Effect } from "effect"
import * as Disclosure from "@typed/ui/Disclosure"
const program = Effect.gen(function* () {
return yield* Disclosure.makeState({ open: true })
})Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.