# DropdownButton

interface

The dropdown button interface.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/dropdown/button/dropdownbutton.ts#L16)

<a id="properties">

## Properties

<a id="member-ariaLabel">

### `ariaLabel?: string` _(inherited)_

(Optional) The ARIA property reflected by the `aria-label` DOM attribute used by assistive technologies.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L163)

<a id="member-ariaLabelledBy">

### `ariaLabelledBy?: string` _(inherited)_

(Optional) The ARIA property reflected by the `aria-ariaLabelledBy` DOM attribute used by assistive technologies.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L170)

<a id="member-children">

### `children: ViewCollection`

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/dropdown/button/dropdownbutton.ts#L17)

<a id="member-class">

### `class: string | undefined` _(inherited)_

(Optional) The additional CSS class set on the button.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L156)

<a id="member-icon">

### `icon: string | undefined` _(inherited)_

(Optional) An XML [content](module_ui_icon_iconview-IconView.md#member-content) of the icon. When defined, an `iconView` should be added to the button.

The user must provide the entire XML string, not just the path. See the [UI library](../framework/architecture/ui-library.md#setting-label-icon-and-tooltip) guide for details.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L140)

<a id="member-isEnabled">

### `isEnabled: boolean` _(inherited)_

Controls whether the button view is enabled, i.e. it can be clicked and execute an action.

To change the "on" state of the button, use [`isOn`](#member-isOn) instead.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L92)

Defaults to `true`

<a id="member-isOn">

### `isOn: boolean` _(inherited)_

Controls whether the button view is "on". It makes sense when a feature it represents is currently active, e.g. a bold button is "on" when the selection is in the bold text.

To disable the button, use [`isEnabled`](#member-isEnabled) instead.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L82)

Defaults to `true`

<a id="member-isToggleable">

### `isToggleable: boolean` _(inherited)_

Controls whether the button view is a toggle button (two–state) for assistive technologies.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L109)

Defaults to `false`

<a id="member-isVisible">

### `isVisible: boolean` _(inherited)_

Controls whether the button view is visible. Visible by default, buttons are hidden using a CSS class.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L101)

Defaults to `true`

<a id="member-keystroke">

### `keystroke: string | undefined` _(inherited)_

(Optional) The keystroke associated with the button, i.e. `CTRL+B`, in the string format compatible with [`keyboard`](module_utils_keyboard.md).

**Note**: Use [`withKeystroke`](module_ui_button_button-Button.md#member-withKeystroke) if you want to display the keystroke information next to the [label](module_ui_button_button-Button.md#member-label).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L34)

<a id="member-label">

### `label: string | undefined` _(inherited)_

The label of the button view visible to the user when [`withText`](#member-withText) is `true`. It can also be used to create a [`tooltip`](#member-tooltip).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L23)

<a id="member-labelStyle">

### `labelStyle: string | undefined` _(inherited)_

(Optional) The value of the `style` attribute of the label.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L184)

<a id="member-role">

### `role?: string` _(inherited)_

(Optional) The property reflected by the `role` DOM attribute to be used by assistive technologies.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L177)

<a id="member-tabindex">

### `tabindex: number` _(inherited)_

(Optional) Controls the `tabindex` HTML attribute of the button. By default, the button is focusable but does not included in the `Tab` order.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L149)

Defaults to `-1`

<a id="member-tooltip">

### `tooltip: string | boolean | ( label: string, keystroke: string | undefined ) => string` _(inherited)_

(Optional) Tooltip of the button, i.e. displayed when hovering the button with the mouse cursor.

* If defined as a `Boolean` (e.g. `true`), then combination of `label` and `keystroke` will be set as a tooltip.
* If defined as a `String`, tooltip will equal the exact text of that `String`.
* If defined as a `Function`, `label` and `keystroke` will be passed to that function, which is to return a string with the tooltip text.

```typescript
const view = new ButtonView( locale );
view.tooltip = ( label, keystroke ) => `A tooltip for ${ label } and ${ keystroke }.`
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L52)

Defaults to `false`

<a id="member-tooltipPosition">

### `tooltipPosition: 'e' | 's' | 'n' | 'w' | 'sw' | 'se'` _(inherited)_

(Optional) The position of the tooltip. See [`TooltipManager`](module_ui_tooltipmanager-TooltipManager.md) to learn more about the tooltip system.

**Note:** It makes sense only when the [`tooltip` attribute](#member-tooltip) is defined.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L63)

Defaults to `'s'`

<a id="member-type">

### `type: 'button' | 'menu' | 'reset' | 'submit'` _(inherited)_

The HTML type of the button.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L71)

Defaults to `'button'`

<a id="member-withKeystroke">

### `withKeystroke: boolean` _(inherited)_

(Optional) Controls whether the keystroke of the button is displayed next to its [label](module_ui_button_button-Button.md#member-label).

**Note**: This property requires a [keystroke](module_ui_button_button-Button.md#member-keystroke) to be defined in the first place.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L129)

Defaults to `false`

<a id="member-withText">

### `withText: boolean` _(inherited)_

(Optional) Controls whether the label of the button is hidden (e.g. an icon–only button).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L117)

Defaults to `false`

<a id="events">

## Events

<a id="event-change:ariaLabel">

### `change:ariaLabel( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `ariaLabel` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L163)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`ariaLabel`).

