To affix a symbol before or after a field.
This is an isolated feature from Bootstrap Input Group.
Use Cases
.input-group
** Bootstrap .input-group
requires extra markup, which can make it cumbersome to combine React JSX components without the components having “external knowledge”.
Known Bugs
s-affixed-input-wrapper__suffix
overlaps with browser controls e.g.<input type="number">
arrows<input type="date">
calendar<input type="time">
clock
<dl>
<dt>Prefix</dt>
<dl>
<dt>Auto-Width Input</dt>
<dd>
<div class="
s-affixed-input-wrapper s-affixed-input-wrapper--prefix
">
<label for="field-dollars">How many dollars do you have?</label>
<span class="s-affixed-input-wrapper__prefix">$</span>
<input type="number" name="dollars" id="field-dollars" inputmode="numeric" step="0.01" min="0.01" />
</div>
</dd>
<dt>Static-Width Input</dt>
<dd class="demo-static-width">
<div class="
s-affixed-input-wrapper s-affixed-input-wrapper--prefix
">
<label for="field-dollars">How many dollars do you have?</label>
<span class="s-affixed-input-wrapper__prefix">$</span>
<input type="number" name="dollars" id="field-dollars" inputmode="numeric" step="0.01" min="0.01" />
</div>
</dd>
<dt>Full-Width Input</dt>
<dd>
<div class="
s-affixed-input-wrapper s-affixed-input-wrapper--prefix
s-affixed-input-wrapper--full-width
">
<label for="field-dollars">How many dollars do you have?</label>
<span class="s-affixed-input-wrapper__prefix">$</span>
<input type="number" name="dollars" id="field-dollars" inputmode="numeric" step="0.01" min="0.01" />
</div>
</dd>
</dl>
<dt>Suffix</dt>
<dl>
<dt>Auto-Width Input</dt>
<dd>
<div class="
s-affixed-input-wrapper s-affixed-input-wrapper--suffix
">
<label for="field-dollars">How many dollars do you have?</label>
<span class="s-affixed-input-wrapper__suffix">$</span>
<input type="number" name="dollars" id="field-dollars" inputmode="numeric" step="0.01" min="0.01" />
</div>
</dd>
<dt>Static-Width Input</dt>
<dd class="demo-static-width">
<div class="
s-affixed-input-wrapper s-affixed-input-wrapper--suffix
">
<label for="field-dollars">How many dollars do you have?</label>
<span class="s-affixed-input-wrapper__suffix">$</span>
<input type="number" name="dollars" id="field-dollars" inputmode="numeric" step="0.01" min="0.01" />
</div>
</dd>
<dt>Full-Width Input</dt>
<dd>
<div class="
s-affixed-input-wrapper s-affixed-input-wrapper--suffix
s-affixed-input-wrapper--full-width
">
<label for="field-dollars">How many dollars do you have?</label>
<span class="s-affixed-input-wrapper__suffix">$</span>
<input type="number" name="dollars" id="field-dollars" inputmode="numeric" step="0.01" min="0.01" />
</div>
</dd>
</dl>
</dl>
/* This CSS is ONLY for the pattern library. It is NOT part of the pattern. */
.demo-static-width input {
width: 25ch;
}
{
"shouldSkipPattern": true,
"globalStyles": [
{
"isInternal": true,
"layer": "base",
"path": "/assets/core-styles.demo.css"
},
{
"isInternal": true,
"layer": "base",
"path": "/assets/core-styles.base.css"
}
],
"cmsStyles": [
{
"isInternal": true,
"layer": "base",
"path": "/assets/core-styles.cms.css"
}
],
"docsStyles": [
{
"isInternal": true,
"layer": "base",
"path": "/assets/core-styles.docs.css"
}
],
"portalStyles": [
{
"isInternal": true,
"layer": "base",
"path": "/assets/core-styles.portal.css"
}
],
"subdir": "trumps",
"shouldLoadCMS": true,
"📝 shouldLoadBootstrap": "temporary dependence, until proven to work on Portal"
}