Skip to content

Commit a745ed3

Browse files
committed
Decouple input and text area styles from form field block
Previously input and text area styles were applied through the `form-field__input` element class. However the styles are occasionally applied outside of a form field (e.g. the filter on the 'all recipes' page) which violates the BEM rule that elements within a block have no standalone meaning. This commit therefore moves the input and text area styles into a separate `input-box` block.
1 parent e6d6b78 commit a745ed3

File tree

12 files changed

+57
-59
lines changed

12 files changed

+57
-59
lines changed

src/Buttercup.Web/Areas/Admin/Views/Users/EditorTemplates/NewUserAttributes.cshtml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@
44
<div asp-validation-summary="ModelOnly"></div>
55
<div class="form-field">
66
<label class="form-field__label" asp-for="Name">@Localizer["Label_Name"]</label>
7-
<input class="form-field__input" asp-for="Name" required>
7+
<input class="input-box" asp-for="Name" required>
88
<span asp-validation-for="Name"></span>
99
</div>
1010
<div class="form-field">
1111
<label class="form-field__label" asp-for="Email">@Localizer["Label_Email"]</label>
12-
<input class="form-field__input" asp-for="Email" required>
12+
<input class="input-box" asp-for="Email" required>
1313
<span asp-validation-for="Email"></span>
1414
</div>
1515
<div class="form-field">
1616
<label class="form-field__label" asp-for="TimeZone">@Localizer["Label_TimeZone"]</label>
17-
<select class="form-field__input" asp-for="TimeZone" asp-items="TimeZoneOptions.AllOptions().AsSelectListItems()" required>
17+
<select class="input-box" asp-for="TimeZone" asp-items="TimeZoneOptions.AllOptions().AsSelectListItems()" required>
1818
</select>
1919
<span asp-validation-for="TimeZone"></span>
2020
</div>

src/Buttercup.Web/Views/Account/ChangePassword.cshtml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
<form method="post">
88
<div class="form-field">
99
<label class="form-field__label" asp-for="CurrentPassword">@Localizer["Label_CurrentPassword"]</label>
10-
<input class="form-field__input" asp-for="CurrentPassword" required>
10+
<input class="input-box" asp-for="CurrentPassword" required>
1111
<span asp-validation-for="CurrentPassword"></span>
1212
</div>
1313
<div class="form-field">
1414
<label class="form-field__label" asp-for="NewPassword">@Localizer["Label_NewPassword"]</label>
15-
<input class="form-field__input" asp-for="NewPassword" required>
15+
<input class="input-box" asp-for="NewPassword" required>
1616
<span asp-validation-for="NewPassword"></span>
1717
</div>
1818
<div class="form-field">
1919
<label class="form-field__label" asp-for="ConfirmNewPassword">@Localizer["Label_ConfirmNewPassword"]</label>
20-
<input class="form-field__input" asp-for="ConfirmNewPassword" required>
20+
<input class="input-box" asp-for="ConfirmNewPassword" required>
2121
<span asp-validation-for="ConfirmNewPassword"></span>
2222
</div>
2323
<div class="button-bar">

src/Buttercup.Web/Views/Account/Preferences.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<form method="post">
99
<div class="form-field">
1010
<label class="form-field__label" asp-for="TimeZone">@Localizer["Label_TimeZone"]</label>
11-
<select class="form-field__input" asp-for="TimeZone" asp-items="TimeZoneOptions.AllOptions().AsSelectListItems()" required>
11+
<select class="input-box" asp-for="TimeZone" asp-items="TimeZoneOptions.AllOptions().AsSelectListItems()" required>
1212
</select>
1313
<span asp-validation-for="TimeZone"></span>
1414
</div>

src/Buttercup.Web/Views/Authentication/RequestPasswordReset.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<div asp-validation-summary="ModelOnly"></div>
99
<div class="form-field">
1010
<label class="form-field__label" asp-for="Email">@Localizer["Label_Email"]</label>
11-
<input class="form-field__input" asp-for="Email" required>
11+
<input class="input-box" asp-for="Email" required>
1212
<span asp-validation-for="Email"></span>
1313
</div>
1414
<button class="push-button push-button--primary">@Localizer["Label_SendResetLink"]</button>

