:github_url: hide
# ExpandableButton
**Inherits:** [RevisedButton](./RevisedButton.md) **<** [BaseButton](https://docs.godotengine.org/en/stable/classes/class_basebutton.html)
Button with additional content shown while hovered.
## Description
Expands when hovered by mouse revealing additional content on left side.
Was not intended to work with transparent [StyleBox](https://docs.godotengine.org/en/stable/classes/class_stylebox.html)es, but it still can.
**Note:** Its [minimum_size](./expandablebutton.md#property_minimum_size) changes depending of it state and frame of expanding animation.
**Note:** It is planed to add more directions.
## Properties
| | | |
|------------------------------------------------------------------------------------|------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) | [base_minimum_size](#property_base_minimum_size) | ``Vector2(0, 0)`` |
| [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_indentation](#property_expansion_indentation) | ``0`` |
| [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) | [expansion_information](#property_expansion_information) | ``0`` |
| [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_information_margin](#property_expansion_information_margin) | ``0`` |
| [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_minimum_size](#property_expansion_minimum_size) | ``0`` |
| [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_size](#property_expansion_size) | ``70`` |
| [float](https://docs.godotengine.org/en/stable/classes/class_float.html) | [expansion_speed](#property_expansion_speed) | ``25.0`` |
| [StringName](https://docs.godotengine.org/en/stable/classes/class_stringname.html) | theme_type_variation | ``&"_ExpandableButton_hidden"`` (overrides [Control.theme_type_variation](https://docs.godotengine.org/en/stable/classes/class_control.html#class_control_member_theme_type_variation)) |
## Methods
| | |
|--------|--------------------------------------------------|
| *void* | [expand](./ExpandableButton.md#method_expand)( ) |
| *void* | [reduce](./ExpandableButton.md#method_reduce)( ) |
---
## Enumerations
#### enum **EXPANSION_INFO**:
##### [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **IMAGE** = ``0``
There is currently no description for this enum. Please help us by [contributing one ](https://docs.godotengine.org/en/stable/contributing/documentation/updating_the_class_reference.html)!
##### [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **TEXT** = ``1``
There is currently no description for this enum. Please help us by [contributing one ](https://docs.godotengine.org/en/stable/contributing/documentation/updating_the_class_reference.html)!
---
## Property Descriptions
#### [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) **base_minimum_size** = ``Vector2(0, 0)``
- *void* **set_base_minimum_size**( value\: [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) )
- [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) **get_base_minimum_size**( )
Minimum size of the main body.
#### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_indentation** = ``0``
- *void* **set_expansion_indentation**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) )
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_expansion_indentation**( )
Defines additional lenght of expanded [StyleBox](https://docs.godotengine.org/en/stable/classes/class_stylebox.html).
Added lenght will always appear underneath main [StyleBox](https://docs.godotengine.org/en/stable/classes/class_stylebox.html) unless [expansion_indentation](./expandablebutton.md#property_expansion_indentation) is negative.
#### [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **expansion_information** = ``0``
- *void* **set_expansion_info**( value\: [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) )
- [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **get_expansion_info**( )
Defines which part of content is additional.
**Note:** It is planed to add posibility for two texts and/or buttons.
#### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_information_margin** = ``0``
- *void* **set_info_margin**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) )
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_info_margin**( )
If set to positive value then additional content is moved aside main body otherwise part of it renders underneath it.
#### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_minimum_size** = ``0``
- *void* **set_minimum_expansion_size**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) )
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_minimum_expansion_size**( )
Shows to user the minimum size of additional content.
**Note:** [set_minimum_expansion_size](./expandablebutton.md#method_set_minimum_expansion_size) does nothing.
#### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_size** = ``70``
- *void* **set_expansion_size**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) )
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_expansion_size**( )
Defines size of additional content unless [expansion_size](./expandablebutton.md#property_expansion_size) is less than [expansion_minimum_size](./expandablebutton.md#property_expansion_minimum_size).
#### [float](https://docs.godotengine.org/en/stable/classes/class_float.html) **expansion_speed** = ``25.0``
- *void* **set_expansion_speed**( value\: [float](https://docs.godotengine.org/en/stable/classes/class_float.html) )
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html) **get_expansion_speed**( )
Defines how fast additional content will appear.
---
## Method Descriptions
#### *void* **expand**( )
Shows additional content.
#### *void* **reduce**( )
Hides additional content.