# setOpen

Sets popover visibility atomically.

## Signatures

```ts
export declare function setOpen<E, R>(state: RefSubject.RefSubject<State, E, R>, open: boolean): Effect.Effect<State, E, R>;
```

## Why

Explicit state transitions coordinate trigger and content without hidden
component-local state.

## Ownership and lifetime

The Effect uses the existing RefSubject lifetime and acquires no resource.

## Examples

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

const program = Effect.gen(function* () {
  const state = yield* Popover.makeState()
  yield* Popover.setOpen(state, true)
})
```
