+
+
-
diff --git a/front/ui-docs/components/ui/input.md b/front/ui-docs/components/ui/input.md
index cac8b84b5..84355ab87 100644
--- a/front/ui-docs/components/ui/input.md
+++ b/front/ui-docs/components/ui/input.md
@@ -6,13 +6,11 @@ import Input from "~/components/ui/Input.vue"
Inputs are areas in which users can enter information. In Funkwhale, these mostly take the form of search fields.
-| Prop | Data type | Required? | Description |
-| ---- | --------- | --------- | ----------- |
-
-|
-| `placeholder` | String | No | The placeholder text that appears when the input is empty. |
-| `icon` | String | No | The [Bootstrap icon](https://icons.getbootstrap.com/) to show on the input. |
-| `v-model:value` | String | Yes | The text entered in the input. |
+| Prop | Data type | Required? | Description |
+| --------------- | --------- | --------- | --------------------------------------------------------------------------- |
+| `placeholder` | String | No | The placeholder text that appears when the input is empty. |
+| `icon` | String | No | The [Bootstrap icon](https://icons.getbootstrap.com/) to show on the input. |
+| `v-model:value` | String | Yes | The text entered in the input. |
## Input model
diff --git a/front/ui-docs/components/ui/layout.md b/front/ui-docs/components/ui/layout.md
index 3eecc4cc2..224e08a75 100644
--- a/front/ui-docs/components/ui/layout.md
+++ b/front/ui-docs/components/ui/layout.md
@@ -2,8 +2,14 @@
import Card from '~/components/ui/Card.vue'
import Alert from '~/components/ui/Alert.vue'
import Layout from '~/components/ui/Layout.vue'
+import Spacer from '~/components/ui/layout/Spacer.vue'
import Tab from '~/components/ui/Tab.vue'
import Tabs from '~/components/ui/Tabs.vue'
+import Toggle from '~/components/ui/Toggle.vue'
+import { ref } from 'vue'
+
+const isGrowing = ref(true)
+const noGap = ref(true)
# Layout
@@ -145,3 +151,129 @@ Add space between vertically stacked items
+
+## Common props
+
+### `no-gap`: Remove the gap between items
+
+
+
+```vue
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+
+ {{ noGap ? 'no-gap' : '-' }}
+
+---
+
+
+
+
+
+
+
+
+
+
+
+### Add fixed or flexible Spacers
+
+If you add a spacer with attribute `grow`, it will push the other item until the Layout fills the available space. This only works if the parent element itself grows beyond its minimal contents.
+
+
+
+```vue
+
+
+
+
+
+
+
+ A
+ B
+
+ C (footer)
+
+
+
+```
+
+
+
{{ isGrowing ? 'grow' : '-' }}
+
+---
+
+
+
+ A
+ B
+
+ C (footer)
+
+
+
+
+
+
+Multiple spacers will distribute their growth evenly.
+
+Note that you can set the minimum space occupied by the `Spacer` with its `size` prop [(docs)](layout/spacer). Negative values can offset the gap of the `Layout`:
+
+
+
+```vue
+
+
+
+
+
+
+
+ A
+
+ B1
+ B2
+
+ C (footer)
+
+
+
+```
+
+
+
+
+---
+
+
+
+ A
+
+ B1
+ B2
+
+ C (footer)
+
+
+
+
+
diff --git a/front/ui-docs/components/ui/layout/spacer.md b/front/ui-docs/components/ui/layout/spacer.md
index 06485374b..02f948cb1 100644
--- a/front/ui-docs/components/ui/layout/spacer.md
+++ b/front/ui-docs/components/ui/layout/spacer.md
@@ -1,7 +1,12 @@