[**@wocart/theme v4.1.0**](../../README)

***

[@wocart/theme](../../README) / [index](../README) / defineCapabilities

# Function: defineCapabilities()

> **defineCapabilities**(`capabilities`): [`ComponentCapabilities`](../interfaces/ComponentCapabilities)

Identity helper for capabilities several components share:

```ts
const ANY_PAGE = defineCapabilities({ surfaces: ["home", "product", "collection"] });
```

Share them through it rather than as a plain constant. A constant inferred
from a literal (`{ surfaces: [...] as const }`) can make TypeScript read a
definition's `fields` twice in two shapes when its `load` types its props
from them, and the error then names an unrelated field.

## Parameters

### capabilities

[`ComponentCapabilities`](../interfaces/ComponentCapabilities)

## Returns

[`ComponentCapabilities`](../interfaces/ComponentCapabilities)
