diff --git a/api/components/widgets/properties_panel/property_button_api.md b/api/components/widgets/properties_panel/property_button_api.md
new file mode 100644
index 0000000..e321be4
--- /dev/null
+++ b/api/components/widgets/properties_panel/property_button_api.md
@@ -0,0 +1,97 @@
+# druid.widget.property_button API
+
+> at /druid/widget/properties_panel/properties/property_button.lua
+
+## Functions
+
+- [init](#init)
+- [on_click](#on_click)
+- [set_text_property](#set_text_property)
+- [set_text_button](#set_text_button)
+- [set_color](#set_color)
+
+## Fields
+
+- [root](#root)
+- [container](#container)
+- [text_name](#text_name)
+- [button](#button)
+- [text_button](#text_button)
+- [druid](#druid)
+- [selected](#selected)
+
+
+
+### init
+
+---
+```lua
+property_button:init()
+```
+
+### on_click
+
+---
+```lua
+property_button:on_click()
+```
+
+### set_text_property
+
+---
+```lua
+property_button:set_text_property(text)
+```
+
+- **Parameters:**
+ - `text` *(string)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_button)*:
+
+### set_text_button
+
+---
+```lua
+property_button:set_text_button(text)
+```
+
+- **Parameters:**
+ - `text` *(string)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_button)*:
+
+### set_color
+
+---
+```lua
+property_button:set_color([color_value])
+```
+
+- **Parameters:**
+ - `[color_value]` *(any)*:
+
+
+## Fields
+
+- **root** (_node_)
+
+
+- **container** (_druid.container_): Druid component to manage the size and positions with other containers relations to create a adaptable layouts.
+
+
+- **text_name** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **button** (_druid.button_): Basic Druid input component. Handle input on node and provide different callbacks on touch events.
+
+
+- **text_button** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **druid** (_druid.instance_): The Druid Factory used to create components
+
+
+- **selected** (_node_)
+
diff --git a/api/components/widgets/properties_panel/property_checkbox_api.md b/api/components/widgets/properties_panel/property_checkbox_api.md
new file mode 100644
index 0000000..b4823bc
--- /dev/null
+++ b/api/components/widgets/properties_panel/property_checkbox_api.md
@@ -0,0 +1,111 @@
+# druid.widget.property_checkbox API
+
+> at /druid/widget/properties_panel/properties/property_checkbox.lua
+
+## Functions
+
+- [init](#init)
+- [set_value](#set_value)
+- [get_value](#get_value)
+- [on_click](#on_click)
+- [set_text_property](#set_text_property)
+- [on_change](#on_change)
+
+## Fields
+
+- [root](#root)
+- [druid](#druid)
+- [text_name](#text_name)
+- [button](#button)
+- [selected](#selected)
+- [icon](#icon)
+- [container](#container)
+- [on_change_value](#on_change_value)
+
+
+
+### init
+
+---
+```lua
+property_checkbox:init()
+```
+
+### set_value
+
+---
+```lua
+property_checkbox:set_value(value, [is_instant])
+```
+
+- **Parameters:**
+ - `value` *(boolean)*:
+ - `[is_instant]` *(any)*:
+
+### get_value
+
+---
+```lua
+property_checkbox:get_value()
+```
+
+- **Returns:**
+ - `` *(boolean)*:
+
+### on_click
+
+---
+```lua
+property_checkbox:on_click()
+```
+
+### set_text_property
+
+---
+```lua
+property_checkbox:set_text_property(text)
+```
+
+Set the text property of the checkbox
+
+- **Parameters:**
+ - `text` *(string)*:
+
+### on_change
+
+---
+```lua
+property_checkbox:on_change(callback)
+```
+
+Set the callback function for when the checkbox value changes
+
+- **Parameters:**
+ - `callback` *(function)*:
+
+
+## Fields
+
+- **root** (_node_)
+
+
+- **druid** (_druid.instance_): The Druid Factory used to create components
+
+
+- **text_name** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **button** (_druid.button_): Basic Druid input component. Handle input on node and provide different callbacks on touch events.
+
+
+- **selected** (_node_)
+
+
+- **icon** (_node_)
+
+
+- **container** (_druid.container_): Druid component to manage the size and positions with other containers relations to create a adaptable layouts.
+
+
+- **on_change_value** (_unknown_)
+
diff --git a/api/components/widgets/properties_panel/property_input_api.md b/api/components/widgets/properties_panel/property_input_api.md
new file mode 100644
index 0000000..eacb054
--- /dev/null
+++ b/api/components/widgets/properties_panel/property_input_api.md
@@ -0,0 +1,90 @@
+# druid.widget.property_input API
+
+> at /druid/widget/properties_panel/properties/property_input.lua
+
+## Functions
+
+- [init](#init)
+- [set_text_property](#set_text_property)
+- [set_text_value](#set_text_value)
+- [on_change](#on_change)
+
+## Fields
+
+- [root](#root)
+- [container](#container)
+- [text_name](#text_name)
+- [button](#button)
+- [druid](#druid)
+- [selected](#selected)
+- [rich_input](#rich_input)
+
+
+
+### init
+
+---
+```lua
+property_input:init()
+```
+
+### set_text_property
+
+---
+```lua
+property_input:set_text_property(text)
+```
+
+- **Parameters:**
+ - `text` *(string)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_input)*:
+
+### set_text_value
+
+---
+```lua
+property_input:set_text_value(text)
+```
+
+- **Parameters:**
+ - `text` *(string|number)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_input)*:
+
+### on_change
+
+---
+```lua
+property_input:on_change(callback, [callback_context])
+```
+
+- **Parameters:**
+ - `callback` *(fun(self: druid.widget.property_input, text: string))*:
+ - `[callback_context]` *(any)*:
+
+
+## Fields
+
+- **root** (_node_)
+
+
+- **container** (_druid.container_): Druid component to manage the size and positions with other containers relations to create a adaptable layouts.
+
+
+- **text_name** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **button** (_druid.button_): Basic Druid input component. Handle input on node and provide different callbacks on touch events.
+
+
+- **druid** (_druid.instance_): The Druid Factory used to create components
+
+
+- **selected** (_node_)
+
+
+- **rich_input** (_druid.rich_input_): The component that handles a rich text input field, it's a wrapper around the druid.input component
+
diff --git a/api/components/widgets/properties_panel/property_left_right_selector_api.md b/api/components/widgets/properties_panel/property_left_right_selector_api.md
new file mode 100644
index 0000000..7cc5749
--- /dev/null
+++ b/api/components/widgets/properties_panel/property_left_right_selector_api.md
@@ -0,0 +1,171 @@
+# druid.widget.property_left_right_selector API
+
+> at /druid/widget/properties_panel/properties/property_left_right_selector.lua
+
+## Functions
+
+- [init](#init)
+- [set_text](#set_text)
+- [on_button_left](#on_button_left)
+- [on_button_right](#on_button_right)
+- [add_step](#add_step)
+- [set_number_type](#set_number_type)
+- [set_array_type](#set_array_type)
+- [set_value](#set_value)
+- [get_value](#get_value)
+
+## Fields
+
+- [root](#root)
+- [druid](#druid)
+- [text_name](#text_name)
+- [button](#button)
+- [selected](#selected)
+- [value](#value)
+- [on_change_value](#on_change_value)
+- [text_value](#text_value)
+- [button_left](#button_left)
+- [button_right](#button_right)
+- [container](#container)
+- [number_type](#number_type)
+- [array_type](#array_type)
+
+
+
+### init
+
+---
+```lua
+property_left_right_selector:init()
+```
+
+### set_text
+
+---
+```lua
+property_left_right_selector:set_text([text])
+```
+
+- **Parameters:**
+ - `[text]` *(any)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_left_right_selector)*:
+
+### on_button_left
+
+---
+```lua
+property_left_right_selector:on_button_left()
+```
+
+### on_button_right
+
+---
+```lua
+property_left_right_selector:on_button_right()
+```
+
+### add_step
+
+---
+```lua
+property_left_right_selector:add_step(koef)
+```
+
+- **Parameters:**
+ - `koef` *(number)*: -1 0 1, on 0 will not move
+
+### set_number_type
+
+---
+```lua
+property_left_right_selector:set_number_type([min], [max], [is_loop], [steps])
+```
+
+- **Parameters:**
+ - `[min]` *(any)*:
+ - `[max]` *(any)*:
+ - `[is_loop]` *(any)*:
+ - `[steps]` *(any)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_left_right_selector)*:
+
+### set_array_type
+
+---
+```lua
+property_left_right_selector:set_array_type([array], [is_loop], [steps])
+```
+
+- **Parameters:**
+ - `[array]` *(any)*:
+ - `[is_loop]` *(any)*:
+ - `[steps]` *(any)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_left_right_selector)*:
+
+### set_value
+
+---
+```lua
+property_left_right_selector:set_value(value, [is_instant])
+```
+
+- **Parameters:**
+ - `value` *(string|number)*:
+ - `[is_instant]` *(any)*:
+
+### get_value
+
+---
+```lua
+property_left_right_selector:get_value()
+```
+
+- **Returns:**
+ - `` *(string|number)*:
+
+
+## Fields
+
+- **root** (_node_)
+
+
+- **druid** (_druid.instance_): The Druid Factory used to create components
+
+
+- **text_name** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **button** (_druid.button_): Basic Druid input component. Handle input on node and provide different callbacks on touch events.
+
+
+- **selected** (_node_)
+
+
+- **value** (_string_)
+
+
+- **on_change_value** (_event_): fun(value: string|number)
+
+
+- **text_value** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **button_left** (_druid.button_): Basic Druid input component. Handle input on node and provide different callbacks on touch events.
+
+
+- **button_right** (_druid.button_): Basic Druid input component. Handle input on node and provide different callbacks on touch events.
+
+
+- **container** (_druid.container_): Druid component to manage the size and positions with other containers relations to create a adaptable layouts.
+
+
+- **number_type** (_table_)
+
+
+- **array_type** (_table_)
+
diff --git a/api/components/widgets/properties_panel/property_slider_api.md b/api/components/widgets/properties_panel/property_slider_api.md
new file mode 100644
index 0000000..9c32a47
--- /dev/null
+++ b/api/components/widgets/properties_panel/property_slider_api.md
@@ -0,0 +1,150 @@
+# druid.widget.property_slider API
+
+> at /druid/widget/properties_panel/properties/property_slider.lua
+
+## Functions
+
+- [init](#init)
+- [set_text_function](#set_text_function)
+- [set_text_property](#set_text_property)
+- [on_change](#on_change)
+- [set_value](#set_value)
+- [get_value](#get_value)
+- [update_value](#update_value)
+- [set_number_type](#set_number_type)
+
+## Fields
+
+- [root](#root)
+- [container](#container)
+- [druid](#druid)
+- [text_name](#text_name)
+- [text_value](#text_value)
+- [slider](#slider)
+- [on_change_value](#on_change_value)
+- [selected](#selected)
+- [min](#min)
+- [max](#max)
+- [step](#step)
+
+
+
+### init
+
+---
+```lua
+property_slider:init()
+```
+
+### set_text_function
+
+---
+```lua
+property_slider:set_text_function(callback)
+```
+
+- **Parameters:**
+ - `callback` *(fun(value: number):string)*:
+
+### set_text_property
+
+---
+```lua
+property_slider:set_text_property(text)
+```
+
+Sets the text property of the slider
+
+- **Parameters:**
+ - `text` *(string)*:
+
+### on_change
+
+---
+```lua
+property_slider:on_change(callback)
+```
+
+Sets the callback function for when the slider value changes
+
+- **Parameters:**
+ - `callback` *(fun(value: number))*:
+
+### set_value
+
+---
+```lua
+property_slider:set_value(value, [is_instant])
+```
+
+- **Parameters:**
+ - `value` *(number)*:
+ - `[is_instant]` *(any)*:
+
+### get_value
+
+---
+```lua
+property_slider:get_value()
+```
+
+- **Returns:**
+ - `` *(number)*:
+
+### update_value
+
+---
+```lua
+property_slider:update_value([value])
+```
+
+- **Parameters:**
+ - `[value]` *(any)*:
+
+### set_number_type
+
+---
+```lua
+property_slider:set_number_type([min], [max], [step])
+```
+
+- **Parameters:**
+ - `[min]` *(any)*:
+ - `[max]` *(any)*:
+ - `[step]` *(any)*:
+
+
+## Fields
+
+- **root** (_node_)
+
+
+- **container** (_druid.container_): Druid component to manage the size and positions with other containers relations to create a adaptable layouts.
+
+
+- **druid** (_druid.instance_): The Druid Factory used to create components
+
+
+- **text_name** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **text_value** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **slider** (_druid.slider_): Basic Druid slider component. Creates a draggable node over a line with progress reporting.
+
+
+- **on_change_value** (_event_): fun(value:number)
+
+
+- **selected** (_node_)
+
+
+- **min** (_integer_)
+
+
+- **max** (_integer_)
+
+
+- **step** (_number_)
+
diff --git a/api/components/widgets/properties_panel/property_text_api.md b/api/components/widgets/properties_panel/property_text_api.md
new file mode 100644
index 0000000..592acbc
--- /dev/null
+++ b/api/components/widgets/properties_panel/property_text_api.md
@@ -0,0 +1,66 @@
+# druid.widget.property_text API
+
+> at /druid/widget/properties_panel/properties/property_text.lua
+
+## Functions
+
+- [init](#init)
+- [set_text_property](#set_text_property)
+- [set_text_value](#set_text_value)
+
+## Fields
+
+- [root](#root)
+- [container](#container)
+- [text_name](#text_name)
+- [text_right](#text_right)
+
+
+
+### init
+
+---
+```lua
+property_text:init()
+```
+
+### set_text_property
+
+---
+```lua
+property_text:set_text_property(text)
+```
+
+- **Parameters:**
+ - `text` *(string)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_text)*:
+
+### set_text_value
+
+---
+```lua
+property_text:set_text_value([text])
+```
+
+- **Parameters:**
+ - `[text]` *(string|nil)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_text)*:
+
+
+## Fields
+
+- **root** (_node_)
+
+
+- **container** (_druid.container_): Druid component to manage the size and positions with other containers relations to create a adaptable layouts.
+
+
+- **text_name** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **text_right** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
diff --git a/api/components/widgets/properties_panel/property_vector3_api.md b/api/components/widgets/properties_panel/property_vector3_api.md
new file mode 100644
index 0000000..676a9f9
--- /dev/null
+++ b/api/components/widgets/properties_panel/property_vector3_api.md
@@ -0,0 +1,104 @@
+# druid.widget.property_vector3 API
+
+> at /druid/widget/properties_panel/properties/property_vector3.lua
+
+## Functions
+
+- [init](#init)
+- [set_text_property](#set_text_property)
+- [set_value](#set_value)
+
+## Fields
+
+- [root](#root)
+- [container](#container)
+- [text_name](#text_name)
+- [button](#button)
+- [druid](#druid)
+- [selected_x](#selected_x)
+- [selected_y](#selected_y)
+- [selected_z](#selected_z)
+- [rich_input_x](#rich_input_x)
+- [rich_input_y](#rich_input_y)
+- [rich_input_z](#rich_input_z)
+- [value](#value)
+- [on_change](#on_change)
+
+
+
+### init
+
+---
+```lua
+property_vector3:init()
+```
+
+### set_text_property
+
+---
+```lua
+property_vector3:set_text_property(text)
+```
+
+- **Parameters:**
+ - `text` *(string)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_vector3)*:
+
+### set_value
+
+---
+```lua
+property_vector3:set_value(x, y, z)
+```
+
+- **Parameters:**
+ - `x` *(number)*:
+ - `y` *(number)*:
+ - `z` *(number)*:
+
+- **Returns:**
+ - `` *(druid.widget.property_vector3)*:
+
+
+## Fields
+
+- **root** (_node_)
+
+
+- **container** (_druid.container_): Druid component to manage the size and positions with other containers relations to create a adaptable layouts.
+
+
+- **text_name** (_druid.text_): Basic Druid text component. Text components by default have the text size adjusting.
+
+
+- **button** (_druid.button_): Basic Druid input component. Handle input on node and provide different callbacks on touch events.
+
+
+- **druid** (_druid.instance_): The Druid Factory used to create components
+
+
+- **selected_x** (_node_)
+
+
+- **selected_y** (_node_)
+
+
+- **selected_z** (_node_)
+
+
+- **rich_input_x** (_druid.rich_input_): The component that handles a rich text input field, it's a wrapper around the druid.input component
+
+
+- **rich_input_y** (_druid.rich_input_): The component that handles a rich text input field, it's a wrapper around the druid.input component
+
+
+- **rich_input_z** (_druid.rich_input_): The component that handles a rich text input field, it's a wrapper around the druid.input component
+
+
+- **value** (_unknown_)
+
+
+- **on_change** (_unknown_)
+
diff --git a/api/components/widgets/properties_panel_api.md b/api/components/widgets/properties_panel_api.md
index 94ed4a3..daf360b 100644
--- a/api/components/widgets/properties_panel_api.md
+++ b/api/components/widgets/properties_panel_api.md
@@ -2,6 +2,15 @@
> at /druid/widget/properties_panel/properties_panel.lua
+# Properties API:
+- [property_button](properties_panel/property_button_api.md)
+- [property_checkbox](properties_panel/property_checkbox_api.md)
+- [property_slider](properties_panel/property_slider_api.md)
+- [property_input](properties_panel/property_input_api.md)
+- [property_text](properties_panel/property_text_api.md)
+- [property_left_right_selector](properties_panel/property_left_right_selector_api.md)
+- [property_vector3](properties_panel/property_vector3_api.md)
+
## Functions
- [properties_constructors](#properties_constructors)
@@ -130,6 +139,8 @@ properties_panel:update([dt])
properties_panel:add_checkbox([on_create])
```
+Inspect Property Checkbox API [here](properties_panel/property_checkbox_api.md)
+
- **Parameters:**
- `[on_create]` *(fun(checkbox: druid.widget.property_checkbox)|nil)*:
@@ -143,6 +154,8 @@ properties_panel:add_checkbox([on_create])
properties_panel:add_slider([on_create])
```
+Inspect Property Slider API [here](properties_panel/property_slider_api.md)
+
- **Parameters:**
- `[on_create]` *(fun(slider: druid.widget.property_slider)|nil)*:
@@ -156,6 +169,8 @@ properties_panel:add_slider([on_create])
properties_panel:add_button([on_create])
```
+Inspect Property Button API [here](properties_panel/property_button_api.md)
+
- **Parameters:**
- `[on_create]` *(fun(button: druid.widget.property_button)|nil)*:
@@ -169,6 +184,8 @@ properties_panel:add_button([on_create])
properties_panel:add_input([on_create])
```
+Inspect Property Input API [here](properties_panel/property_input_api.md)
+
- **Parameters:**
- `[on_create]` *(fun(input: druid.widget.property_input)|nil)*:
@@ -182,6 +199,8 @@ properties_panel:add_input([on_create])
properties_panel:add_text([on_create])
```
+Inspect Property Text API [here](properties_panel/property_text_api.md)
+
- **Parameters:**
- `[on_create]` *(fun(text: druid.widget.property_text)|nil)*:
@@ -195,6 +214,8 @@ properties_panel:add_text([on_create])
properties_panel:add_left_right_selector([on_create])
```
+Inspect Property Left Right Selector API [here](properties_panel/property_left_right_selector_api.md)
+
- **Parameters:**
- `[on_create]` *(fun(selector: druid.widget.property_left_right_selector)|nil)*:
@@ -208,6 +229,8 @@ properties_panel:add_left_right_selector([on_create])
properties_panel:add_vector3([on_create])
```
+Inspect Property Vector3 API [here](properties_panel/property_vector3_api.md)
+
- **Parameters:**
- `[on_create]` *(fun(vector3: druid.widget.property_vector3)|nil)*: