---
title: "@kovojs/headless-ui"
description: Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.
order: 5.5
---

# @kovojs/headless-ui

Generated from 35 public subpaths — 434 exports, 434 documented. Do not edit by hand.

## `@kovojs/headless-ui/accordion`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/accordion.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/accordion.ts)

### Values

#### `accordionRootAttributes` {#accordionrootattributes}

Builds the accordion root attributes record for the Accordion primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { accordionRootAttributes } from '@kovojs/headless-ui/accordion';

declare const input: Parameters<typeof accordionRootAttributes>[0];
const result = accordionRootAttributes(input);
```

**Signature**

```ts
function accordionRootAttributes(state: AccordionState): AccordionPrimitiveAttributes;
```

#### `accordionItemAttributes` {#accordionitemattributes}

Builds the accordion item attributes record for the Accordion primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { accordionItemAttributes } from '@kovojs/headless-ui/accordion';

declare const input: Parameters<typeof accordionItemAttributes>[0];
const result = accordionItemAttributes(input);
```

**Signature**

```ts
function accordionItemAttributes(
  options: AccordionItemOptions,
): AccordionPrimitiveAttributes;
```

#### `accordionHeaderAttributes` {#accordionheaderattributes}

Builds the accordion header attributes record for the Accordion primitive.

Emits `aria-level`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { accordionHeaderAttributes } from '@kovojs/headless-ui/accordion';

declare const input: Parameters<typeof accordionHeaderAttributes>[0];
const result = accordionHeaderAttributes(input);
```

**Signature**

```ts
function accordionHeaderAttributes(
  options: AccordionHeaderAttributeOptions,
): AccordionPrimitiveAttributes;
```

#### `accordionTriggerAttributes` {#accordiontriggerattributes}

Builds the accordion trigger attributes record for the Accordion primitive.

Emits `aria-controls`, `aria-expanded`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { accordionTriggerAttributes } from '@kovojs/headless-ui/accordion';

declare const input: Parameters<typeof accordionTriggerAttributes>[0];
const result = accordionTriggerAttributes(input);
```

**Signature**

```ts
function accordionTriggerAttributes(
  options: AccordionTriggerAttributeOptions,
): AccordionPrimitiveAttributes;
```

#### `accordionContentAttributes` {#accordioncontentattributes}

Builds the accordion content attributes record for the Accordion primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { accordionContentAttributes } from '@kovojs/headless-ui/accordion';

declare const input: Parameters<typeof accordionContentAttributes>[0];
const result = accordionContentAttributes(input);
```

**Signature**

```ts
function accordionContentAttributes(
  options: AccordionContentAttributeOptions,
): AccordionPrimitiveAttributes;
```

### Supporting types

#### `AccordionType` {#accordiontype}

Public type used by the Accordion primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionType } from '@kovojs/headless-ui/accordion';

declare const value: AccordionType;
```

**Signature**

```ts
type AccordionType = 'multiple' | 'single';
```

#### `AccordionValue` {#accordionvalue}

Public type used by the Accordion primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionValue } from '@kovojs/headless-ui/accordion';

declare const value: AccordionValue;
```

**Signature**

```ts
type AccordionValue = readonly string[] | string | undefined;
```

#### `AccordionState` {#accordionstate}

State snapshot consumed by the Accordion primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionState } from '@kovojs/headless-ui/accordion';

declare const value: AccordionState;
```

**Signature**

```ts
interface AccordionState {
  activeValue?: string;
  collapsible?: boolean;
  dir?: TextDirection;
  disabled?: boolean;
  items?: readonly AccordionItem[];
  loop?: boolean;
  orientation?: CollectionOrientation;
  type?: AccordionType;
  value?: AccordionValue;
}
```

#### `AccordionItem` {#accordionitem}

Public interface used by the Accordion primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionItem } from '@kovojs/headless-ui/accordion';

declare const value: AccordionItem;
```

**Signature**

```ts
interface AccordionItem {
  disabled?: boolean;
  value: string;
}
```

#### `AccordionItemOptions` {#accordionitemoptions}

Options accepted by the Accordion primitive accordion item.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionItemOptions } from '@kovojs/headless-ui/accordion';

declare const value: AccordionItemOptions;
```

**Signature**

```ts
interface AccordionItemOptions extends AccordionState {
  itemDisabled?: boolean;
  itemValue: string;
}
```

#### `AccordionHeaderAttributeOptions` {#accordionheaderattributeoptions}

Options accepted by the Accordion primitive accordion header attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionHeaderAttributeOptions } from '@kovojs/headless-ui/accordion';

declare const value: AccordionHeaderAttributeOptions;
```

**Signature**

```ts
interface AccordionHeaderAttributeOptions extends AccordionItemOptions {
  level?: number;
}
```

#### `AccordionTriggerAttributeOptions` {#accordiontriggerattributeoptions}

Options accepted by the Accordion primitive accordion trigger attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionTriggerAttributeOptions } from '@kovojs/headless-ui/accordion';

declare const value: AccordionTriggerAttributeOptions;
```

**Signature**

```ts
interface AccordionTriggerAttributeOptions extends AccordionItemOptions {
  contentId?: string;
  triggerId?: string;
}
```

#### `AccordionContentAttributeOptions` {#accordioncontentattributeoptions}

Options accepted by the Accordion primitive accordion content attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionContentAttributeOptions } from '@kovojs/headless-ui/accordion';

declare const value: AccordionContentAttributeOptions;
```

**Signature**

```ts
interface AccordionContentAttributeOptions extends AccordionItemOptions {
  contentId?: string;
  triggerId?: string;
}
```

#### `AccordionMoveResult` {#accordionmoveresult}

Result returned by the Accordion primitive accordion move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionMoveResult } from '@kovojs/headless-ui/accordion';

declare const value: AccordionMoveResult;
```

**Signature**

```ts
interface AccordionMoveResult {
  index: number;
  value: string | undefined;
}
```

#### `AccordionPrimitiveAttributes` {#accordionprimitiveattributes}

Serializable attribute record returned by Accordion primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AccordionPrimitiveAttributes } from '@kovojs/headless-ui/accordion';

declare const value: AccordionPrimitiveAttributes;
```

**Signature**

```ts
type AccordionPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/alert-dialog`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/alert-dialog.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/alert-dialog.ts)

### Values

#### `alertDialogRootAttributes` {#alertdialogrootattributes}

Builds the alert dialog root attributes record for the Alert Dialog primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { alertDialogRootAttributes } from '@kovojs/headless-ui/alert-dialog';

declare const input: Parameters<typeof alertDialogRootAttributes>[0];
const result = alertDialogRootAttributes(input);
```

**Signature**

```ts
function alertDialogRootAttributes(state: AlertDialogState): AlertDialogPrimitiveAttributes;
```

#### `alertDialogTriggerAttributes` {#alertdialogtriggerattributes}

Builds the alert dialog trigger attributes record for the Alert Dialog primitive.

Emits `aria-controls`, `aria-expanded`, `aria-haspopup`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { alertDialogTriggerAttributes } from '@kovojs/headless-ui/alert-dialog';

declare const input: Parameters<typeof alertDialogTriggerAttributes>[0];
const result = alertDialogTriggerAttributes(input);
```

**Signature**

```ts
function alertDialogTriggerAttributes(
  options: AlertDialogAttributeOptions,
): AlertDialogPrimitiveAttributes;
```

#### `alertDialogContentAttributes` {#alertdialogcontentattributes}

Builds the alert dialog content attributes record for the Alert Dialog primitive.

Emits `aria-describedby`, `aria-labelledby`, `aria-modal`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { alertDialogContentAttributes } from '@kovojs/headless-ui/alert-dialog';

declare const input: Parameters<typeof alertDialogContentAttributes>[0];
const result = alertDialogContentAttributes(input);
```

**Signature**

```ts
function alertDialogContentAttributes(
  options: AlertDialogAttributeOptions,
): AlertDialogPrimitiveAttributes;
```

#### `alertDialogCancelAttributes` {#alertdialogcancelattributes}

Builds the alert dialog cancel attributes record for the Alert Dialog primitive.

Emits `data-intent`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { alertDialogCancelAttributes } from '@kovojs/headless-ui/alert-dialog';

declare const input: Parameters<typeof alertDialogCancelAttributes>[0];
const result = alertDialogCancelAttributes(input);
```

**Signature**

```ts
function alertDialogCancelAttributes(
  options: AlertDialogCancelAttributeOptions,
): AlertDialogPrimitiveAttributes;
```

#### `alertDialogActionAttributes` {#alertdialogactionattributes}

Builds the alert dialog action attributes record for the Alert Dialog primitive.

Emits `data-intent`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { alertDialogActionAttributes } from '@kovojs/headless-ui/alert-dialog';

declare const input: Parameters<typeof alertDialogActionAttributes>[0];
const result = alertDialogActionAttributes(input);
```

**Signature**

```ts
function alertDialogActionAttributes(
  options: AlertDialogActionAttributeOptions,
): AlertDialogPrimitiveAttributes;
```

### Supporting types

#### `AlertDialogActionIntent` {#alertdialogactionintent}

Public type used by the Alert Dialog primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AlertDialogActionIntent } from '@kovojs/headless-ui/alert-dialog';

declare const value: AlertDialogActionIntent;
```

**Signature**

```ts
type AlertDialogActionIntent = 'confirm' | 'destructive';
```

#### `AlertDialogState` {#alertdialogstate}

State snapshot consumed by the Alert Dialog primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AlertDialogState } from '@kovojs/headless-ui/alert-dialog';

declare const value: AlertDialogState;
```

**Signature**

```ts
interface AlertDialogState {
  disabled?: boolean;
  open: boolean;
}
```

#### `AlertDialogAttributeOptions` {#alertdialogattributeoptions}

Options accepted by the Alert Dialog primitive alert dialog attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AlertDialogAttributeOptions } from '@kovojs/headless-ui/alert-dialog';

declare const value: AlertDialogAttributeOptions;
```

**Signature**

```ts
interface AlertDialogAttributeOptions extends AlertDialogState {
  contentId?: string;
  descriptionId?: string;
  titleId?: string;
}
```

#### `AlertDialogActionAttributeOptions` {#alertdialogactionattributeoptions}

Options accepted by the Alert Dialog primitive alert dialog action attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AlertDialogActionAttributeOptions } from '@kovojs/headless-ui/alert-dialog';

declare const value: AlertDialogActionAttributeOptions;
```

**Signature**

```ts
interface AlertDialogActionAttributeOptions extends AlertDialogAttributeOptions {
  intent?: AlertDialogActionIntent;
}
```

#### `AlertDialogCancelAttributeOptions` {#alertdialogcancelattributeoptions}

Options accepted by the Alert Dialog primitive alert dialog cancel attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AlertDialogCancelAttributeOptions } from '@kovojs/headless-ui/alert-dialog';

declare const value: AlertDialogCancelAttributeOptions;
```

**Signature**

```ts
interface AlertDialogCancelAttributeOptions extends AlertDialogAttributeOptions {
  autoFocus?: boolean;
}
```

#### `AlertDialogPrimitiveAttributes` {#alertdialogprimitiveattributes}

Serializable attribute record returned by Alert Dialog primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AlertDialogPrimitiveAttributes } from '@kovojs/headless-ui/alert-dialog';

declare const value: AlertDialogPrimitiveAttributes;
```

**Signature**

```ts
type AlertDialogPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/autocomplete`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/autocomplete.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/autocomplete.ts)

### Values

#### `autocompleteValueText` {#autocompletevaluetext}

Computes autocomplete value text for the Autocomplete primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { autocompleteValueText } from '@kovojs/headless-ui/autocomplete';

declare const input: Parameters<typeof autocompleteValueText>[0];
const result = autocompleteValueText(input);
```

**Signature**

```ts
function autocompleteValueText(state: AutocompleteState): string;
```

#### `autocompleteRootAttributes` {#autocompleterootattributes}

Builds the autocomplete root attributes record for the Autocomplete primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { autocompleteRootAttributes } from '@kovojs/headless-ui/autocomplete';

declare const input: Parameters<typeof autocompleteRootAttributes>[0];
const result = autocompleteRootAttributes(input);
```

**Signature**

```ts
function autocompleteRootAttributes(
  options: AutocompleteRootAttributeOptions = {},
): AutocompletePrimitiveAttributes;
```

#### `autocompleteInputAttributes` {#autocompleteinputattributes}

Builds the autocomplete input attributes record for the Autocomplete primitive.

Emits `aria-autocomplete`, `aria-expanded`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { autocompleteInputAttributes } from '@kovojs/headless-ui/autocomplete';

declare const input: Parameters<typeof autocompleteInputAttributes>[0];
const result = autocompleteInputAttributes(input);
```

**Signature**

```ts
function autocompleteInputAttributes(
  options: AutocompleteInputAttributeOptions = {},
): AutocompletePrimitiveAttributes;
```

#### `autocompleteListAttributes` {#autocompletelistattributes}

Builds the autocomplete list attributes record for the Autocomplete primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { autocompleteListAttributes } from '@kovojs/headless-ui/autocomplete';

declare const input: Parameters<typeof autocompleteListAttributes>[0];
const result = autocompleteListAttributes(input);
```

**Signature**

```ts
function autocompleteListAttributes(
  options: AutocompleteListAttributeOptions = {},
): AutocompletePrimitiveAttributes;
```

#### `autocompleteOptionAttributes` {#autocompleteoptionattributes}

Builds the autocomplete option attributes record for the Autocomplete primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { autocompleteOptionAttributes } from '@kovojs/headless-ui/autocomplete';

declare const input: Parameters<typeof autocompleteOptionAttributes>[0];
const result = autocompleteOptionAttributes(input);
```

**Signature**

```ts
function autocompleteOptionAttributes(
  options: AutocompleteOptionAttributeOptions,
): AutocompletePrimitiveAttributes;
```

#### `autocompleteValueAttributes` {#autocompletevalueattributes}

Builds the autocomplete value attributes record for the Autocomplete primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { autocompleteValueAttributes } from '@kovojs/headless-ui/autocomplete';

declare const input: Parameters<typeof autocompleteValueAttributes>[0];
const result = autocompleteValueAttributes(input);
```

**Signature**

```ts
function autocompleteValueAttributes(
  options: AutocompleteValueAttributeOptions = {},
): AutocompletePrimitiveAttributes;
```

### Supporting types

#### `AutocompleteItem` {#autocompleteitem}

Public interface used by the Autocomplete primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteItem } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteItem;
```

**Signature**

```ts
interface AutocompleteItem {
  disabled?: boolean;
  id?: string;
  label?: string;
  textValue?: string;
  value: string;
}
```

#### `AutocompleteState` {#autocompletestate}

State snapshot consumed by the Autocomplete primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteState } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteState;
```

**Signature**

```ts
interface AutocompleteState {
  disabled?: boolean;
  form?: string;
  highlightedValue?: string;
  inputValue?: string;
  invalid?: boolean;
  items?: readonly AutocompleteItem[];
  listId?: string;
  name?: string;
  open?: boolean;
  placeholder?: string;
  required?: boolean;
  value?: string;
}
```

#### `AutocompleteRootAttributeOptions` {#autocompleterootattributeoptions}

Options accepted by the Autocomplete primitive autocomplete root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteRootAttributeOptions } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteRootAttributeOptions;
```

**Signature**

```ts
interface AutocompleteRootAttributeOptions extends AutocompleteState {
  id?: string;
}
```

#### `AutocompleteInputAttributeOptions` {#autocompleteinputattributeoptions}

Options accepted by the Autocomplete primitive autocomplete input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteInputAttributeOptions } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteInputAttributeOptions;
```

**Signature**

```ts
interface AutocompleteInputAttributeOptions extends AutocompleteState {
  autocomplete?: string;
  descriptionId?: string;
  errorId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `AutocompleteListAttributeOptions` {#autocompletelistattributeoptions}

Options accepted by the Autocomplete primitive autocomplete list attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteListAttributeOptions } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteListAttributeOptions;
```

**Signature**

```ts
interface AutocompleteListAttributeOptions extends AutocompleteState {
  id?: string;
  labelledBy?: string;
}
```

#### `AutocompleteOptionAttributeOptions` {#autocompleteoptionattributeoptions}

Options accepted by the Autocomplete primitive autocomplete option attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteOptionAttributeOptions } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteOptionAttributeOptions;
```

**Signature**

```ts
interface AutocompleteOptionAttributeOptions extends AutocompleteState {
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `AutocompleteValueAttributeOptions` {#autocompletevalueattributeoptions}

Options accepted by the Autocomplete primitive autocomplete value attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteValueAttributeOptions } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteValueAttributeOptions;
```

**Signature**

```ts
interface AutocompleteValueAttributeOptions extends AutocompleteState {
  id?: string;
}
```

#### `AutocompleteMoveResult` {#autocompletemoveresult}

Result returned by the Autocomplete primitive autocomplete move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteMoveResult } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteMoveResult;
```

**Signature**

```ts
interface AutocompleteMoveResult {
  highlightedIndex: number;
  highlightedValue: string | undefined;
}
```

#### `AutocompleteTypeaheadOptions` {#autocompletetypeaheadoptions}

Options accepted by the Autocomplete primitive autocomplete typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteTypeaheadOptions } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteTypeaheadOptions;
```

**Signature**

```ts
interface AutocompleteTypeaheadOptions {
  currentValue?: string;
  loop?: boolean;
  now: number;
  state?: TypeaheadState;
  timeoutMs?: number;
}
```

#### `AutocompleteTypeaheadResult` {#autocompletetypeaheadresult}

Result returned by the Autocomplete primitive autocomplete typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompleteTypeaheadResult } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompleteTypeaheadResult;
```

**Signature**

```ts
interface AutocompleteTypeaheadResult {
  matchIndex: number;
  state: TypeaheadState;
  value: string | undefined;
}
```

#### `AutocompletePrimitiveAttributes` {#autocompleteprimitiveattributes}

Serializable attribute record returned by Autocomplete primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AutocompletePrimitiveAttributes } from '@kovojs/headless-ui/autocomplete';

declare const value: AutocompletePrimitiveAttributes;
```

**Signature**

```ts
type AutocompletePrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/avatar`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/avatar.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/avatar.ts)

### Values

#### `avatarRootAttributes` {#avatarrootattributes}

Builds the avatar root attributes record for the Avatar primitive.

Emits `aria-label`, `data-state`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { avatarRootAttributes } from '@kovojs/headless-ui/avatar';

declare const input: Parameters<typeof avatarRootAttributes>[0];
const result = avatarRootAttributes(input);
```

**Signature**

```ts
function avatarRootAttributes(
  options: AvatarRootAttributeOptions = {},
): AvatarPrimitiveAttributes;
```

#### `avatarImageAttributes` {#avatarimageattributes}

Builds the avatar image attributes record for the Avatar primitive.

Emits `data-state`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { avatarImageAttributes } from '@kovojs/headless-ui/avatar';

declare const input: Parameters<typeof avatarImageAttributes>[0];
const result = avatarImageAttributes(input);
```

**Signature**

```ts
function avatarImageAttributes(
  options: AvatarImageAttributeOptions,
): AvatarPrimitiveAttributes;
```

#### `avatarFallbackAttributes` {#avatarfallbackattributes}

Builds the avatar fallback attributes record for the Avatar primitive.

Emits `data-delay`, `data-state`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { avatarFallbackAttributes } from '@kovojs/headless-ui/avatar';

declare const input: Parameters<typeof avatarFallbackAttributes>[0];
const result = avatarFallbackAttributes(input);
```

**Signature**

```ts
function avatarFallbackAttributes(
  options: AvatarFallbackAttributeOptions = {},
): AvatarPrimitiveAttributes;
```

### Supporting types

#### `AvatarImageStatus` {#avatarimagestatus}

Public type used by the Avatar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarImageStatus } from '@kovojs/headless-ui/avatar';

declare const value: AvatarImageStatus;
```

**Signature**

```ts
type AvatarImageStatus = 'error' | 'loaded' | 'loading';
```

#### `AvatarState` {#avatarstate}

State snapshot consumed by the Avatar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarState } from '@kovojs/headless-ui/avatar';

declare const value: AvatarState;
```

**Signature**

```ts
interface AvatarState {
  src?: string;
  status?: AvatarImageStatus;
}
```

#### `AvatarComputedState` {#avatarcomputedstate}

State snapshot consumed by the Avatar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarComputedState } from '@kovojs/headless-ui/avatar';

declare const value: AvatarComputedState;
```

**Signature**

```ts
interface AvatarComputedState {
  fallbackHidden: boolean;
  imageHidden: boolean;
  src?: string;
  status: AvatarImageStatus;
}
```

#### `AvatarRootAttributeOptions` {#avatarrootattributeoptions}

Options accepted by the Avatar primitive avatar root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarRootAttributeOptions } from '@kovojs/headless-ui/avatar';

declare const value: AvatarRootAttributeOptions;
```

**Signature**

```ts
interface AvatarRootAttributeOptions extends AvatarState {
  label?: string;
}
```

#### `AvatarImageAttributeOptions` {#avatarimageattributeoptions}

Options accepted by the Avatar primitive avatar image attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarImageAttributeOptions } from '@kovojs/headless-ui/avatar';

declare const value: AvatarImageAttributeOptions;
```

**Signature**

```ts
interface AvatarImageAttributeOptions extends AvatarState {
  alt: string;
  decoding?: 'async' | 'auto' | 'sync';
  loading?: 'eager' | 'lazy';
  referrerPolicy?: string;
  sizes?: string;
  srcSet?: string;
}
```

#### `AvatarFallbackAttributeOptions` {#avatarfallbackattributeoptions}

Options accepted by the Avatar primitive avatar fallback attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarFallbackAttributeOptions } from '@kovojs/headless-ui/avatar';

declare const value: AvatarFallbackAttributeOptions;
```

