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

[myfaces-tobago] 01/02: refactor: clean up CSS class names

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

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

commit 32ddbdb75c436ab386fe34b35e9a473381e6117f
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Wed Oct 27 12:31:10 2021 +0200

    refactor: clean up CSS class names
    
    * .tobago-in removed
    * message layout shadows fixed
    * .tobago-input-group-outer removed
    * adjust tests
    * add tests for date with message-layout
---
 .../internal/renderkit/renderer/DateRenderer.java  |  4 --
 .../internal/renderkit/renderer/InRenderer.java    |  8 ---
 .../myfaces/tobago/renderkit/css/TobagoClass.java  |  4 +-
 .../renderkit/renderer/DateRendererUnitTest.java   | 27 ++++++++++
 .../src/test/resources/renderer/date/dateAuto.html |  6 +--
 .../src/test/resources/renderer/date/dateBoth.html |  6 +--
 .../src/test/resources/renderer/date/dateDate.html |  6 +--
 .../src/test/resources/renderer/date/dateTime.html |  6 +--
 .../test/resources/renderer/date/dateTimeStep.html |  6 +--
 .../renderer/{in => date}/error-message.html       |  9 ++--
 .../test/resources/renderer/{in => date}/help.html |  9 ++--
 .../resources/renderer/date/localDateAuto.html     |  6 +--
 .../resources/renderer/date/localDateTimeAuto.html |  6 +--
 .../resources/renderer/date/localTimeAuto.html     |  6 +--
 .../src/test/resources/renderer/date/minMax.html   |  6 +--
 .../test/resources/renderer/date/testLabel.html    |  6 +--
 .../resources/renderer/date/testTodayButton.html   |  8 ++-
 .../src/test/resources/renderer/date/text.html     |  6 +--
 .../resources/renderer/date/zonedDateTimeAuto.html |  6 +--
 .../src/test/resources/renderer/in/ajax.html       |  2 +-
 .../test/resources/renderer/in/error-message.html  |  2 +-
 .../src/test/resources/renderer/in/help.html       |  2 +-
 .../renderer/in/input-group-button-after.html      |  8 ++-
 .../renderer/in/input-group-button-before.html     |  8 ++-
 .../renderer/in/input-group-choice-after.html      | 20 ++++----
 .../renderer/in/input-group-dropdown-after.html    | 20 ++++----
 .../renderer/in/input-group-dropdown-before.html   | 20 ++++----
 .../renderer/in/input-group-out-after.html         |  8 ++-
 .../renderer/in/input-group-out-before.html        |  8 ++-
 .../test/resources/renderer/in/label-flexLeft.html |  2 +-
 .../resources/renderer/in/label-flexRight.html     |  2 +-
 .../test/resources/renderer/in/label-flowLeft.html |  2 +-
 .../resources/renderer/in/label-flowRight.html     |  2 +-
 .../resources/renderer/in/label-gridBottom.html    |  2 +-
 .../test/resources/renderer/in/label-gridLeft.html |  2 +-
 .../resources/renderer/in/label-gridRight.html     |  2 +-
 .../test/resources/renderer/in/label-gridTop.html  |  2 +-
 .../src/test/resources/renderer/in/label-none.html |  2 +-
 .../resources/renderer/in/label-segmentLeft.html   |  2 +-
 .../resources/renderer/in/label-segmentRight.html  |  2 +-
 .../src/test/resources/renderer/in/label-skip.html |  2 +-
 .../src/test/resources/renderer/in/label-top.html  |  2 +-
 .../src/test/resources/renderer/in/simple.html     |  2 +-
 tobago-theme/src/main/scss/_tobago.scss            | 57 ++++++++--------------
 44 files changed, 143 insertions(+), 181 deletions(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
index d045a09..f415458 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
@@ -86,9 +86,6 @@ public class DateRenderer<T extends AbstractUIDate> extends MessageLayoutRendere
     final TobagoResponseWriter writer = getResponseWriter(facesContext);
 
     writer.startElement(HtmlElements.DIV);
-    writer.writeClassAttribute(TobagoClass.INPUT__GROUP__OUTER);
-
-    writer.startElement(HtmlElements.DIV);
     writer.writeClassAttribute(BootstrapClass.INPUT_GROUP);
 
     final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, date);