src/Buttercup.Web/Views/Authentication/ResetPassword.cshtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
<form method="post">
88
<div class="form-field">
99
<label class="form-field__label" asp-for="Password">@Localizer["Label_NewPassword"]</label>
10-
<input class="form-field__input" asp-for="Password" required>
10+
<input class="input-box" asp-for="Password" required>
1111
<span asp-validation-for="Password"></span>
1212
</div>
1313
<div class="form-field">
1414
<label class="form-field__label" asp-for="ConfirmPassword">@Localizer["Label_ConfirmNewPassword"]</label>
15-
<input class="form-field__input" asp-for="ConfirmPassword" required>
15+
<input class="input-box" asp-for="ConfirmPassword" required>
1616
<span asp-validation-for="ConfirmPassword"></span>
1717
</div>
1818
<button class="push-button push-button--primary">@Localizer["Label_SetPassword"]</button>

src/Buttercup.Web/Views/Authentication/SignIn.cshtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
<div asp-validation-summary="ModelOnly"></div>
99
<div class="form-field">
1010
<label class="form-field__label" asp-for="Email">@Localizer["Label_Email"]</label>
11-
<input class="form-field__input" asp-for="Email" required>
11+
<input class="input-box" asp-for="Email" required>
1212
<span asp-validation-for="Email"></span>
1313
</div>
1414
<div class="form-field">
1515
<label class="form-field__label" asp-for="Password">@Localizer["Label_Password"]</label>
16-
<input class="form-field__input" asp-for="Password" required>
16+
<input class="input-box" asp-for="Password" required>
1717
<a class="form-field__link" asp-action="RequestPasswordReset">@Localizer["Label_ForgotPassword"]</a>
1818
<span asp-validation-for="Password"></span>
1919
</div>

src/Buttercup.Web/Views/Recipes/EditorTemplates/RecipeAttributes.cshtml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,46 @@
33
<div asp-validation-summary="ModelOnly"></div>
44
<div class="form-field">
55
<label class="form-field__label" asp-for="Title">@Localizer["Label_Title"]</label>
6-
<input class="form-field__input" asp-for="Title" required>
6+
<input class="input-box" asp-for="Title" required>
77
<span asp-validation-for="Title"></span>
88
</div>
99
<div class="form-field">
1010
<label class="form-field__label" asp-for="PreparationMinutes">@Localizer["Label_PreparationTime"]</label>
11-
<input class="form-field__input" asp-for="PreparationMinutes">
11+
<input class="input-box" asp-for="PreparationMinutes">
1212
<span asp-validation-for="PreparationMinutes"></span>
1313
</div>
1414
<div class="form-field">
1515
<label class="form-field__label" asp-for="CookingMinutes">@Localizer["Label_CookingTime"]</label>
16-
<input class="form-field__input" asp-for="CookingMinutes">
16+
<input class="input-box" asp-for="CookingMinutes">
1717
<span asp-validation-for="CookingMinutes"></span>
1818
</div>
1919
<div class="form-field">
2020
<label class="form-field__label" asp-for="Servings">@Localizer["Label_Servings"]</label>
21-
<input class="form-field__input" asp-for="Servings">
21+
<input class="input-box" asp-for="Servings">
2222
<span asp-validation-for="Servings"></span>
2323
</div>
2424
<div class="form-field">
2525
<label class="form-field__label" asp-for="Ingredients">@Localizer["Label_Ingredients"]</label>
26-
<textarea class="form-field__input form-field__input--tall" asp-for="Ingredients" required></textarea>
26+
<textarea class="input-box input-box--tall" asp-for="Ingredients" required></textarea>
2727
<span asp-validation-for="Ingredients"></span>
2828
</div>
2929
<div class="form-field">
3030
<label class="form-field__label" asp-for="Method">@Localizer["Label_Method"]</label>
31-
<textarea class="form-field__input form-field__input--tall" asp-for="Method" required></textarea>
31+
<textarea class="input-box input-box--tall" asp-for="Method" required></textarea>
3232
<span asp-validation-for="Method"></span>
3333
</div>
3434
<div class="form-field">
3535
<label class="form-field__label" asp-for="Suggestions">@Localizer["Label_Suggestions"]</label>
36-
<textarea class="form-field__input" asp-for="Suggestions"></textarea>
36+
<textarea class="input-box" asp-for="Suggestions"></textarea>
3737
<span asp-validation-for="Suggestions"></span>
3838
</div>
3939
<div class="form-field">
4040
<label class="form-field__label" asp-for="Remarks">@Localizer["Label_Remarks"]</label>
41-
<textarea class="form-field__input" asp-for="Remarks"></textarea>
41+
<textarea class="input-box" asp-for="Remarks"></textarea>
4242
<span asp-validation-for="Remarks"></span>
4343
</div>
4444
<div class="form-field">
4545
<label class="form-field__label" asp-for="Source">@Localizer["Label_Source"]</label>
46-
<input class="form-field__input" asp-for="Source">
46+
<input class="input-box" asp-for="Source">
4747
<span asp-validation-for="Source"></span>
4848
</div>