**Signature**

```ts
interface AvatarFallbackAttributeOptions extends AvatarState {
  delayMs?: number;
}
```

#### `AvatarPrimitiveAttributes` {#avatarprimitiveattributes}

Serializable attribute record returned by Avatar primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarPrimitiveAttributes } from '@kovojs/headless-ui/avatar';

declare const value: AvatarPrimitiveAttributes;
```

**Signature**

```ts
type AvatarPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

#### `AvatarImageStatusResult` {#avatarimagestatusresult}

Result returned by the Avatar primitive avatar image status.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { AvatarImageStatusResult } from '@kovojs/headless-ui/avatar';

declare const value: AvatarImageStatusResult;
```

**Signature**

```ts
interface AvatarImageStatusResult {
  changed: boolean;
  status: AvatarImageStatus;
}
```

## `@kovojs/headless-ui/checkbox`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/checkbox.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/checkbox.ts)

### Values

#### `checkboxRootAttributes` {#checkboxrootattributes}

Builds the checkbox root attributes record for the Checkbox primitive.

Emits `aria-checked`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { checkboxRootAttributes } from '@kovojs/headless-ui/checkbox';

declare const input: Parameters<typeof checkboxRootAttributes>[0];
const result = checkboxRootAttributes(input);
```

**Signature**

```ts
function checkboxRootAttributes(state: CheckboxState): CheckboxPrimitiveAttributes;
```

#### `applyCheckboxIndeterminate` {#applycheckboxindeterminate}

Computes apply checkbox indeterminate for the Checkbox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { applyCheckboxIndeterminate } from '@kovojs/headless-ui/checkbox';

declare const input: Parameters<typeof applyCheckboxIndeterminate>[0];
declare const state: Parameters<typeof applyCheckboxIndeterminate>[1];
const result = applyCheckboxIndeterminate(input, state);
```

**Signature**

```ts
function applyCheckboxIndeterminate(
  input: CheckboxNativeInput,
  checked: CheckboxCheckedState,
): void;
```

### Supporting types

#### `CheckboxCheckedState` {#checkboxcheckedstate}

State snapshot consumed by the Checkbox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxCheckedState } from '@kovojs/headless-ui/checkbox';

declare const value: CheckboxCheckedState;
```

**Signature**

```ts
type CheckboxCheckedState = boolean | 'indeterminate';
```

#### `CheckboxState` {#checkboxstate}

State snapshot consumed by the Checkbox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxState } from '@kovojs/headless-ui/checkbox';

declare const value: CheckboxState;
```

**Signature**

```ts
interface CheckboxState {
  checked: CheckboxCheckedState;
  disabled?: boolean;
  name?: string;
  required?: boolean;
  value?: string;
}
```

#### `CheckboxPrimitiveAttributes` {#checkboxprimitiveattributes}

Serializable attribute record returned by Checkbox primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxPrimitiveAttributes } from '@kovojs/headless-ui/checkbox';

declare const value: CheckboxPrimitiveAttributes;
```

**Signature**

```ts
type CheckboxPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

#### `CheckboxNativeInput` {#checkboxnativeinput}

Public interface used by the Checkbox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxNativeInput } from '@kovojs/headless-ui/checkbox';

declare const value: CheckboxNativeInput;
```

**Signature**

```ts
interface CheckboxNativeInput {
  indeterminate: boolean;
}
```

## `@kovojs/headless-ui/checkbox-group`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/checkbox-group.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/checkbox-group.ts)

### Values

#### `checkboxGroupRootAttributes` {#checkboxgrouprootattributes}

Builds the checkbox group root attributes record for the Checkbox Group primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { checkboxGroupRootAttributes } from '@kovojs/headless-ui/checkbox-group';

declare const input: Parameters<typeof checkboxGroupRootAttributes>[0];
const result = checkboxGroupRootAttributes(input);
```

**Signature**

```ts
function checkboxGroupRootAttributes(
  options: CheckboxGroupRootAttributeOptions = {},
): CheckboxGroupPrimitiveAttributes;
```

#### `checkboxGroupItemAttributes` {#checkboxgroupitemattributes}

Builds the checkbox group item attributes record for the Checkbox Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { checkboxGroupItemAttributes } from '@kovojs/headless-ui/checkbox-group';

declare const input: Parameters<typeof checkboxGroupItemAttributes>[0];
const result = checkboxGroupItemAttributes(input);
```

**Signature**

```ts
function checkboxGroupItemAttributes(
  options: CheckboxGroupItemAttributeOptions,
): CheckboxGroupPrimitiveAttributes;
```

#### `checkboxGroupControlAttributes` {#checkboxgroupcontrolattributes}

Builds the checkbox group control attributes record for the Checkbox Group primitive.

Emits `aria-checked`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { checkboxGroupControlAttributes } from '@kovojs/headless-ui/checkbox-group';

declare const input: Parameters<typeof checkboxGroupControlAttributes>[0];
const result = checkboxGroupControlAttributes(input);
```

**Signature**

```ts
function checkboxGroupControlAttributes(
  options: CheckboxGroupControlAttributeOptions,
): CheckboxGroupPrimitiveAttributes;
```

#### `checkboxGroupLabelAttributes` {#checkboxgrouplabelattributes}

Builds the checkbox group label attributes record for the Checkbox Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { checkboxGroupLabelAttributes } from '@kovojs/headless-ui/checkbox-group';

declare const input: Parameters<typeof checkboxGroupLabelAttributes>[0];
const result = checkboxGroupLabelAttributes(input);
```

**Signature**

```ts
function checkboxGroupLabelAttributes(
  options: CheckboxGroupLabelAttributeOptions,
): CheckboxGroupPrimitiveAttributes;
```

### Supporting types

#### `CheckboxGroupItem` {#checkboxgroupitem}

Public interface used by the Checkbox Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupItem } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupItem;
```

**Signature**

```ts
interface CheckboxGroupItem {
  disabled?: boolean;
  value: string;
}
```

#### `CheckboxGroupState` {#checkboxgroupstate}

State snapshot consumed by the Checkbox Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupState } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupState;
```

**Signature**

```ts
interface CheckboxGroupState {
  activeValue?: string;
  dir?: TextDirection;
  disabled?: boolean;
  form?: string;
  invalid?: boolean;
  items?: readonly CheckboxGroupItem[];
  loop?: boolean;
  name?: string;
  orientation?: CollectionOrientation;
  required?: boolean;
  value?: readonly string[];
}
```

#### `CheckboxGroupRootAttributeOptions` {#checkboxgrouprootattributeoptions}

Options accepted by the Checkbox Group primitive checkbox group root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupRootAttributeOptions } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupRootAttributeOptions;
```

**Signature**

```ts
interface CheckboxGroupRootAttributeOptions extends CheckboxGroupState {
  descriptionId?: string;
  errorId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `CheckboxGroupItemAttributeOptions` {#checkboxgroupitemattributeoptions}

Options accepted by the Checkbox Group primitive checkbox group item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupItemAttributeOptions } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupItemAttributeOptions;
```

**Signature**

```ts
interface CheckboxGroupItemAttributeOptions extends CheckboxGroupState {
  id?: string;
  itemDisabled?: boolean;
  itemValue: string;
}
```

#### `CheckboxGroupControlAttributeOptions` {#checkboxgroupcontrolattributeoptions}

Options accepted by the Checkbox Group primitive checkbox group control attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupControlAttributeOptions } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupControlAttributeOptions;
```

**Signature**

```ts
interface CheckboxGroupControlAttributeOptions extends CheckboxGroupItemAttributeOptions {
  controlId?: string;
}
```

#### `CheckboxGroupLabelAttributeOptions` {#checkboxgrouplabelattributeoptions}

Options accepted by the Checkbox Group primitive checkbox group label attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupLabelAttributeOptions } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupLabelAttributeOptions;
```

**Signature**

```ts
interface CheckboxGroupLabelAttributeOptions extends CheckboxGroupItemAttributeOptions {
  controlId?: string;
}
```

#### `CheckboxGroupMoveResult` {#checkboxgroupmoveresult}

Result returned by the Checkbox Group primitive checkbox group move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupMoveResult } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupMoveResult;
```

**Signature**

```ts
interface CheckboxGroupMoveResult {
  index: number;
  value: string | undefined;
}
```

#### `CheckboxGroupPrimitiveAttributes` {#checkboxgroupprimitiveattributes}

Serializable attribute record returned by Checkbox Group primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CheckboxGroupPrimitiveAttributes } from '@kovojs/headless-ui/checkbox-group';

declare const value: CheckboxGroupPrimitiveAttributes;
```

**Signature**

```ts
type CheckboxGroupPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/collapsible`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/collapsible.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/collapsible.ts)

### Values

#### `collapsibleRootAttributes` {#collapsiblerootattributes}

Builds the collapsible root attributes record for the Collapsible primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { collapsibleRootAttributes } from '@kovojs/headless-ui/collapsible';

declare const input: Parameters<typeof collapsibleRootAttributes>[0];
const result = collapsibleRootAttributes(input);
```

**Signature**

```ts
function collapsibleRootAttributes(state: CollapsibleState): CollapsiblePrimitiveAttributes;
```

#### `collapsibleTriggerAttributes` {#collapsibletriggerattributes}

Builds the collapsible trigger attributes record for the Collapsible primitive.

Emits `aria-controls`, `aria-expanded`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { collapsibleTriggerAttributes } from '@kovojs/headless-ui/collapsible';

declare const input: Parameters<typeof collapsibleTriggerAttributes>[0];
const result = collapsibleTriggerAttributes(input);
```

**Signature**

```ts
function collapsibleTriggerAttributes(
  options: CollapsibleAttributeOptions,
): CollapsiblePrimitiveAttributes;
```

#### `collapsibleContentAttributes` {#collapsiblecontentattributes}

Builds the collapsible content attributes record for the Collapsible primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { collapsibleContentAttributes } from '@kovojs/headless-ui/collapsible';

declare const input: Parameters<typeof collapsibleContentAttributes>[0];
const result = collapsibleContentAttributes(input);
```

**Signature**

```ts
function collapsibleContentAttributes(
  options: CollapsibleAttributeOptions,
): CollapsiblePrimitiveAttributes;
```

### Supporting types

#### `CollapsibleState` {#collapsiblestate}

State snapshot consumed by the Collapsible primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CollapsibleState } from '@kovojs/headless-ui/collapsible';

declare const value: CollapsibleState;
```

**Signature**

```ts
interface CollapsibleState {
  disabled?: boolean;
  open: boolean;
}
```

#### `CollapsibleAttributeOptions` {#collapsibleattributeoptions}

Options accepted by the Collapsible primitive collapsible attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CollapsibleAttributeOptions } from '@kovojs/headless-ui/collapsible';

declare const value: CollapsibleAttributeOptions;
```

**Signature**

```ts
interface CollapsibleAttributeOptions extends CollapsibleState {
  contentId?: string;
}
```

#### `CollapsiblePrimitiveAttributes` {#collapsibleprimitiveattributes}

Serializable attribute record returned by Collapsible primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CollapsiblePrimitiveAttributes } from '@kovojs/headless-ui/collapsible';

declare const value: CollapsiblePrimitiveAttributes;
```

**Signature**

```ts
type CollapsiblePrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/combobox`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/combobox.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/combobox.ts)

### Values

#### `comboboxValueText` {#comboboxvaluetext}

Computes combobox value text for the Combobox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { comboboxValueText } from '@kovojs/headless-ui/combobox';

declare const input: Parameters<typeof comboboxValueText>[0];
const result = comboboxValueText(input);
```

**Signature**

```ts
function comboboxValueText(state: ComboboxState): string;
```

#### `comboboxRootAttributes` {#comboboxrootattributes}

Builds the combobox root attributes record for the Combobox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { comboboxRootAttributes } from '@kovojs/headless-ui/combobox';

declare const input: Parameters<typeof comboboxRootAttributes>[0];
const result = comboboxRootAttributes(input);
```

**Signature**

```ts
function comboboxRootAttributes(
  options: ComboboxRootAttributeOptions = {},
): ComboboxPrimitiveAttributes;
```

#### `comboboxInputAttributes` {#comboboxinputattributes}

Builds the combobox input attributes record for the Combobox primitive.

Emits `aria-autocomplete`, `aria-expanded`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { comboboxInputAttributes } from '@kovojs/headless-ui/combobox';

declare const input: Parameters<typeof comboboxInputAttributes>[0];
const result = comboboxInputAttributes(input);
```

**Signature**

```ts
function comboboxInputAttributes(
  options: ComboboxInputAttributeOptions = {},
): ComboboxPrimitiveAttributes;
```

#### `comboboxListboxAttributes` {#comboboxlistboxattributes}

Builds the combobox listbox attributes record for the Combobox primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { comboboxListboxAttributes } from '@kovojs/headless-ui/combobox';

declare const input: Parameters<typeof comboboxListboxAttributes>[0];
const result = comboboxListboxAttributes(input);
```

**Signature**

```ts
function comboboxListboxAttributes(
  options: ComboboxListboxAttributeOptions = {},
): ComboboxPrimitiveAttributes;
```

#### `comboboxOptionAttributes` {#comboboxoptionattributes}

Builds the combobox option attributes record for the Combobox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { comboboxOptionAttributes } from '@kovojs/headless-ui/combobox';

declare const input: Parameters<typeof comboboxOptionAttributes>[0];
const result = comboboxOptionAttributes(input);
```

**Signature**

```ts
function comboboxOptionAttributes(
  options: ComboboxOptionAttributeOptions,
): ComboboxPrimitiveAttributes;
```

#### `comboboxValueAttributes` {#comboboxvalueattributes}

Builds the combobox value attributes record for the Combobox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { comboboxValueAttributes } from '@kovojs/headless-ui/combobox';

declare const input: Parameters<typeof comboboxValueAttributes>[0];
const result = comboboxValueAttributes(input);
```

**Signature**

```ts
function comboboxValueAttributes(
  options: ComboboxValueAttributeOptions = {},
): ComboboxPrimitiveAttributes;
```

### Supporting types

#### `ComboboxItem` {#comboboxitem}

Public interface used by the Combobox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxItem } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxItem;
```

**Signature**

```ts
interface ComboboxItem {
  disabled?: boolean;
  id?: string;
  label?: string;
  textValue?: string;
  value: string;
}
```

#### `ComboboxState` {#comboboxstate}

State snapshot consumed by the Combobox primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxState } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxState;
```

**Signature**

```ts
interface ComboboxState {
  disabled?: boolean;
  form?: string;
  highlightedValue?: string;
  invalid?: boolean;
  items?: readonly ComboboxItem[];
  listboxId?: string;
  name?: string;
  open?: boolean;
  placeholder?: string;
  required?: boolean;
  value?: string;
}
```

#### `ComboboxRootAttributeOptions` {#comboboxrootattributeoptions}

Options accepted by the Combobox primitive combobox root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxRootAttributeOptions } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxRootAttributeOptions;
```

**Signature**

```ts
interface ComboboxRootAttributeOptions extends ComboboxState {
  id?: string;
}
```

#### `ComboboxInputAttributeOptions` {#comboboxinputattributeoptions}

Options accepted by the Combobox primitive combobox input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxInputAttributeOptions } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxInputAttributeOptions;
```

**Signature**

```ts
interface ComboboxInputAttributeOptions extends ComboboxState {
  descriptionId?: string;
  errorId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `ComboboxListboxAttributeOptions` {#comboboxlistboxattributeoptions}

Options accepted by the Combobox primitive combobox listbox attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxListboxAttributeOptions } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxListboxAttributeOptions;
```

**Signature**

```ts
interface ComboboxListboxAttributeOptions extends ComboboxState {
  id?: string;
  labelledBy?: string;
}
```

#### `ComboboxOptionAttributeOptions` {#comboboxoptionattributeoptions}

Options accepted by the Combobox primitive combobox option attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxOptionAttributeOptions } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxOptionAttributeOptions;
```

**Signature**

```ts
interface ComboboxOptionAttributeOptions extends ComboboxState {
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `ComboboxValueAttributeOptions` {#comboboxvalueattributeoptions}

Options accepted by the Combobox primitive combobox value attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxValueAttributeOptions } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxValueAttributeOptions;
```

**Signature**

```ts
interface ComboboxValueAttributeOptions extends ComboboxState {
  id?: string;
}
```

#### `ComboboxMoveResult` {#comboboxmoveresult}

Result returned by the Combobox primitive combobox move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxMoveResult } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxMoveResult;
```

**Signature**

```ts
interface ComboboxMoveResult {
  highlightedIndex: number;
  highlightedValue: string | undefined;
}
```

#### `ComboboxTypeaheadOptions` {#comboboxtypeaheadoptions}

Options accepted by the Combobox primitive combobox typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxTypeaheadOptions } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxTypeaheadOptions;
```

**Signature**

```ts
interface ComboboxTypeaheadOptions {
  currentValue?: string;
  loop?: boolean;
  now: number;
  state?: TypeaheadState;
  timeoutMs?: number;
}
```

#### `ComboboxTypeaheadResult` {#comboboxtypeaheadresult}

Result returned by the Combobox primitive combobox typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxTypeaheadResult } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxTypeaheadResult;
```

**Signature**

```ts
interface ComboboxTypeaheadResult {
  matchIndex: number;
  state: TypeaheadState;
  value: string | undefined;
}
```

#### `ComboboxPrimitiveAttributes` {#comboboxprimitiveattributes}

Serializable attribute record returned by Combobox primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ComboboxPrimitiveAttributes } from '@kovojs/headless-ui/combobox';

declare const value: ComboboxPrimitiveAttributes;
```

**Signature**

```ts
type ComboboxPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/command`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/command.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/command.ts)

### Values

#### `commandRootAttributes` {#commandrootattributes}

Builds the command root attributes record for the Command primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandRootAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandRootAttributes>[0];
const result = commandRootAttributes(input);
```

**Signature**

```ts
function commandRootAttributes(
  options: CommandRootAttributeOptions = {},
): CommandPrimitiveAttributes;
```

#### `commandTriggerAttributes` {#commandtriggerattributes}

Builds the command trigger attributes record for the Command primitive.

Emits `aria-controls`, `aria-expanded`, `aria-haspopup`, `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandTriggerAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandTriggerAttributes>[0];
const result = commandTriggerAttributes(input);
```

**Signature**

```ts
function commandTriggerAttributes(
  options: CommandTriggerAttributeOptions = {},
): CommandPrimitiveAttributes;
```

#### `commandDialogAttributes` {#commanddialogattributes}

Builds the command dialog attributes record for the Command primitive.

Emits `aria-describedby`, `aria-labelledby`, `aria-modal`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandDialogAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandDialogAttributes>[0];
const result = commandDialogAttributes(input);
```

**Signature**

```ts
function commandDialogAttributes(
  options: CommandDialogAttributeOptions = {},
): CommandPrimitiveAttributes;
```

#### `commandCloseAttributes` {#commandcloseattributes}

Builds the command close attributes record for the Command primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandCloseAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandCloseAttributes>[0];
const result = commandCloseAttributes(input);
```

**Signature**

```ts
function commandCloseAttributes(
  options: CommandCloseAttributeOptions = {},
): CommandPrimitiveAttributes;
```

#### `commandInputAttributes` {#commandinputattributes}

Builds the command input attributes record for the Command primitive.

Emits `aria-autocomplete`, `aria-expanded`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandInputAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandInputAttributes>[0];
const result = commandInputAttributes(input);
```

**Signature**

```ts
function commandInputAttributes(
  options: CommandInputAttributeOptions = {},
): CommandPrimitiveAttributes;
```

#### `commandListboxAttributes` {#commandlistboxattributes}

Builds the command listbox attributes record for the Command primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandListboxAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandListboxAttributes>[0];
const result = commandListboxAttributes(input);
```

**Signature**

```ts
function commandListboxAttributes(
  options: CommandListboxAttributeOptions = {},
): CommandPrimitiveAttributes;
```

#### `commandItemAttributes` {#commanditemattributes}

Builds the command item attributes record for the Command primitive.

Emits `aria-disabled`, `aria-selected`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandItemAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandItemAttributes>[0];
const result = commandItemAttributes(input);
```

**Signature**

```ts
function commandItemAttributes(
  options: CommandItemAttributeOptions,
): CommandPrimitiveAttributes;
```

#### `commandEmptyAttributes` {#commandemptyattributes}

Builds the command empty attributes record for the Command primitive.

Emits `data-empty`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandEmptyAttributes } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandEmptyAttributes>[0];
const result = commandEmptyAttributes(input);
```

**Signature**

```ts
function commandEmptyAttributes(
  options: CommandEmptyAttributeOptions = {},
): CommandPrimitiveAttributes;
```

#### `commandValueText` {#commandvaluetext}

Computes command value text for the Command primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { commandValueText } from '@kovojs/headless-ui/command';

declare const input: Parameters<typeof commandValueText>[0];
const result = commandValueText(input);
```

**Signature**

```ts
function commandValueText(state: CommandState): string;
```

### Supporting types

#### `CommandItem` {#commanditem}

Public interface used by the Command primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandItem } from '@kovojs/headless-ui/command';

declare const value: CommandItem;
```

**Signature**

```ts
interface CommandItem {
  disabled?: boolean;
  id?: string;
  keywords?: readonly string[];
  label?: string;
  textValue?: string;
  value: string;
}
```

#### `CommandState` {#commandstate}

State snapshot consumed by the Command primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandState } from '@kovojs/headless-ui/command';

declare const value: CommandState;
```

