<div class="forminput forminput-is-error">
<label class="forminput-x-label" for="input">Label</label>
<div class="forminput-x-input">
<input type="text" name="input" id="input">
</div>
<p class="forminput-x-note">Note.</p>
<p class="forminput-x-error">Error Message.</p>
</div>
<div class="{{render '@forminput' formInputContext merge=true}}">
<label class="forminput-x-label" for="input">Label</label>
<div class="forminput-x-input">
{{#textarea}}
<textarea name="" id="" cols="30" rows="10" {{#disabled}}disabled{{/disabled}}></textarea>
{{else}}
<input type="text" name="input" id="input" {{#disabled}}disabled{{/disabled}}>
{{/textarea}}
</div>
<p class="forminput-x-note">Note.</p>
{{#hasError}}<p class="forminput-x-error">Error Message.</p>{{/hasError}}
</div>
{
"formInputContext": {
"modifier": "forminput-is-error"
},
"hasError": true
}
.forminput {
.forminput-x-error,
.forminput-x-label,
.forminput-x-note {
@include textstyle-smallbold;
}
.forminput-x-error {
color: $color-interactive2;
}
.forminput-x-label {
margin-bottom: $gridspacing / 2;
transition: color $transition-duration $transition-easing;
will-change: color;
}
.forminput-x-note {
margin-top: $gridspacing;
}
.forminput-x-input {
> input,
> textarea,
> select {
@include textstyle-body;
background-color: rgba($color-interactive1, .08);
border-radius: $border-radius;
box-sizing: border-box;
color: $color-dark3;
padding: $gridspacing * 1.5 $gridspacing * 2;
transition: background-color $transition-duration $transition-easing,
box-shadow $transition-duration $transition-easing,
color $transition-duration $transition-easing;
width: 100%;
will-change: background-color, box-shadow, color;
&:focus,
&:hover {
box-shadow: 0 0 0 1px inset $color-interactive1;
outline: none;
}
&:active {
box-shadow: 0 0 0 1px inset $color-dark4;
color: $color-dark2;
}
}
> textarea {
height: 88px;
}
}
&.forminput-is-disabled {
.forminput-x-label {
color: $color-dark3;
}
.forminput-x-input {
> input,
> textarea,
> select {
background-color: $color-light2;
pointer-events: none;
}
}
}
&.forminput-is-error {
.forminput-x-label {
color: $color-interactive2;
}
.forminput-x-input {
> input,
> textarea,
> select {
box-shadow: 0 0 0 1px $color-interactive2;
}
}
}
}
.forminput-iconbutton {
.forminput-x-input {
position: relative;
display: flex;
align-items: center;
input {
background: $color-light1;
border-radius: 0;
padding-right: $gridspacing * 5;
}
}
.forminput-x-button {
position: absolute;
right: $gridspacing * 1.5;
svg {
width: $gridspacing * 3;
height: $gridspacing * 3;
fill: $color-dark1;
}
}
}
.forminput-select-inline {
.forminput-x-label {
@include textstyle-smallbold;
margin-right: $gridspacing;
}
.forminput-x-input {
flex-grow: 1;
position: relative;
display: flex;
align-items: center;
svg {
fill: $color-dark1;
width: 16px;
height: 16px;
position: absolute;
right: $gridspacing * 1.5;
pointer-events: none;
}
select {
padding-right: 30px;
}
}
}
No notes defined.