# CommonComponentProps

Source: /tuil/docs/reference/packages/ink/api/common-component-props
Locale: en

interface exported by @mwillbanks/tuil-ink.



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

## interface [#interface]

Public interface exported by `@mwillbanks/tuil-ink`.

```ts
export interface CommonComponentProps extends SemanticMetadata {
  readonly variant?: string;
  readonly size?: "sm" | "md" | "lg";
  readonly unstyled?: boolean;
  readonly className?: string;
  readonly layout?: Partial<
    Omit<LayoutNodeInput, "id" | "semantics" | "children">
  >;
}
```

## Members [#members]

| Member        | Type                                                                             | Required | Description                                                                                                             | Related types                                                     |
| ------------- | -------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| `variant`     | `string \| undefined`                                                            | No       | The `variant` member uses the `string \| undefined` contract.                                                           | —                                                                 |
| `size`        | `"sm" \| "md" \| "lg" \| undefined`                                              | No       | The `size` member uses the `"sm" \| "md" \| "lg" \| undefined` contract.                                                | —                                                                 |
| `unstyled`    | `boolean \| undefined`                                                           | No       | The `unstyled` member uses the `boolean \| undefined` contract.                                                         | —                                                                 |
| `className`   | `string \| undefined`                                                            | No       | The `className` member uses the `string \| undefined` contract.                                                         | —                                                                 |
| `layout`      | `Partial<Omit<LayoutNodeInput, "children" \| "id" \| "semantics">> \| undefined` | No       | The `layout` member uses the `Partial<Omit<LayoutNodeInput, "children" \| "id" \| "semantics">> \| undefined` contract. | —                                                                 |
| `id`          | `string \| undefined`                                                            | No       | The `id` member uses the `string \| undefined` contract.                                                                | —                                                                 |
| `testId`      | `string \| undefined`                                                            | No       | The `testId` member uses the `string \| undefined` contract.                                                            | —                                                                 |
| `role`        | `SemanticRole \| undefined`                                                      | No       | The `role` member uses the `SemanticRole \| undefined` contract.                                                        | [`SemanticRole`](/tuil/docs/reference/packages/core/api/semantic-role) |
| `label`       | `string \| undefined`                                                            | No       | The `label` member uses the `string \| undefined` contract.                                                             | —                                                                 |
| `description` | `string \| undefined`                                                            | No       | The `description` member uses the `string \| undefined` contract.                                                       | —                                                                 |
| `disabled`    | `boolean \| undefined`                                                           | No       | The `disabled` member uses the `boolean \| undefined` contract.                                                         | —                                                                 |
| `readOnly`    | `boolean \| undefined`                                                           | No       | The `readOnly` member uses the `boolean \| undefined` contract.                                                         | —                                                                 |
| `selected`    | `boolean \| undefined`                                                           | No       | The `selected` member uses the `boolean \| undefined` contract.                                                         | —                                                                 |
| `checked`     | `boolean \| undefined`                                                           | No       | The `checked` member uses the `boolean \| undefined` contract.                                                          | —                                                                 |
| `expanded`    | `boolean \| undefined`                                                           | No       | The `expanded` member uses the `boolean \| undefined` contract.                                                         | —                                                                 |
| `valueText`   | `string \| undefined`                                                            | No       | The `valueText` member uses the `string \| undefined` contract.                                                         | —                                                                 |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

No package-local related types.

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/ink/src/components.tsx)

## Package [#package]

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