function / @typed/ui

Popover.makeState

Creates hydrated popover state.

Learn this UI primitive →

Package version
1.0.0-beta.7
Category
Open state
Since
1.0.0
Member of
Popover

Import

import { Popover } from "@typed/ui";

Access Popover.makeState through the imported Popover 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 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 visibility independently of a component.

Ownership and lifetime

The calling Effect Scope owns the returned RefSubject.

Examples

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

const program = Effect.gen(function* () {
  return yield* Popover.makeState()
})

Other public imports

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

Source