@@ -183,7 +180,6 @@ public class DateRenderer<T extends AbstractUIDate> extends MessageLayoutRendere
   public void encodeEndField(final FacesContext facesContext, final T component) throws IOException {
     final TobagoResponseWriter writer = getResponseWriter(facesContext);
     writer.endElement(HtmlElements.DIV);
-    writer.endElement(HtmlElements.DIV);
   }
 
   @Override
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
index c7636bc..877726c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/InRenderer.java
@@ -96,8 +96,6 @@ public class InRenderer<T extends AbstractUIIn> extends MessageLayoutRendererBas
     final UIComponent before = ComponentUtils.getFacet(component, Facets.before);
 
     if (after != null || before != null) {
-      writer.startElement(HtmlElements.DIV); // Wrapping the field to fix input groups with flexLeft/flexRight
-      writer.writeClassAttribute(TobagoClass.INPUT__GROUP__OUTER);
       writer.startElement(HtmlElements.DIV);
       writer.writeClassAttribute(BootstrapClass.INPUT_GROUP);
     }
@@ -148,7 +146,6 @@ public class InRenderer<T extends AbstractUIIn> extends MessageLayoutRendererBas
     }
 
     writer.writeClassAttribute(
-        getRendererCssClass(),
         BootstrapClass.borderColor(ComponentUtils.getMaximumSeverity(component)),
         BootstrapClass.FORM_CONTROL,
         component.getCustomClass());
@@ -164,7 +161,6 @@ public class InRenderer<T extends AbstractUIIn> extends MessageLayoutRendererBas
 
     if (after != null || before != null) {
       writer.endElement(HtmlElements.DIV);
-      writer.endElement(HtmlElements.DIV);
     }
   }
 
@@ -194,10 +190,6 @@ public class InRenderer<T extends AbstractUIIn> extends MessageLayoutRendererBas
   protected void encodeEndField(final FacesContext facesContext, final T component) throws IOException {
   }
 
