# Composite.moveActiveId

Returns the id reached by first/last/next/previous with optional disabled inclusion and loop
policy.

## Signatures

```ts
export declare function moveActiveId<Item extends Collection.Item<unknown, object>>(items: readonly Item[], state: ActiveIdState, direction: Move, includeDisabled?: boolean): string | null;
```

## Why

Separating this deterministic policy from event wiring lets applications test it directly and
reuse it in custom composites.

## Ownership and lifetime

This is a synchronous calculation. It acquires no resources and does not mutate the input array,
state, event, or DOM.

## Examples

```ts
import * as Composite from "@typed/ui/Composite";

const id = Composite.moveActiveId([{ id: "a" }, { id: "b" }], { activeId: "a", loop: true }, "next");
```
