# BaseControl

Canonical page: https://www.adaptabletools.com/docs/reference/basecontrol

Properties shared by every .

```ts title="TypeScript"
export interface BaseControl<TData = any, CTX = ActionColumnContext<TData>> 
```

## Properties

| Property | Type | Description | Default |
| --- | --- | --- | --- |
| [disabled](https://www.adaptabletools.com/docs/reference/basecontrol.md#disabled) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<boolean, CTX>` | Whether the Control is disabled - static boolean or a function of the context |   |
| [hidden](https://www.adaptabletools.com/docs/reference/basecontrol.md#hidden) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<boolean, CTX>` | Whether the Control is hidden - static boolean or a function of the context |   |
| [icon](https://www.adaptabletools.com/docs/reference/basecontrol.md#icon) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<`[`AdaptableIcon`](https://www.adaptabletools.com/docs/reference/adaptableicon.md)`, CTX>` | Icon for the Control - static `AdaptableIcon` or a function of the context |   |
| [iconPosition](https://www.adaptabletools.com/docs/reference/basecontrol.md#iconposition) | `'start' \| 'end'` | Where the icon appears relative to the label | &#39;start&#39; |
| [id](https://www.adaptabletools.com/docs/reference/basecontrol.md#id) | `string` | Optional stable identifier for the Control (useful for testing / targeting) |   |
| [label](https://www.adaptabletools.com/docs/reference/basecontrol.md#label) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<string, CTX>` | Label for the Control - static string or a function of the context |   |
| [style](https://www.adaptabletools.com/docs/reference/basecontrol.md#style) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<`[`ButtonStyle`](https://www.adaptabletools.com/docs/reference/buttonstyle.md)`, CTX>` | Style for the Control - static `ButtonStyle` or a function of the context |   |
| [tooltip](https://www.adaptabletools.com/docs/reference/basecontrol.md#tooltip) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<string, CTX>` | Tooltip for the Control - static string or a function of the context |   |

## Property Details

### disabled

Whether the Control is disabled - static boolean or a function of the context

```ts title="TypeScript"
disabled?: ValueOrFunction<boolean, CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<boolean, CTX>`

### hidden

Whether the Control is hidden - static boolean or a function of the context

```ts title="TypeScript"
hidden?: ValueOrFunction<boolean, CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<boolean, CTX>`

### icon

Icon for the Control - static `AdaptableIcon` or a function of the context

```ts title="TypeScript"
icon?: ValueOrFunction<AdaptableIcon, CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<`[`AdaptableIcon`](https://www.adaptabletools.com/docs/reference/adaptableicon.md)`, CTX>`

### iconPosition

Where the icon appears relative to the label

```ts title="TypeScript"
iconPosition?: 'start' | 'end';
```

###### Default Value

&#39;start&#39;

###### Property Value

`'start' | 'end'`

### id

Optional stable identifier for the Control (useful for testing / targeting)

```ts title="TypeScript"
id?: string;
```

###### Property Value

`string`

### label

Label for the Control - static string or a function of the context

```ts title="TypeScript"
label?: ValueOrFunction<string, CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<string, CTX>`

### style

Style for the Control - static `ButtonStyle` or a function of the context

```ts title="TypeScript"
style?: ValueOrFunction<ButtonStyle, CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<`[`ButtonStyle`](https://www.adaptabletools.com/docs/reference/buttonstyle.md)`, CTX>`

### tooltip

Tooltip for the Control - static string or a function of the context

```ts title="TypeScript"
tooltip?: ValueOrFunction<string, CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<string, CTX>`