src/Buttercup.Web/Views/Recipes/Index.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
}
66
<div class="recipes-index__header">
77
<h1>@Localizer["Title_AllRecipes"]</h1>
8-
<input id="recipe-index__filter" class="form-field__input" placeholder="@Localizer["Label_FindRecipe"]" aria-label="@Localizer["Label_FindRecipe"]" />
8+
<input id="recipe-index__filter" class="input-box" placeholder="@Localizer["Label_FindRecipe"]" aria-label="@Localizer["Label_FindRecipe"]" />
99
</div>
1010
<table id="recipes-index__table" class="data-table">
1111
<colgroup>

src/Buttercup.Web/Views/Recipes/Show.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
<form class="new-comment-form" method="post" asp-action="AddComment" asp-route-id="@Model.Recipe.Id">
9898
<p class="new-comment-form__author">@User.Identity?.Name</p>
9999
<div class="new-comment-form__field form-field">
100-
<textarea class="form-field__input" asp-for="NewCommentAttributes.Body" aria-label="@Localizer["Label_Comment"]" placeholder="@Localizer["Placeholder_Comment"]" required></textarea>
100+
<textarea class="input-box" asp-for="NewCommentAttributes.Body" aria-label="@Localizer["Label_Comment"]" placeholder="@Localizer["Placeholder_Comment"]" required></textarea>
101101
<span asp-validation-for="NewCommentAttributes.Body"></span>
102102
</div>
103103
<button class="push-button push-button--primary">@Localizer["Label_Add"]</button>

src/Buttercup.Web/styles/form-fields.less

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22
@form-vertical-padding-large: 1.5em;
33
@form-vertical-padding-small: 0.5em;
44

5-
@form-input-border-width: 1px;
6-
@form-input-height: 2.5em;
7-
@form-input-input-padding: 0.75em;
8-
95
.form-field {
106
display: flex;
117
flex-direction: column;
@@ -25,38 +21,6 @@
2521
}
2622
}
2723

28-
.form-field__input {
29-
background-color: @color-white;
30-
border: @form-input-border-width solid @color-grey;
31-
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15);
32-
box-sizing: border-box;
33-
height: @form-input-height;
34-
padding: 0 @form-input-input-padding;
35-
36-
&.input-validation-error {
37-
border-color: @color-red;
38-
}
39-
40-
&:focus {
41-
border-color: @color-blue;
42-
outline: 0;
43-
}
44-
45-
textarea& {
46-
@vertical-midpoint: calc(
47-
(@form-input-height / 2) - @form-input-border-width
48-
);
49-
50-
height: 6em;
51-
padding: calc(@vertical-midpoint - 0.5em) @form-input-input-padding;
52-
resize: vertical;
53-
54-
&.form-field__input--tall {
55-
height: 10em;
56-
}
57-
}
58-
}
59-
6024
.form-field__link {
6125
margin-top: @form-vertical-padding-small;
6226
}

0 commit comments

Comments
 (0)