**Signature**

```ts
interface CommandState {
  disabled?: boolean;
  form?: string;
  highlightedValue?: string;
  inputValue?: string;
  invalid?: boolean;
  items?: readonly CommandItem[];
  name?: string;
  open?: boolean;
  placeholder?: string;
  required?: boolean;
  value?: string;
}
```

#### `CommandRootAttributeOptions` {#commandrootattributeoptions}

Options accepted by the Command primitive command root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandRootAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandRootAttributeOptions;
```

**Signature**

```ts
interface CommandRootAttributeOptions extends CommandState {
  id?: string;
}
```

#### `CommandTriggerAttributeOptions` {#commandtriggerattributeoptions}

Options accepted by the Command primitive command trigger attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandTriggerAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandTriggerAttributeOptions;
```

**Signature**

```ts
interface CommandTriggerAttributeOptions extends CommandState {
  contentId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `CommandDialogAttributeOptions` {#commanddialogattributeoptions}

Options accepted by the Command primitive command dialog attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandDialogAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandDialogAttributeOptions;
```

**Signature**

```ts
interface CommandDialogAttributeOptions extends CommandState {
  contentId?: string;
  descriptionId?: string;
  titleId?: string;
}
```

#### `CommandCloseAttributeOptions` {#commandcloseattributeoptions}

Options accepted by the Command primitive command close attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandCloseAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandCloseAttributeOptions;
```

**Signature**

```ts
interface CommandCloseAttributeOptions extends CommandState {
  contentId?: string;
}
```

#### `CommandInputAttributeOptions` {#commandinputattributeoptions}

Options accepted by the Command primitive command input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandInputAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandInputAttributeOptions;
```

**Signature**

```ts
interface CommandInputAttributeOptions extends CommandState {
  autocomplete?: string;
  descriptionId?: string;
  id?: string;
  labelledBy?: string;
  listboxId?: string;
}
```

#### `CommandListboxAttributeOptions` {#commandlistboxattributeoptions}

Options accepted by the Command primitive command listbox attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandListboxAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandListboxAttributeOptions;
```

**Signature**

```ts
interface CommandListboxAttributeOptions extends CommandState {
  id?: string;
  labelledBy?: string;
}
```

#### `CommandItemAttributeOptions` {#commanditemattributeoptions}

Options accepted by the Command primitive command item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandItemAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandItemAttributeOptions;
```

**Signature**

```ts
interface CommandItemAttributeOptions extends CommandState {
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `CommandEmptyAttributeOptions` {#commandemptyattributeoptions}

Options accepted by the Command primitive command empty attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandEmptyAttributeOptions } from '@kovojs/headless-ui/command';

declare const value: CommandEmptyAttributeOptions;
```

**Signature**

```ts
interface CommandEmptyAttributeOptions extends CommandState {
  id?: string;
}
```

#### `CommandMoveResult` {#commandmoveresult}

Result returned by the Command primitive command move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandMoveResult } from '@kovojs/headless-ui/command';

declare const value: CommandMoveResult;
```

**Signature**

```ts
interface CommandMoveResult {
  highlightedIndex: number;
  highlightedValue: string | undefined;
}
```

#### `CommandPrimitiveAttributes` {#commandprimitiveattributes}

Serializable attribute record returned by Command primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { CommandPrimitiveAttributes } from '@kovojs/headless-ui/command';

declare const value: CommandPrimitiveAttributes;
```

**Signature**

```ts
type CommandPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/context-menu`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/context-menu.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/context-menu.ts)

### Values

#### `contextMenuRootAttributes` {#contextmenurootattributes}

Builds the context menu root attributes record for the Context Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { contextMenuRootAttributes } from '@kovojs/headless-ui/context-menu';

declare const input: Parameters<typeof contextMenuRootAttributes>[0];
const result = contextMenuRootAttributes(input);
```

**Signature**

```ts
function contextMenuRootAttributes(
  options: ContextMenuRootAttributeOptions = {},
): ContextMenuPrimitiveAttributes;
```

#### `contextMenuTriggerAttributes` {#contextmenutriggerattributes}

Builds the context menu trigger attributes record for the Context Menu primitive.

Emits `aria-controls`, `aria-disabled`, `aria-expanded`, `aria-haspopup`, `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { contextMenuTriggerAttributes } from '@kovojs/headless-ui/context-menu';

declare const input: Parameters<typeof contextMenuTriggerAttributes>[0];
const result = contextMenuTriggerAttributes(input);
```

**Signature**

```ts
function contextMenuTriggerAttributes(
  options: ContextMenuTriggerAttributeOptions = {},
): ContextMenuPrimitiveAttributes;
```

#### `contextMenuContentAttributes` {#contextmenucontentattributes}

Builds the context menu content attributes record for the Context Menu primitive.

Emits `aria-labelledby`, `data-anchor-x`, `data-anchor-y`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { contextMenuContentAttributes } from '@kovojs/headless-ui/context-menu';

declare const input: Parameters<typeof contextMenuContentAttributes>[0];
const result = contextMenuContentAttributes(input);
```

**Signature**

```ts
function contextMenuContentAttributes(
  options: ContextMenuContentAttributeOptions = {},
): ContextMenuPrimitiveAttributes;
```

#### `contextMenuItemAttributes` {#contextmenuitemattributes}

Builds the context menu item attributes record for the Context Menu primitive.

Emits `aria-disabled`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { contextMenuItemAttributes } from '@kovojs/headless-ui/context-menu';

declare const input: Parameters<typeof contextMenuItemAttributes>[0];
const result = contextMenuItemAttributes(input);
```

**Signature**

```ts
function contextMenuItemAttributes(
  options: ContextMenuItemAttributeOptions,
): ContextMenuPrimitiveAttributes;
```

#### `contextMenuGroupAttributes` {#contextmenugroupattributes}

Builds the context menu group attributes record for the Context Menu primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { contextMenuGroupAttributes } from '@kovojs/headless-ui/context-menu';

declare const input: Parameters<typeof contextMenuGroupAttributes>[0];
const result = contextMenuGroupAttributes(input);
```

**Signature**

```ts
function contextMenuGroupAttributes(
  options: ContextMenuGroupAttributeOptions = {},
): ContextMenuPrimitiveAttributes;
```

#### `contextMenuSeparatorAttributes` {#contextmenuseparatorattributes}

Builds the context menu separator attributes record for the Context Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { contextMenuSeparatorAttributes } from '@kovojs/headless-ui/context-menu';

declare const input: Parameters<typeof contextMenuSeparatorAttributes>[0];
const result = contextMenuSeparatorAttributes(input);
```

**Signature**

```ts
function contextMenuSeparatorAttributes(
  options: ContextMenuSeparatorAttributeOptions = {},
): ContextMenuPrimitiveAttributes;
```

### Supporting types

#### `ContextMenuPoint` {#contextmenupoint}

Public interface used by the Context Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuPoint } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuPoint;
```

**Signature**

```ts
interface ContextMenuPoint {
  x: number;
  y: number;
}
```

#### `ContextMenuItem` {#contextmenuitem}

Public interface used by the Context Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuItem } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuItem;
```

**Signature**

```ts
interface ContextMenuItem {
  disabled?: boolean;
  label?: string;
  textValue?: string;
  value: string;
}
```

#### `ContextMenuState` {#contextmenustate}

State snapshot consumed by the Context Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuState } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuState;
```

**Signature**

```ts
interface ContextMenuState {
  disabled?: boolean;
  highlightedValue?: string;
  items?: readonly ContextMenuItem[];
  open?: boolean;
  point?: ContextMenuPoint;
}
```

#### `ContextMenuRootAttributeOptions` {#contextmenurootattributeoptions}

Options accepted by the Context Menu primitive context menu root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuRootAttributeOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuRootAttributeOptions;
```

**Signature**

```ts
interface ContextMenuRootAttributeOptions extends ContextMenuState {
  id?: string;
}
```

#### `ContextMenuTriggerAttributeOptions` {#contextmenutriggerattributeoptions}

Options accepted by the Context Menu primitive context menu trigger attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuTriggerAttributeOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuTriggerAttributeOptions;
```

**Signature**

```ts
interface ContextMenuTriggerAttributeOptions extends ContextMenuState {
  contentId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `ContextMenuContentAttributeOptions` {#contextmenucontentattributeoptions}

Options accepted by the Context Menu primitive context menu content attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuContentAttributeOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuContentAttributeOptions;
```

**Signature**

```ts
interface ContextMenuContentAttributeOptions extends ContextMenuState {
  id?: string;
  labelledBy?: string;
}
```

#### `ContextMenuItemAttributeOptions` {#contextmenuitemattributeoptions}

Options accepted by the Context Menu primitive context menu item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuItemAttributeOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuItemAttributeOptions;
```

**Signature**

```ts
interface ContextMenuItemAttributeOptions extends ContextMenuState {
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `ContextMenuGroupAttributeOptions` {#contextmenugroupattributeoptions}

Options accepted by the Context Menu primitive context menu group attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuGroupAttributeOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuGroupAttributeOptions;
```

**Signature**

```ts
interface ContextMenuGroupAttributeOptions extends ContextMenuState {
  id?: string;
  labelledBy?: string;
}
```

#### `ContextMenuSeparatorAttributeOptions` {#contextmenuseparatorattributeoptions}

Options accepted by the Context Menu primitive context menu separator attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuSeparatorAttributeOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuSeparatorAttributeOptions;
```

**Signature**

```ts
interface ContextMenuSeparatorAttributeOptions {
  id?: string;
}
```

#### `ContextMenuMoveResult` {#contextmenumoveresult}

Result returned by the Context Menu primitive context menu move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuMoveResult } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuMoveResult;
```

**Signature**

```ts
interface ContextMenuMoveResult {
  highlightedIndex: number;
  highlightedValue: string | undefined;
}
```

#### `ContextMenuTypeaheadOptions` {#contextmenutypeaheadoptions}

Options accepted by the Context Menu primitive context menu typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuTypeaheadOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuTypeaheadOptions;
```

**Signature**

```ts
interface ContextMenuTypeaheadOptions {
  currentValue?: string;
  loop?: boolean;
  now: number;
  state?: TypeaheadState;
  timeoutMs?: number;
}
```

#### `ContextMenuTypeaheadResult` {#contextmenutypeaheadresult}

Result returned by the Context Menu primitive context menu typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuTypeaheadResult } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuTypeaheadResult;
```

**Signature**

```ts
interface ContextMenuTypeaheadResult extends ContextMenuMoveResult {
  state: TypeaheadState;
}
```

#### `ContextMenuPrimitiveAttributes` {#contextmenuprimitiveattributes}

Serializable attribute record returned by Context Menu primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuPrimitiveAttributes } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuPrimitiveAttributes;
```

**Signature**

```ts
type ContextMenuPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

#### `ContextMenuFocusEvent` {#contextmenufocusevent}

Event shape consumed by the Context Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuFocusEvent } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuFocusEvent;
```

**Signature**

```ts
type ContextMenuFocusEvent = Event & {
  readonly currentTarget?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
  readonly target?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
};
```

#### `ContextMenuFocusOptions` {#contextmenufocusoptions}

Options accepted by the Context Menu primitive context menu focus.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ContextMenuFocusOptions } from '@kovojs/headless-ui/context-menu';

declare const value: ContextMenuFocusOptions;
```

**Signature**

```ts
interface ContextMenuFocusOptions {
  defer?: boolean;
  schedule?: (callback: () => void) => void;
}
```

## `@kovojs/headless-ui/dialog`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/dialog.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/dialog.ts)

### Values

#### `dialogRootAttributes` {#dialogrootattributes}

Builds the dialog root attributes record for the Dialog primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dialogRootAttributes } from '@kovojs/headless-ui/dialog';

declare const input: Parameters<typeof dialogRootAttributes>[0];
const result = dialogRootAttributes(input);
```

**Signature**

```ts
function dialogRootAttributes(state: DialogState): DialogPrimitiveAttributes;
```

#### `dialogTriggerAttributes` {#dialogtriggerattributes}

Builds the dialog trigger attributes record for the Dialog primitive.

Emits `aria-controls`, `aria-expanded`, `aria-haspopup`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dialogTriggerAttributes } from '@kovojs/headless-ui/dialog';

declare const input: Parameters<typeof dialogTriggerAttributes>[0];
const result = dialogTriggerAttributes(input);
```

**Signature**

```ts
function dialogTriggerAttributes(
  options: DialogAttributeOptions,
): DialogPrimitiveAttributes;
```

#### `dialogContentAttributes` {#dialogcontentattributes}

Builds the dialog content attributes record for the Dialog primitive.

Emits `aria-describedby`, `aria-labelledby`, `aria-modal`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dialogContentAttributes } from '@kovojs/headless-ui/dialog';

declare const input: Parameters<typeof dialogContentAttributes>[0];
const result = dialogContentAttributes(input);
```

**Signature**

```ts
function dialogContentAttributes(
  options: DialogAttributeOptions,
): DialogPrimitiveAttributes;
```

#### `dialogCloseAttributes` {#dialogcloseattributes}

Builds the dialog close attributes record for the Dialog primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dialogCloseAttributes } from '@kovojs/headless-ui/dialog';

declare const input: Parameters<typeof dialogCloseAttributes>[0];
const result = dialogCloseAttributes(input);
```

**Signature**

```ts
function dialogCloseAttributes(options: DialogAttributeOptions): DialogPrimitiveAttributes;
```

### Supporting types

#### `DialogState` {#dialogstate}

State snapshot consumed by the Dialog primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DialogState } from '@kovojs/headless-ui/dialog';

declare const value: DialogState;
```

**Signature**

```ts
interface DialogState {
  disabled?: boolean;
  open: boolean;
}
```

#### `DialogAttributeOptions` {#dialogattributeoptions}

Options accepted by the Dialog primitive dialog attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DialogAttributeOptions } from '@kovojs/headless-ui/dialog';

declare const value: DialogAttributeOptions;
```

**Signature**

```ts
interface DialogAttributeOptions extends DialogState {
  contentId?: string;
  descriptionId?: string;
  dismissible?: boolean;
  titleId?: string;
}
```

#### `DialogPrimitiveAttributes` {#dialogprimitiveattributes}

Serializable attribute record returned by Dialog primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DialogPrimitiveAttributes } from '@kovojs/headless-ui/dialog';

declare const value: DialogPrimitiveAttributes;
```

**Signature**

```ts
type DialogPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/disclosure`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/disclosure.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/disclosure.ts)

### Values

#### `disclosureRootAttributes` {#disclosurerootattributes}

Builds the disclosure root attributes record for the Disclosure primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { disclosureRootAttributes } from '@kovojs/headless-ui/disclosure';

declare const input: Parameters<typeof disclosureRootAttributes>[0];
const result = disclosureRootAttributes(input);
```

**Signature**

```ts
function disclosureRootAttributes(state: DisclosureState): DisclosurePrimitiveAttributes;
```

#### `disclosureTriggerAttributes` {#disclosuretriggerattributes}

Builds the disclosure trigger attributes record for the Disclosure primitive.

Emits `aria-controls`, `aria-expanded`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { disclosureTriggerAttributes } from '@kovojs/headless-ui/disclosure';

declare const input: Parameters<typeof disclosureTriggerAttributes>[0];
const result = disclosureTriggerAttributes(input);
```

**Signature**

```ts
function disclosureTriggerAttributes(
  options: DisclosureAttributeOptions,
): DisclosurePrimitiveAttributes;
```

#### `disclosureContentAttributes` {#disclosurecontentattributes}

Builds the disclosure content attributes record for the Disclosure primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { disclosureContentAttributes } from '@kovojs/headless-ui/disclosure';

declare const input: Parameters<typeof disclosureContentAttributes>[0];
const result = disclosureContentAttributes(input);
```

**Signature**

```ts
function disclosureContentAttributes(
  options: DisclosureAttributeOptions,
): DisclosurePrimitiveAttributes;
```

### Supporting types

#### `DisclosureState` {#disclosurestate}

State snapshot consumed by the Disclosure primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DisclosureState } from '@kovojs/headless-ui/disclosure';

declare const value: DisclosureState;
```

**Signature**

```ts
interface DisclosureState {
  disabled?: boolean;
  open: boolean;
}
```

#### `DisclosureAttributeOptions` {#disclosureattributeoptions}

Options accepted by the Disclosure primitive disclosure attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DisclosureAttributeOptions } from '@kovojs/headless-ui/disclosure';

declare const value: DisclosureAttributeOptions;
```

**Signature**

```ts
interface DisclosureAttributeOptions extends DisclosureState {
  contentId?: string;
}
```

#### `DisclosurePrimitiveAttributes` {#disclosureprimitiveattributes}

Serializable attribute record returned by Disclosure primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DisclosurePrimitiveAttributes } from '@kovojs/headless-ui/disclosure';

declare const value: DisclosurePrimitiveAttributes;
```

**Signature**

```ts
type DisclosurePrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/dropdown-menu`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/dropdown-menu.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/dropdown-menu.ts)

### Values

#### `dropdownMenuRootAttributes` {#dropdownmenurootattributes}

Builds the dropdown menu root attributes record for the Dropdown Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dropdownMenuRootAttributes } from '@kovojs/headless-ui/dropdown-menu';

declare const input: Parameters<typeof dropdownMenuRootAttributes>[0];
const result = dropdownMenuRootAttributes(input);
```

**Signature**

```ts
function dropdownMenuRootAttributes(
  options: DropdownMenuRootAttributeOptions = {},
): DropdownMenuPrimitiveAttributes;
```

#### `dropdownMenuTriggerAttributes` {#dropdownmenutriggerattributes}

Builds the dropdown menu trigger attributes record for the Dropdown Menu primitive.

Emits `aria-controls`, `aria-expanded`, `aria-haspopup`, `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dropdownMenuTriggerAttributes } from '@kovojs/headless-ui/dropdown-menu';

declare const input: Parameters<typeof dropdownMenuTriggerAttributes>[0];
const result = dropdownMenuTriggerAttributes(input);
```

**Signature**

```ts
function dropdownMenuTriggerAttributes(
  options: DropdownMenuTriggerAttributeOptions = {},
): DropdownMenuPrimitiveAttributes;
```

#### `dropdownMenuContentAttributes` {#dropdownmenucontentattributes}

Builds the dropdown menu content attributes record for the Dropdown Menu primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dropdownMenuContentAttributes } from '@kovojs/headless-ui/dropdown-menu';

declare const input: Parameters<typeof dropdownMenuContentAttributes>[0];
const result = dropdownMenuContentAttributes(input);
```

**Signature**

```ts
function dropdownMenuContentAttributes(
  options: DropdownMenuContentAttributeOptions = {},
): DropdownMenuPrimitiveAttributes;
```

#### `dropdownMenuItemAttributes` {#dropdownmenuitemattributes}

Builds the dropdown menu item attributes record for the Dropdown Menu primitive.

Emits `aria-disabled`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dropdownMenuItemAttributes } from '@kovojs/headless-ui/dropdown-menu';

declare const input: Parameters<typeof dropdownMenuItemAttributes>[0];
const result = dropdownMenuItemAttributes(input);
```

**Signature**

```ts
function dropdownMenuItemAttributes(
  options: DropdownMenuItemAttributeOptions,
): DropdownMenuPrimitiveAttributes;
```

#### `dropdownMenuGroupAttributes` {#dropdownmenugroupattributes}

Builds the dropdown menu group attributes record for the Dropdown Menu primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dropdownMenuGroupAttributes } from '@kovojs/headless-ui/dropdown-menu';

declare const input: Parameters<typeof dropdownMenuGroupAttributes>[0];
const result = dropdownMenuGroupAttributes(input);
```

**Signature**

```ts
function dropdownMenuGroupAttributes(
  options: DropdownMenuGroupAttributeOptions = {},
): DropdownMenuPrimitiveAttributes;
```

#### `dropdownMenuSeparatorAttributes` {#dropdownmenuseparatorattributes}

Builds the dropdown menu separator attributes record for the Dropdown Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { dropdownMenuSeparatorAttributes } from '@kovojs/headless-ui/dropdown-menu';

declare const input: Parameters<typeof dropdownMenuSeparatorAttributes>[0];
const result = dropdownMenuSeparatorAttributes(input);
```

**Signature**

```ts
function dropdownMenuSeparatorAttributes(
  options: DropdownMenuSeparatorAttributeOptions = {},
): DropdownMenuPrimitiveAttributes;
```

### Supporting types

#### `DropdownMenuItem` {#dropdownmenuitem}

Public interface used by the Dropdown Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuItem } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuItem;
```

**Signature**

```ts
interface DropdownMenuItem {
  disabled?: boolean;
  label?: string;
  textValue?: string;
  value: string;
}
```

#### `DropdownMenuState` {#dropdownmenustate}

State snapshot consumed by the Dropdown Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuState } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuState;
```

**Signature**

```ts
interface DropdownMenuState {
  disabled?: boolean;
  highlightedValue?: string;
  items?: readonly DropdownMenuItem[];
  open?: boolean;
}
```

#### `DropdownMenuRootAttributeOptions` {#dropdownmenurootattributeoptions}

Options accepted by the Dropdown Menu primitive dropdown menu root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuRootAttributeOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuRootAttributeOptions;
```

**Signature**

```ts
interface DropdownMenuRootAttributeOptions extends DropdownMenuState {
  id?: string;
}
```

#### `DropdownMenuTriggerAttributeOptions` {#dropdownmenutriggerattributeoptions}

