You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2021/10/27 14:55:24 UTC

[myfaces-tobago] branch tobago-5.x updated: refactor: clean up CSS classes

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch tobago-5.x
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git


The following commit(s) were added to refs/heads/tobago-5.x by this push:
     new dd70429  refactor: clean up CSS classes
dd70429 is described below

commit dd704299543deb72083ca98038d7c0054ffa581b
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Wed Oct 27 16:54:33 2021 +0200

    refactor: clean up CSS classes
    
    * tree
---
 .../renderkit/renderer/TreeIconRenderer.java       |  2 +-
 .../renderkit/renderer/TreeIndentRenderer.java     |  2 +-
 .../renderkit/renderer/TreeLabelRenderer.java      |  5 +-
 .../renderkit/renderer/TreeSelectRenderer.java     | 19 ++---
 .../myfaces/tobago/renderkit/css/TobagoClass.java  | 14 ++--
 .../tobago/renderkit/html/HtmlElements.java        |  2 +-
 .../renderer/treeSelect/treeSelect-single.html     | 80 +++++++++++-----------
 .../content/080-sheet/70-tree/Sheet_Tree.test.js   |  2 +-
 tobago-theme/src/main/scss/_tobago.scss            | 40 +++--------
 .../src/main/css/tobago.css                        | 37 +++-------
 .../src/main/css/tobago.css.map                    |  2 +-
 .../src/main/css/tobago.min.css                    |  2 +-
 .../src/main/css/tobago.min.css.map                |  2 +-
 .../src/main/css/tobago.css                        | 37 +++-------
 .../src/main/css/tobago.css.map                    |  2 +-
 .../src/main/css/tobago.min.css                    |  2 +-
 .../src/main/css/tobago.min.css.map                |  2 +-
 .../src/main/css/tobago.css                        | 37 +++-------
 .../src/main/css/tobago.css.map                    |  2 +-
 .../src/main/css/tobago.min.css                    |  2 +-
 .../src/main/css/tobago.min.css.map                |  2 +-
 .../tobago-theme-speyside/src/main/css/tobago.css  | 37 +++-------
 .../src/main/css/tobago.css.map                    |  2 +-
 .../src/main/css/tobago.min.css                    |  2 +-
 .../src/main/css/tobago.min.css.map                |  2 +-
 .../tobago-theme-standard/src/main/css/tobago.css  | 37 +++-------
 .../src/main/css/tobago.css.map                    |  2 +-
 .../src/main/css/tobago.min.css                    |  2 +-
 .../src/main/css/tobago.min.css.map                |  2 +-
 .../tobago-theme-standard/src/main/js/tobago.js    |  6 +-
 .../src/main/js/tobago.js.map                      |  2 +-
 .../src/main/js/tobago.min.js                      |  2 +-
 .../src/main/js/tobago.min.js.map                  |  2 +-
 .../src/main/ts/tobago-tree-node.ts                |  6 +-
 34 files changed, 143 insertions(+), 256 deletions(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
index d463aff..ce7ca14 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
@@ -89,7 +89,7 @@ public class TreeIconRenderer<T extends AbstractUITreeIcon> extends RendererBase
     writer.startElement(HtmlElements.SPAN);
     writer.writeIdAttribute(component.getClientId());
     writer.writeClassAttribute(
-        TobagoClass.TREE_NODE__TOGGLE,
+        TobagoClass.TOGGLE,
         component.getCustomClass());
 
     if (Icons.matches(source)) {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIndentRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIndentRenderer.java
index 9c7880e..51a8601 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIndentRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIndentRenderer.java
@@ -61,7 +61,7 @@ public class TreeIndentRenderer<T extends AbstractUITreeIndent> extends Renderer
     writer.writeIdAttribute(component.getClientId(facesContext));
     HtmlRendererUtils.writeDataAttributes(facesContext, writer, component);
     writer.writeClassAttribute(
-        TobagoClass.TREE_NODE__TOGGLE,
+        TobagoClass.TOGGLE,
         !folder ? BootstrapClass.INVISIBLE : null,
         component.getCustomClass());
 
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeLabelRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeLabelRenderer.java
index 6f18c46..569028e 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeLabelRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeLabelRenderer.java
@@ -25,7 +25,6 @@ import org.apache.myfaces.tobago.internal.component.AbstractUITreeListbox;
 import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
 import org.apache.myfaces.tobago.internal.util.StringUtils;
 import org.apache.myfaces.tobago.renderkit.RendererBase;
-import org.apache.myfaces.tobago.renderkit.css.TobagoClass;
 import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
 import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
 import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -49,9 +48,7 @@ public class TreeLabelRenderer<T extends AbstractUITreeLabel> extends RendererBa
       writer.writeText(text);
     } else {
       writer.startElement(HtmlElements.LABEL);
-      writer.writeClassAttribute(
-          TobagoClass.TREE_LABEL,
-          component.getCustomClass());
+      writer.writeClassAttribute(component.getCustomClass());
       HtmlRendererUtils.writeDataAttributes(facesContext, writer, component);
       final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, component);
       if (title != null) {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeSelectRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeSelectRenderer.java
index 73e5921..85284f7 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeSelectRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeSelectRenderer.java
@@ -20,7 +20,6 @@
 package org.apache.myfaces.tobago.internal.renderkit.renderer;
 
 import org.apache.myfaces.tobago.component.ClientBehaviors;
-import org.apache.myfaces.tobago.context.Markup;
 import org.apache.myfaces.tobago.internal.component.AbstractUIData;
 import org.apache.myfaces.tobago.internal.component.AbstractUITree;
 import org.apache.myfaces.tobago.internal.component.AbstractUITreeListbox;
@@ -33,7 +32,6 @@ import org.apache.myfaces.tobago.internal.util.StringUtils;
 import org.apache.myfaces.tobago.model.Selectable;
 import org.apache.myfaces.tobago.renderkit.RendererBase;
 import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
-import org.apache.myfaces.tobago.renderkit.css.TobagoClass;
 import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
 import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
 import org.apache.myfaces.tobago.renderkit.html.HtmlInputTypes;
@@ -107,20 +105,18 @@ public class TreeSelectRenderer<T extends AbstractUITreeSelect> extends Renderer
 
     final boolean folder = data.isFolder();
     final Selectable selectable = data.getSelectable();
-    final boolean showCustomControl = component.isShowCheckbox()
+    final boolean showFormCheck = component.isShowCheckbox()
         && selectable != Selectable.none && (!selectable.isLeafOnly() || !folder);
 
     writer.startElement(HtmlElements.TOBAGO_TREE_SELECT);
-    final Markup markup = component.getMarkup();
     writer.writeClassAttribute(
         component.getCustomClass(),
-        // TODO: check rendered page for other selectables. Are them looking good?
-        showCustomControl ? BootstrapClass.FORM_CHECK_INLINE : null,
-        showCustomControl && selectable.isMulti() ? BootstrapClass.FORM_CHECK : null,
-        showCustomControl && selectable.isSingle() ? BootstrapClass.FORM_CHECK : null);
+        showFormCheck ? BootstrapClass.FORM_CHECK_INLINE : null,
+        showFormCheck && selectable.isMulti() ? BootstrapClass.FORM_CHECK : null,
+        showFormCheck && selectable.isSingle() ? BootstrapClass.FORM_CHECK : null);
     HtmlRendererUtils.writeDataAttributes(facesContext, writer, component);
 
-    if (showCustomControl) {
+    if (showFormCheck) {
       writer.startElement(HtmlElements.INPUT);
       writer.writeClassAttribute(BootstrapClass.FORM_CHECK_INPUT);
       if (selectable.isSingle()) {
@@ -140,8 +136,7 @@ public class TreeSelectRenderer<T extends AbstractUITreeSelect> extends Renderer
 
     final String label = component.getLabel();
     writer.startElement(HtmlElements.LABEL);
-    writer.writeClassAttribute(TobagoClass.TREE_SELECT__LABEL,
-        showCustomControl ? BootstrapClass.FORM_CHECK_LABEL : null);
+    writer.writeClassAttribute(showFormCheck ? BootstrapClass.FORM_CHECK_LABEL : null);
     final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, component);
     if (title != null) {
       writer.writeAttribute(HtmlAttributes.TITLE, title, true);
@@ -150,7 +145,7 @@ public class TreeSelectRenderer<T extends AbstractUITreeSelect> extends Renderer
     writer.writeText(label);
     writer.endElement(HtmlElements.LABEL);
 
-    if (showCustomControl) {
+    if (showFormCheck) {
       final CommandMap behaviorCommands = getBehaviorCommands(facesContext, component);
       if (behaviorCommands != null) {
         Map<ClientBehaviors, Command> other = behaviorCommands.getOther();
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java
index a4c7a28..8f5af1b 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/TobagoClass.java
@@ -50,7 +50,7 @@ public enum TobagoClass implements CssItem {
   // tbd: can be removed?
 //  IN("tobago-in"),
 //  INPUT__GROUP__OUTER("tobago-input-group-outer"),
-  LABEL("tobago-label"),
+//  LABEL("tobago-label"),
   LABEL__CONTAINER("tobago-label-container"),
   LINK("tobago-link"),
   MESSAGES("tobago-messages"),
@@ -115,14 +115,14 @@ public enum TobagoClass implements CssItem {
 //  TAB_GROUP("tobago-tabGroup"),
   TABLE_LAYOUT__FIXED("tobago-tableLayout-fixed"),
   TEXT__JUSTIFY("tobago-text-justify"),
-  TREE_LABEL("tobago-treeLabel"),
+  TOGGLE("tobago-toggle"),
+//  TREE_LABEL("tobago-treeLabel"),
   TREE_LISTBOX("tobago-treeListbox"),
   TREE_LISTBOX__LEVEL("tobago-treeListbox-level"),
-  TREE_LISTBOX__SELECT("tobago-treeListbox-select"),
-  TREE_NODE("tobago-treeNode"),
-  TREE_NODE__TOGGLE("tobago-treeNode-toggle"),
-  TREE_SELECT("tobago-treeSelect"),
-  TREE_SELECT__LABEL("tobago-treeSelect-label");
+  TREE_LISTBOX__SELECT("tobago-treeListbox-select");
+//  TREE_NODE("tobago-treeNode"),
+//  TREE_SELECT("tobago-treeSelect");
+//  TREE_SELECT__LABEL("tobago-treeSelect-label");
 
   private final String name;
 
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java
index 7fdd5b0..ca4f20e 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlElements.java
@@ -149,7 +149,7 @@ public enum HtmlElements {
   TOBAGO_FOOTER("tobago-footer"),
   TOBAGO_FORM("tobago-form"),
   TOBAGO_GRID_LAYOUT("tobago-grid-layout"),
-  TOBAGO_LABEL("tobago-label"),
+//  TOBAGO_LABEL("tobago-label"),
   TOBAGO_HEADER("tobago-header"),
   TOBAGO_IMAGE("tobago-image"),
   TOBAGO_IN("tobago-in"),
diff --git a/tobago-core/src/test/resources/renderer/treeSelect/treeSelect-single.html b/tobago-core/src/test/resources/renderer/treeSelect/treeSelect-single.html
index 3774d12..54fab3a 100644
--- a/tobago-core/src/test/resources/renderer/treeSelect/treeSelect-single.html
+++ b/tobago-core/src/test/resources/renderer/treeSelect/treeSelect-single.html
@@ -19,162 +19,162 @@
 
 <tobago-tree id='tree' data-tobago-selectable='single' selectable='single'>
   <tobago-tree-node id='tree:0:treeNode' class='tobago-folder tobago-expanded' expandable='expandable' index='0' data-tobago-level='0'>
-    <span id='tree:0:treeIndent' class='tobago-treeNode-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
+    <span id='tree:0:treeIndent' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:0:treeSelect' id='tree:0:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:0:treeSelect'>Category</label>
+      <label class='form-check-label' for='tree:0:treeSelect'>Category</label>
       <tobago-behavior event='change' client-id='tree:0:treeSelect' execute='tree:0:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:1:treeNode' index='1' data-tobago-tree-parent='tree:0:treeNode' parent='tree:0:treeNode' data-tobago-level='1'>
-    <span id='tree:1:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:1:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:1:treeSelect' id='tree:1:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:1:treeSelect'>Sports</label>
+      <label class='form-check-label' for='tree:1:treeSelect'>Sports</label>
       <tobago-behavior event='change' client-id='tree:1:treeSelect' execute='tree:1:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:2:treeNode' index='2' data-tobago-tree-parent='tree:0:treeNode' parent='tree:0:treeNode' data-tobago-level='1'>
-    <span id='tree:2:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:2:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:2:treeSelect' id='tree:2:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:2:treeSelect'>Movies</label>
+      <label class='form-check-label' for='tree:2:treeSelect'>Movies</label>
       <tobago-behavior event='change' client-id='tree:2:treeSelect' execute='tree:2:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:3:treeNode' class='tobago-folder tobago-expanded' expandable='expandable' index='3' data-tobago-tree-parent='tree:0:treeNode' parent='tree:0:treeNode' data-tobago-level='1'>
-    <span id='tree:3:treeIndent' class='tobago-treeNode-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
+    <span id='tree:3:treeIndent' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:3:treeSelect' id='tree:3:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:3:treeSelect'>Music</label>
+      <label class='form-check-label' for='tree:3:treeSelect'>Music</label>
       <tobago-behavior event='change' client-id='tree:3:treeSelect' execute='tree:3:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:4:treeNode' index='4' data-tobago-tree-parent='tree:3:treeNode' parent='tree:3:treeNode' data-tobago-level='2'>
-    <span id='tree:4:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:4:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:4:treeSelect' id='tree:4:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:4:treeSelect'>Classic</label>
+      <label class='form-check-label' for='tree:4:treeSelect'>Classic</label>
       <tobago-behavior event='change' client-id='tree:4:treeSelect' execute='tree:4:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:5:treeNode' index='5' data-tobago-tree-parent='tree:3:treeNode' parent='tree:3:treeNode' data-tobago-level='2'>
-    <span id='tree:5:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:5:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:5:treeSelect' id='tree:5:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:5:treeSelect'>Pop</label>
+      <label class='form-check-label' for='tree:5:treeSelect'>Pop</label>
       <tobago-behavior event='change' client-id='tree:5:treeSelect' execute='tree:5:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:6:treeNode' class='tobago-folder tobago-expanded' expandable='expandable' index='6' data-tobago-tree-parent='tree:3:treeNode' parent='tree:3:treeNode' data-tobago-level='2'>
-    <span id='tree:6:treeIndent' class='tobago-treeNode-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
+    <span id='tree:6:treeIndent' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:6:treeSelect' id='tree:6:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:6:treeSelect'>World</label>
+      <label class='form-check-label' for='tree:6:treeSelect'>World</label>
       <tobago-behavior event='change' client-id='tree:6:treeSelect' execute='tree:6:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:7:treeNode' index='7' data-tobago-tree-parent='tree:6:treeNode' parent='tree:6:treeNode' data-tobago-level='3'>
-    <span id='tree:7:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:7:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:7:treeSelect' id='tree:7:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:7:treeSelect'>Carib</label>
+      <label class='form-check-label' for='tree:7:treeSelect'>Carib</label>
       <tobago-behavior event='change' client-id='tree:7:treeSelect' execute='tree:7:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:8:treeNode' index='8' data-tobago-tree-parent='tree:6:treeNode' parent='tree:6:treeNode' data-tobago-level='3'>
-    <span id='tree:8:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:8:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:8:treeSelect' id='tree:8:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:8:treeSelect'>Africa</label>
+      <label class='form-check-label' for='tree:8:treeSelect'>Africa</label>
       <tobago-behavior event='change' client-id='tree:8:treeSelect' execute='tree:8:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:9:treeNode' index='9' data-tobago-tree-parent='tree:0:treeNode' parent='tree:0:treeNode' data-tobago-level='1'>
-    <span id='tree:9:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:9:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:9:treeSelect' id='tree:9:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:9:treeSelect'>Games</label>
+      <label class='form-check-label' for='tree:9:treeSelect'>Games</label>
       <tobago-behavior event='change' client-id='tree:9:treeSelect' execute='tree:9:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:10:treeNode' class='tobago-folder tobago-expanded' expandable='expandable' index='10' data-tobago-tree-parent='tree:0:treeNode' parent='tree:0:treeNode' data-tobago-level='1'>
-    <span id='tree:10:treeIndent' class='tobago-treeNode-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
+    <span id='tree:10:treeIndent' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:10:treeSelect' id='tree:10:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:10:treeSelect'>Science</label>
+      <label class='form-check-label' for='tree:10:treeSelect'>Science</label>
       <tobago-behavior event='change' client-id='tree:10:treeSelect' execute='tree:10:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:11:treeNode' class='tobago-folder tobago-expanded' expandable='expandable' index='11' data-tobago-tree-parent='tree:10:treeNode' parent='tree:10:treeNode' data-tobago-level='2'>
-    <span id='tree:11:treeIndent' class='tobago-treeNode-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
+    <span id='tree:11:treeIndent' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:11:treeSelect' id='tree:11:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:11:treeSelect'>Mathematics</label>
+      <label class='form-check-label' for='tree:11:treeSelect'>Mathematics</label>
       <tobago-behavior event='change' client-id='tree:11:treeSelect' execute='tree:11:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:12:treeNode' index='12' data-tobago-tree-parent='tree:11:treeNode' parent='tree:11:treeNode' data-tobago-level='3'>
-    <span id='tree:12:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:12:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:12:treeSelect' id='tree:12:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:12:treeSelect'>Analysis</label>
+      <label class='form-check-label' for='tree:12:treeSelect'>Analysis</label>
       <tobago-behavior event='change' client-id='tree:12:treeSelect' execute='tree:12:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:13:treeNode' index='13' data-tobago-tree-parent='tree:11:treeNode' parent='tree:11:treeNode' data-tobago-level='3'>
-    <span id='tree:13:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:13:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:13:treeSelect' id='tree:13:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:13:treeSelect'>Algebra</label>
+      <label class='form-check-label' for='tree:13:treeSelect'>Algebra</label>
       <tobago-behavior event='change' client-id='tree:13:treeSelect' execute='tree:13:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:14:treeNode' index='14' data-tobago-tree-parent='tree:10:treeNode' parent='tree:10:treeNode' data-tobago-level='2'>
-    <span id='tree:14:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:14:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:14:treeSelect' id='tree:14:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:14:treeSelect'>Geography</label>
+      <label class='form-check-label' for='tree:14:treeSelect'>Geography</label>
       <tobago-behavior event='change' client-id='tree:14:treeSelect' execute='tree:14:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:15:treeNode' class='tobago-folder tobago-expanded' expandable='expandable' index='15' data-tobago-tree-parent='tree:10:treeNode' parent='tree:10:treeNode' data-tobago-level='2'>
-    <span id='tree:15:treeIndent' class='tobago-treeNode-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
+    <span id='tree:15:treeIndent' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:15:treeSelect' id='tree:15:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:15:treeSelect'>Astronomy</label>
+      <label class='form-check-label' for='tree:15:treeSelect'>Astronomy</label>
       <tobago-behavior event='change' client-id='tree:15:treeSelect' execute='tree:15:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:16:treeNode' index='16' data-tobago-tree-parent='tree:15:treeNode' parent='tree:15:treeNode' data-tobago-level='3'>
-    <span id='tree:16:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:16:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:16:treeSelect' id='tree:16:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:16:treeSelect'>Education</label>
+      <label class='form-check-label' for='tree:16:treeSelect'>Education</label>
       <tobago-behavior event='change' client-id='tree:16:treeSelect' execute='tree:16:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:17:treeNode' class='tobago-folder tobago-expanded' expandable='expandable' index='17' data-tobago-tree-parent='tree:15:treeNode' parent='tree:15:treeNode' data-tobago-level='3'>
-    <span id='tree:17:treeIndent' class='tobago-treeNode-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
+    <span id='tree:17:treeIndent' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:17:treeSelect' id='tree:17:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:17:treeSelect'>Pictures</label>
+      <label class='form-check-label' for='tree:17:treeSelect'>Pictures</label>
       <tobago-behavior event='change' client-id='tree:17:treeSelect' execute='tree:17:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:18:treeNode' index='18' data-tobago-tree-parent='tree:17:treeNode' parent='tree:17:treeNode' data-tobago-level='4'>
-    <span id='tree:18:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:18:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:18:treeSelect' id='tree:18:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:18:treeSelect'>NGC</label>
+      <label class='form-check-label' for='tree:18:treeSelect'>NGC</label>
       <tobago-behavior event='change' client-id='tree:18:treeSelect' execute='tree:18:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
   <tobago-tree-node id='tree:19:treeNode' index='19' data-tobago-tree-parent='tree:17:treeNode' parent='tree:17:treeNode' data-tobago-level='4'>
-    <span id='tree:19:treeIndent' class='tobago-treeNode-toggle invisible'><i class='bi-square invisible'></i></span>
+    <span id='tree:19:treeIndent' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
     <tobago-tree-select class='form-check-inline form-check'>
       <input class='form-check-input' type='radio' name='tree' value='tree:19:treeSelect' id='tree:19:treeSelect'>
-      <label class='tobago-treeSelect-label form-check-label' for='tree:19:treeSelect'>Messier</label>
+      <label class='form-check-label' for='tree:19:treeSelect'>Messier</label>
       <tobago-behavior event='change' client-id='tree:19:treeSelect' execute='tree:19:treeSelect tree' render='null tree'></tobago-behavior>
     </tobago-tree-select>
   </tobago-tree-node>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/080-sheet/70-tree/Sheet_Tree.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/080-sheet/70-tree/Sheet_Tree.test.js
index 1b96266..72d33ac 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/080-sheet/70-tree/Sheet_Tree.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/080-sheet/70-tree/Sheet_Tree.test.js
@@ -32,7 +32,7 @@ it("Collapse tree", function (done) {
   let row1periodFn = querySelectorFn("#page\\:mainForm\\:sheet\\:1\\:periodOut");
   let row1discovererFn = querySelectorFn("#page\\:mainForm\\:sheet\\:1\\:discovererOut");
   let row1yearFn = querySelectorFn("#page\\:mainForm\\:sheet\\:1\\:yearOut");
-  let rootTreeButtonFn = querySelectorFn("#page\\:mainForm\\:sheet\\:0\\:nameCol .tobago-treeNode-toggle");
+  let rootTreeButtonFn = querySelectorFn("#page\\:mainForm\\:sheet\\:0\\:nameCol .tobago-toggle");
 
   let test = new JasmineTestTool(done);
   test.do(() => expect(row0nameFn().textContent).toBe("Sun"));
diff --git a/tobago-theme/src/main/scss/_tobago.scss b/tobago-theme/src/main/scss/_tobago.scss
index d292851..0e4cbbc 100644
--- a/tobago-theme/src/main/scss/_tobago.scss
+++ b/tobago-theme/src/main/scss/_tobago.scss
@@ -128,7 +128,7 @@ $tobago-flex-layout-spacing: 0.5rem;
 }
 
 @mixin tobagoTreeNodeToggle() {
-  .tobago-treeNode-toggle:not(.invisible) {
+  .tobago-toggle:not(.invisible) {
     cursor: pointer;
   }
 }
@@ -597,11 +597,6 @@ tobago-in {
 
 /* label ----------------------------------------------------------- */
 
-// todo remove
-.tobago-label {
-  color: #6610f2 !important;
-}
-
 tobago-links {
   .nav .nav-item .nav-link {
     padding: $nav-link-padding-y $nav-link-padding-x;
@@ -1266,7 +1261,7 @@ tobago-sheet {
 
       @include tobagoTreeNodeToggle();
 
-      .tobago-treeNode-toggle {
+      .tobago-toggle {
         padding-right: 5px;
       }
     }
@@ -1490,18 +1485,8 @@ tobago-tab-group {
 }
 
 /* tree ---------------------------------------------------------------------- */
-.tobago-treeLabel,
-.tobago-treeSelect,
-.tobago-treeSelect-label {
-}
 
 tobago-tree {
-  .tobago-treeNode {
-    cursor: default;
-
-    @include tobagoTreeNodeToggle();
-  }
-
   .tobago-selected {
   }
 
@@ -1512,15 +1497,6 @@ tobago-tree {
   }
 }
 
-.tobago-treeSelect .form-check-inline {
-  margin-left: $spacer * .375;
-  margin-right: $spacer * .375;
-}
-
-.tobago-treeNode[data-tobago-level] {
-  margin-left: 7rem;
-}
-
 tobago-tree {
   @include treeNodeMarginLeftLevel();
 
@@ -1531,19 +1507,23 @@ tobago-tree {
     display: block;
 
     tobago-tree-select {
-      display: inline;
 
-      &.form-check {
-        display: inline;
+      &.form-check-inline {
+        margin-left: $spacer * .375;
+        margin-right: $spacer * .375;
       }
     }
   }
 
-  .tobago-treeLabel, .tobago-treeSelect-label {
+  label {
     margin-bottom: 0;
   }
 }
 
+tobago-tree-node {
+  cursor: default;
+}
+
 /* treeListbox ---------------------------------------------------------------------- */
 tobago-tree-listbox, .tobago-treeListbox {
   display: block;
diff --git a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css
index adc5f38..1ef7b5d 100644
--- a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css
+++ b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css
@@ -11618,10 +11618,6 @@ tobago-in tobago-suggest {
 }
 
 /* label ----------------------------------------------------------- */
-.tobago-label {
-  color: #6610f2 !important;
-}
-
 tobago-links .nav .nav-item .nav-link {
   padding: 0.5rem 1rem;
 }
@@ -12247,10 +12243,10 @@ tobago-sheet .tobago-sheet-cell > tobago-tree-node {
   display: flex;
   align-items: center;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle:not(.invisible) {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle:not(.invisible) {
   cursor: pointer;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle {
   padding-right: 5px;
 }
 
@@ -12448,21 +12444,6 @@ tobago-tab-group tobago-tab > .nav-link > i + span {
 }
 
 /* tree ---------------------------------------------------------------------- */
-tobago-tree .tobago-treeNode {
-  cursor: default;
-}
-tobago-tree .tobago-treeNode .tobago-treeNode-toggle:not(.invisible) {
-  cursor: pointer;
-}
-.tobago-treeSelect .form-check-inline {
-  margin-left: 0.375rem;
-  margin-right: 0.375rem;
-}
-
-.tobago-treeNode[data-tobago-level] {
-  margin-left: 7rem;
-}
-
 tobago-tree tobago-tree-node[data-tobago-level="0"] {
   margin-left: 0rem;
 }
@@ -12533,16 +12514,18 @@ tobago-tree tobago-tree-node {
 tobago-tree tobago-tree-node > .tobago-link {
   text-decoration: none;
 }
-tobago-tree tobago-tree-node tobago-tree-select {
-  display: inline;
-}
-tobago-tree tobago-tree-node tobago-tree-select.form-check {
-  display: inline;
+tobago-tree tobago-tree-node tobago-tree-select.form-check-inline {
+  margin-left: 0.375rem;
+  margin-right: 0.375rem;
 }
-tobago-tree .tobago-treeLabel, tobago-tree .tobago-treeSelect-label {
+tobago-tree label {
   margin-bottom: 0;
 }
 
+tobago-tree-node {
+  cursor: default;
+}
+
 /* treeListbox ---------------------------------------------------------------------- */
 tobago-tree-listbox, .tobago-treeListbox {
   display: block;
diff --git a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css.map b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css.map
index aa6a63e..787737c 100644
--- a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../scss/_custom.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scs [...]
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../scss/_custom.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scs [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css
index 0084e85..b03b343 100644
--- a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#ff00be;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#ffffff;--bs-gray:#777777;--bs-gray-dark:#323232;--bs-gray-100:#f8f9fa;--bs-gray-200:#d0d0d0;--bs-gray-300:#dee2e6;--bs-gray-400:#a0a0a0;--bs-gray-500:#adb5bd;--bs-gray-600:#777777;--bs-gray-700:#495057;--bs-gray-800:#323232;--bs-gray-900:#212529;--bs-primary:#529696;-- [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#ff00be;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#ffffff;--bs-gray:#777777;--bs-gray-dark:#323232;--bs-gray-100:#f8f9fa;--bs-gray-200:#d0d0d0;--bs-gray-300:#dee2e6;--bs-gray-400:#a0a0a0;--bs-gray-500:#adb5bd;--bs-gray-600:#777777;--bs-gray-700:#495057;--bs-gray-800:#323232;--bs-gray-900:#212529;--bs-primary:#529696;-- [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css.map b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css.map
index 44f1541..dac05da 100644
--- a/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-charlotteville/src/main/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago-theme-charlotteville/src/main/css/tobago.css"],"names":[],"mappings":"iBAuCA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,QACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,GAAG,CAAE,IAC3B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,G [...]
\ No newline at end of file
+{"version":3,"sources":["tobago-theme-charlotteville/src/main/css/tobago.css"],"names":[],"mappings":"iBAuCA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,QACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,GAAG,CAAE,IAC3B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,G [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css
index a1a1372..f6b8f57 100644
--- a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css
+++ b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css
@@ -11641,10 +11641,6 @@ tobago-in tobago-suggest {
 }
 
 /* label ----------------------------------------------------------- */
-.tobago-label {
-  color: #6610f2 !important;
-}
-
 tobago-links .nav .nav-item .nav-link {
   padding: 0.5rem 1rem;
 }
@@ -12270,10 +12266,10 @@ tobago-sheet .tobago-sheet-cell > tobago-tree-node {
   display: flex;
   align-items: center;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle:not(.invisible) {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle:not(.invisible) {
   cursor: pointer;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle {
   padding-right: 5px;
 }
 
@@ -12471,21 +12467,6 @@ tobago-tab-group tobago-tab > .nav-link > i + span {
 }
 
 /* tree ---------------------------------------------------------------------- */
-tobago-tree .tobago-treeNode {
-  cursor: default;
-}
-tobago-tree .tobago-treeNode .tobago-treeNode-toggle:not(.invisible) {
-  cursor: pointer;
-}
-.tobago-treeSelect .form-check-inline {
-  margin-left: 0.375rem;
-  margin-right: 0.375rem;
-}
-
-.tobago-treeNode[data-tobago-level] {
-  margin-left: 7rem;
-}
-
 tobago-tree tobago-tree-node[data-tobago-level="0"] {
   margin-left: 0rem;
 }
@@ -12556,16 +12537,18 @@ tobago-tree tobago-tree-node {
 tobago-tree tobago-tree-node > .tobago-link {
   text-decoration: none;
 }
-tobago-tree tobago-tree-node tobago-tree-select {
-  display: inline;
-}
-tobago-tree tobago-tree-node tobago-tree-select.form-check {
-  display: inline;
+tobago-tree tobago-tree-node tobago-tree-select.form-check-inline {
+  margin-left: 0.375rem;
+  margin-right: 0.375rem;
 }
-tobago-tree .tobago-treeLabel, tobago-tree .tobago-treeSelect-label {
+tobago-tree label {
   margin-bottom: 0;
 }
 
+tobago-tree-node {
+  cursor: default;
+}
+
 /* treeListbox ---------------------------------------------------------------------- */
 tobago-tree-listbox, .tobago-treeListbox {
   display: block;
diff --git a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css.map b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css.map
index 06cd548..ca603e5 100644
--- a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../scss/_custom.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scs [...]
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../scss/_custom.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scs [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css
index 14bf67c..de220d3 100644
--- a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";@font-face{font-family:Amaranth;font-style:normal;font-weight:400;src:url("../fonts/Amaranth-Regular.otf") format("opentype")}@font-face{font-family:Amaranth;font-style:normal;font-weight:700;src:url("../fonts/Amaranth-Bold.otf") format("opentype")}@font-face{font-family:Amaranth;font-style:italic;src:url("../fonts/Amaranth-Italic.otf") format("opentype")}@font-face{font-family:Amaranth;font-style:italic;font-weight:700;src:url("../fonts/Amaranth-BoldItalic.otf") format( [...]
+@charset "UTF-8";@font-face{font-family:Amaranth;font-style:normal;font-weight:400;src:url("../fonts/Amaranth-Regular.otf") format("opentype")}@font-face{font-family:Amaranth;font-style:normal;font-weight:700;src:url("../fonts/Amaranth-Bold.otf") format("opentype")}@font-face{font-family:Amaranth;font-style:italic;src:url("../fonts/Amaranth-Italic.otf") format("opentype")}@font-face{font-family:Amaranth;font-style:italic;font-weight:700;src:url("../fonts/Amaranth-BoldItalic.otf") format( [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css.map b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css.map
index 38e60ca..40e4166 100644
--- a/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-roxborough/src/main/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago-theme-roxborough/src/main/css/tobago.css"],"names":[],"mappings":"iBAiCA,WACE,YAAa,SACb,WAAY,OACZ,YAAa,IACb,IAAK,qCAAqC,mBAE5C,WACE,YAAa,SACb,WAAY,OACZ,YAAa,IACb,IAAK,kCAAkC,mBAEzC,WACE,YAAa,SACb,WAAY,OACZ,IAAK,oCAAoC,mBAE3C,WACE,YAAa,SACb,WAAY,OACZ,YAAa,IACb,IAAK,wCAAwC,mBAEvB,mBAAxB,uBACE,YAAa,QAAQ,CAAE,KAAK,CAAE,MAShC,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB, [...]
\ No newline at end of file
+{"version":3,"sources":["tobago-theme-roxborough/src/main/css/tobago.css"],"names":[],"mappings":"iBAiCA,WACE,YAAa,SACb,WAAY,OACZ,YAAa,IACb,IAAK,qCAAqC,mBAE5C,WACE,YAAa,SACb,WAAY,OACZ,YAAa,IACb,IAAK,kCAAkC,mBAEzC,WACE,YAAa,SACb,WAAY,OACZ,IAAK,oCAAoC,mBAE3C,WACE,YAAa,SACb,WAAY,OACZ,YAAa,IACb,IAAK,wCAAwC,mBAEvB,mBAAxB,uBACE,YAAa,QAAQ,CAAE,KAAK,CAAE,MAShC,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB, [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css
index 82a9e4e..be0feca 100644
--- a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css
+++ b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css
@@ -11628,10 +11628,6 @@ tobago-in tobago-suggest {
 }
 
 /* label ----------------------------------------------------------- */
-.tobago-label {
-  color: #6610f2 !important;
-}
-
 tobago-links .nav .nav-item .nav-link {
   padding: 0.5rem 1rem;
 }
@@ -12257,10 +12253,10 @@ tobago-sheet .tobago-sheet-cell > tobago-tree-node {
   display: flex;
   align-items: center;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle:not(.invisible) {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle:not(.invisible) {
   cursor: pointer;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle {
   padding-right: 5px;
 }
 
@@ -12458,21 +12454,6 @@ tobago-tab-group tobago-tab > .nav-link > i + span {
 }
 
 /* tree ---------------------------------------------------------------------- */
-tobago-tree .tobago-treeNode {
-  cursor: default;
-}
-tobago-tree .tobago-treeNode .tobago-treeNode-toggle:not(.invisible) {
-  cursor: pointer;
-}
-.tobago-treeSelect .form-check-inline {
-  margin-left: 0.375rem;
-  margin-right: 0.375rem;
-}
-
-.tobago-treeNode[data-tobago-level] {
-  margin-left: 7rem;
-}
-
 tobago-tree tobago-tree-node[data-tobago-level="0"] {
   margin-left: 0rem;
 }
@@ -12543,16 +12524,18 @@ tobago-tree tobago-tree-node {
 tobago-tree tobago-tree-node > .tobago-link {
   text-decoration: none;
 }
-tobago-tree tobago-tree-node tobago-tree-select {
-  display: inline;
-}
-tobago-tree tobago-tree-node tobago-tree-select.form-check {
-  display: inline;
+tobago-tree tobago-tree-node tobago-tree-select.form-check-inline {
+  margin-left: 0.375rem;
+  margin-right: 0.375rem;
 }
-tobago-tree .tobago-treeLabel, tobago-tree .tobago-treeSelect-label {
+tobago-tree label {
   margin-bottom: 0;
 }
 
+tobago-tree-node {
+  cursor: default;
+}
+
 /* treeListbox ---------------------------------------------------------------------- */
 tobago-tree-listbox, .tobago-treeListbox {
   display: block;
diff --git a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css.map b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css.map
index ce732a6..e0f2de3 100644
--- a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scss","../../../../node_mo [...]
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scss","../../../../node_mo [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css
index bc207f1..fa30ef5 100644
--- a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs- [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs- [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css.map b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css.map
index 71e0dbb..ac0c551 100644
--- a/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-scarborough/src/main/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago-theme-scarborough/src/main/css/tobago.css"],"names":[],"mappings":"iBAuBA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,GAAG,CAAE,IAC3B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,EAAE [...]
\ No newline at end of file
+{"version":3,"sources":["tobago-theme-scarborough/src/main/css/tobago.css"],"names":[],"mappings":"iBAuBA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,GAAG,CAAE,IAC3B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,EAAE [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css
index 7bcf668..3e7e4fa 100644
--- a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css
+++ b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css
@@ -11327,10 +11327,6 @@ tobago-in tobago-suggest {
 }
 
 /* label ----------------------------------------------------------- */
-.tobago-label {
-  color: #6610f2 !important;
-}
-
 tobago-links .nav .nav-item .nav-link {
   padding: 0.5rem 1rem;
 }
@@ -11956,10 +11952,10 @@ tobago-sheet .tobago-sheet-cell > tobago-tree-node {
   display: flex;
   align-items: center;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle:not(.invisible) {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle:not(.invisible) {
   cursor: pointer;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle {
   padding-right: 5px;
 }
 
@@ -12157,21 +12153,6 @@ tobago-tab-group tobago-tab > .nav-link > i + span {
 }
 
 /* tree ---------------------------------------------------------------------- */
-tobago-tree .tobago-treeNode {
-  cursor: default;
-}
-tobago-tree .tobago-treeNode .tobago-treeNode-toggle:not(.invisible) {
-  cursor: pointer;
-}
-.tobago-treeSelect .form-check-inline {
-  margin-left: 0.375rem;
-  margin-right: 0.375rem;
-}
-
-.tobago-treeNode[data-tobago-level] {
-  margin-left: 7rem;
-}
-
 tobago-tree tobago-tree-node[data-tobago-level="0"] {
   margin-left: 0rem;
 }
@@ -12242,16 +12223,18 @@ tobago-tree tobago-tree-node {
 tobago-tree tobago-tree-node > .tobago-link {
   text-decoration: none;
 }
-tobago-tree tobago-tree-node tobago-tree-select {
-  display: inline;
-}
-tobago-tree tobago-tree-node tobago-tree-select.form-check {
-  display: inline;
+tobago-tree tobago-tree-node tobago-tree-select.form-check-inline {
+  margin-left: 0.375rem;
+  margin-right: 0.375rem;
 }
-tobago-tree .tobago-treeLabel, tobago-tree .tobago-treeSelect-label {
+tobago-tree label {
   margin-bottom: 0;
 }
 
+tobago-tree-node {
+  cursor: default;
+}
+
 /* treeListbox ---------------------------------------------------------------------- */
 tobago-tree-listbox, .tobago-treeListbox {
   display: block;
diff --git a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css.map b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css.map
index b6fcb1f..e4ec04c 100644
--- a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../scss/_custom.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/_type.scss","../../../../node_modules/bootstrap/scss/mixins/_lists.scss","../. [...]
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../scss/_custom.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/_type.scss","../../../../node_modules/bootstrap/scss/mixins/_lists.scss","../. [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css
index 331aa40..75b83af 100644
--- a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#3a2564;--bs-pink:#d63384;--bs-red:#d30040;--bs-orange:#d90;--bs-yellow:#ffc107;--bs-green:#1da332;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#788c94;--bs-gray-dark:#323232;--bs-gray-100:#f7f7f7;--bs-gray-200:#e3e4e5;--bs-gray-300:#d7d7d7;--bs-gray-400:#ced4da;--bs-gray-500:#acacac;--bs-gray-600:#788c94;--bs-gray-700:#55595c;--bs-gray-800:#323232;--bs-gray-900:#212529;--bs-primary:#185722;--bs-sec [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#3a2564;--bs-pink:#d63384;--bs-red:#d30040;--bs-orange:#d90;--bs-yellow:#ffc107;--bs-green:#1da332;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#788c94;--bs-gray-dark:#323232;--bs-gray-100:#f7f7f7;--bs-gray-200:#e3e4e5;--bs-gray-300:#d7d7d7;--bs-gray-400:#ced4da;--bs-gray-500:#acacac;--bs-gray-600:#788c94;--bs-gray-700:#55595c;--bs-gray-800:#323232;--bs-gray-900:#212529;--bs-primary:#185722;--bs-sec [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css.map b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css.map
index c4c389c..1aeea95 100644
--- a/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-speyside/src/main/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago-theme-speyside/src/main/css/tobago.css"],"names":[],"mappings":"iBAuCA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,KACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,EAAE,CAAE,GAC1B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,EAAE,CA [...]
\ No newline at end of file
+{"version":3,"sources":["tobago-theme-speyside/src/main/css/tobago.css"],"names":[],"mappings":"iBAuCA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,KACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,EAAE,CAAE,GAC1B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,EAAE,CA [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/src/main/css/tobago.css b/tobago-theme/tobago-theme-standard/src/main/css/tobago.css
index efbfa26..46a9557 100644
--- a/tobago-theme/tobago-theme-standard/src/main/css/tobago.css
+++ b/tobago-theme/tobago-theme-standard/src/main/css/tobago.css
@@ -11598,10 +11598,6 @@ tobago-in tobago-suggest {
 }
 
 /* label ----------------------------------------------------------- */
-.tobago-label {
-  color: #6610f2 !important;
-}
-
 tobago-links .nav .nav-item .nav-link {
   padding: 0.5rem 1rem;
 }
@@ -12227,10 +12223,10 @@ tobago-sheet .tobago-sheet-cell > tobago-tree-node {
   display: flex;
   align-items: center;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle:not(.invisible) {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle:not(.invisible) {
   cursor: pointer;
 }
-tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-treeNode-toggle {
+tobago-sheet .tobago-sheet-cell > tobago-tree-node .tobago-toggle {
   padding-right: 5px;
 }
 
@@ -12428,21 +12424,6 @@ tobago-tab-group tobago-tab > .nav-link > i + span {
 }
 
 /* tree ---------------------------------------------------------------------- */
-tobago-tree .tobago-treeNode {
-  cursor: default;
-}
-tobago-tree .tobago-treeNode .tobago-treeNode-toggle:not(.invisible) {
-  cursor: pointer;
-}
-.tobago-treeSelect .form-check-inline {
-  margin-left: 0.375rem;
-  margin-right: 0.375rem;
-}
-
-.tobago-treeNode[data-tobago-level] {
-  margin-left: 7rem;
-}
-
 tobago-tree tobago-tree-node[data-tobago-level="0"] {
   margin-left: 0rem;
 }
@@ -12513,16 +12494,18 @@ tobago-tree tobago-tree-node {
 tobago-tree tobago-tree-node > .tobago-link {
   text-decoration: none;
 }
-tobago-tree tobago-tree-node tobago-tree-select {
-  display: inline;
-}
-tobago-tree tobago-tree-node tobago-tree-select.form-check {
-  display: inline;
+tobago-tree tobago-tree-node tobago-tree-select.form-check-inline {
+  margin-left: 0.375rem;
+  margin-right: 0.375rem;
 }
-tobago-tree .tobago-treeLabel, tobago-tree .tobago-treeSelect-label {
+tobago-tree label {
   margin-bottom: 0;
 }
 
+tobago-tree-node {
+  cursor: default;
+}
+
 /* treeListbox ---------------------------------------------------------------------- */
 tobago-tree-listbox, .tobago-treeListbox {
   display: block;
diff --git a/tobago-theme/tobago-theme-standard/src/main/css/tobago.css.map b/tobago-theme/tobago-theme-standard/src/main/css/tobago.css.map
index 6cf68c1..634fb1a 100644
--- a/tobago-theme/tobago-theme-standard/src/main/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-standard/src/main/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scss","../../../../node_mo [...]
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../scss/tobago-theme.scss","../../../../node_modules/bootstrap/scss/bootstrap.scss","../../../../node_modules/bootstrap/scss/_root.scss","../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../node_modules/bootstrap/scss/_type.scss","../../../../node_mo [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css b/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css
index 25cf90b..5d22be9 100644
--- a/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs- [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs- [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css.map b/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css.map
index d626019..31141a3 100644
--- a/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-standard/src/main/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago-theme-standard/src/main/css/tobago.css"],"names":[],"mappings":"iBAuBA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,GAAG,CAAE,IAC3B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,EAAE,CA [...]
\ No newline at end of file
+{"version":3,"sources":["tobago-theme-standard/src/main/css/tobago.css"],"names":[],"mappings":"iBAuBA,MACE,UAAW,QACX,YAAa,QACb,YAAa,QACb,UAAW,QACX,SAAU,QACV,YAAa,QACb,YAAa,QACb,WAAY,QACZ,UAAW,QACX,UAAW,QACX,WAAY,KACZ,UAAW,QACX,eAAgB,QAChB,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,aAAc,QACd,UAAW,QACX,aAAc,QACd,YAAa,QACb,WAAY,QACZ,UAAW,QACX,iBAAkB,EAAE,CAAE,GAAG,CAAE,IAC3B,mBAAoB,GAAG,CAAE,GAAG,CAAE,IAC9B,iBAAkB,EAAE,CA [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/src/main/js/tobago.js b/tobago-theme/tobago-theme-standard/src/main/js/tobago.js
index 5254711..d5abfd0 100644
--- a/tobago-theme/tobago-theme-standard/src/main/js/tobago.js
+++ b/tobago-theme/tobago-theme-standard/src/main/js/tobago.js
@@ -11052,13 +11052,13 @@ Type: ${data.type}`);
           }
       }
       get toggles() {
-          return this.querySelectorAll(".tobago-treeNode-toggle");
+          return this.querySelectorAll(".tobago-toggle");
       }
       get icons() {
-          return this.querySelectorAll(".tobago-treeNode-toggle i");
+          return this.querySelectorAll(".tobago-toggle i");
       }
       get images() {
-          return this.querySelectorAll(".tobago-treeNode-toggle img");
+          return this.querySelectorAll(".tobago-toggle img");
       }
       get index() {
           return Number(this.getAttribute("index"));
diff --git a/tobago-theme/tobago-theme-standard/src/main/js/tobago.js.map b/tobago-theme/tobago-theme-standard/src/main/js/tobago.js.map
index a6fb1ed..fc000d5 100644
--- a/tobago-theme/tobago-theme-standard/src/main/js/tobago.js.map
+++ b/tobago-theme/tobago-theme-standard/src/main/js/tobago.js.map
@@ -1 +1 @@
-{"version":3,"file":"tobago.js","sources":["../ts/tobago-bar.ts","../../../../node_modules/@popperjs/core/lib/enums.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../node_m [...]
\ No newline at end of file
+{"version":3,"file":"tobago.js","sources":["../ts/tobago-bar.ts","../../../../node_modules/@popperjs/core/lib/enums.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../node_m [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js b/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js
index 82ae46b..0501263 100644
--- a/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js
+++ b/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js
@@ -4,5 +4,5 @@
     * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     */
-const Ne="transitionend",De=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let s=e.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s=`#${s.split("#")[1]}`),t=s&&"#"!==s?s.trim():null}return t},Re=e=>{const t=De(e);return t&&document.querySelector(t)?t:null},Me=e=>{const t=De(e);return t?document.querySelector(t):null},je=e=>{e.dispatchEvent(new Event(Ne))},He=e=>!(!e||"object"!=typeof e)&&(void 0!==e.jquery&&( [...]
+const Ne="transitionend",De=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let s=e.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s=`#${s.split("#")[1]}`),t=s&&"#"!==s?s.trim():null}return t},Re=e=>{const t=De(e);return t&&document.querySelector(t)?t:null},Me=e=>{const t=De(e);return t?document.querySelector(t):null},je=e=>{e.dispatchEvent(new Event(Ne))},He=e=>!(!e||"object"!=typeof e)&&(void 0!==e.jquery&&( [...]
 //# sourceMappingURL=tobago.min.js.map
diff --git a/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js.map b/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js.map
index 4d9e9b7..94b7b35 100644
--- a/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js.map
+++ b/tobago-theme/tobago-theme-standard/src/main/js/tobago.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"tobago.min.js","sources":["../ts/tobago-bar.ts","../../../../node_modules/@popperjs/core/lib/enums.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../no [...]
\ No newline at end of file
+{"version":3,"file":"tobago.min.js","sources":["../ts/tobago-bar.ts","../../../../node_modules/@popperjs/core/lib/enums.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../no [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/src/main/ts/tobago-tree-node.ts b/tobago-theme/tobago-theme-standard/src/main/ts/tobago-tree-node.ts
index c9deb3d..f68d104 100644
--- a/tobago-theme/tobago-theme-standard/src/main/ts/tobago-tree-node.ts
+++ b/tobago-theme/tobago-theme-standard/src/main/ts/tobago-tree-node.ts
@@ -171,15 +171,15 @@ export class TreeNode extends HTMLElement {
   }
 
   private get toggles(): NodeListOf<HTMLSpanElement> {
-    return this.querySelectorAll(".tobago-treeNode-toggle");
+    return this.querySelectorAll(".tobago-toggle");
   }
 
   private get icons(): NodeListOf<HTMLElement> {
-    return this.querySelectorAll(".tobago-treeNode-toggle i");
+    return this.querySelectorAll(".tobago-toggle i");
   }
 
   private get images(): NodeListOf<HTMLImageElement> {
-    return this.querySelectorAll(".tobago-treeNode-toggle img");
+    return this.querySelectorAll(".tobago-toggle img");
   }
 
   get index(): number {