diff --git a/app/src/components/RecursiveListGroup.vue b/app/src/components/RecursiveListGroup.vue
new file mode 100644
index 00000000..3c461094
--- /dev/null
+++ b/app/src/components/RecursiveListGroup.vue
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+ {{ toggleText }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/scss/_variables.scss b/app/src/scss/_variables.scss
index 4182d446..5d990484 100644
--- a/app/src/scss/_variables.scss
+++ b/app/src/scss/_variables.scss
@@ -97,3 +97,7 @@ $fa-font-size-base: $font-size-base;
// ╰────────────────────╯
$thin-border: $hr-border-width solid $hr-border-color;
+
+$btn-padding-y-xs: .25rem;
+$btn-padding-x-xs: .35rem;
+$btn-line-height-xs: 1.5;
diff --git a/app/src/scss/main.scss b/app/src/scss/main.scss
index f1fe207a..4f4faee6 100644
--- a/app/src/scss/main.scss
+++ b/app/src/scss/main.scss
@@ -58,6 +58,11 @@ body {
}
}
+// Add xs sized btn
+.btn-xs {
+ @include button-size($btn-padding-y-xs, $btn-padding-x-xs, $btn-font-size-sm, $btn-line-height-xs, $btn-border-radius-sm);
+}
+
// Allow state of input group to be displayed under the group
.input-group .is-invalid ~ .invalid-feedback {
display: block;