Options accepted by the Dropdown Menu primitive dropdown menu trigger attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuTriggerAttributeOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuTriggerAttributeOptions;
```

**Signature**

```ts
interface DropdownMenuTriggerAttributeOptions extends DropdownMenuState {
  contentId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `DropdownMenuContentAttributeOptions` {#dropdownmenucontentattributeoptions}

Options accepted by the Dropdown Menu primitive dropdown menu content attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuContentAttributeOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuContentAttributeOptions;
```

**Signature**

```ts
interface DropdownMenuContentAttributeOptions extends DropdownMenuState {
  id?: string;
  labelledBy?: string;
}
```

#### `DropdownMenuItemAttributeOptions` {#dropdownmenuitemattributeoptions}

Options accepted by the Dropdown Menu primitive dropdown menu item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuItemAttributeOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuItemAttributeOptions;
```

**Signature**

```ts
interface DropdownMenuItemAttributeOptions extends DropdownMenuState {
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `DropdownMenuGroupAttributeOptions` {#dropdownmenugroupattributeoptions}

Options accepted by the Dropdown Menu primitive dropdown menu group attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuGroupAttributeOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuGroupAttributeOptions;
```

**Signature**

```ts
interface DropdownMenuGroupAttributeOptions extends DropdownMenuState {
  id?: string;
  labelledBy?: string;
}
```

#### `DropdownMenuSeparatorAttributeOptions` {#dropdownmenuseparatorattributeoptions}

Options accepted by the Dropdown Menu primitive dropdown menu separator attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuSeparatorAttributeOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuSeparatorAttributeOptions;
```

**Signature**

```ts
interface DropdownMenuSeparatorAttributeOptions {
  id?: string;
}
```

#### `DropdownMenuMoveResult` {#dropdownmenumoveresult}

Result returned by the Dropdown Menu primitive dropdown menu move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuMoveResult } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuMoveResult;
```

**Signature**

```ts
interface DropdownMenuMoveResult {
  highlightedIndex: number;
  highlightedValue: string | undefined;
}
```

#### `DropdownMenuTypeaheadOptions` {#dropdownmenutypeaheadoptions}

Options accepted by the Dropdown Menu primitive dropdown menu typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuTypeaheadOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuTypeaheadOptions;
```

**Signature**

```ts
interface DropdownMenuTypeaheadOptions {
  currentValue?: string;
  loop?: boolean;
  now: number;
  state?: TypeaheadState;
  timeoutMs?: number;
}
```

#### `DropdownMenuTypeaheadResult` {#dropdownmenutypeaheadresult}

Result returned by the Dropdown Menu primitive dropdown menu typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuTypeaheadResult } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuTypeaheadResult;
```

**Signature**

```ts
interface DropdownMenuTypeaheadResult extends DropdownMenuMoveResult {
  state: TypeaheadState;
}
```

#### `DropdownMenuPrimitiveAttributes` {#dropdownmenuprimitiveattributes}

Serializable attribute record returned by Dropdown Menu primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuPrimitiveAttributes } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuPrimitiveAttributes;
```

**Signature**

```ts
type DropdownMenuPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

#### `DropdownMenuFocusEvent` {#dropdownmenufocusevent}

Event shape consumed by the Dropdown Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuFocusEvent } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuFocusEvent;
```

**Signature**

```ts
type DropdownMenuFocusEvent = Event & {
  readonly currentTarget?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
  readonly target?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
};
```

#### `DropdownMenuFocusOptions` {#dropdownmenufocusoptions}

Options accepted by the Dropdown Menu primitive dropdown menu focus.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { DropdownMenuFocusOptions } from '@kovojs/headless-ui/dropdown-menu';

declare const value: DropdownMenuFocusOptions;
```

**Signature**

```ts
interface DropdownMenuFocusOptions {
  defer?: boolean;
  schedule?: (callback: () => void) => void;
}
```

## `@kovojs/headless-ui/field`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/field.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/field.ts)

### Values

#### `fieldRootAttributes` {#fieldrootattributes}

Builds the field root attributes record for the Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { fieldRootAttributes } from '@kovojs/headless-ui/field';

declare const input: Parameters<typeof fieldRootAttributes>[0];
const result = fieldRootAttributes(input);
```

**Signature**

```ts
function fieldRootAttributes(options: FieldAttributeOptions = {}): FieldPrimitiveAttributes;
```

#### `fieldLabelAttributes` {#fieldlabelattributes}

Builds the field label attributes record for the Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { fieldLabelAttributes } from '@kovojs/headless-ui/field';

declare const input: Parameters<typeof fieldLabelAttributes>[0];
const result = fieldLabelAttributes(input);
```

**Signature**

```ts
function fieldLabelAttributes(
  options: FieldLabelAttributeOptions = {},
): FieldPrimitiveAttributes;
```

#### `fieldControlAttributes` {#fieldcontrolattributes}

Builds the field control attributes record for the Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { fieldControlAttributes } from '@kovojs/headless-ui/field';

declare const input: Parameters<typeof fieldControlAttributes>[0];
const result = fieldControlAttributes(input);
```

**Signature**

```ts
function fieldControlAttributes(
  options: FieldControlAttributeOptions = {},
): FieldPrimitiveAttributes;
```

#### `fieldDescriptionAttributes` {#fielddescriptionattributes}

Builds the field description attributes record for the Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { fieldDescriptionAttributes } from '@kovojs/headless-ui/field';

declare const input: Parameters<typeof fieldDescriptionAttributes>[0];
const result = fieldDescriptionAttributes(input);
```

**Signature**

```ts
function fieldDescriptionAttributes(
  options: FieldMessageAttributeOptions = {},
): FieldPrimitiveAttributes;
```

#### `fieldErrorAttributes` {#fielderrorattributes}

Builds the field error attributes record for the Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { fieldErrorAttributes } from '@kovojs/headless-ui/field';

declare const input: Parameters<typeof fieldErrorAttributes>[0];
const result = fieldErrorAttributes(input);
```

**Signature**

```ts
function fieldErrorAttributes(
  options: FieldMessageAttributeOptions = {},
): FieldPrimitiveAttributes;
```

#### `fieldsetRootAttributes` {#fieldsetrootattributes}

Builds the fieldset root attributes record for the Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { fieldsetRootAttributes } from '@kovojs/headless-ui/field';

declare const input: Parameters<typeof fieldsetRootAttributes>[0];
const result = fieldsetRootAttributes(input);
```

**Signature**

```ts
function fieldsetRootAttributes(
  options: FieldsetAttributeOptions = {},
): FieldPrimitiveAttributes;
```

#### `fieldsetLegendAttributes` {#fieldsetlegendattributes}

Builds the fieldset legend attributes record for the Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { fieldsetLegendAttributes } from '@kovojs/headless-ui/field';

declare const input: Parameters<typeof fieldsetLegendAttributes>[0];
const result = fieldsetLegendAttributes(input);
```

**Signature**

```ts
function fieldsetLegendAttributes(
  options: FieldAttributeOptions = {},
): FieldPrimitiveAttributes;
```

### Supporting types

#### `FieldAttributeOptions` {#fieldattributeoptions}

Options accepted by the Field primitive field attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { FieldAttributeOptions } from '@kovojs/headless-ui/field';

declare const value: FieldAttributeOptions;
```

**Signature**

```ts
interface FieldAttributeOptions {
  id?: string;
  disabled?: boolean;
  invalid?: boolean;
  required?: boolean;
}
```

#### `FieldControlAttributeOptions` {#fieldcontrolattributeoptions}

Options accepted by the Field primitive field control attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { FieldControlAttributeOptions } from '@kovojs/headless-ui/field';

declare const value: FieldControlAttributeOptions;
```

**Signature**

```ts
interface FieldControlAttributeOptions extends FieldAttributeOptions {
  autoComplete?: string;
  descriptionId?: string;
  errorId?: string;
  form?: string;
  inputMode?: string;
  maxLength?: number;
  minLength?: number;
  name?: string;
  pattern?: string;
}
```

#### `FieldLabelAttributeOptions` {#fieldlabelattributeoptions}

Options accepted by the Field primitive field label attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { FieldLabelAttributeOptions } from '@kovojs/headless-ui/field';

declare const value: FieldLabelAttributeOptions;
```

**Signature**

```ts
interface FieldLabelAttributeOptions extends FieldAttributeOptions {
  controlId?: string;
}
```

#### `FieldMessageAttributeOptions` {#fieldmessageattributeoptions}

Options accepted by the Field primitive field message attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { FieldMessageAttributeOptions } from '@kovojs/headless-ui/field';

declare const value: FieldMessageAttributeOptions;
```

**Signature**

```ts
interface FieldMessageAttributeOptions extends FieldAttributeOptions {
  visible?: boolean;
}
```

#### `FieldsetAttributeOptions` {#fieldsetattributeoptions}

Options accepted by the Field primitive fieldset attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { FieldsetAttributeOptions } from '@kovojs/headless-ui/field';

declare const value: FieldsetAttributeOptions;
```

**Signature**

```ts
interface FieldsetAttributeOptions extends FieldAttributeOptions {
  descriptionId?: string;
  errorId?: string;
  form?: string;
  name?: string;
}
```

#### `FieldPrimitiveAttributes` {#fieldprimitiveattributes}

Serializable attribute record returned by Field primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { FieldPrimitiveAttributes } from '@kovojs/headless-ui/field';

declare const value: FieldPrimitiveAttributes;
```

**Signature**

```ts
type FieldPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/hover-card`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/hover-card.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/hover-card.ts)

### Values

#### `hoverCardRootAttributes` {#hovercardrootattributes}

Builds the hover card root attributes record for the Hover Card primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { hoverCardRootAttributes } from '@kovojs/headless-ui/hover-card';

declare const input: Parameters<typeof hoverCardRootAttributes>[0];
const result = hoverCardRootAttributes(input);
```

**Signature**

```ts
function hoverCardRootAttributes(state: HoverCardState): HoverCardPrimitiveAttributes;
```

#### `hoverCardTriggerAttributes` {#hovercardtriggerattributes}

Builds the hover card trigger attributes record for the Hover Card primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { hoverCardTriggerAttributes } from '@kovojs/headless-ui/hover-card';

declare const input: Parameters<typeof hoverCardTriggerAttributes>[0];
const result = hoverCardTriggerAttributes(input);
```

**Signature**

```ts
function hoverCardTriggerAttributes(
  options: HoverCardAttributeOptions,
): HoverCardPrimitiveAttributes;
```

#### `hoverCardContentAttributes` {#hovercardcontentattributes}

Builds the hover card content attributes record for the Hover Card primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { hoverCardContentAttributes } from '@kovojs/headless-ui/hover-card';

declare const input: Parameters<typeof hoverCardContentAttributes>[0];
const result = hoverCardContentAttributes(input);
```

**Signature**

```ts
function hoverCardContentAttributes(
  options: HoverCardAttributeOptions,
): HoverCardPrimitiveAttributes;
```

### Supporting types

#### `HoverCardState` {#hovercardstate}

State snapshot consumed by the Hover Card primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { HoverCardState } from '@kovojs/headless-ui/hover-card';

declare const value: HoverCardState;
```

**Signature**

```ts
interface HoverCardState {
  disabled?: boolean;
  open: boolean;
}
```

#### `HoverCardAttributeOptions` {#hovercardattributeoptions}

Options accepted by the Hover Card primitive hover card attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { HoverCardAttributeOptions } from '@kovojs/headless-ui/hover-card';

declare const value: HoverCardAttributeOptions;
```

**Signature**

```ts
interface HoverCardAttributeOptions extends HoverCardState {
  contentId?: string;
}
```

#### `HoverCardPrimitiveAttributes` {#hovercardprimitiveattributes}

Serializable attribute record returned by Hover Card primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { HoverCardPrimitiveAttributes } from '@kovojs/headless-ui/hover-card';

declare const value: HoverCardPrimitiveAttributes;
```

**Signature**

```ts
type HoverCardPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/menubar`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/menubar.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/menubar.ts)

### Values

#### `menubarRootAttributes` {#menubarrootattributes}

Builds the menubar root attributes record for the Menubar primitive.

Emits `aria-describedby`, `aria-disabled`, `aria-label`, `aria-labelledby`, `aria-orientation`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { menubarRootAttributes } from '@kovojs/headless-ui/menubar';

declare const input: Parameters<typeof menubarRootAttributes>[0];
const result = menubarRootAttributes(input);
```

**Signature**

```ts
function menubarRootAttributes(
  options: MenubarRootAttributeOptions = {},
): MenubarPrimitiveAttributes;
```

#### `menubarItemAttributes` {#menubaritemattributes}

Builds the menubar item attributes record for the Menubar primitive.

Emits `aria-controls`, `aria-disabled`, `aria-expanded`, `aria-haspopup`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { menubarItemAttributes } from '@kovojs/headless-ui/menubar';

declare const input: Parameters<typeof menubarItemAttributes>[0];
const result = menubarItemAttributes(input);
```

**Signature**

```ts
function menubarItemAttributes(
  options: MenubarItemAttributeOptions,
): MenubarPrimitiveAttributes;
```

#### `menubarSubmenuAttributes` {#menubarsubmenuattributes}

Builds the menubar submenu attributes record for the Menubar primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { menubarSubmenuAttributes } from '@kovojs/headless-ui/menubar';

declare const input: Parameters<typeof menubarSubmenuAttributes>[0];
const result = menubarSubmenuAttributes(input);
```

**Signature**

```ts
function menubarSubmenuAttributes(
  options: MenubarSubmenuAttributeOptions,
): MenubarPrimitiveAttributes;
```

#### `menubarGroupAttributes` {#menubargroupattributes}

Builds the menubar group attributes record for the Menubar primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { menubarGroupAttributes } from '@kovojs/headless-ui/menubar';

declare const input: Parameters<typeof menubarGroupAttributes>[0];
const result = menubarGroupAttributes(input);
```

**Signature**

```ts
function menubarGroupAttributes(
  options: MenubarGroupAttributeOptions = {},
): MenubarPrimitiveAttributes;
```

#### `menubarSeparatorAttributes` {#menubarseparatorattributes}

Builds the menubar separator attributes record for the Menubar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { menubarSeparatorAttributes } from '@kovojs/headless-ui/menubar';

declare const input: Parameters<typeof menubarSeparatorAttributes>[0];
const result = menubarSeparatorAttributes(input);
```

**Signature**

```ts
function menubarSeparatorAttributes(
  options: MenubarSeparatorAttributeOptions = {},
): MenubarPrimitiveAttributes;
```

### Supporting types

#### `MenubarItem` {#menubaritem}

Public interface used by the Menubar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarItem } from '@kovojs/headless-ui/menubar';

declare const value: MenubarItem;
```

**Signature**

```ts
interface MenubarItem {
  disabled?: boolean;
  hasPopup?: boolean;
  label?: string;
  parentValue?: string;
  textValue?: string;
  value: string;
}
```

#### `MenubarState` {#menubarstate}

State snapshot consumed by the Menubar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarState } from '@kovojs/headless-ui/menubar';

declare const value: MenubarState;
```

**Signature**

```ts
interface MenubarState {
  activeValue?: string;
  dir?: TextDirection;
  disabled?: boolean;
  items?: readonly MenubarItem[];
  loop?: boolean;
  openValue?: string | undefined;
  orientation?: CollectionOrientation;
}
```

#### `MenubarRootAttributeOptions` {#menubarrootattributeoptions}

Options accepted by the Menubar primitive menubar root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarRootAttributeOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarRootAttributeOptions;
```

**Signature**

```ts
interface MenubarRootAttributeOptions extends MenubarState {
  descriptionId?: string;
  id?: string;
  label?: string;
  labelledBy?: string;
}
```

#### `MenubarItemAttributeOptions` {#menubaritemattributeoptions}

Options accepted by the Menubar primitive menubar item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarItemAttributeOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarItemAttributeOptions;
```

**Signature**

```ts
interface MenubarItemAttributeOptions extends MenubarState {
  contentId?: string;
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemParentValue?: string;
  itemValue: string;
}
```

#### `MenubarSubmenuAttributeOptions` {#menubarsubmenuattributeoptions}

Options accepted by the Menubar primitive menubar submenu attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarSubmenuAttributeOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarSubmenuAttributeOptions;
```

**Signature**

```ts
interface MenubarSubmenuAttributeOptions extends MenubarState {
  id?: string;
  labelledBy?: string;
  value: string;
}
```

#### `MenubarGroupAttributeOptions` {#menubargroupattributeoptions}

Options accepted by the Menubar primitive menubar group attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarGroupAttributeOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarGroupAttributeOptions;
```

**Signature**

```ts
interface MenubarGroupAttributeOptions extends MenubarState {
  id?: string;
  labelledBy?: string;
}
```

#### `MenubarSeparatorAttributeOptions` {#menubarseparatorattributeoptions}

Options accepted by the Menubar primitive menubar separator attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarSeparatorAttributeOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarSeparatorAttributeOptions;
```

**Signature**

```ts
interface MenubarSeparatorAttributeOptions {
  id?: string;
}
```

#### `MenubarMoveOptions` {#menubarmoveoptions}

Options accepted by the Menubar primitive menubar move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarMoveOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarMoveOptions;
```

**Signature**

```ts
interface MenubarMoveOptions {
  loop?: boolean;
  parentValue?: string;
}
```

#### `MenubarMoveResult` {#menubarmoveresult}

Result returned by the Menubar primitive menubar move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarMoveResult } from '@kovojs/headless-ui/menubar';

declare const value: MenubarMoveResult;
```

**Signature**

```ts
interface MenubarMoveResult {
  activeIndex: number;
  activeValue: string | undefined;
  parentValue: string | undefined;
}
```

#### `MenubarTypeaheadOptions` {#menubartypeaheadoptions}

Options accepted by the Menubar primitive menubar typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarTypeaheadOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarTypeaheadOptions;
```

**Signature**

```ts
interface MenubarTypeaheadOptions extends MenubarMoveOptions {
  currentValue?: string;
  now: number;
  state?: TypeaheadState;
  timeoutMs?: number;
}
```

#### `MenubarTypeaheadResult` {#menubartypeaheadresult}

Result returned by the Menubar primitive menubar typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarTypeaheadResult } from '@kovojs/headless-ui/menubar';

declare const value: MenubarTypeaheadResult;
```

**Signature**

```ts
interface MenubarTypeaheadResult extends MenubarMoveResult {
  state: TypeaheadState;
}
```

#### `MenubarPrimitiveAttributes` {#menubarprimitiveattributes}

Serializable attribute record returned by Menubar primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarPrimitiveAttributes } from '@kovojs/headless-ui/menubar';

declare const value: MenubarPrimitiveAttributes;
```

**Signature**

```ts
type MenubarPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

#### `MenubarFocusEvent` {#menubarfocusevent}

Event shape consumed by the Menubar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarFocusEvent } from '@kovojs/headless-ui/menubar';

declare const value: MenubarFocusEvent;
```

**Signature**

```ts
type MenubarFocusEvent = Event & {
  readonly currentTarget?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
  readonly target?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
};
```

#### `MenubarFocusOptions` {#menubarfocusoptions}

Options accepted by the Menubar primitive menubar focus.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MenubarFocusOptions } from '@kovojs/headless-ui/menubar';

declare const value: MenubarFocusOptions;
```

**Signature**

```ts
interface MenubarFocusOptions {
  defer?: boolean;
  schedule?: (callback: () => void) => void;
}
```

## `@kovojs/headless-ui/meter`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/meter.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/meter.ts)

### Values

#### `meterRootAttributes` {#meterrootattributes}

Builds the meter root attributes record for the Meter primitive.

Emits `aria-valuetext`, `data-high`, `data-low`, `data-max`, `data-min`, `data-optimum`, `data-state`, `data-value`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { meterRootAttributes } from '@kovojs/headless-ui/meter';

declare const input: Parameters<typeof meterRootAttributes>[0];
const result = meterRootAttributes(input);
```

**Signature**

```ts
function meterRootAttributes(options: MeterAttributeOptions = {}): MeterPrimitiveAttributes;
```

### Supporting types

#### `MeterDataState` {#meterdatastate}

State snapshot consumed by the Meter primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MeterDataState } from '@kovojs/headless-ui/meter';

declare const value: MeterDataState;
```

**Signature**

```ts
type MeterDataState = 'even-less-good' | 'optimum' | 'suboptimum';
```

#### `MeterAttributeOptions` {#meterattributeoptions}

Options accepted by the Meter primitive meter attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MeterAttributeOptions } from '@kovojs/headless-ui/meter';

declare const value: MeterAttributeOptions;
```

**Signature**

```ts
interface MeterAttributeOptions {
  high?: number;
  low?: number;
  max?: number;
  min?: number;
  optimum?: number;
  value?: number;
  valueText?: string;
}
```

#### `MeterComputedState` {#metercomputedstate}

State snapshot consumed by the Meter primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MeterComputedState } from '@kovojs/headless-ui/meter';

declare const value: MeterComputedState;
```

**Signature**

```ts
interface MeterComputedState {
  high: number;
  low: number;
  max: number;
  min: number;
  optimum: number;
  state: MeterDataState;
  value: number;
  valueRatio: number;
}
```

#### `MeterPrimitiveAttributes` {#meterprimitiveattributes}

Serializable attribute record returned by Meter primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { MeterPrimitiveAttributes } from '@kovojs/headless-ui/meter';

declare const value: MeterPrimitiveAttributes;
```

**Signature**

```ts
type MeterPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, number | string>>;
```

## `@kovojs/headless-ui/navigation-menu`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/navigation-menu.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/navigation-menu.ts)

### Values

#### `navigationMenuRootAttributes` {#navigationmenurootattributes}

Builds the navigation menu root attributes record for the Navigation Menu primitive.

