# Hovercard.makeState

Creates hydrated hovercard state.

## Signatures

```ts
export declare function makeState(initial: InitialState): Effect.Effect<RefSubject.HydratedRefSubject<{
    readonly id: string;
    readonly open: boolean;
}, Schema.SchemaError, never, never>, never, Scope.Scope>;
```

## Why

Visibility and identity can be tested without mounting UI.

## Ownership and lifetime

The calling Effect Scope owns the returned RefSubject.

## Examples

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

const program = Effect.gen(function* () {
  return yield* Hovercard.makeState({ id: "author-card" })
})
```
