# State

Current value and keyboard policy for a window splitter.

## Signatures

```ts
export interface State {
    readonly value: number;
    readonly previousValue: number;
    readonly min: number;
    readonly max: number;
    readonly step: number;
    readonly orientation: Orientation;
}
```

## Property: max

Inclusive maximum pane value.

## Property: max: Property: max

Updates clamp to this bound and End jumps to it.

## Property: min

Inclusive minimum pane value.

## Property: min: Property: min

Updates clamp to this bound and Home jumps to it.

## Property: orientation

Separator orientation and keyboard axis.

## Property: orientation: Property: orientation

The value drives both `aria-orientation` and valid arrow keys.

## Property: previousValue

Restore value used by `toggleCollapsed`.

## Property: previousValue: Property: previousValue

It starts at the initial clamped value. `toggleCollapsed` overwrites it only
when collapsing from a non-minimum value, then reads it when restoring.
Ordinary `setValue` and `adjust` calls do not update it.

## Property: step

Keyboard adjustment increment.

## Property: step: Property: step

Arrow keys require a deterministic application-defined change size. The
state constructor does not enforce positivity; callers must provide a
positive value for conventional keyboard direction.

## Property: value

Current pane size value.

## Property: value: Property: value

It drives `aria-valuenow` and keyboard adjustments.