Emits `aria-describedby`, `aria-disabled`, `aria-label`, `aria-labelledby`, `aria-orientation`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuRootAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuRootAttributes>[0];
const result = navigationMenuRootAttributes(input);
```

**Signature**

```ts
function navigationMenuRootAttributes(
  options: NavigationMenuRootAttributeOptions = {},
): NavigationMenuPrimitiveAttributes;
```

#### `navigationMenuListAttributes` {#navigationmenulistattributes}

Builds the navigation menu list attributes record for the Navigation Menu primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuListAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuListAttributes>[0];
const result = navigationMenuListAttributes(input);
```

**Signature**

```ts
function navigationMenuListAttributes(
  options: NavigationMenuListAttributeOptions = {},
): NavigationMenuPrimitiveAttributes;
```

#### `navigationMenuItemAttributes` {#navigationmenuitemattributes}

Builds the navigation menu item attributes record for the Navigation Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuItemAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuItemAttributes>[0];
const result = navigationMenuItemAttributes(input);
```

**Signature**

```ts
function navigationMenuItemAttributes(
  options: NavigationMenuItemAttributeOptions,
): NavigationMenuPrimitiveAttributes;
```

#### `navigationMenuTriggerAttributes` {#navigationmenutriggerattributes}

Builds the navigation menu trigger attributes record for the Navigation Menu primitive.

Emits `aria-controls`, `aria-expanded`, `aria-haspopup`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuTriggerAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuTriggerAttributes>[0];
const result = navigationMenuTriggerAttributes(input);
```

**Signature**

```ts
function navigationMenuTriggerAttributes(
  options: NavigationMenuTriggerAttributeOptions,
): NavigationMenuPrimitiveAttributes;
```

#### `navigationMenuContentAttributes` {#navigationmenucontentattributes}

Builds the navigation menu content attributes record for the Navigation Menu primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuContentAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuContentAttributes>[0];
const result = navigationMenuContentAttributes(input);
```

**Signature**

```ts
function navigationMenuContentAttributes(
  options: NavigationMenuContentAttributeOptions,
): NavigationMenuPrimitiveAttributes;
```

#### `navigationMenuLinkAttributes` {#navigationmenulinkattributes}

Builds the navigation menu link attributes record for the Navigation Menu primitive.

Emits `aria-disabled`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuLinkAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuLinkAttributes>[0];
const result = navigationMenuLinkAttributes(input);
```

**Signature**

```ts
function navigationMenuLinkAttributes(
  options: NavigationMenuLinkAttributeOptions,
): NavigationMenuPrimitiveAttributes;
```

#### `navigationMenuViewportAttributes` {#navigationmenuviewportattributes}

Builds the navigation menu viewport attributes record for the Navigation Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuViewportAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuViewportAttributes>[0];
const result = navigationMenuViewportAttributes(input);
```

**Signature**

```ts
function navigationMenuViewportAttributes(
  options: NavigationMenuViewportAttributeOptions = {},
): NavigationMenuPrimitiveAttributes;
```

#### `navigationMenuIndicatorAttributes` {#navigationmenuindicatorattributes}

Builds the navigation menu indicator attributes record for the Navigation Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { navigationMenuIndicatorAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const input: Parameters<typeof navigationMenuIndicatorAttributes>[0];
const result = navigationMenuIndicatorAttributes(input);
```

**Signature**

```ts
function navigationMenuIndicatorAttributes(
  options: NavigationMenuIndicatorAttributeOptions = {},
): NavigationMenuPrimitiveAttributes;
```

### Supporting types

#### `NavigationMenuItem` {#navigationmenuitem}

Public interface used by the Navigation Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuItem } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuItem;
```

**Signature**

```ts
interface NavigationMenuItem {
  disabled?: boolean;
  hasContent?: boolean;
  label?: string;
  textValue?: string;
  value: string;
}
```

#### `NavigationMenuState` {#navigationmenustate}

State snapshot consumed by the Navigation Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuState } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuState;
```

**Signature**

```ts
interface NavigationMenuState {
  activeValue?: string;
  dir?: TextDirection;
  disabled?: boolean;
  items?: readonly NavigationMenuItem[];
  loop?: boolean;
  openValue?: string | undefined;
  orientation?: CollectionOrientation;
}
```

#### `NavigationMenuRootAttributeOptions` {#navigationmenurootattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuRootAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuRootAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuRootAttributeOptions extends NavigationMenuState {
  descriptionId?: string;
  id?: string;
  label?: string;
  labelledBy?: string;
}
```

#### `NavigationMenuListAttributeOptions` {#navigationmenulistattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu list attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuListAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuListAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuListAttributeOptions extends NavigationMenuState {
  id?: string;
  labelledBy?: string;
}
```

#### `NavigationMenuItemAttributeOptions` {#navigationmenuitemattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuItemAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuItemAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuItemAttributeOptions extends NavigationMenuState {
  id?: string;
  itemDisabled?: boolean;
  itemValue: string;
}
```

#### `NavigationMenuTriggerAttributeOptions` {#navigationmenutriggerattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu trigger attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuTriggerAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuTriggerAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuTriggerAttributeOptions extends NavigationMenuState {
  contentId?: string;
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `NavigationMenuContentAttributeOptions` {#navigationmenucontentattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu content attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuContentAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuContentAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuContentAttributeOptions extends NavigationMenuState {
  id?: string;
  labelledBy?: string;
  value: string;
}
```

#### `NavigationMenuLinkAttributeOptions` {#navigationmenulinkattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu link attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuLinkAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuLinkAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuLinkAttributeOptions extends NavigationMenuState {
  href?: string;
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `NavigationMenuViewportAttributeOptions` {#navigationmenuviewportattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu viewport attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuViewportAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuViewportAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuViewportAttributeOptions extends NavigationMenuState {
  id?: string;
}
```

#### `NavigationMenuIndicatorAttributeOptions` {#navigationmenuindicatorattributeoptions}

Options accepted by the Navigation Menu primitive navigation menu indicator attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuIndicatorAttributeOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuIndicatorAttributeOptions;
```

**Signature**

```ts
interface NavigationMenuIndicatorAttributeOptions extends NavigationMenuState {
  id?: string;
}
```

#### `NavigationMenuMoveOptions` {#navigationmenumoveoptions}

Options accepted by the Navigation Menu primitive navigation menu move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuMoveOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuMoveOptions;
```

**Signature**

```ts
interface NavigationMenuMoveOptions {
  loop?: boolean;
}
```

#### `NavigationMenuMoveResult` {#navigationmenumoveresult}

Result returned by the Navigation Menu primitive navigation menu move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuMoveResult } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuMoveResult;
```

**Signature**

```ts
interface NavigationMenuMoveResult {
  activeIndex: number;
  activeValue: string | undefined;
}
```

#### `NavigationMenuTypeaheadOptions` {#navigationmenutypeaheadoptions}

Options accepted by the Navigation Menu primitive navigation menu typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuTypeaheadOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuTypeaheadOptions;
```

**Signature**

```ts
interface NavigationMenuTypeaheadOptions extends NavigationMenuMoveOptions {
  currentValue?: string;
  now: number;
  state?: TypeaheadState;
  timeoutMs?: number;
}
```

#### `NavigationMenuTypeaheadResult` {#navigationmenutypeaheadresult}

Result returned by the Navigation Menu primitive navigation menu typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuTypeaheadResult } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuTypeaheadResult;
```

**Signature**

```ts
interface NavigationMenuTypeaheadResult extends NavigationMenuMoveResult {
  state: TypeaheadState;
}
```

#### `NavigationMenuPrimitiveAttributes` {#navigationmenuprimitiveattributes}

Serializable attribute record returned by Navigation Menu primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuPrimitiveAttributes } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuPrimitiveAttributes;
```

**Signature**

```ts
type NavigationMenuPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

#### `NavigationMenuFocusEvent` {#navigationmenufocusevent}

Event shape consumed by the Navigation Menu primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuFocusEvent } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuFocusEvent;
```

**Signature**

```ts
type NavigationMenuFocusEvent = Event & {
  readonly currentTarget?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
  readonly target?: {
    ownerDocument?: {
      getElementById?: (id: string) => unknown;
    };
  } | null;
};
```

#### `NavigationMenuFocusOptions` {#navigationmenufocusoptions}

Options accepted by the Navigation Menu primitive navigation menu focus.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NavigationMenuFocusOptions } from '@kovojs/headless-ui/navigation-menu';

declare const value: NavigationMenuFocusOptions;
```

**Signature**

```ts
interface NavigationMenuFocusOptions {
  defer?: boolean;
  schedule?: (callback: () => void) => void;
}
```

## `@kovojs/headless-ui/number-field`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/number-field.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/number-field.ts)

### Values

#### `numberFieldRootAttributes` {#numberfieldrootattributes}

Builds the number field root attributes record for the Number Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { numberFieldRootAttributes } from '@kovojs/headless-ui/number-field';

declare const input: Parameters<typeof numberFieldRootAttributes>[0];
const result = numberFieldRootAttributes(input);
```

**Signature**

```ts
function numberFieldRootAttributes(
  options: NumberFieldRootAttributeOptions = {},
): NumberFieldPrimitiveAttributes;
```

#### `numberFieldInputAttributes` {#numberfieldinputattributes}

Builds the number field input attributes record for the Number Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { numberFieldInputAttributes } from '@kovojs/headless-ui/number-field';

declare const input: Parameters<typeof numberFieldInputAttributes>[0];
const result = numberFieldInputAttributes(input);
```

**Signature**

```ts
function numberFieldInputAttributes(
  options: NumberFieldInputAttributeOptions = {},
): NumberFieldPrimitiveAttributes;
```

#### `numberFieldIncrementAttributes` {#numberfieldincrementattributes}

Builds the number field increment attributes record for the Number Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { numberFieldIncrementAttributes } from '@kovojs/headless-ui/number-field';

declare const input: Parameters<typeof numberFieldIncrementAttributes>[0];
const result = numberFieldIncrementAttributes(input);
```

**Signature**

```ts
function numberFieldIncrementAttributes(
  options: NumberFieldButtonAttributeOptions = {},
): NumberFieldPrimitiveAttributes;
```

#### `numberFieldDecrementAttributes` {#numberfielddecrementattributes}

Builds the number field decrement attributes record for the Number Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { numberFieldDecrementAttributes } from '@kovojs/headless-ui/number-field';

declare const input: Parameters<typeof numberFieldDecrementAttributes>[0];
const result = numberFieldDecrementAttributes(input);
```

**Signature**

```ts
function numberFieldDecrementAttributes(
  options: NumberFieldButtonAttributeOptions = {},
): NumberFieldPrimitiveAttributes;
```

#### `numberFieldValueFromString` {#numberfieldvaluefromstring}

Computes number field value from string for the Number Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { numberFieldValueFromString } from '@kovojs/headless-ui/number-field';

declare const input: Parameters<typeof numberFieldValueFromString>[0];
const result = numberFieldValueFromString(input);
```

**Signature**

```ts
function numberFieldValueFromString(value: string): NumberFieldValue;
```

### Supporting types

#### `NumberFieldValue` {#numberfieldvalue}

Public type used by the Number Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NumberFieldValue } from '@kovojs/headless-ui/number-field';

declare const value: NumberFieldValue;
```

**Signature**

```ts
type NumberFieldValue = number | undefined;
```

#### `NumberFieldState` {#numberfieldstate}

State snapshot consumed by the Number Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NumberFieldState } from '@kovojs/headless-ui/number-field';

declare const value: NumberFieldState;
```

**Signature**

```ts
interface NumberFieldState {
  disabled?: boolean;
  invalid?: boolean;
  largeStep?: number;
  max?: number;
  min?: number;
  name?: string;
  required?: boolean;
  smallStep?: number;
  step?: number;
  value?: NumberFieldValue;
}
```

#### `NumberFieldRootAttributeOptions` {#numberfieldrootattributeoptions}

Options accepted by the Number Field primitive number field root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NumberFieldRootAttributeOptions } from '@kovojs/headless-ui/number-field';

declare const value: NumberFieldRootAttributeOptions;
```

**Signature**

```ts
interface NumberFieldRootAttributeOptions extends NumberFieldState {
  id?: string;
}
```

#### `NumberFieldInputAttributeOptions` {#numberfieldinputattributeoptions}

Options accepted by the Number Field primitive number field input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NumberFieldInputAttributeOptions } from '@kovojs/headless-ui/number-field';

declare const value: NumberFieldInputAttributeOptions;
```

**Signature**

```ts
interface NumberFieldInputAttributeOptions extends NumberFieldState {
  descriptionId?: string;
  errorId?: string;
  form?: string;
  id?: string;
  label?: string;
  labelledBy?: string;
}
```

#### `NumberFieldButtonAttributeOptions` {#numberfieldbuttonattributeoptions}

Options accepted by the Number Field primitive number field button attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NumberFieldButtonAttributeOptions } from '@kovojs/headless-ui/number-field';

declare const value: NumberFieldButtonAttributeOptions;
```

**Signature**

```ts
interface NumberFieldButtonAttributeOptions extends NumberFieldState {
  id?: string;
  inputId?: string;
  label?: string;
}
```

#### `NumberFieldPrimitiveAttributes` {#numberfieldprimitiveattributes}

Serializable attribute record returned by Number Field primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { NumberFieldPrimitiveAttributes } from '@kovojs/headless-ui/number-field';

declare const value: NumberFieldPrimitiveAttributes;
```

**Signature**

```ts
type NumberFieldPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/otp-field`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/otp-field.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/otp-field.ts)

### Values

#### `otpFieldRootAttributes` {#otpfieldrootattributes}

Builds the otp field root attributes record for the Otp Field primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { otpFieldRootAttributes } from '@kovojs/headless-ui/otp-field';

declare const input: Parameters<typeof otpFieldRootAttributes>[0];
const result = otpFieldRootAttributes(input);
```

**Signature**

```ts
function otpFieldRootAttributes(
  options: OtpFieldRootAttributeOptions = {},
): OtpFieldPrimitiveAttributes;
```

#### `otpFieldHiddenInputAttributes` {#otpfieldhiddeninputattributes}

Builds the otp field hidden input attributes record for the Otp Field primitive.

Emits `aria-hidden`, `data-slot`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { otpFieldHiddenInputAttributes } from '@kovojs/headless-ui/otp-field';

declare const input: Parameters<typeof otpFieldHiddenInputAttributes>[0];
const result = otpFieldHiddenInputAttributes(input);
```

**Signature**

```ts
function otpFieldHiddenInputAttributes(
  options: OtpFieldHiddenInputAttributeOptions = {},
): OtpFieldPrimitiveAttributes;
```

#### `otpFieldInputAttributes` {#otpfieldinputattributes}

Builds the otp field input attributes record for the Otp Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { otpFieldInputAttributes } from '@kovojs/headless-ui/otp-field';

declare const input: Parameters<typeof otpFieldInputAttributes>[0];
const result = otpFieldInputAttributes(input);
```

**Signature**

```ts
function otpFieldInputAttributes(
  options: OtpFieldInputAttributeOptions,
): OtpFieldPrimitiveAttributes;
```

### Supporting types

#### `OtpFieldInputMode` {#otpfieldinputmode}

Public type used by the Otp Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { OtpFieldInputMode } from '@kovojs/headless-ui/otp-field';

declare const value: OtpFieldInputMode;
```

**Signature**

```ts
type OtpFieldInputMode =
  | 'decimal'
  | 'email'
  | 'none'
  | 'numeric'
  | 'search'
  | 'tel'
  | 'text'
  | 'url';
```

#### `OtpFieldState` {#otpfieldstate}

State snapshot consumed by the Otp Field primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { OtpFieldState } from '@kovojs/headless-ui/otp-field';

declare const value: OtpFieldState;
```

**Signature**

```ts
interface OtpFieldState {
  disabled?: boolean;
  form?: string;
  inputMode?: OtpFieldInputMode;
  invalid?: boolean;
  length?: number;
  name?: string;
  pattern?: string;
  required?: boolean;
  value?: string;
}
```

#### `OtpFieldRootAttributeOptions` {#otpfieldrootattributeoptions}

Options accepted by the Otp Field primitive otp field root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { OtpFieldRootAttributeOptions } from '@kovojs/headless-ui/otp-field';

declare const value: OtpFieldRootAttributeOptions;
```

**Signature**

```ts
interface OtpFieldRootAttributeOptions extends OtpFieldState {
  descriptionId?: string;
  errorId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `OtpFieldHiddenInputAttributeOptions` {#otpfieldhiddeninputattributeoptions}

Options accepted by the Otp Field primitive otp field hidden input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { OtpFieldHiddenInputAttributeOptions } from '@kovojs/headless-ui/otp-field';

declare const value: OtpFieldHiddenInputAttributeOptions;
```

**Signature**

```ts
interface OtpFieldHiddenInputAttributeOptions extends OtpFieldState {
  id?: string;
}
```

#### `OtpFieldInputAttributeOptions` {#otpfieldinputattributeoptions}

Options accepted by the Otp Field primitive otp field input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { OtpFieldInputAttributeOptions } from '@kovojs/headless-ui/otp-field';

declare const value: OtpFieldInputAttributeOptions;
```

**Signature**

```ts
interface OtpFieldInputAttributeOptions extends OtpFieldState {
  id?: string;
  label?: string;
  labelledBy?: string;
  slotIndex: number;
}
```

#### `OtpFieldMoveResult` {#otpfieldmoveresult}

Result returned by the Otp Field primitive otp field move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { OtpFieldMoveResult } from '@kovojs/headless-ui/otp-field';

declare const value: OtpFieldMoveResult;
```

**Signature**

```ts
interface OtpFieldMoveResult {
  focusIndex: number;
}
```

#### `OtpFieldPrimitiveAttributes` {#otpfieldprimitiveattributes}

Serializable attribute record returned by Otp Field primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { OtpFieldPrimitiveAttributes } from '@kovojs/headless-ui/otp-field';

declare const value: OtpFieldPrimitiveAttributes;
```

**Signature**

```ts
type OtpFieldPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/popover`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/popover.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/popover.ts)

### Values

#### `popoverRootAttributes` {#popoverrootattributes}

Builds the popover root attributes record for the Popover primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { popoverRootAttributes } from '@kovojs/headless-ui/popover';

declare const input: Parameters<typeof popoverRootAttributes>[0];
const result = popoverRootAttributes(input);
```

**Signature**

```ts
function popoverRootAttributes(state: PopoverState): PopoverPrimitiveAttributes;
```

#### `popoverTriggerAttributes` {#popovertriggerattributes}

Builds the popover trigger attributes record for the Popover primitive.

Emits `aria-controls`, `aria-expanded`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { popoverTriggerAttributes } from '@kovojs/headless-ui/popover';

declare const input: Parameters<typeof popoverTriggerAttributes>[0];
const result = popoverTriggerAttributes(input);
```

**Signature**

```ts
function popoverTriggerAttributes(
  options: PopoverAttributeOptions,
): PopoverPrimitiveAttributes;
```

#### `popoverContentAttributes` {#popovercontentattributes}

Builds the popover content attributes record for the Popover primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { popoverContentAttributes } from '@kovojs/headless-ui/popover';

declare const input: Parameters<typeof popoverContentAttributes>[0];
const result = popoverContentAttributes(input);
```

**Signature**

```ts
function popoverContentAttributes(
  options: PopoverAttributeOptions,
): PopoverPrimitiveAttributes;
```

### Supporting types

#### `PopoverState` {#popoverstate}

State snapshot consumed by the Popover primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { PopoverState } from '@kovojs/headless-ui/popover';

declare const value: PopoverState;
```

**Signature**

```ts
interface PopoverState {
  disabled?: boolean;
  open: boolean;
}
```

#### `PopoverAttributeOptions` {#popoverattributeoptions}

Options accepted by the Popover primitive popover attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { PopoverAttributeOptions } from '@kovojs/headless-ui/popover';

declare const value: PopoverAttributeOptions;
```

**Signature**

```ts
interface PopoverAttributeOptions extends PopoverState {
  contentId?: string;
}
```

#### `PopoverPrimitiveAttributes` {#popoverprimitiveattributes}

Serializable attribute record returned by Popover primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { PopoverPrimitiveAttributes } from '@kovojs/headless-ui/popover';

declare const value: PopoverPrimitiveAttributes;
```

**Signature**

```ts
type PopoverPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/progress`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/progress.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/progress.ts)

### Values

#### `progressRootAttributes` {#progressrootattributes}

Builds the progress root attributes record for the Progress primitive.

Emits `aria-valuetext`, `data-max`, `data-state`, `data-value`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { progressRootAttributes } from '@kovojs/headless-ui/progress';

declare const input: Parameters<typeof progressRootAttributes>[0];
const result = progressRootAttributes(input);
```

**Signature**

```ts
function progressRootAttributes(
  options: ProgressAttributeOptions = {},
): ProgressPrimitiveAttributes;
```

### Supporting types

#### `ProgressDataState` {#progressdatastate}

State snapshot consumed by the Progress primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ProgressDataState } from '@kovojs/headless-ui/progress';

declare const value: ProgressDataState;
```

**Signature**

```ts
type ProgressDataState = 'complete' | 'indeterminate' | 'loading';
```

#### `ProgressAttributeOptions` {#progressattributeoptions}

Options accepted by the Progress primitive progress attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ProgressAttributeOptions } from '@kovojs/headless-ui/progress';

declare const value: ProgressAttributeOptions;
```

**Signature**

```ts
interface ProgressAttributeOptions {
  max?: number;
  value?: number | null;
  valueText?: string;
}
```

#### `ProgressComputedState` {#progresscomputedstate}

State snapshot consumed by the Progress primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ProgressComputedState } from '@kovojs/headless-ui/progress';

declare const value: ProgressComputedState;
```

**Signature**