* `value: string`

  New value of the `ariaLabel` property with given key or `null`, if operation should remove property.

* `oldValue: string`

  Old value of the `ariaLabel` property with given key or `null`, if property was not set before.

<a id="event-change:ariaLabelledBy">

### `change:ariaLabelledBy( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `ariaLabelledBy` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L170)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`ariaLabelledBy`).

* `value: string`

  New value of the `ariaLabelledBy` property with given key or `null`, if operation should remove property.

* `oldValue: string`

  Old value of the `ariaLabelledBy` property with given key or `null`, if property was not set before.

<a id="event-change:class">

### `change:class( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `class` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L156)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`class`).

* `value: string | undefined`

  New value of the `class` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `class` property with given key or `null`, if property was not set before.

<a id="event-change:icon">

### `change:icon( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `icon` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L140)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`icon`).

* `value: string | undefined`

  New value of the `icon` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `icon` property with given key or `null`, if property was not set before.

<a id="event-change:isEnabled">

### `change:isEnabled( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isEnabled` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L92)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isEnabled`).

* `value: boolean`

  New value of the `isEnabled` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isEnabled` property with given key or `null`, if property was not set before.

<a id="event-change:isOn">

### `change:isOn( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isOn` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L82)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isOn`).

* `value: boolean`

  New value of the `isOn` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isOn` property with given key or `null`, if property was not set before.

<a id="event-change:isToggleable">

### `change:isToggleable( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isToggleable` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L109)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isToggleable`).

* `value: boolean`

  New value of the `isToggleable` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isToggleable` property with given key or `null`, if property was not set before.

<a id="event-change:isVisible">

### `change:isVisible( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isVisible` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L101)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isVisible`).

* `value: boolean`

  New value of the `isVisible` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isVisible` property with given key or `null`, if property was not set before.

<a id="event-change:keystroke">

### `change:keystroke( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `keystroke` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L34)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`keystroke`).

* `value: string | undefined`

  New value of the `keystroke` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `keystroke` property with given key or `null`, if property was not set before.

<a id="event-change:label">

### `change:label( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `label` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L23)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`label`).

* `value: string | undefined`

  New value of the `label` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `label` property with given key or `null`, if property was not set before.

<a id="event-change:labelStyle">

### `change:labelStyle( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `labelStyle` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L184)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`labelStyle`).

* `value: string | undefined`

  New value of the `labelStyle` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `labelStyle` property with given key or `null`, if property was not set before.

<a id="event-change:role">

### `change:role( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `role` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L177)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`role`).

