function / @typed/ui/index

Combobox.makeState

Creates hydrated Combobox state. value defaults to an empty string, open to false, activeId to null, loop to true, and virtual focus is enabled.

Learn this UI primitive →

Package version
1.0.0-beta.7
Category
Query and popup state
Since
1.0.0
Member of
Combobox

Import

import { Combobox } from "@typed/ui/index";

Access Combobox.makeState through the imported Combobox 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 id: string;
    readonly value: string;
    readonly open: boolean;
    readonly activeId: string | null;
    readonly orientation: "vertical";
    readonly loop: boolean;
    readonly rtl: boolean;
    readonly virtualFocus: boolean;
}, Schema.SchemaError, never, never>, never, Scope.Scope>;

Examples

import * as Effect from "effect/Effect";
import * as Combobox from "@typed/ui/Combobox";

const program = Effect.scoped(
  Effect.gen(function* () {
    const state = yield* Combobox.makeState({ id: "city" });
    const collection = yield* Combobox.makeCollection();
    return { state: yield* state, collection: yield* collection };
  }),
);

Other public imports

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

Source