-  protected CssItem getRendererCssClass() {
-    return TobagoClass.IN;
-  }
-
   @Override
   protected String getFieldId(final FacesContext facesContext, final T component) {
     return component.getFieldId(facesContext);
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 93c78af..a4c7a28 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
@@ -48,8 +48,8 @@ public enum TobagoClass implements CssItem {
   HEADER("tobago-header"),
 //  IMAGE("tobago-image"),
   // tbd: can be removed?
-  IN("tobago-in"),
-  INPUT__GROUP__OUTER("tobago-input-group-outer"),
+//  IN("tobago-in"),
+//  INPUT__GROUP__OUTER("tobago-input-group-outer"),
   LABEL("tobago-label"),
   LABEL__CONTAINER("tobago-label-container"),
   LINK("tobago-link"),
diff --git a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRendererUnitTest.java b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRendererUnitTest.java
index f4c3ca6..5640003 100644
--- a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRendererUnitTest.java
+++ b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRendererUnitTest.java
@@ -29,6 +29,7 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.faces.application.FacesMessage;
 import javax.faces.convert.Converter;
 import javax.faces.convert.DateTimeConverter;
 import java.io.IOException;
@@ -245,6 +246,32 @@ public class DateRendererUnitTest extends RendererTestBase {
     Assertions.assertEquals(loadHtml("renderer/date/localTimeAuto.html"), formattedResult());
   }
 
+  @Test
+  public void errorMessage() throws IOException {
+    final UIDate d = (UIDate) ComponentUtils.createComponent(
+        facesContext, Tags.date.componentType(), RendererTypes.Date, "id");
+    d.setValue(SPUTNIK_LOCAL_DATE);
+
+    d.setValid(false);
+    facesContext.addMessage("id",
+        new FacesMessage(FacesMessage.SEVERITY_ERROR, "test", "a test"));
+    d.encodeAll(facesContext);
+
+    Assertions.assertEquals(loadHtml("renderer/date/error-message.html"), formattedResult());
+  }
+
+  @Test
+  public void help() throws IOException {
+    final UIDate d = (UIDate) ComponentUtils.createComponent(
+        facesContext, Tags.date.componentType(), RendererTypes.Date, "id");
+    d.setValue(SPUTNIK_LOCAL_DATE);
+
+    d.setHelp("Help!");
+    d.encodeAll(facesContext);
+
+    Assertions.assertEquals(loadHtml("renderer/date/help.html"), formattedResult());
+  }
+
   private void log(UIDate d) {
     Converter<?> converter = d.getConverter();
     String pattern = converter instanceof DateTimeConverter ? ((DateTimeConverter) converter).getPattern() : "-";
diff --git a/tobago-core/src/test/resources/renderer/date/dateAuto.html b/tobago-core/src/test/resources/renderer/date/dateAuto.html
index 93f21ee..792dba2 100644
--- a/tobago-core/src/test/resources/renderer/date/dateAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/dateAuto.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/dateBoth.html b/tobago-core/src/test/resources/renderer/date/dateBoth.html
index 66b92cd..2b3e95e 100644
--- a/tobago-core/src/test/resources/renderer/date/dateBoth.html
+++ b/tobago-core/src/test/resources/renderer/date/dateBoth.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='datetime-local' name='id' id='id::field' value='1957-10-04T19:28:34' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='datetime-local' name='id' id='id::field' value='1957-10-04T19:28:34' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/dateDate.html b/tobago-core/src/test/resources/renderer/date/dateDate.html
index 93f21ee..792dba2 100644
--- a/tobago-core/src/test/resources/renderer/date/dateDate.html
+++ b/tobago-core/src/test/resources/renderer/date/dateDate.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/dateTime.html b/tobago-core/src/test/resources/renderer/date/dateTime.html
index f511e14..6257d0b 100644
--- a/tobago-core/src/test/resources/renderer/date/dateTime.html
+++ b/tobago-core/src/test/resources/renderer/date/dateTime.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='time' name='id' id='id::field' value='19:28:34' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='time' name='id' id='id::field' value='19:28:34' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/dateTimeStep.html b/tobago-core/src/test/resources/renderer/date/dateTimeStep.html
index c9eb855..8668060 100644
--- a/tobago-core/src/test/resources/renderer/date/dateTimeStep.html
+++ b/tobago-core/src/test/resources/renderer/date/dateTimeStep.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='time' step='0.001' name='id' id='id::field' value='19:28:34.123' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='time' step='0.001' name='id' id='id::field' value='19:28:34.123' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/error-message.html b/tobago-core/src/test/resources/renderer/date/error-message.html
similarity index 79%
copy from tobago-core/src/test/resources/renderer/in/error-message.html
copy to tobago-core/src/test/resources/renderer/date/error-message.html
index b1a9de6..1fb1c13 100644
--- a/tobago-core/src/test/resources/renderer/in/error-message.html
+++ b/tobago-core/src/test/resources/renderer/date/error-message.html
@@ -15,12 +15,13 @@
  * limitations under the License.
 -->
 
-<tobago-in id='id' class='tobago-label-container tobago-auto-spacing'>
-  <label for='id::field' class='col-form-label'>label</label>
+<tobago-date id='id' class='tobago-auto-spacing'>
   <div class='tobago-messages-container'>
-    <input type='text' name='id' id='id::field' title='a test' class='tobago-in border-danger form-control' autofocus='autofocus'>
+    <div class='input-group'>
+      <input type='date' name='id' id='id::field' title='a test' class='border-danger form-control' autofocus='autofocus'>
+    </div>
     <tobago-popover data-bs-toggle='popover' title='Error' data-bs-content='a test' data-bs-trigger='focus'>
       <a tabindex='0' role='button' class='btn btn-danger'><i class='bi-exclamation-lg'></i></a>
     </tobago-popover>
   </div>
-</tobago-in>
\ No newline at end of file
+</tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/help.html b/tobago-core/src/test/resources/renderer/date/help.html
similarity index 82%
copy from tobago-core/src/test/resources/renderer/in/help.html
copy to tobago-core/src/test/resources/renderer/date/help.html
index b5e1d77..5d8f4ae 100644
--- a/tobago-core/src/test/resources/renderer/in/help.html
+++ b/tobago-core/src/test/resources/renderer/date/help.html
@@ -15,12 +15,13 @@
  * limitations under the License.
 -->
 
-<tobago-in id='id' class='tobago-label-container tobago-auto-spacing'>
-  <label for='id::field' class='col-form-label'>label</label>
+<tobago-date id='id' class='tobago-auto-spacing'>
   <div class='tobago-messages-container'>
-    <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+    <div class='input-group'>
+      <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
+    </div>
     <tobago-popover data-bs-toggle='popover' title='Help' data-bs-content='Help!' data-bs-trigger='focus'>
       <a tabindex='0' role='button' class='btn btn-outline-info'><i class='bi-question-lg'></i></a>
     </tobago-popover>
   </div>
-</tobago-in>
\ No newline at end of file
+</tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/localDateAuto.html b/tobago-core/src/test/resources/renderer/date/localDateAuto.html
index 53e7f1e..d24765a 100644
--- a/tobago-core/src/test/resources/renderer/date/localDateAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/localDateAuto.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html b/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html
index 5a2eed0..7dc8ebc 100644
--- a/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/localTimeAuto.html b/tobago-core/src/test/resources/renderer/date/localTimeAuto.html
index 0407684..f7d1092 100644
--- a/tobago-core/src/test/resources/renderer/date/localTimeAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/localTimeAuto.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='time' name='id' id='id::field' value='00:28' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='time' name='id' id='id::field' value='00:28' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/minMax.html b/tobago-core/src/test/resources/renderer/date/minMax.html
index fd7c193..9dc4fcd 100644
--- a/tobago-core/src/test/resources/renderer/date/minMax.html
+++ b/tobago-core/src/test/resources/renderer/date/minMax.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='date' name='id' id='id::field' value='1957-10-05' min='1957-09-05' max='1957-11-04' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='date' name='id' id='id::field' value='1957-10-05' min='1957-09-05' max='1957-11-04' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/testLabel.html b/tobago-core/src/test/resources/renderer/date/testLabel.html
index 59e274b..71152ea 100644
--- a/tobago-core/src/test/resources/renderer/date/testLabel.html
+++ b/tobago-core/src/test/resources/renderer/date/testLabel.html
@@ -17,9 +17,7 @@
 
 <tobago-date id='id' class='tobago-label-container tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>Label</label>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/testTodayButton.html b/tobago-core/src/test/resources/renderer/date/testTodayButton.html
index b528429..6cbdb6d 100644
--- a/tobago-core/src/test/resources/renderer/date/testTodayButton.html
+++ b/tobago-core/src/test/resources/renderer/date/testTodayButton.html
@@ -17,10 +17,8 @@
 
 <tobago-date id='id' class='tobago-label-container tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>Label</label>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
-      <button class='btn btn-secondary tobago-now' type='button' title='Today'><i class='bi-arrow-down'></i></button>
-    </div>
+  <div class='input-group'>
+    <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
+    <button class='btn btn-secondary tobago-now' type='button' title='Today'><i class='bi-arrow-down'></i></button>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/text.html b/tobago-core/src/test/resources/renderer/date/text.html
index a02a3ee..2ad5eab 100644
--- a/tobago-core/src/test/resources/renderer/date/text.html
+++ b/tobago-core/src/test/resources/renderer/date/text.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing' date-pattern='dd.mm.yyyy' time-pattern='HH:mm'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='text' name='id' id='id::field' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='text' name='id' id='id::field' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html b/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html
index 5a2eed0..7dc8ebc 100644
--- a/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html
@@ -16,9 +16,7 @@
 -->
 
 <tobago-date id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' class='form-control'>
-    </div>
+  <div class='input-group'>
+    <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' class='form-control'>
   </div>
 </tobago-date>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/ajax.html b/tobago-core/src/test/resources/renderer/in/ajax.html
index 99e1be0..8c3bc63 100644
--- a/tobago-core/src/test/resources/renderer/in/ajax.html
+++ b/tobago-core/src/test/resources/renderer/in/ajax.html
@@ -18,7 +18,7 @@
 <tobago-panel id='panel'>
   <tobago-in id='id' class='tobago-label-container tobago-auto-spacing'>
     <label for='id::field' class='col-form-label'>label</label>
-    <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+    <input type='text' name='id' id='id::field' class='form-control'>
     <tobago-behavior event='change' client-id='id' field-id='id::field' execute='textarea id' render='panel'></tobago-behavior>
   </tobago-in>
   <tobago-textarea id='textarea' class='tobago-auto-spacing'>
diff --git a/tobago-core/src/test/resources/renderer/in/error-message.html b/tobago-core/src/test/resources/renderer/in/error-message.html
index b1a9de6..537a7fa 100644
--- a/tobago-core/src/test/resources/renderer/in/error-message.html
+++ b/tobago-core/src/test/resources/renderer/in/error-message.html
@@ -18,7 +18,7 @@
 <tobago-in id='id' class='tobago-label-container tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>label</label>
   <div class='tobago-messages-container'>
-    <input type='text' name='id' id='id::field' title='a test' class='tobago-in border-danger form-control' autofocus='autofocus'>
+    <input type='text' name='id' id='id::field' title='a test' class='border-danger form-control' autofocus='autofocus'>
     <tobago-popover data-bs-toggle='popover' title='Error' data-bs-content='a test' data-bs-trigger='focus'>
       <a tabindex='0' role='button' class='btn btn-danger'><i class='bi-exclamation-lg'></i></a>
     </tobago-popover>
diff --git a/tobago-core/src/test/resources/renderer/in/help.html b/tobago-core/src/test/resources/renderer/in/help.html
index b5e1d77..a99cc81 100644
--- a/tobago-core/src/test/resources/renderer/in/help.html
+++ b/tobago-core/src/test/resources/renderer/in/help.html
@@ -18,7 +18,7 @@
 <tobago-in id='id' class='tobago-label-container tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>label</label>
   <div class='tobago-messages-container'>
-    <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+    <input type='text' name='id' id='id::field' class='form-control'>
     <tobago-popover data-bs-toggle='popover' title='Help' data-bs-content='Help!' data-bs-trigger='focus'>
       <a tabindex='0' role='button' class='btn btn-outline-info'><i class='bi-question-lg'></i></a>
     </tobago-popover>
diff --git a/tobago-core/src/test/resources/renderer/in/input-group-button-after.html b/tobago-core/src/test/resources/renderer/in/input-group-button-after.html
index 8746eb1..047dc54 100644
--- a/tobago-core/src/test/resources/renderer/in/input-group-button-after.html
+++ b/tobago-core/src/test/resources/renderer/in/input-group-button-after.html
@@ -16,10 +16,8 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
-      <button type='button' id='button' name='button' class='tobago-button btn btn-secondary'><tobago-behavior event='click' client-id='button'></tobago-behavior><span>button</span></button>
-    </div>
+  <div class='input-group'>
+    <input type='text' name='id' id='id::field' class='form-control'>
+    <button type='button' id='button' name='button' class='tobago-button btn btn-secondary'><tobago-behavior event='click' client-id='button'></tobago-behavior><span>button</span></button>
   </div>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/input-group-button-before.html b/tobago-core/src/test/resources/renderer/in/input-group-button-before.html
index 667f781..4e6e7c4 100644
--- a/tobago-core/src/test/resources/renderer/in/input-group-button-before.html
+++ b/tobago-core/src/test/resources/renderer/in/input-group-button-before.html
@@ -16,10 +16,8 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <button type='button' id='button' name='button' class='tobago-button btn btn-secondary'><tobago-behavior event='click' client-id='button'></tobago-behavior><span>button</span></button>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
-    </div>
+  <div class='input-group'>
+    <button type='button' id='button' name='button' class='tobago-button btn btn-secondary'><tobago-behavior event='click' client-id='button'></tobago-behavior><span>button</span></button>
+    <input type='text' name='id' id='id::field' class='form-control'>
   </div>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/input-group-choice-after.html b/tobago-core/src/test/resources/renderer/in/input-group-choice-after.html
index 7b9c126..3eea82c 100644
--- a/tobago-core/src/test/resources/renderer/in/input-group-choice-after.html
+++ b/tobago-core/src/test/resources/renderer/in/input-group-choice-after.html
@@ -16,16 +16,14 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
-      <tobago-select-one-choice id='choice' class='form-select'>
-        <select id='choice::field' name='choice' class='form-select'>
-          <option value=''>Stratocaster
-          </option>
-          <option value=''>Telecaster
-          </option></select>
-      </tobago-select-one-choice>
-    </div>
+  <div class='input-group'>
+    <input type='text' name='id' id='id::field' class='form-control'>
+    <tobago-select-one-choice id='choice' class='form-select'>
+      <select id='choice::field' name='choice' class='form-select'>
+        <option value=''>Stratocaster
+        </option>
+        <option value=''>Telecaster
+        </option></select>
+    </tobago-select-one-choice>
   </div>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/input-group-dropdown-after.html b/tobago-core/src/test/resources/renderer/in/input-group-dropdown-after.html
index 370f45f..f20e992 100644
--- a/tobago-core/src/test/resources/renderer/in/input-group-dropdown-after.html
+++ b/tobago-core/src/test/resources/renderer/in/input-group-dropdown-after.html
@@ -18,16 +18,14 @@
 dropdown-menu-right is temporarily not here (in the div with dropdown-menu), XXX might be to fixed?
 -->
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
-      <tobago-dropdown id='button' class='dropdown'>
-        <button type='button' id='button::command' name='button' data-bs-toggle='dropdown' aria-expanded='false' class='tobago-button btn btn-secondary dropdown-toggle'><tobago-behavior event='click' client-id='button' field-id='button::command' omit='omit'></tobago-behavior><span>dropdown</span></button>
-        <div class='dropdown-menu dropdown-menu-end' aria-labelledby='button::command' name='button'>
-          <button type='button' id='l1' name='l1' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l1'></tobago-behavior><span>Link 1</span></button>
-          <button type='button' id='l2' name='l2' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l2'></tobago-behavior><span>Link 2</span></button>
-        </div>
-      </tobago-dropdown>
-    </div>
+  <div class='input-group'>
+    <input type='text' name='id' id='id::field' class='form-control'>
+    <tobago-dropdown id='button' class='dropdown'>
+      <button type='button' id='button::command' name='button' data-bs-toggle='dropdown' aria-expanded='false' class='tobago-button btn btn-secondary dropdown-toggle'><tobago-behavior event='click' client-id='button' field-id='button::command' omit='omit'></tobago-behavior><span>dropdown</span></button>
+      <div class='dropdown-menu dropdown-menu-end' aria-labelledby='button::command' name='button'>
+        <button type='button' id='l1' name='l1' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l1'></tobago-behavior><span>Link 1</span></button>
+        <button type='button' id='l2' name='l2' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l2'></tobago-behavior><span>Link 2</span></button>
+      </div>
+    </tobago-dropdown>
   </div>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/input-group-dropdown-before.html b/tobago-core/src/test/resources/renderer/in/input-group-dropdown-before.html
index 07ce947..06d7ca0 100644
--- a/tobago-core/src/test/resources/renderer/in/input-group-dropdown-before.html
+++ b/tobago-core/src/test/resources/renderer/in/input-group-dropdown-before.html
@@ -16,16 +16,14 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <tobago-dropdown id='button' class='dropdown'>
-        <button type='button' id='button::command' name='button' data-bs-toggle='dropdown' aria-expanded='false' class='tobago-button btn btn-secondary dropdown-toggle'><tobago-behavior event='click' client-id='button' field-id='button::command' omit='omit'></tobago-behavior><span>dropdown</span></button>
-        <div class='dropdown-menu' aria-labelledby='button::command' name='button'>
-          <button type='button' id='l1' name='l1' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l1'></tobago-behavior><span>Link 1</span></button>
-          <button type='button' id='l2' name='l2' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l2'></tobago-behavior><span>Link 2</span></button>
-        </div>
-      </tobago-dropdown>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
-    </div>
+  <div class='input-group'>
+    <tobago-dropdown id='button' class='dropdown'>
+      <button type='button' id='button::command' name='button' data-bs-toggle='dropdown' aria-expanded='false' class='tobago-button btn btn-secondary dropdown-toggle'><tobago-behavior event='click' client-id='button' field-id='button::command' omit='omit'></tobago-behavior><span>dropdown</span></button>
+      <div class='dropdown-menu' aria-labelledby='button::command' name='button'>
+        <button type='button' id='l1' name='l1' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l1'></tobago-behavior><span>Link 1</span></button>
+        <button type='button' id='l2' name='l2' class='tobago-link dropdown-item'><tobago-behavior event='click' client-id='l2'></tobago-behavior><span>Link 2</span></button>
+      </div>
+    </tobago-dropdown>
+    <input type='text' name='id' id='id::field' class='form-control'>
   </div>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/input-group-out-after.html b/tobago-core/src/test/resources/renderer/in/input-group-out-after.html
index f94a82e..32dd737 100644
--- a/tobago-core/src/test/resources/renderer/in/input-group-out-after.html
+++ b/tobago-core/src/test/resources/renderer/in/input-group-out-after.html
@@ -16,10 +16,8 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
-      <tobago-out class='input-group-text'>out</tobago-out>
-    </div>
+  <div class='input-group'>
+    <input type='text' name='id' id='id::field' class='form-control'>
+    <tobago-out class='input-group-text'>out</tobago-out>
   </div>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/input-group-out-before.html b/tobago-core/src/test/resources/renderer/in/input-group-out-before.html
index 2d92029..5ec13a9 100644
--- a/tobago-core/src/test/resources/renderer/in/input-group-out-before.html
+++ b/tobago-core/src/test/resources/renderer/in/input-group-out-before.html
@@ -16,10 +16,8 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <div class='tobago-input-group-outer'>
-    <div class='input-group'>
-      <tobago-out class='input-group-text'>out</tobago-out>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
-    </div>
+  <div class='input-group'>
+    <tobago-out class='input-group-text'>out</tobago-out>
+    <input type='text' name='id' id='id::field' class='form-control'>
   </div>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/label-flexLeft.html b/tobago-core/src/test/resources/renderer/in/label-flexLeft.html
index 4914277..b2f225f 100644
--- a/tobago-core/src/test/resources/renderer/in/label-flexLeft.html
+++ b/tobago-core/src/test/resources/renderer/in/label-flexLeft.html
@@ -17,5 +17,5 @@
 
 <tobago-in id='id' class='tobago-label-container tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>label</label>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/label-flexRight.html b/tobago-core/src/test/resources/renderer/in/label-flexRight.html
index 1b0e438..072aa04 100644
--- a/tobago-core/src/test/resources/renderer/in/label-flexRight.html
+++ b/tobago-core/src/test/resources/renderer/in/label-flexRight.html
@@ -16,6 +16,6 @@
 -->
 
 <tobago-in id='id' class='tobago-label-container tobago-auto-spacing'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
   <label for='id::field' class='col-form-label'>label</label>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/label-flowLeft.html b/tobago-core/src/test/resources/renderer/in/label-flowLeft.html
index 0468859..a5b90a4 100644
--- a/tobago-core/src/test/resources/renderer/in/label-flowLeft.html
+++ b/tobago-core/src/test/resources/renderer/in/label-flowLeft.html
@@ -17,5 +17,5 @@
 
 <label for='id::field' class='col-form-label'>label</label>
 <tobago-in id='id' class='tobago-auto-spacing tobago-display-inline-block'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-core/src/test/resources/renderer/in/label-flowRight.html b/tobago-core/src/test/resources/renderer/in/label-flowRight.html
index 1c3b322..bf3cf50 100644
--- a/tobago-core/src/test/resources/renderer/in/label-flowRight.html
+++ b/tobago-core/src/test/resources/renderer/in/label-flowRight.html
@@ -16,6 +16,6 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing tobago-display-inline-block'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
 <label for='id::field' class='col-form-label'>label</label>
diff --git a/tobago-core/src/test/resources/renderer/in/label-gridBottom.html b/tobago-core/src/test/resources/renderer/in/label-gridBottom.html
index 5ebf2bf..e2ee2be 100644
--- a/tobago-core/src/test/resources/renderer/in/label-gridBottom.html
+++ b/tobago-core/src/test/resources/renderer/in/label-gridBottom.html
@@ -17,5 +17,5 @@
 
 <label id='id::label' for='id::field' class='col-form-label'>label</label>
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/label-gridLeft.html b/tobago-core/src/test/resources/renderer/in/label-gridLeft.html
index 5ebf2bf..e2ee2be 100644
--- a/tobago-core/src/test/resources/renderer/in/label-gridLeft.html
+++ b/tobago-core/src/test/resources/renderer/in/label-gridLeft.html
@@ -17,5 +17,5 @@
 
 <label id='id::label' for='id::field' class='col-form-label'>label</label>
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/label-gridRight.html b/tobago-core/src/test/resources/renderer/in/label-gridRight.html
index 5ebf2bf..e2ee2be 100644
--- a/tobago-core/src/test/resources/renderer/in/label-gridRight.html
+++ b/tobago-core/src/test/resources/renderer/in/label-gridRight.html
@@ -17,5 +17,5 @@
 
 <label id='id::label' for='id::field' class='col-form-label'>label</label>
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/label-gridTop.html b/tobago-core/src/test/resources/renderer/in/label-gridTop.html
index 5ebf2bf..e2ee2be 100644
--- a/tobago-core/src/test/resources/renderer/in/label-gridTop.html
+++ b/tobago-core/src/test/resources/renderer/in/label-gridTop.html
@@ -17,5 +17,5 @@
 
 <label id='id::label' for='id::field' class='col-form-label'>label</label>
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/label-none.html b/tobago-core/src/test/resources/renderer/in/label-none.html
index 8153fbd..58e647e 100644
--- a/tobago-core/src/test/resources/renderer/in/label-none.html
+++ b/tobago-core/src/test/resources/renderer/in/label-none.html
@@ -16,5 +16,5 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/label-segmentLeft.html b/tobago-core/src/test/resources/renderer/in/label-segmentLeft.html
index 2eb22ca..822b04e 100644
--- a/tobago-core/src/test/resources/renderer/in/label-segmentLeft.html
+++ b/tobago-core/src/test/resources/renderer/in/label-segmentLeft.html
@@ -21,7 +21,7 @@
   </div>
   <div class='col-md-9'>
     <tobago-in id='id' class='tobago-auto-spacing'>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+      <input type='text' name='id' id='id::field' class='form-control'>
     </tobago-in>
   </div>
 </tobago-segment-layout>
diff --git a/tobago-core/src/test/resources/renderer/in/label-segmentRight.html b/tobago-core/src/test/resources/renderer/in/label-segmentRight.html
index c712b40..e38123e 100644
--- a/tobago-core/src/test/resources/renderer/in/label-segmentRight.html
+++ b/tobago-core/src/test/resources/renderer/in/label-segmentRight.html
@@ -18,7 +18,7 @@
 <tobago-segment-layout id='segid' class='row'>
   <div class='col-md-9'>
     <tobago-in id='id' class='tobago-auto-spacing'>
-      <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+      <input type='text' name='id' id='id::field' class='form-control'>
     </tobago-in>
   </div>
   <div class='col-md-3'>
diff --git a/tobago-core/src/test/resources/renderer/in/label-skip.html b/tobago-core/src/test/resources/renderer/in/label-skip.html
index 2eb016a..40fa367 100644
--- a/tobago-core/src/test/resources/renderer/in/label-skip.html
+++ b/tobago-core/src/test/resources/renderer/in/label-skip.html
@@ -17,5 +17,5 @@
 
 <tobago-in id='id' class='tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>label</label>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/label-top.html b/tobago-core/src/test/resources/renderer/in/label-top.html
index 2eb016a..40fa367 100644
--- a/tobago-core/src/test/resources/renderer/in/label-top.html
+++ b/tobago-core/src/test/resources/renderer/in/label-top.html
@@ -17,5 +17,5 @@
 
 <tobago-in id='id' class='tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>label</label>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
diff --git a/tobago-core/src/test/resources/renderer/in/simple.html b/tobago-core/src/test/resources/renderer/in/simple.html
index 968c39f..85e0494 100644
--- a/tobago-core/src/test/resources/renderer/in/simple.html
+++ b/tobago-core/src/test/resources/renderer/in/simple.html
@@ -16,5 +16,5 @@
 -->
 
 <tobago-in id='id' class='tobago-auto-spacing'>
-  <input type='text' name='id' id='id::field' class='tobago-in form-control'>
+  <input type='text' name='id' id='id::field' class='form-control'>
 </tobago-in>
\ No newline at end of file
diff --git a/tobago-theme/src/main/scss/_tobago.scss b/tobago-theme/src/main/scss/_tobago.scss
index 83da645..d292851 100644
--- a/tobago-theme/src/main/scss/_tobago.scss
+++ b/tobago-theme/src/main/scss/_tobago.scss
@@ -113,23 +113,17 @@ $tobago-flex-layout-spacing: 0.5rem;
   }
 }
 
-@mixin markupFatalErrWarnInfo() {
-  &-markup-fatal, &-markup-error {
-    &.border-danger:focus {
-      box-shadow: 0 0 0 .2rem rgba($danger, .25);
-    }
+@mixin messageShadow() {
+  &.border-danger:focus {
+    box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($danger, $input-btn-focus-color-opacity);
   }
 
-  &-markup-warn {
-    &.border-warning:focus {
-      box-shadow: 0 0 0 .2rem rgba($warning, .25);
-    }
+  &.border-warning:focus {
+    box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($warning, $input-btn-focus-color-opacity);
   }
 
-  &-markup-info {
-    &.border-info:focus {
-      box-shadow: 0 0 0 .2rem rgba($info, .25);
-    }
+  &.border-info:focus {
+    box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($info, $input-btn-focus-color-opacity);
   }
 }
 
@@ -273,7 +267,7 @@ tobago-panel.tobago-collapsed {
 
 tobago-date {
 
-  @include markupFatalErrWarnInfo();
+  @include messageShadow();
 
   display: block;
 
@@ -398,14 +392,14 @@ tobago-flex-layout {
 
   > {
     .form-control, .form-control-plaintext,
-    .tobago-input-group-outer, .tobago-messages-container,
+    .input-group, .tobago-messages-container,
     .tobago-selectManyShuttle {
       flex: 1 0 0px;
     }
   }
 
   > .tobago-messages-container {
-    .tobago-input-group-outer, .tobago-selectManyShuttle {
+    .tobago-selectManyShuttle {
       flex: 1 0 0px;
     }
   }
@@ -501,6 +495,14 @@ tobago-image {
 tobago-in {
   display: block;
 
+  input[type='text'] {
+    @include messageShadow();
+
+    &:disabled {
+      color: rgba($input-color, $tobago-form-disabled-alpha);
+    }
+  }
+
   .input-group {
 
     > tobago-dropdown {
@@ -565,21 +567,10 @@ tobago-in {
   }
 }
 
-.tobago-in {
-  @include markupFatalErrWarnInfo();
-
-  &:disabled {
-    color: rgba($input-color, $tobago-form-disabled-alpha);
-  }
-}
-
 .tobago-in-markup-number {
   text-align: right;
 }
 
-.tobago-input-group-outer {
-}
-
 .autocomplete-result-list {
   padding: $dropdown-padding-y $dropdown-padding-x;
   list-style: none;
@@ -723,12 +714,6 @@ tobago-messages label {
   }
 }
 
-tobago-flex-layout.tobago-messages-container > {
-  .tobago-input-group-outer, .tobago-selectManyShuttle {
-    flex: 1 0 0px;
-  }
-}
-
 tobago-messages {
   $alert-icon-padding-x: $alert-padding-x * .8;
   $alert-icon-width: $alert-icon-padding-x + 1rem + $alert-icon-padding-x;
@@ -1115,7 +1100,7 @@ tobago-select-one-choice {
 
 //xxx remove me
 .tobago-selectOneListbox {
-  @include markupFatalErrWarnInfo();
+  @include messageShadow();
 }
 
 //xxx remove me
@@ -1163,7 +1148,7 @@ tobago-select-many-listbox {
 }
 
 .tobago-selectManyListbox {
-  @include markupFatalErrWarnInfo();
+  @include messageShadow();
 }
 
 /* selectManyShuttle ----------------------------------------------------------- */
@@ -1575,7 +1560,7 @@ tobago-tree-listbox, .tobago-treeListbox {
 
 /* textarea --------------------------------------------------------- */
 tobago-textarea textarea {
-  @include markupFatalErrWarnInfo();
+  @include messageShadow();
 
   &:disabled {
     color: rgba($input-color, $tobago-form-disabled-alpha);