```ts
interface ProgressComputedState {
  max: number;
  state: ProgressDataState;
  value: number | null;
  valueRatio: number | null;
}
```

#### `ProgressPrimitiveAttributes` {#progressprimitiveattributes}

Serializable attribute record returned by Progress primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ProgressPrimitiveAttributes } from '@kovojs/headless-ui/progress';

declare const value: ProgressPrimitiveAttributes;
```

**Signature**

```ts
type ProgressPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, number | string>>;
```

## `@kovojs/headless-ui/radio-group`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/radio-group.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/radio-group.ts)

### Values

#### `radioGroupRootAttributes` {#radiogrouprootattributes}

Builds the radio group root attributes record for the Radio Group primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { radioGroupRootAttributes } from '@kovojs/headless-ui/radio-group';

declare const input: Parameters<typeof radioGroupRootAttributes>[0];
const result = radioGroupRootAttributes(input);
```

**Signature**

```ts
function radioGroupRootAttributes(
  options: RadioGroupRootAttributeOptions = {},
): RadioGroupPrimitiveAttributes;
```

#### `radioGroupItemAttributes` {#radiogroupitemattributes}

Builds the radio group item attributes record for the Radio Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { radioGroupItemAttributes } from '@kovojs/headless-ui/radio-group';

declare const input: Parameters<typeof radioGroupItemAttributes>[0];
const result = radioGroupItemAttributes(input);
```

**Signature**

```ts
function radioGroupItemAttributes(
  options: RadioGroupItemAttributeOptions,
): RadioGroupPrimitiveAttributes;
```

#### `radioGroupRadioAttributes` {#radiogroupradioattributes}

Builds the radio group radio attributes record for the Radio Group primitive.

Emits `aria-checked`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { radioGroupRadioAttributes } from '@kovojs/headless-ui/radio-group';

declare const input: Parameters<typeof radioGroupRadioAttributes>[0];
const result = radioGroupRadioAttributes(input);
```

**Signature**

```ts
function radioGroupRadioAttributes(
  options: RadioGroupRadioAttributeOptions,
): RadioGroupPrimitiveAttributes;
```

#### `radioGroupLabelAttributes` {#radiogrouplabelattributes}

Builds the radio group label attributes record for the Radio Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { radioGroupLabelAttributes } from '@kovojs/headless-ui/radio-group';

declare const input: Parameters<typeof radioGroupLabelAttributes>[0];
const result = radioGroupLabelAttributes(input);
```

**Signature**

```ts
function radioGroupLabelAttributes(
  options: RadioGroupLabelAttributeOptions,
): RadioGroupPrimitiveAttributes;
```

### Supporting types

#### `RadioGroupItem` {#radiogroupitem}

Public interface used by the Radio Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupItem } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupItem;
```

**Signature**

```ts
interface RadioGroupItem {
  disabled?: boolean;
  value: string;
}
```

#### `RadioGroupState` {#radiogroupstate}

State snapshot consumed by the Radio Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupState } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupState;
```

**Signature**

```ts
interface RadioGroupState {
  dir?: TextDirection;
  disabled?: boolean;
  form?: string;
  invalid?: boolean;
  items?: readonly RadioGroupItem[];
  loop?: boolean;
  name?: string;
  orientation?: CollectionOrientation;
  required?: boolean;
  value?: string;
}
```

#### `RadioGroupRootAttributeOptions` {#radiogrouprootattributeoptions}

Options accepted by the Radio Group primitive radio group root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupRootAttributeOptions } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupRootAttributeOptions;
```

**Signature**

```ts
interface RadioGroupRootAttributeOptions extends RadioGroupState {
  descriptionId?: string;
  errorId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `RadioGroupItemAttributeOptions` {#radiogroupitemattributeoptions}

Options accepted by the Radio Group primitive radio group item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupItemAttributeOptions } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupItemAttributeOptions;
```

**Signature**

```ts
interface RadioGroupItemAttributeOptions extends RadioGroupState {
  id?: string;
  itemDisabled?: boolean;
  itemValue: string;
}
```

#### `RadioGroupRadioAttributeOptions` {#radiogroupradioattributeoptions}

Options accepted by the Radio Group primitive radio group radio attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupRadioAttributeOptions } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupRadioAttributeOptions;
```

**Signature**

```ts
interface RadioGroupRadioAttributeOptions extends RadioGroupItemAttributeOptions {
  controlId?: string;
}
```

#### `RadioGroupLabelAttributeOptions` {#radiogrouplabelattributeoptions}

Options accepted by the Radio Group primitive radio group label attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupLabelAttributeOptions } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupLabelAttributeOptions;
```

**Signature**

```ts
interface RadioGroupLabelAttributeOptions extends RadioGroupItemAttributeOptions {
  controlId?: string;
}
```

#### `RadioGroupMoveResult` {#radiogroupmoveresult}

Result returned by the Radio Group primitive radio group move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupMoveResult } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupMoveResult;
```

**Signature**

```ts
interface RadioGroupMoveResult {
  index: number;
  value: string | undefined;
}
```

#### `RadioGroupPrimitiveAttributes` {#radiogroupprimitiveattributes}

Serializable attribute record returned by Radio Group primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { RadioGroupPrimitiveAttributes } from '@kovojs/headless-ui/radio-group';

declare const value: RadioGroupPrimitiveAttributes;
```

**Signature**

```ts
type RadioGroupPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/scroll-area`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/scroll-area.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/scroll-area.ts)

### Values

#### `scrollAreaRootAttributes` {#scrollarearootattributes}

Builds the scroll area root attributes record for the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { scrollAreaRootAttributes } from '@kovojs/headless-ui/scroll-area';

declare const input: Parameters<typeof scrollAreaRootAttributes>[0];
const result = scrollAreaRootAttributes(input);
```

**Signature**

```ts
function scrollAreaRootAttributes(
  options: ScrollAreaRootAttributeOptions = {},
): ScrollAreaPrimitiveAttributes;
```

#### `scrollAreaViewportAttributes` {#scrollareaviewportattributes}

Builds the scroll area viewport attributes record for the Scroll Area primitive.

Emits `aria-describedby`, `aria-disabled`, `aria-label`, `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { scrollAreaViewportAttributes } from '@kovojs/headless-ui/scroll-area';

declare const input: Parameters<typeof scrollAreaViewportAttributes>[0];
const result = scrollAreaViewportAttributes(input);
```

**Signature**

```ts
function scrollAreaViewportAttributes(
  options: ScrollAreaViewportAttributeOptions = {},
): ScrollAreaPrimitiveAttributes;
```

#### `scrollAreaScrollbarAttributes` {#scrollareascrollbarattributes}

Builds the scroll area scrollbar attributes record for the Scroll Area primitive.

Emits `aria-hidden`, `hidden`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { scrollAreaScrollbarAttributes } from '@kovojs/headless-ui/scroll-area';

declare const input: Parameters<typeof scrollAreaScrollbarAttributes>[0];
const result = scrollAreaScrollbarAttributes(input);
```

**Signature**

```ts
function scrollAreaScrollbarAttributes(
  options: ScrollAreaScrollbarAttributeOptions = {},
): ScrollAreaPrimitiveAttributes;
```

#### `scrollAreaThumbAttributes` {#scrollareathumbattributes}

Builds the scroll area thumb attributes record for the Scroll Area primitive.

Emits `aria-hidden`, `hidden`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { scrollAreaThumbAttributes } from '@kovojs/headless-ui/scroll-area';

declare const input: Parameters<typeof scrollAreaThumbAttributes>[0];
const result = scrollAreaThumbAttributes(input);
```

**Signature**

```ts
function scrollAreaThumbAttributes(
  options: ScrollAreaThumbAttributeOptions = {},
): ScrollAreaPrimitiveAttributes;
```

#### `scrollAreaCornerAttributes` {#scrollareacornerattributes}

Builds the scroll area corner attributes record for the Scroll Area primitive.

Emits `aria-hidden`, `hidden`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { scrollAreaCornerAttributes } from '@kovojs/headless-ui/scroll-area';

declare const input: Parameters<typeof scrollAreaCornerAttributes>[0];
const result = scrollAreaCornerAttributes(input);
```

**Signature**

```ts
function scrollAreaCornerAttributes(
  options: ScrollAreaCornerAttributeOptions = {},
): ScrollAreaPrimitiveAttributes;
```

### Supporting types

#### `ScrollAreaOrientation` {#scrollareaorientation}

Public type used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaOrientation } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaOrientation;
```

**Signature**

```ts
type ScrollAreaOrientation = 'horizontal' | 'vertical';
```

#### `ScrollAreaScrollPosition` {#scrollareascrollposition}

Public type used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaScrollPosition } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaScrollPosition;
```

**Signature**

```ts
type ScrollAreaScrollPosition = 'end' | 'middle' | 'none' | 'start';
```

#### `ScrollAreaScrollbars` {#scrollareascrollbars}

Public type used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaScrollbars } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaScrollbars;
```

**Signature**

```ts
type ScrollAreaScrollbars = 'both' | 'horizontal' | 'none' | 'vertical';
```

#### `ScrollAreaVisibilityState` {#scrollareavisibilitystate}

State snapshot consumed by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaVisibilityState } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaVisibilityState;
```

**Signature**

```ts
type ScrollAreaVisibilityState = 'hidden' | 'visible';
```

#### `ScrollAreaState` {#scrollareastate}

State snapshot consumed by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaState } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaState;
```

**Signature**

```ts
interface ScrollAreaState {
  disabled?: boolean;
  dir?: TextDirection;
  hasOverflowX?: boolean;
  hasOverflowY?: boolean;
  hovering?: boolean;
  scrolling?: boolean;
  scrollbars?: ScrollAreaScrollbars;
}
```

#### `ScrollAreaRootAttributeOptions` {#scrollarearootattributeoptions}

Options accepted by the Scroll Area primitive scroll area root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaRootAttributeOptions } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaRootAttributeOptions;
```

**Signature**

```ts
interface ScrollAreaRootAttributeOptions extends ScrollAreaState {
  id?: string;
}
```

#### `ScrollAreaViewportAttributeOptions` {#scrollareaviewportattributeoptions}

Options accepted by the Scroll Area primitive scroll area viewport attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaViewportAttributeOptions } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaViewportAttributeOptions;
```

**Signature**

```ts
interface ScrollAreaViewportAttributeOptions extends ScrollAreaState {
  descriptionId?: string;
  id?: string;
  label?: string;
  labelledBy?: string;
  scrollX?: ScrollAreaScrollPosition;
  scrollY?: ScrollAreaScrollPosition;
}
```

#### `ScrollAreaScrollbarAttributeOptions` {#scrollareascrollbarattributeoptions}

Options accepted by the Scroll Area primitive scroll area scrollbar attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaScrollbarAttributeOptions } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaScrollbarAttributeOptions;
```

**Signature**

```ts
interface ScrollAreaScrollbarAttributeOptions extends ScrollAreaState {
  forceMount?: boolean;
  id?: string;
  orientation?: ScrollAreaOrientation;
  scrollPosition?: ScrollAreaScrollPosition;
  visible?: boolean;
}
```

#### `ScrollAreaThumbAttributeOptions` {#scrollareathumbattributeoptions}

Options accepted by the Scroll Area primitive scroll area thumb attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaThumbAttributeOptions } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaThumbAttributeOptions;
```

**Signature**

```ts
interface ScrollAreaThumbAttributeOptions extends ScrollAreaScrollbarAttributeOptions {}
```

#### `ScrollAreaCornerAttributeOptions` {#scrollareacornerattributeoptions}

Options accepted by the Scroll Area primitive scroll area corner attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaCornerAttributeOptions } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaCornerAttributeOptions;
```

**Signature**

```ts
interface ScrollAreaCornerAttributeOptions extends ScrollAreaState {
  forceMount?: boolean;
  id?: string;
  visible?: boolean;
}
```

#### `ScrollAreaPrimitiveAttributes` {#scrollareaprimitiveattributes}

Serializable attribute record returned by Scroll Area primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaPrimitiveAttributes } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaPrimitiveAttributes;
```

**Signature**

```ts
type ScrollAreaPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

#### `ScrollAreaViewportTarget` {#scrollareaviewporttarget}

Public interface used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaViewportTarget } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaViewportTarget;
```

**Signature**

```ts
interface ScrollAreaViewportTarget {
  readonly clientHeight: number;
  readonly clientWidth: number;
  readonly scrollHeight: number;
  readonly scrollLeft: number;
  readonly scrollTop: number;
  readonly scrollWidth: number;
}
```

#### `ScrollAreaPointerTarget` {#scrollareapointertarget}

Public interface used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaPointerTarget } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaPointerTarget;
```

**Signature**

```ts
interface ScrollAreaPointerTarget {
  readonly clientHeight?: number;
  readonly clientWidth?: number;
  readonly parentElement?: ScrollAreaPointerTarget | null;
  readonly getBoundingClientRect?: () => {
    readonly height: number;
    readonly left: number;
    readonly top: number;
    readonly width: number;
  };
}
```

#### `ScrollAreaThumbGeometryOptions` {#scrollareathumbgeometryoptions}

Options accepted by the Scroll Area primitive scroll area thumb geometry.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaThumbGeometryOptions } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaThumbGeometryOptions;
```

**Signature**

```ts
interface ScrollAreaThumbGeometryOptions extends ScrollAreaState {
  orientation?: ScrollAreaOrientation;
}
```

#### `ScrollAreaViewportComputedState` {#scrollareaviewportcomputedstate}

State snapshot consumed by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaViewportComputedState } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaViewportComputedState;
```

**Signature**

```ts
interface ScrollAreaViewportComputedState {
  readonly cornerVisible: boolean;
  readonly horizontalVisible: boolean;
  readonly maxScrollLeft: number;
  readonly maxScrollTop: number;
  readonly scrollLeft: number;
  readonly scrollTop: number;
  readonly scrollX: ScrollAreaScrollPosition;
  readonly scrollXRatio: number;
  readonly scrollY: ScrollAreaScrollPosition;
  readonly scrollYRatio: number;
  readonly verticalVisible: boolean;
}
```

#### `ScrollAreaViewportScrollResult` {#scrollareaviewportscrollresult}

Result returned by the Scroll Area primitive scroll area viewport scroll.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaViewportScrollResult } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaViewportScrollResult;
```

**Signature**

```ts
type ScrollAreaViewportScrollResult = ScrollAreaViewportComputedState;
```

#### `ScrollAreaThumbGeometry` {#scrollareathumbgeometry}

Public interface used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaThumbGeometry } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaThumbGeometry;
```

**Signature**

```ts
interface ScrollAreaThumbGeometry {
  readonly offsetRatio: number;
  readonly scrollPosition: ScrollAreaScrollPosition;
  readonly sizeRatio: number;
  readonly visible: boolean;
}
```

#### `ScrollAreaThumbDragStart` {#scrollareathumbdragstart}

Public interface used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaThumbDragStart } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaThumbDragStart;
```

**Signature**

```ts
interface ScrollAreaThumbDragStart {
  readonly pointerStart: number;
  readonly scrollStart: number;
  readonly thumbSize: number;
  readonly trackSize: number;
}
```

#### `ScrollAreaThumbDragOptions` {#scrollareathumbdragoptions}

Options accepted by the Scroll Area primitive scroll area thumb drag.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaThumbDragOptions } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaThumbDragOptions;
```

**Signature**

```ts
interface ScrollAreaThumbDragOptions extends ScrollAreaState {
  orientation?: ScrollAreaOrientation;
  pointerStart: number;
  scrollStart: number;
  thumbSize: number;
  trackSize: number;
}
```

#### `ScrollAreaScrollToTrigger` {#scrollareascrolltotrigger}

Public interface used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaScrollToTrigger } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaScrollToTrigger;
```

**Signature**

```ts
interface ScrollAreaScrollToTrigger {
  getAttribute(name: string): string | null;
  readonly ownerDocument?: {
    getElementById(id: string): ScrollAreaScrollToViewport | null;
  } | null;
}
```

#### `ScrollAreaScrollToViewport` {#scrollareascrolltoviewport}

Public interface used by the Scroll Area primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaScrollToViewport } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaScrollToViewport;
```

**Signature**

```ts
interface ScrollAreaScrollToViewport {
  scrollTop: number;
  readonly scrollHeight: number;
}
```

#### `ScrollAreaScrollToResult` {#scrollareascrolltoresult}

Result returned by the Scroll Area primitive scroll area scroll to.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ScrollAreaScrollToResult } from '@kovojs/headless-ui/scroll-area';

declare const value: ScrollAreaScrollToResult;
```

**Signature**

```ts
interface ScrollAreaScrollToResult {
  scrollTop: number;
  scrollY: 'end' | 'start';
}
```

## `@kovojs/headless-ui/separator`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/separator.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/separator.ts)

### Values

#### `separatorRootAttributes` {#separatorrootattributes}

Builds the separator root attributes record for the Separator primitive.

Emits `aria-orientation`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { separatorRootAttributes } from '@kovojs/headless-ui/separator';

declare const input: Parameters<typeof separatorRootAttributes>[0];
const result = separatorRootAttributes(input);
```

**Signature**

```ts
function separatorRootAttributes(
  options: SeparatorAttributeOptions = {},
): SeparatorPrimitiveAttributes;
```

### Supporting types

#### `SeparatorOrientation` {#separatororientation}

Public type used by the Separator primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SeparatorOrientation } from '@kovojs/headless-ui/separator';

declare const value: SeparatorOrientation;
```

**Signature**

```ts
type SeparatorOrientation = 'horizontal' | 'vertical';
```

#### `SeparatorAttributeOptions` {#separatorattributeoptions}

Options accepted by the Separator primitive separator attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SeparatorAttributeOptions } from '@kovojs/headless-ui/separator';

declare const value: SeparatorAttributeOptions;
```

**Signature**

```ts
interface SeparatorAttributeOptions {
  decorative?: boolean;
  orientation?: SeparatorOrientation;
}
```

#### `SeparatorPrimitiveAttributes` {#separatorprimitiveattributes}

Serializable attribute record returned by Separator primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SeparatorPrimitiveAttributes } from '@kovojs/headless-ui/separator';

declare const value: SeparatorPrimitiveAttributes;
```

**Signature**

```ts
type SeparatorPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, string>>;
```

## `@kovojs/headless-ui/select`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/select.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/select.ts)

### Values

#### `selectValueText` {#selectvaluetext}

Computes the select value text transition for the Select primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { selectValueText } from '@kovojs/headless-ui/select';

declare const input: Parameters<typeof selectValueText>[0];
const result = selectValueText(input);
```

**Signature**

```ts
function selectValueText(state: SelectState): string;
```

#### `selectRootAttributes` {#selectrootattributes}

Builds the select root attributes record for the Select primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { selectRootAttributes } from '@kovojs/headless-ui/select';

declare const input: Parameters<typeof selectRootAttributes>[0];
const result = selectRootAttributes(input);
```

**Signature**

```ts
function selectRootAttributes(
  options: SelectRootAttributeOptions = {},
): SelectPrimitiveAttributes;
```

#### `selectTriggerAttributes` {#selecttriggerattributes}

Builds the select trigger attributes record for the Select primitive.

Emits `aria-activedescendant`, `aria-controls`, `aria-expanded`, `aria-haspopup`, `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { selectTriggerAttributes } from '@kovojs/headless-ui/select';

declare const input: Parameters<typeof selectTriggerAttributes>[0];
const result = selectTriggerAttributes(input);
```

**Signature**

```ts
function selectTriggerAttributes(
  options: SelectTriggerAttributeOptions = {},
): SelectPrimitiveAttributes;
```

#### `selectHiddenInputAttributes` {#selecthiddeninputattributes}

Builds the select hidden input attributes record for the Select primitive.

Emits `hidden`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { selectHiddenInputAttributes } from '@kovojs/headless-ui/select';

declare const input: Parameters<typeof selectHiddenInputAttributes>[0];
const result = selectHiddenInputAttributes(input);
```

**Signature**

```ts
function selectHiddenInputAttributes(
  options: SelectHiddenInputAttributeOptions = {},
): SelectPrimitiveAttributes;
```

#### `selectContentAttributes` {#selectcontentattributes}

Builds the select content attributes record for the Select primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { selectContentAttributes } from '@kovojs/headless-ui/select';

declare const input: Parameters<typeof selectContentAttributes>[0];
const result = selectContentAttributes(input);
```

**Signature**

```ts
function selectContentAttributes(
  options: SelectContentAttributeOptions = {},
): SelectPrimitiveAttributes;
```

#### `selectItemAttributes` {#selectitemattributes}

Builds the select item attributes record for the Select primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { selectItemAttributes } from '@kovojs/headless-ui/select';

declare const input: Parameters<typeof selectItemAttributes>[0];
const result = selectItemAttributes(input);
```

**Signature**

```ts
function selectItemAttributes(
  options: SelectItemAttributeOptions,
): SelectPrimitiveAttributes;
```

#### `selectValueAttributes` {#selectvalueattributes}

Builds the select value attributes record for the Select primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { selectValueAttributes } from '@kovojs/headless-ui/select';

declare const input: Parameters<typeof selectValueAttributes>[0];
const result = selectValueAttributes(input);
```

**Signature**

```ts
function selectValueAttributes(
  options: SelectValueAttributeOptions = {},
): SelectPrimitiveAttributes;
```

### Supporting types

#### `SelectItem` {#selectitem}

Public interface used by the Select primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectItem } from '@kovojs/headless-ui/select';

const value: SelectItem = { label: 'Standard', value: 'standard' };
```

**Signature**

```ts
interface SelectItem {
  disabled?: boolean;
  id?: string;
  label?: string;
  textValue?: string;
  value: string;
}
```