* `value: string`

  New value of the `role` property with given key or `null`, if operation should remove property.

* `oldValue: string`

  Old value of the `role` property with given key or `null`, if property was not set before.

<a id="event-change:tabindex">

### `change:tabindex( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `tabindex` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L149)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`tabindex`).

* `value: number`

  New value of the `tabindex` property with given key or `null`, if operation should remove property.

* `oldValue: number`

  Old value of the `tabindex` property with given key or `null`, if property was not set before.

<a id="event-change:tooltip">

### `change:tooltip( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `tooltip` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L52)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`tooltip`).

* `value: string | boolean | ( label: string, keystroke: string | undefined ) => string`

  New value of the `tooltip` property with given key or `null`, if operation should remove property.

* `oldValue: string | boolean | ( label: string, keystroke: string | undefined ) => string`

  Old value of the `tooltip` property with given key or `null`, if property was not set before.

<a id="event-change:tooltipPosition">

### `change:tooltipPosition( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `tooltipPosition` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L63)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`tooltipPosition`).

* `value: 'e' | 's' | 'n' | 'w' | 'sw' | 'se'`

  New value of the `tooltipPosition` property with given key or `null`, if operation should remove property.

* `oldValue: 'e' | 's' | 'n' | 'w' | 'sw' | 'se'`

  Old value of the `tooltipPosition` property with given key or `null`, if property was not set before.

<a id="event-change:type">

### `change:type( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `type` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L71)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`type`).

* `value: 'button' | 'menu' | 'reset' | 'submit'`

  New value of the `type` property with given key or `null`, if operation should remove property.

* `oldValue: 'button' | 'menu' | 'reset' | 'submit'`

  Old value of the `type` property with given key or `null`, if property was not set before.

<a id="event-change:withKeystroke">

### `change:withKeystroke( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `withKeystroke` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L129)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`withKeystroke`).

* `value: boolean`

  New value of the `withKeystroke` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `withKeystroke` property with given key or `null`, if property was not set before.

<a id="event-change:withText">

### `change:withText( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `withText` property changed value.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L117)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`withText`).

* `value: boolean`

  New value of the `withText` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `withText` property with given key or `null`, if property was not set before.

<a id="event-execute">

### `execute( eventInfo )` _(inherited)_

Fired when the button view is clicked. It won't be fired when the button [`isEnabled`](module_ui_button_button-Button.md#member-isEnabled) is `false`.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L193)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

<a id="event-open">

### `open( eventInfo )`

Fired when the dropdown should be opened. It will not be fired when the button [is disabled](#member-isEnabled).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/dropdown/button/dropdownbutton.ts#L26)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

<a id="event-set:ariaLabel">

### `set:ariaLabel( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `ariaLabel` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L163)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`ariaLabel`).

* `value: string`

  New value of the `ariaLabel` property with given key or `null`, if operation should remove property.

* `oldValue: string`

  Old value of the `ariaLabel` property with given key or `null`, if property was not set before.

<a id="event-set:ariaLabelledBy">

### `set:ariaLabelledBy( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `ariaLabelledBy` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L170)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`ariaLabelledBy`).

* `value: string`

  New value of the `ariaLabelledBy` property with given key or `null`, if operation should remove property.

* `oldValue: string`

  Old value of the `ariaLabelledBy` property with given key or `null`, if property was not set before.

<a id="event-set:class">

### `set:class( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `class` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L156)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`class`).

* `value: string | undefined`

  New value of the `class` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `class` property with given key or `null`, if property was not set before.

<a id="event-set:icon">

### `set:icon( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `icon` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L140)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`icon`).

* `value: string | undefined`

  New value of the `icon` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `icon` property with given key or `null`, if property was not set before.

<a id="event-set:isEnabled">

### `set:isEnabled( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isEnabled` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L92)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isEnabled`).

* `value: boolean`

  New value of the `isEnabled` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isEnabled` property with given key or `null`, if property was not set before.

<a id="event-set:isOn">

### `set:isOn( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isOn` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L82)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isOn`).

* `value: boolean`

  New value of the `isOn` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isOn` property with given key or `null`, if property was not set before.

<a id="event-set:isToggleable">

### `set:isToggleable( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isToggleable` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L109)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isToggleable`).

* `value: boolean`

  New value of the `isToggleable` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isToggleable` property with given key or `null`, if property was not set before.

<a id="event-set:isVisible">

### `set:isVisible( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `isVisible` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L101)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`isVisible`).

