# resolveComponentProps

Source: /tuil/docs/reference/packages/theme/api/resolve-component-props
Locale: en

function exported by @mwillbanks/tuil-theme.



{/* Generated by tooling/docs/generate-reference.ts. */}

## function [#function]

Public function exported by `@mwillbanks/tuil-theme`.

```ts
export function resolveComponentProps(
  componentName: string,
  options: {
    readonly variant?: string;
    readonly size?: "sm" | "md" | "lg";
    readonly unstyled?: boolean;
    readonly className?: string;
  },
  state: Readonly<Record<string, boolean>>,
  theme: Theme,
): TerminalStyleProps;
```

## Members [#members]

This declaration has no public members.

## Parameters [#parameters]

| Member          | Type                                                                                                                                                         | Required | Description                                                                                                                                                                                   | Related types                                       |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| `componentName` | `string`                                                                                                                                                     | Yes      | Supplies the `componentName` value as `string`.                                                                                                                                               | —                                                   |
| `options`       | `&#123;     readonly variant?: string;     readonly size?: "sm" \| "md" \| "lg";     readonly unstyled?: boolean;     readonly className?: string;   &#125;` | Yes      | Supplies the `options` value as `&#123;     readonly variant?: string;     readonly size?: "sm" \| "md" \| "lg";     readonly unstyled?: boolean;     readonly className?: string;   &#125;`. | —                                                   |
| `state`         | `Readonly<Record<string, boolean>>`                                                                                                                          | Yes      | Supplies the `state` value as `Readonly<Record<string, boolean>>`.                                                                                                                            | —                                                   |
| `theme`         | `Theme`                                                                                                                                                      | Yes      | Supplies the `theme` value as `Theme`.                                                                                                                                                        | [`Theme`](/tuil/docs/reference/packages/theme/api/theme) |

## Returns [#returns]

`TerminalStyleProps` — Returns a value that satisfies `TerminalStyleProps`.

Related types: [`TerminalStyleProps`](/tuil/docs/reference/packages/theme/api/terminal-style-props)

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

* [`TerminalStyleProps`](/tuil/docs/reference/packages/theme/api/terminal-style-props)
* [`Theme`](/tuil/docs/reference/packages/theme/api/theme)

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/theme/src/index.ts)

## Package [#package]

[@mwillbanks/tuil-theme](/tuil/docs/reference/packages/theme)