#### `SelectState` {#selectstate}

State snapshot consumed by the Select primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectState } from '@kovojs/headless-ui/select';

const value: SelectState = {
  items: [{ label: 'Standard', value: 'standard' }],
  listboxId: 'shipping-speed-listbox',
  name: 'shippingSpeed',
  open: true,
  value: 'standard',
};
```

**Signature**

```ts
interface SelectState {
  disabled?: boolean;
  form?: string;
  highlightedValue?: string;
  invalid?: boolean;
  items?: readonly SelectItem[];
  listboxId?: string;
  name?: string;
  open?: boolean;
  placeholder?: string;
  required?: boolean;
  value?: string;
}
```

#### `SelectRootAttributeOptions` {#selectrootattributeoptions}

Options accepted by the Select primitive select root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectRootAttributeOptions } from '@kovojs/headless-ui/select';

const value: SelectRootAttributeOptions = {
  id: 'shipping-speed',
  items: [{ label: 'Standard', value: 'standard' }],
  value: 'standard',
};
```

**Signature**

```ts
interface SelectRootAttributeOptions extends SelectState {
  id?: string;
}
```

#### `SelectTriggerAttributeOptions` {#selecttriggerattributeoptions}

Options accepted by the Select primitive select trigger attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectTriggerAttributeOptions } from '@kovojs/headless-ui/select';

const value: SelectTriggerAttributeOptions = {
  id: 'shipping-speed-trigger',
  items: [{ label: 'Standard', value: 'standard' }],
  labelledBy: 'shipping-speed-label',
  value: 'standard',
};
```

**Signature**

```ts
interface SelectTriggerAttributeOptions extends SelectState {
  descriptionId?: string;
  errorId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `SelectHiddenInputAttributeOptions` {#selecthiddeninputattributeoptions}

Options accepted by the Select primitive select hidden input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectHiddenInputAttributeOptions } from '@kovojs/headless-ui/select';

const value: SelectHiddenInputAttributeOptions = {
  name: 'shippingSpeed',
  required: true,
  value: 'standard',
};
```

**Signature**

```ts
interface SelectHiddenInputAttributeOptions extends SelectState {}
```

#### `SelectContentAttributeOptions` {#selectcontentattributeoptions}

Options accepted by the Select primitive select content attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectContentAttributeOptions } from '@kovojs/headless-ui/select';

const value: SelectContentAttributeOptions = {
  id: 'shipping-speed-listbox',
  labelledBy: 'shipping-speed-label',
  open: true,
};
```

**Signature**

```ts
interface SelectContentAttributeOptions extends SelectState {
  id?: string;
  labelledBy?: string;
}
```

#### `SelectItemAttributeOptions` {#selectitemattributeoptions}

Options accepted by the Select primitive select item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectItemAttributeOptions } from '@kovojs/headless-ui/select';

const value: SelectItemAttributeOptions = {
  itemLabel: 'Standard',
  itemValue: 'standard',
  value: 'standard',
};
```

**Signature**

```ts
interface SelectItemAttributeOptions extends SelectState {
  id?: string;
  itemDisabled?: boolean;
  itemLabel?: string;
  itemValue: string;
}
```

#### `SelectValueAttributeOptions` {#selectvalueattributeoptions}

Options accepted by the Select primitive select value attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectValueAttributeOptions } from '@kovojs/headless-ui/select';

const value: SelectValueAttributeOptions = {
  placeholder: 'Choose a speed',
  value: 'standard',
};
```

**Signature**

```ts
interface SelectValueAttributeOptions extends SelectState {
  id?: string;
}
```

#### `SelectMoveResult` {#selectmoveresult}

Result returned by the Select primitive select move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectMoveResult } from '@kovojs/headless-ui/select';

declare const value: SelectMoveResult;
```

**Signature**

```ts
interface SelectMoveResult {
  highlightedIndex: number;
  highlightedValue: string | undefined;
}
```

#### `SelectTypeaheadOptions` {#selecttypeaheadoptions}

Options accepted by the Select primitive select typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectTypeaheadOptions } from '@kovojs/headless-ui/select';

declare const value: SelectTypeaheadOptions;
```

**Signature**

```ts
interface SelectTypeaheadOptions {
  currentValue?: string;
  loop?: boolean;
  now: number;
  state?: TypeaheadState;
  timeoutMs?: number;
}
```

#### `SelectTypeaheadResult` {#selecttypeaheadresult}

Result returned by the Select primitive select typeahead.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectTypeaheadResult } from '@kovojs/headless-ui/select';

declare const value: SelectTypeaheadResult;
```

**Signature**

```ts
interface SelectTypeaheadResult {
  matchIndex: number;
  state: TypeaheadState;
  value: string | undefined;
}
```

#### `SelectPrimitiveAttributes` {#selectprimitiveattributes}

Serializable attribute record returned by Select primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SelectPrimitiveAttributes } from '@kovojs/headless-ui/select';

declare const value: SelectPrimitiveAttributes;
```

**Signature**

```ts
type SelectPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/slider`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/slider.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/slider.ts)

### Values

#### `sliderRootAttributes` {#sliderrootattributes}

Builds the slider root attributes record for the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { sliderRootAttributes } from '@kovojs/headless-ui/slider';

declare const input: Parameters<typeof sliderRootAttributes>[0];
const result = sliderRootAttributes(input);
```

**Signature**

```ts
function sliderRootAttributes(
  options: SliderRootAttributeOptions = {},
): SliderPrimitiveAttributes;
```

#### `sliderInputAttributes` {#sliderinputattributes}

Builds the slider input attributes record for the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { sliderInputAttributes } from '@kovojs/headless-ui/slider';

declare const input: Parameters<typeof sliderInputAttributes>[0];
const result = sliderInputAttributes(input);
```

**Signature**

```ts
function sliderInputAttributes(
  options: SliderInputAttributeOptions = {},
): SliderPrimitiveAttributes;
```

#### `sliderHiddenInputAttributes` {#sliderhiddeninputattributes}

Builds the slider hidden input attributes record for the Slider primitive.

Emits `hidden`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { sliderHiddenInputAttributes } from '@kovojs/headless-ui/slider';

declare const input: Parameters<typeof sliderHiddenInputAttributes>[0];
const result = sliderHiddenInputAttributes(input);
```

**Signature**

```ts
function sliderHiddenInputAttributes(
  options: SliderHiddenInputAttributeOptions = {},
): SliderPrimitiveAttributes;
```

#### `sliderTrackAttributes` {#slidertrackattributes}

Builds the slider track attributes record for the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { sliderTrackAttributes } from '@kovojs/headless-ui/slider';

declare const input: Parameters<typeof sliderTrackAttributes>[0];
const result = sliderTrackAttributes(input);
```

**Signature**

```ts
function sliderTrackAttributes(
  options: SliderPartAttributeOptions = {},
): SliderPrimitiveAttributes;
```

#### `sliderRangeAttributes` {#sliderrangeattributes}

Builds the slider range attributes record for the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { sliderRangeAttributes } from '@kovojs/headless-ui/slider';

declare const input: Parameters<typeof sliderRangeAttributes>[0];
const result = sliderRangeAttributes(input);
```

**Signature**

```ts
function sliderRangeAttributes(
  options: SliderPartAttributeOptions = {},
): SliderPrimitiveAttributes;
```

#### `sliderThumbAttributes` {#sliderthumbattributes}

Builds the slider thumb attributes record for the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { sliderThumbAttributes } from '@kovojs/headless-ui/slider';

declare const input: Parameters<typeof sliderThumbAttributes>[0];
const result = sliderThumbAttributes(input);
```

**Signature**

```ts
function sliderThumbAttributes(
  options: SliderThumbAttributeOptions = {},
): SliderPrimitiveAttributes;
```

#### `sliderValueFromString` {#slidervaluefromstring}

Computes slider value from string for the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { sliderValueFromString } from '@kovojs/headless-ui/slider';

declare const input: Parameters<typeof sliderValueFromString>[0];
declare const state: Parameters<typeof sliderValueFromString>[1];
const result = sliderValueFromString(input, state);
```

**Signature**

```ts
function sliderValueFromString(value: string, state: SliderState = {}): number;
```

### Supporting types

#### `SliderOrientation` {#sliderorientation}

Public type used by the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderOrientation } from '@kovojs/headless-ui/slider';

declare const value: SliderOrientation;
```

**Signature**

```ts
type SliderOrientation = 'horizontal' | 'vertical';
```

#### `SliderState` {#sliderstate}

State snapshot consumed by the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderState } from '@kovojs/headless-ui/slider';

declare const value: SliderState;
```

**Signature**

```ts
interface SliderState {
  disabled?: boolean;
  invalid?: boolean;
  largeStep?: number;
  max?: number;
  min?: number;
  name?: string;
  orientation?: SliderOrientation;
  required?: boolean;
  step?: number;
  value?: number;
}
```

#### `SliderRootAttributeOptions` {#sliderrootattributeoptions}

Options accepted by the Slider primitive slider root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderRootAttributeOptions } from '@kovojs/headless-ui/slider';

declare const value: SliderRootAttributeOptions;
```

**Signature**

```ts
interface SliderRootAttributeOptions extends SliderState {
  id?: string;
}
```

#### `SliderInputAttributeOptions` {#sliderinputattributeoptions}

Options accepted by the Slider primitive slider input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderInputAttributeOptions } from '@kovojs/headless-ui/slider';

declare const value: SliderInputAttributeOptions;
```

**Signature**

```ts
interface SliderInputAttributeOptions extends SliderState {
  descriptionId?: string;
  errorId?: string;
  form?: string;
  id?: string;
  label?: string;
  labelledBy?: string;
  valueText?: string;
}
```

#### `SliderHiddenInputAttributeOptions` {#sliderhiddeninputattributeoptions}

Options accepted by the Slider primitive slider hidden input attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderHiddenInputAttributeOptions } from '@kovojs/headless-ui/slider';

declare const value: SliderHiddenInputAttributeOptions;
```

**Signature**

```ts
interface SliderHiddenInputAttributeOptions extends SliderState {
  form?: string;
}
```

#### `SliderPartAttributeOptions` {#sliderpartattributeoptions}

Options accepted by the Slider primitive slider part attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderPartAttributeOptions } from '@kovojs/headless-ui/slider';

declare const value: SliderPartAttributeOptions;
```

**Signature**

```ts
interface SliderPartAttributeOptions extends SliderState {
  id?: string;
}
```

#### `SliderThumbAttributeOptions` {#sliderthumbattributeoptions}

Options accepted by the Slider primitive slider thumb attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderThumbAttributeOptions } from '@kovojs/headless-ui/slider';

declare const value: SliderThumbAttributeOptions;
```

**Signature**

```ts
interface SliderThumbAttributeOptions extends SliderPartAttributeOptions {
  descriptionId?: string;
  errorId?: string;
  label?: string;
  labelledBy?: string;
  valueText?: string;
}
```

#### `SliderComputedState` {#slidercomputedstate}

State snapshot consumed by the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderComputedState } from '@kovojs/headless-ui/slider';

declare const value: SliderComputedState;
```

**Signature**

```ts
interface SliderComputedState {
  max: number;
  min: number;
  orientation: SliderOrientation;
  step: number;
  value: number;
  valueRatio: number;
}
```

#### `SliderPrimitiveAttributes` {#sliderprimitiveattributes}

Serializable attribute record returned by Slider primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderPrimitiveAttributes } from '@kovojs/headless-ui/slider';

declare const value: SliderPrimitiveAttributes;
```

**Signature**

```ts
type SliderPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

#### `SliderPointerTarget` {#sliderpointertarget}

Public interface used by the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderPointerTarget } from '@kovojs/headless-ui/slider';

declare const value: SliderPointerTarget;
```

**Signature**

```ts
interface SliderPointerTarget {
  readonly clientHeight?: number;
  readonly clientWidth?: number;
  readonly getBoundingClientRect?: () => {
    readonly height: number;
    readonly left: number;
    readonly top: number;
    readonly width: number;
  };
  readonly parentElement?: SliderPointerTarget | null;
}
```

#### `SliderPointerDragStart` {#sliderpointerdragstart}

Public interface used by the Slider primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SliderPointerDragStart } from '@kovojs/headless-ui/slider';

declare const value: SliderPointerDragStart;
```

**Signature**

```ts
interface SliderPointerDragStart {
  readonly pointerStart: number;
  readonly valueStart: number;
}
```

## `@kovojs/headless-ui/switch`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/switch.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/switch.ts)

### Values

#### `switchRootAttributes` {#switchrootattributes}

Builds the switch root attributes record for the Switch primitive.

Emits `aria-checked`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { switchRootAttributes } from '@kovojs/headless-ui/switch';

declare const input: Parameters<typeof switchRootAttributes>[0];
const result = switchRootAttributes(input);
```

**Signature**

```ts
function switchRootAttributes(state: SwitchState): SwitchPrimitiveAttributes;
```

### Supporting types

#### `SwitchState` {#switchstate}

State snapshot consumed by the Switch primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SwitchState } from '@kovojs/headless-ui/switch';

declare const value: SwitchState;
```

**Signature**

```ts
interface SwitchState {
  checked: boolean;
  disabled?: boolean;
  form?: string;
  name?: string;
  required?: boolean;
  value?: string;
}
```

#### `SwitchPrimitiveAttributes` {#switchprimitiveattributes}

Serializable attribute record returned by Switch primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { SwitchPrimitiveAttributes } from '@kovojs/headless-ui/switch';

declare const value: SwitchPrimitiveAttributes;
```

**Signature**

```ts
type SwitchPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/tabs`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/tabs.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/tabs.ts)

### Values

#### `tabsRootAttributes` {#tabsrootattributes}

Builds the tabs root attributes record for the Tabs primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { tabsRootAttributes } from '@kovojs/headless-ui/tabs';

declare const input: Parameters<typeof tabsRootAttributes>[0];
const result = tabsRootAttributes(input);
```

**Signature**

```ts
function tabsRootAttributes(
  options: TabsRootAttributeOptions = {},
): TabsPrimitiveAttributes;
```

#### `tabsListAttributes` {#tabslistattributes}

Builds the tabs list attributes record for the Tabs primitive.

Emits `aria-describedby`, `aria-disabled`, `aria-label`, `aria-labelledby`, `aria-orientation`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { tabsListAttributes } from '@kovojs/headless-ui/tabs';

declare const input: Parameters<typeof tabsListAttributes>[0];
const result = tabsListAttributes(input);
```

**Signature**

```ts
function tabsListAttributes(
  options: TabsListAttributeOptions = {},
): TabsPrimitiveAttributes;
```

#### `tabsTriggerAttributes` {#tabstriggerattributes}

Builds the tabs trigger attributes record for the Tabs primitive.

Emits `aria-controls`, `aria-selected`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { tabsTriggerAttributes } from '@kovojs/headless-ui/tabs';

declare const input: Parameters<typeof tabsTriggerAttributes>[0];
const result = tabsTriggerAttributes(input);
```

**Signature**

```ts
function tabsTriggerAttributes(
  options: TabsTriggerAttributeOptions,
): TabsPrimitiveAttributes;
```

#### `tabsPanelAttributes` {#tabspanelattributes}

Builds the tabs panel attributes record for the Tabs primitive.

Emits `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { tabsPanelAttributes } from '@kovojs/headless-ui/tabs';

declare const input: Parameters<typeof tabsPanelAttributes>[0];
const result = tabsPanelAttributes(input);
```

**Signature**

```ts
function tabsPanelAttributes(options: TabsPanelAttributeOptions): TabsPrimitiveAttributes;
```

### Supporting types

#### `TabsActivationMode` {#tabsactivationmode}

Public type used by the Tabs primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsActivationMode } from '@kovojs/headless-ui/tabs';

declare const value: TabsActivationMode;
```

**Signature**

```ts
type TabsActivationMode = 'automatic' | 'manual';
```

#### `TabsItem` {#tabsitem}

Public interface used by the Tabs primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsItem } from '@kovojs/headless-ui/tabs';

declare const value: TabsItem;
```

**Signature**

```ts
interface TabsItem {
  disabled?: boolean;
  value: string;
}
```

#### `TabsState` {#tabsstate}

State snapshot consumed by the Tabs primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsState } from '@kovojs/headless-ui/tabs';

declare const value: TabsState;
```

**Signature**

```ts
interface TabsState {
  activationMode?: TabsActivationMode;
  activeValue?: string;
  dir?: TextDirection;
  disabled?: boolean;
  items?: readonly TabsItem[];
  loop?: boolean;
  orientation?: CollectionOrientation;
  value?: string;
}
```

#### `TabsRootAttributeOptions` {#tabsrootattributeoptions}

Options accepted by the Tabs primitive tabs root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsRootAttributeOptions } from '@kovojs/headless-ui/tabs';

declare const value: TabsRootAttributeOptions;
```

**Signature**

```ts
interface TabsRootAttributeOptions extends TabsState {
  id?: string;
}
```

#### `TabsListAttributeOptions` {#tabslistattributeoptions}

Options accepted by the Tabs primitive tabs list attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsListAttributeOptions } from '@kovojs/headless-ui/tabs';

declare const value: TabsListAttributeOptions;
```

**Signature**

```ts
interface TabsListAttributeOptions extends TabsState {
  descriptionId?: string;
  id?: string;
  label?: string;
  labelledBy?: string;
}
```

#### `TabsTriggerAttributeOptions` {#tabstriggerattributeoptions}

Options accepted by the Tabs primitive tabs trigger attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsTriggerAttributeOptions } from '@kovojs/headless-ui/tabs';

declare const value: TabsTriggerAttributeOptions;
```

**Signature**

```ts
interface TabsTriggerAttributeOptions extends TabsState {
  id?: string;
  itemDisabled?: boolean;
  itemValue: string;
  panelId?: string;
}
```

#### `TabsPanelAttributeOptions` {#tabspanelattributeoptions}

Options accepted by the Tabs primitive tabs panel attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsPanelAttributeOptions } from '@kovojs/headless-ui/tabs';

declare const value: TabsPanelAttributeOptions;
```

**Signature**

```ts
interface TabsPanelAttributeOptions extends TabsState {
  id?: string;
  itemDisabled?: boolean;
  itemValue: string;
  triggerId?: string;
}
```

#### `TabsMoveResult` {#tabsmoveresult}

Result returned by the Tabs primitive tabs move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsMoveResult } from '@kovojs/headless-ui/tabs';

declare const value: TabsMoveResult;
```

**Signature**

```ts
interface TabsMoveResult {
  index: number;
  value: string | undefined;
}
```

#### `TabsPrimitiveAttributes` {#tabsprimitiveattributes}

Serializable attribute record returned by Tabs primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TabsPrimitiveAttributes } from '@kovojs/headless-ui/tabs';

declare const value: TabsPrimitiveAttributes;
```

**Signature**

```ts
type TabsPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/toast`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/toast.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/toast.ts)

### Values

#### `toastShowEventName` {#toastshoweventname}

Public value used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastShowEventName } from '@kovojs/headless-ui/toast';

const value = toastShowEventName;
```

**Signature**

```ts
const toastShowEventName = 'toast:show' as const;
```

#### `toastDismissEventName` {#toastdismisseventname}

Public value used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastDismissEventName } from '@kovojs/headless-ui/toast';

const value = toastDismissEventName;
```

**Signature**

```ts
const toastDismissEventName = 'toast:dismiss' as const;
```

#### `toastShowEvent` {#toastshowevent}

Event shape consumed by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastShowEvent } from '@kovojs/headless-ui/toast';

const value = toastShowEvent;
```

**Signature**

```ts
const toastShowEvent = Object.freeze({
  name: toastShowEventName,
}) as ToastShowEventDefinition;
```

#### `toastDismissEvent` {#toastdismissevent}

Event shape consumed by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastDismissEvent } from '@kovojs/headless-ui/toast';

const value = toastDismissEvent;
```

**Signature**

```ts
const toastDismissEvent = Object.freeze({
  name: toastDismissEventName,
}) as ToastDismissEventDefinition;
```

#### `toastEvents` {#toastevents}

Public value used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastEvents } from '@kovojs/headless-ui/toast';

const value = toastEvents;
```

**Signature**

```ts
const toastEvents = Object.freeze([toastShowEvent, toastDismissEvent] as const);
```

#### `toastShowPayload` {#toastshowpayload}

Computes toast show payload for the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastShowPayload } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastShowPayload>[0];
const result = toastShowPayload(input);
```

**Signature**

```ts
function toastShowPayload(input: ToastShowPayload): ToastShowPayload;
```

#### `toastDismissPayload` {#toastdismisspayload}

Computes toast dismiss payload for the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastDismissPayload } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastDismissPayload>[0];
const result = toastDismissPayload(input);
```

**Signature**

```ts
function toastDismissPayload(input: ToastDismissPayload): ToastDismissPayload;
```

#### `toastViewportAttributes` {#toastviewportattributes}

Builds the toast viewport attributes record for the Toast primitive.

Emits `aria-label`, `data-placement`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastViewportAttributes } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastViewportAttributes>[0];
const result = toastViewportAttributes(input);
```

**Signature**

```ts
function toastViewportAttributes(
  options: ToastViewportAttributeOptions = {},
): ToastPrimitiveAttributes;
```

#### `toastRootAttributes` {#toastrootattributes}

Builds the toast root attributes record for the Toast primitive.

Emits `aria-atomic`, `aria-describedby`, `aria-labelledby`, `aria-live`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastRootAttributes } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastRootAttributes>[0];
const result = toastRootAttributes(input);
```

**Signature**

```ts
function toastRootAttributes(options: ToastRootAttributeOptions): ToastPrimitiveAttributes;
```

#### `toastTitleAttributes` {#toasttitleattributes}

Builds the toast title attributes record for the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastTitleAttributes } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastTitleAttributes>[0];
const result = toastTitleAttributes(input);
```

