# resolveBox

```ts
import { resolveBox, type Constraints } from "@pibbl/core";
```

`resolveBox(style, constraints, context?)` resolves public [`BoxStyle`](/reference/types/layout/#boxstyle) into a
[`ResolvedBoxStyle`](/reference/types/layout/#resolvedboxstyle) with border and content boxes. It applies min/max lengths,
padding, and finite constraint validation, and raises `LayoutDiagnostic` for
impossible or indefinite inputs.

```ts
const constraints: Constraints = {
  minWidth: 0,
  maxWidth: 320,
  minHeight: 0,
  maxHeight: 240,
};
const box = resolveBox({ width: "50%", padding: 12 }, constraints);
```

It accepts [`Constraints`](/reference/types/layout/#constraints) and is a public layout helper, not a retained layout engine.

## API details from source

<span id="api-resolveBox"></span>

Resolves declared box sizing and padding into border and content boxes under parent constraints.

```ts
resolveBox: (style: Readonly<BoxStyle>, constraints: Readonly<Constraints>, context?: Readonly<LayoutDiagnosticContext>) => ResolvedBoxStyle
```

Related API: [resolveBox](/reference/functions/resolve-box/), [BoxStyle](/reference/types/layout/#boxstyle), [Constraints](/reference/types/layout/#constraints), [LayoutDiagnosticContext](/reference/types/layout/#layoutdiagnosticcontext), [ResolvedBoxStyle](/reference/types/layout/#resolvedboxstyle).

### Parameters

- **`style`** — Declared box sizing and edge properties. See [BoxStyle](/reference/types/layout/#boxstyle).

- **`constraints`** — Available dimensions used to resolve percentages and constraints. See
[Constraints](/reference/types/layout/#constraints) .

- **`context`** — Component and property context for diagnostic messages. See
[LayoutDiagnosticContext](/reference/types/layout/#layoutdiagnosticcontext) .

### Returns

Resolved box dimensions and edge values. See [ResolvedBoxStyle](/reference/types/layout/#resolvedboxstyle).

### See also

[BoxStyle](/reference/types/layout/#boxstyle)

[Constraints](/reference/types/layout/#constraints)

[LayoutDiagnosticContext](/reference/types/layout/#layoutdiagnosticcontext)

[ResolvedBoxStyle](/reference/types/layout/#resolvedboxstyle)

[View source — packages/core/src/lib/layout/box.ts:25](/source/packages/core/src/lib/layout/box-ts/#L25)

## Implementation guidance for agents

Read the [Authoring, signals, and lifecycle companion](/agents/topics/lifecycle/) for ownership, adaptation, failure modes, and verification. [Agent start](/agents/) provides the version-selection workflow.

## Complete minimal examples

- [Box resolution](/minimal-examples/layout/box-helpers/): Resolve padding, percentages, and a constrained box with typed diagnostics. [Plain source](/minimal/layout/box-helpers.ts)
## Documentation version

Documentation built with @pibbl/core 0.0.2, revision 272a94a. ALPHA — NOT FOR PRODUCTION USE.