* `value: boolean`

  New value of the `isVisible` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `isVisible` property with given key or `null`, if property was not set before.

<a id="event-set:keystroke">

### `set:keystroke( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `keystroke` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L34)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`keystroke`).

* `value: string | undefined`

  New value of the `keystroke` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `keystroke` property with given key or `null`, if property was not set before.

<a id="event-set:label">

### `set:label( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `label` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L23)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`label`).

* `value: string | undefined`

  New value of the `label` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `label` property with given key or `null`, if property was not set before.

<a id="event-set:labelStyle">

### `set:labelStyle( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `labelStyle` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L184)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`labelStyle`).

* `value: string | undefined`

  New value of the `labelStyle` property with given key or `null`, if operation should remove property.

* `oldValue: string | undefined`

  Old value of the `labelStyle` property with given key or `null`, if property was not set before.

<a id="event-set:role">

### `set:role( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `role` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L177)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`role`).

* `value: string`

  New value of the `role` property with given key or `null`, if operation should remove property.

* `oldValue: string`

  Old value of the `role` property with given key or `null`, if property was not set before.

<a id="event-set:tabindex">

### `set:tabindex( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `tabindex` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L149)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`tabindex`).

* `value: number`

  New value of the `tabindex` property with given key or `null`, if operation should remove property.

* `oldValue: number`

  Old value of the `tabindex` property with given key or `null`, if property was not set before.

<a id="event-set:tooltip">

### `set:tooltip( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `tooltip` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L52)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`tooltip`).

* `value: string | boolean | ( label: string, keystroke: string | undefined ) => string`

  New value of the `tooltip` property with given key or `null`, if operation should remove property.

* `oldValue: string | boolean | ( label: string, keystroke: string | undefined ) => string`

  Old value of the `tooltip` property with given key or `null`, if property was not set before.

<a id="event-set:tooltipPosition">

### `set:tooltipPosition( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `tooltipPosition` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L63)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`tooltipPosition`).

* `value: 'e' | 's' | 'n' | 'w' | 'sw' | 'se'`

  New value of the `tooltipPosition` property with given key or `null`, if operation should remove property.

* `oldValue: 'e' | 's' | 'n' | 'w' | 'sw' | 'se'`

  Old value of the `tooltipPosition` property with given key or `null`, if property was not set before.

<a id="event-set:type">

### `set:type( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `type` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L71)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`type`).

* `value: 'button' | 'menu' | 'reset' | 'submit'`

  New value of the `type` property with given key or `null`, if operation should remove property.

* `oldValue: 'button' | 'menu' | 'reset' | 'submit'`

  Old value of the `type` property with given key or `null`, if property was not set before.

<a id="event-set:withKeystroke">

### `set:withKeystroke( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `withKeystroke` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L129)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`withKeystroke`).

* `value: boolean`

  New value of the `withKeystroke` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `withKeystroke` property with given key or `null`, if property was not set before.

<a id="event-set:withText">

### `set:withText( eventInfo, name, value, oldValue )` _(inherited)_

Fired when the `withText` property is going to be set but is not set yet (before the `change` event is fired).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/button/button.ts#L117)

#### Parameters

* `eventInfo: EventInfo`

  An object containing information about the fired event.

* `name: string`

  Name of the changed property (`withText`).

* `value: boolean`

  New value of the `withText` property with given key or `null`, if operation should remove property.

* `oldValue: boolean`

  Old value of the `withText` property with given key or `null`, if property was not set before.

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