**Signature**

```ts
function toastTitleAttributes(
  options: ToastPartAttributeOptions = {},
): ToastPrimitiveAttributes;
```

#### `toastDescriptionAttributes` {#toastdescriptionattributes}

Builds the toast description attributes record for the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastDescriptionAttributes } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastDescriptionAttributes>[0];
const result = toastDescriptionAttributes(input);
```

**Signature**

```ts
function toastDescriptionAttributes(
  options: ToastPartAttributeOptions = {},
): ToastPrimitiveAttributes;
```

#### `toastActionAttributes` {#toastactionattributes}

Builds the toast action attributes record for the Toast primitive.

Emits `data-action`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastActionAttributes } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastActionAttributes>[0];
const result = toastActionAttributes(input);
```

**Signature**

```ts
function toastActionAttributes(
  options: ToastActionAttributeOptions,
): ToastPrimitiveAttributes;
```

#### `toastCloseAttributes` {#toastcloseattributes}

Builds the toast close attributes record for the Toast primitive.

Emits `data-dismiss`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toastCloseAttributes } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof toastCloseAttributes>[0];
const result = toastCloseAttributes(input);
```

**Signature**

```ts
function toastCloseAttributes(options: ToastState): ToastPrimitiveAttributes;
```

#### `normalizeToastDuration` {#normalizetoastduration}

Computes normalize toast duration for the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { normalizeToastDuration } from '@kovojs/headless-ui/toast';

declare const input: Parameters<typeof normalizeToastDuration>[0];
const result = normalizeToastDuration(input);
```

**Signature**

```ts
function normalizeToastDuration(durationMs: number): number;
```

### Supporting types

#### `ToastPlacement` {#toastplacement}

Public type used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastPlacement } from '@kovojs/headless-ui/toast';

declare const value: ToastPlacement;
```

**Signature**

```ts
type ToastPlacement =
  | 'bottom-center'
  | 'bottom-end'
  | 'bottom-start'
  | 'top-center'
  | 'top-end'
  | 'top-start';
```

#### `ToastPoliteness` {#toastpoliteness}

Public type used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastPoliteness } from '@kovojs/headless-ui/toast';

declare const value: ToastPoliteness;
```

**Signature**

```ts
type ToastPoliteness = 'assertive' | 'polite';
```

#### `ToastVariant` {#toastvariant}

Public type used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastVariant } from '@kovojs/headless-ui/toast';

declare const value: ToastVariant;
```

**Signature**

```ts
type ToastVariant = 'default' | 'error' | 'info' | 'success' | 'warning';
```

#### `ToastChangeReason` {#toastchangereason}

Reason token reported by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastChangeReason } from '@kovojs/headless-ui/toast';

declare const value: ToastChangeReason;
```

**Signature**

```ts
type ToastChangeReason =
  | 'action-click'
  | 'close-click'
  | 'escape-key'
  | 'programmatic'
  | 'timeout';
```

#### `ToastShowPayload` {#toastshowpayload-1}

Public interface used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastShowPayload } from '@kovojs/headless-ui/toast';

declare const value: ToastShowPayload;
```

**Signature**

```ts
interface ToastShowPayload {
  actionLabel?: string;
  actionValue?: string;
  description?: string;
  durationMs?: number;
  id?: string;
  politeness?: ToastPoliteness;
  title?: string;
  variant?: ToastVariant;
}
```

#### `ToastDismissPayload` {#toastdismisspayload-1}

Public interface used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastDismissPayload } from '@kovojs/headless-ui/toast';

declare const value: ToastDismissPayload;
```

**Signature**

```ts
interface ToastDismissPayload {
  id: string;
  reason?: ToastChangeReason;
}
```

#### `ToastEventDefinition` {#toasteventdefinition}

Public interface used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastEventDefinition } from '@kovojs/headless-ui/toast';

declare const value: ToastEventDefinition<'show', { message: string }>;
```

**Signature**

```ts
interface ToastEventDefinition<Name extends string, Payload> {
  name: Name;
  payload?: Payload;
  serverFactKeys?: readonly string[];
}
```

#### `ToastShowEventDefinition` {#toastshoweventdefinition}

Public type used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastShowEventDefinition } from '@kovojs/headless-ui/toast';

declare const value: ToastShowEventDefinition;
```

**Signature**

```ts
type ToastShowEventDefinition = ToastEventDefinition<
  typeof toastShowEventName,
  ToastShowPayload
>;
```

#### `ToastDismissEventDefinition` {#toastdismisseventdefinition}

Public type used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastDismissEventDefinition } from '@kovojs/headless-ui/toast';

declare const value: ToastDismissEventDefinition;
```

**Signature**

```ts
type ToastDismissEventDefinition = ToastEventDefinition<
  typeof toastDismissEventName,
  ToastDismissPayload
>;
```

#### `ToastState` {#toaststate}

State snapshot consumed by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastState } from '@kovojs/headless-ui/toast';

declare const value: ToastState;
```

**Signature**

```ts
interface ToastState {
  disabled?: boolean;
  id: string;
  open?: boolean;
}
```

#### `ToastViewportAttributeOptions` {#toastviewportattributeoptions}

Options accepted by the Toast primitive toast viewport attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastViewportAttributeOptions } from '@kovojs/headless-ui/toast';

declare const value: ToastViewportAttributeOptions;
```

**Signature**

```ts
interface ToastViewportAttributeOptions {
  disabled?: boolean;
  id?: string;
  label?: string;
  placement?: ToastPlacement;
}
```

#### `ToastRootAttributeOptions` {#toastrootattributeoptions}

Options accepted by the Toast primitive toast root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastRootAttributeOptions } from '@kovojs/headless-ui/toast';

declare const value: ToastRootAttributeOptions;
```

**Signature**

```ts
interface ToastRootAttributeOptions extends ToastState {
  descriptionId?: string;
  politeness?: ToastPoliteness;
  titleId?: string;
  variant?: ToastVariant;
}
```

#### `ToastPartAttributeOptions` {#toastpartattributeoptions}

Options accepted by the Toast primitive toast part attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastPartAttributeOptions } from '@kovojs/headless-ui/toast';

declare const value: ToastPartAttributeOptions;
```

**Signature**

```ts
interface ToastPartAttributeOptions {
  id?: string;
}
```

#### `ToastActionAttributeOptions` {#toastactionattributeoptions}

Options accepted by the Toast primitive toast action attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastActionAttributeOptions } from '@kovojs/headless-ui/toast';

declare const value: ToastActionAttributeOptions;
```

**Signature**

```ts
interface ToastActionAttributeOptions extends ToastState {
  actionValue?: string;
  dismissOnAction?: boolean;
  variant?: ToastVariant;
}
```

#### `ToastChangeValue` {#toastchangevalue}

Public type used by the Toast primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastChangeValue } from '@kovojs/headless-ui/toast';

declare const value: ToastChangeValue;
```

**Signature**

```ts
type ToastChangeValue = Readonly<{
  id: string;
  open: boolean;
}>;
```

#### `ToastPrimitiveAttributes` {#toastprimitiveattributes}

Serializable attribute record returned by Toast primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToastPrimitiveAttributes } from '@kovojs/headless-ui/toast';

declare const value: ToastPrimitiveAttributes;
```

**Signature**

```ts
type ToastPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/toggle`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/toggle.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/toggle.ts)

### Values

#### `toggleRootAttributes` {#togglerootattributes}

Builds the toggle root attributes record for the Toggle primitive.

Emits `aria-pressed`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toggleRootAttributes } from '@kovojs/headless-ui/toggle';

declare const input: Parameters<typeof toggleRootAttributes>[0];
const result = toggleRootAttributes(input);
```

**Signature**

```ts
function toggleRootAttributes(state: ToggleState): TogglePrimitiveAttributes;
```

### Supporting types

#### `ToggleState` {#togglestate}

State snapshot consumed by the Toggle primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleState } from '@kovojs/headless-ui/toggle';

declare const value: ToggleState;
```

**Signature**

```ts
interface ToggleState {
  disabled?: boolean;
  pressed: boolean;
}
```

#### `TogglePrimitiveAttributes` {#toggleprimitiveattributes}

Serializable attribute record returned by Toggle primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TogglePrimitiveAttributes } from '@kovojs/headless-ui/toggle';

declare const value: TogglePrimitiveAttributes;
```

**Signature**

```ts
type TogglePrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/toggle-group`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/toggle-group.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/toggle-group.ts)

### Values

#### `toggleGroupRootAttributes` {#togglegrouprootattributes}

Builds the toggle group root attributes record for the Toggle Group primitive.

Emits `aria-describedby`, `aria-disabled`, `aria-labelledby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toggleGroupRootAttributes } from '@kovojs/headless-ui/toggle-group';

declare const input: Parameters<typeof toggleGroupRootAttributes>[0];
const result = toggleGroupRootAttributes(input);
```

**Signature**

```ts
function toggleGroupRootAttributes(
  options: ToggleGroupRootAttributeOptions = {},
): ToggleGroupPrimitiveAttributes;
```

#### `toggleGroupItemAttributes` {#togglegroupitemattributes}

Builds the toggle group item attributes record for the Toggle Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toggleGroupItemAttributes } from '@kovojs/headless-ui/toggle-group';

declare const input: Parameters<typeof toggleGroupItemAttributes>[0];
const result = toggleGroupItemAttributes(input);
```

**Signature**

```ts
function toggleGroupItemAttributes(
  options: ToggleGroupItemAttributeOptions,
): ToggleGroupPrimitiveAttributes;
```

#### `toggleGroupButtonAttributes` {#togglegroupbuttonattributes}

Builds the toggle group button attributes record for the Toggle Group primitive.

Emits `aria-pressed`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toggleGroupButtonAttributes } from '@kovojs/headless-ui/toggle-group';

declare const input: Parameters<typeof toggleGroupButtonAttributes>[0];
const result = toggleGroupButtonAttributes(input);
```

**Signature**

```ts
function toggleGroupButtonAttributes(
  options: ToggleGroupItemAttributeOptions,
): ToggleGroupPrimitiveAttributes;
```

### Supporting types

#### `ToggleGroupType` {#togglegrouptype}

Public type used by the Toggle Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupType } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupType;
```

**Signature**

```ts
type ToggleGroupType = 'multiple' | 'single';
```

#### `ToggleGroupValue` {#togglegroupvalue}

Public type used by the Toggle Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupValue } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupValue;
```

**Signature**

```ts
type ToggleGroupValue = readonly string[] | string | undefined;
```

#### `ToggleGroupItem` {#togglegroupitem}

Public interface used by the Toggle Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupItem } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupItem;
```

**Signature**

```ts
interface ToggleGroupItem {
  disabled?: boolean;
  value: string;
}
```

#### `ToggleGroupState` {#togglegroupstate}

State snapshot consumed by the Toggle Group primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupState } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupState;
```

**Signature**

```ts
interface ToggleGroupState {
  activeValue?: string;
  collapsible?: boolean;
  dir?: TextDirection;
  disabled?: boolean;
  items?: readonly ToggleGroupItem[];
  loop?: boolean;
  orientation?: CollectionOrientation;
  type?: ToggleGroupType;
  value?: ToggleGroupValue;
}
```

#### `ToggleGroupRootAttributeOptions` {#togglegrouprootattributeoptions}

Options accepted by the Toggle Group primitive toggle group root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupRootAttributeOptions } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupRootAttributeOptions;
```

**Signature**

```ts
interface ToggleGroupRootAttributeOptions extends ToggleGroupState {
  descriptionId?: string;
  id?: string;
  labelledBy?: string;
}
```

#### `ToggleGroupItemAttributeOptions` {#togglegroupitemattributeoptions}

Options accepted by the Toggle Group primitive toggle group item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupItemAttributeOptions } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupItemAttributeOptions;
```

**Signature**

```ts
interface ToggleGroupItemAttributeOptions extends ToggleGroupState {
  id?: string;
  itemDisabled?: boolean;
  itemValue: string;
}
```

#### `ToggleGroupMoveResult` {#togglegroupmoveresult}

Result returned by the Toggle Group primitive toggle group move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupMoveResult } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupMoveResult;
```

**Signature**

```ts
interface ToggleGroupMoveResult {
  index: number;
  value: string | undefined;
}
```

#### `ToggleGroupPrimitiveAttributes` {#togglegroupprimitiveattributes}

Serializable attribute record returned by Toggle Group primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToggleGroupPrimitiveAttributes } from '@kovojs/headless-ui/toggle-group';

declare const value: ToggleGroupPrimitiveAttributes;
```

**Signature**

```ts
type ToggleGroupPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/toolbar`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/toolbar.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/toolbar.ts)

### Values

#### `toolbarRootAttributes` {#toolbarrootattributes}

Builds the toolbar root attributes record for the Toolbar primitive.

Emits `aria-describedby`, `aria-disabled`, `aria-label`, `aria-labelledby`, `aria-orientation`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toolbarRootAttributes } from '@kovojs/headless-ui/toolbar';

declare const input: Parameters<typeof toolbarRootAttributes>[0];
const result = toolbarRootAttributes(input);
```

**Signature**

```ts
function toolbarRootAttributes(
  options: ToolbarRootAttributeOptions = {},
): ToolbarPrimitiveAttributes;
```

#### `toolbarItemAttributes` {#toolbaritemattributes}

Builds the toolbar item attributes record for the Toolbar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toolbarItemAttributes } from '@kovojs/headless-ui/toolbar';

declare const input: Parameters<typeof toolbarItemAttributes>[0];
const result = toolbarItemAttributes(input);
```

**Signature**

```ts
function toolbarItemAttributes(
  options: ToolbarItemAttributeOptions,
): ToolbarPrimitiveAttributes;
```

#### `toolbarButtonAttributes` {#toolbarbuttonattributes}

Builds the toolbar button attributes record for the Toolbar primitive.

Emits `aria-pressed`, `data-pressed`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { toolbarButtonAttributes } from '@kovojs/headless-ui/toolbar';

declare const input: Parameters<typeof toolbarButtonAttributes>[0];
const result = toolbarButtonAttributes(input);
```

**Signature**

```ts
function toolbarButtonAttributes(
  options: ToolbarButtonAttributeOptions,
): ToolbarPrimitiveAttributes;
```

### Supporting types

#### `ToolbarOrientation` {#toolbarorientation}

Public type used by the Toolbar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarOrientation } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarOrientation;
```

**Signature**

```ts
type ToolbarOrientation = 'horizontal' | 'vertical';
```

#### `ToolbarItem` {#toolbaritem}

Public interface used by the Toolbar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarItem } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarItem;
```

**Signature**

```ts
interface ToolbarItem {
  disabled?: boolean;
  value: string;
}
```

#### `ToolbarState` {#toolbarstate}

State snapshot consumed by the Toolbar primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarState } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarState;
```

**Signature**

```ts
interface ToolbarState {
  activeValue?: string;
  dir?: TextDirection;
  disabled?: boolean;
  items?: readonly ToolbarItem[];
  loop?: boolean;
  orientation?: ToolbarOrientation;
}
```

#### `ToolbarRootAttributeOptions` {#toolbarrootattributeoptions}

Options accepted by the Toolbar primitive toolbar root attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarRootAttributeOptions } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarRootAttributeOptions;
```

**Signature**

```ts
interface ToolbarRootAttributeOptions extends ToolbarState {
  descriptionId?: string;
  id?: string;
  label?: string;
  labelledBy?: string;
}
```

#### `ToolbarItemAttributeOptions` {#toolbaritemattributeoptions}

Options accepted by the Toolbar primitive toolbar item attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarItemAttributeOptions } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarItemAttributeOptions;
```

**Signature**

```ts
interface ToolbarItemAttributeOptions extends ToolbarState {
  id?: string;
  itemDisabled?: boolean;
  itemValue: string;
}
```

#### `ToolbarButtonAttributeOptions` {#toolbarbuttonattributeoptions}

Options accepted by the Toolbar primitive toolbar button attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarButtonAttributeOptions } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarButtonAttributeOptions;
```

**Signature**

```ts
interface ToolbarButtonAttributeOptions extends ToolbarItemAttributeOptions {
  pressed?: boolean;
}
```

#### `ToolbarMoveResult` {#toolbarmoveresult}

Result returned by the Toolbar primitive toolbar move.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarMoveResult } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarMoveResult;
```

**Signature**

```ts
interface ToolbarMoveResult {
  index: number;
  value: string | undefined;
}
```

#### `ToolbarPrimitiveAttributes` {#toolbarprimitiveattributes}

Serializable attribute record returned by Toolbar primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { ToolbarPrimitiveAttributes } from '@kovojs/headless-ui/toolbar';

declare const value: ToolbarPrimitiveAttributes;
```

**Signature**

```ts
type ToolbarPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | number | string>>;
```

## `@kovojs/headless-ui/tooltip`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/public/tooltip.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/public/tooltip.ts)

### Values

#### `tooltipRootAttributes` {#tooltiprootattributes}

Builds the tooltip root attributes record for the Tooltip primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { tooltipRootAttributes } from '@kovojs/headless-ui/tooltip';

declare const input: Parameters<typeof tooltipRootAttributes>[0];
const result = tooltipRootAttributes(input);
```

**Signature**

```ts
function tooltipRootAttributes(state: TooltipState): TooltipPrimitiveAttributes;
```

#### `tooltipTriggerAttributes` {#tooltiptriggerattributes}

Builds the tooltip trigger attributes record for the Tooltip primitive.

Emits `aria-describedby`.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { tooltipTriggerAttributes } from '@kovojs/headless-ui/tooltip';

declare const input: Parameters<typeof tooltipTriggerAttributes>[0];
const result = tooltipTriggerAttributes(input);
```

**Signature**

```ts
function tooltipTriggerAttributes(
  options: TooltipAttributeOptions,
): TooltipPrimitiveAttributes;
```

#### `tooltipContentAttributes` {#tooltipcontentattributes}

Builds the tooltip content attributes record for the Tooltip primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import { tooltipContentAttributes } from '@kovojs/headless-ui/tooltip';

declare const input: Parameters<typeof tooltipContentAttributes>[0];
const result = tooltipContentAttributes(input);
```

**Signature**

```ts
function tooltipContentAttributes(
  options: TooltipAttributeOptions,
): TooltipPrimitiveAttributes;
```

### Supporting types

#### `TooltipState` {#tooltipstate}

State snapshot consumed by the Tooltip primitive.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TooltipState } from '@kovojs/headless-ui/tooltip';

declare const value: TooltipState;
```

**Signature**

```ts
interface TooltipState {
  disabled?: boolean;
  open: boolean;
}
```

#### `TooltipAttributeOptions` {#tooltipattributeoptions}

Options accepted by the Tooltip primitive tooltip attribute.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TooltipAttributeOptions } from '@kovojs/headless-ui/tooltip';

declare const value: TooltipAttributeOptions;
```

**Signature**

```ts
interface TooltipAttributeOptions extends TooltipState {
  contentId?: string;
}
```

#### `TooltipPrimitiveAttributes` {#tooltipprimitiveattributes}

Serializable attribute record returned by Tooltip primitive builders.

SPEC.md §4.6 defines primitive attribute records and merge ownership.

**Copyable example**

```ts
import type { TooltipPrimitiveAttributes } from '@kovojs/headless-ui/tooltip';

declare const value: TooltipPrimitiveAttributes;
```

**Signature**

```ts
type TooltipPrimitiveAttributes = PrimitiveDataAttributes &
  Readonly<Record<string, boolean | string>>;
```

## `@kovojs/headless-ui/types`

**Task:** Headless primitive behavior: ARIA/data attribute builders, render-input types, and primitive event helpers for styled and copied components.

Source: [`packages/headless-ui/src/types.ts`](https://github.com/kovojs/kovo/blob/main/packages/headless-ui/src/types.ts)

### Supporting types

#### `CollectionOrientation` {#collectionorientation}

Orientation model used by roving-focus and keyboard navigation helpers.

**Signature**

```ts
type CollectionOrientation = 'both' | 'horizontal' | 'vertical';
```

#### `DialogInvokerEvent` {#dialoginvokerevent}

Minimal event shape accepted by dialog invoker-backed trigger and close handlers.

**Signature**

```ts
interface DialogInvokerEvent {
  currentTarget?: unknown;
  defaultPrevented?: boolean;
  preventDefault?: () => void;
  target?: unknown;
}
```

#### `NavigationIntent` {#navigationintent}

Logical navigation intent derived from keyboard input.

**Signature**

```ts
type NavigationIntent = 'first' | 'last' | 'next' | 'previous';
```

#### `PrimitiveChangeDetail` {#primitivechangedetail}

Cancelable change event detail shared by headless primitives with author-provided change hooks.

**Signature**

```ts
interface PrimitiveChangeDetail<Reason extends string, Value = unknown> {
  readonly defaultPrevented: boolean;
  readonly reason: Reason;
  readonly value: Value;
  preventDefault(): void;
}
```

#### `PrimitiveDataAttributes` {#primitivedataattributes}

Data attributes emitted by headless primitive attribute helpers.

**Signature**

```ts
type PrimitiveDataAttributes = Readonly<Record<`data-${string}`, string>>;
```

#### `TextDirection` {#textdirection}

Text direction used to interpret horizontal arrow-key navigation.

**Signature**

```ts
type TextDirection = 'ltr' | 'rtl';
```

#### `TypeaheadState` {#typeaheadstate}

Buffered typeahead search state shared by collection primitives.

**Signature**

```ts
interface TypeaheadState {
  readonly buffer: string;
  readonly updatedAt: number;
}
```

