diff --git a/src/Bootstrap/dist/css/bootstrap-theme.css b/src/Bootstrap/dist/css/bootstrap-theme.css index 7c2b4d41b7..59fa68a781 100644 --- a/src/Bootstrap/dist/css/bootstrap-theme.css +++ b/src/Bootstrap/dist/css/bootstrap-theme.css @@ -282,6 +282,9 @@ body h3 { margin: 0; padding: 10px; } +a { + color: var(--brandForegroundLinkRest); +} .alert-transient-jumbotron { background: transparent; } @@ -496,6 +499,7 @@ body[id="/"] { margin: 0; background-repeat: no-repeat; background-attachment: fixed; + color: var(--neutralForeground1Rest); } .modal-backdrop.in { opacity: 0.8 !important; @@ -515,7 +519,7 @@ body[id="/"] { } .modal-container .modal-box { border-radius: 8px; - background-color: white; + background-color: var(--neutralBackground2Rest); margin-left: auto; margin-right: auto; min-height: 364px; @@ -527,8 +531,8 @@ body[id="/"] { padding: 0px; } .modal-container .modal-box .modal-title { - background-color: #4181B8; - color: white; + background-color: var(--brandBackgroundStatic); + color: var(--neutralForegroundStaticInvertedRest); padding: 15px; } .modal-container .modal-box .modal-title .dismiss-button { @@ -543,7 +547,7 @@ body[id="/"] { font-size: 14px; } .modal-container .modal-box .modal-body .tag-node { - background-color: #fff4ce; + background-color: var(--statusGenericMarigoldBackground2Rest); padding: 13px; text-align: left; } @@ -3148,7 +3152,7 @@ p.frameworktableinfo-text { /* Brand colors */ /* brand tokens have been swapped to use blues from the .NET brand colors */ /* Brand Background Static */ - --brandBackgroundStatic: var(--dotnetBluePrimary, #0b6cff); + --brandBackgroundStatic: var(--dotnetBluePrimary, #0f6cbd); /* Brand Background 1 */ --brandBackground1Rest: var(--dotnetBluePrimary, #0b6cff); --brandBackground1Hover: var(--dotnetBlueShade10, #0956cc); @@ -3488,7 +3492,7 @@ p.frameworktableinfo-text { /* Brand colors */ /* brand tokens have been swapped to use blues from the .NET brand colors */ /* Brand Background Static */ - --brandBackgroundStatic: var(--dotnetBluePrimary, #0b6cff); + --brandBackgroundStatic: var(--dotnetBluePrimary, #0f6cbd); /* Brand Background 1 */ --brandBackground1Rest: var(--dotnetBlueShade10, #0956cc); --brandBackground1Hover: var(--dotnetBluePrimary, #0b6cff); diff --git a/src/Bootstrap/dist/css/bootstrap.css b/src/Bootstrap/dist/css/bootstrap.css index 2e77fd06ee..887c2c4da7 100644 --- a/src/Bootstrap/dist/css/bootstrap.css +++ b/src/Bootstrap/dist/css/bootstrap.css @@ -2069,7 +2069,8 @@ fieldset[disabled] .form-control { textarea.form-control { height: auto; } -textarea.textarea-brand { +textarea.textarea-brand, +input.input-brand { color: var(--neutralForeground1Rest); background-color: var(--neutralBackground1Rest); border-radius: 4px; @@ -2079,53 +2080,72 @@ textarea.textarea-brand { -webkit-box-shadow: none !important; box-shadow: none !important; } -textarea.textarea-brand:hover { +textarea.textarea-brand:hover, +input.input-brand:hover { border: 1px solid var(--neutralStroke1Hover); border-bottom: 2px solid var(--neutralStrokeAccessibleHover); } textarea.textarea-brand:focus, +input.input-brand:focus, textarea.textarea-brand:focus-within, -textarea.textarea-brand:focus-visible { +input.input-brand:focus-within, +textarea.textarea-brand:focus-visible, +input.input-brand:focus-visible { border: 1px solid var(--neutralStroke1Rest); border-bottom: 2px solid var(--brandStrokeCompoundRest); } -textarea.textarea-brand[disabled] { +textarea.textarea-brand[aria-invalid='true'], +input.input-brand[aria-invalid='true'] { + border-color: var(--statusDangerStroke2Rest); +} +textarea.textarea-brand[disabled], +input.input-brand[disabled] { background-color: transparent; color: var(--neutralForegroundDisabledRest); border-color: var(--neutralStrokeDisabledRest); } -textarea.textarea-brand[disabled]::-moz-placeholder { +textarea.textarea-brand[disabled]::-moz-placeholder, +input.input-brand[disabled]::-moz-placeholder { color: var(--neutralForegroundDisabledRest); opacity: 1; } -textarea.textarea-brand[disabled]:-ms-input-placeholder { +textarea.textarea-brand[disabled]:-ms-input-placeholder, +input.input-brand[disabled]:-ms-input-placeholder { color: var(--neutralForegroundDisabledRest); } -textarea.textarea-brand[disabled]::-webkit-input-placeholder { +textarea.textarea-brand[disabled]::-webkit-input-placeholder, +input.input-brand[disabled]::-webkit-input-placeholder { color: var(--neutralForegroundDisabledRest); } -textarea.textarea-brand[readonly] { +textarea.textarea-brand[readonly], +input.input-brand[readonly] { background-color: transparent; border-color: var(--neutralStrokeDisabledRest); } -textarea.textarea-brand[readonly]::-moz-placeholder { +textarea.textarea-brand[readonly]::-moz-placeholder, +input.input-brand[readonly]::-moz-placeholder { color: var(--neutralForeground1Rest); opacity: 1; } -textarea.textarea-brand[readonly]:-ms-input-placeholder { +textarea.textarea-brand[readonly]:-ms-input-placeholder, +input.input-brand[readonly]:-ms-input-placeholder { color: var(--neutralForeground1Rest); } -textarea.textarea-brand[readonly]::-webkit-input-placeholder { +textarea.textarea-brand[readonly]::-webkit-input-placeholder, +input.input-brand[readonly]::-webkit-input-placeholder { color: var(--neutralForeground1Rest); } -textarea.textarea-brand::-moz-placeholder { +textarea.textarea-brand::-moz-placeholder, +input.input-brand::-moz-placeholder { color: var(--neutralForeground4Rest); opacity: 1; } -textarea.textarea-brand:-ms-input-placeholder { +textarea.textarea-brand:-ms-input-placeholder, +input.input-brand:-ms-input-placeholder { color: var(--neutralForeground4Rest); } -textarea.textarea-brand::-webkit-input-placeholder { +textarea.textarea-brand::-webkit-input-placeholder, +input.input-brand::-webkit-input-placeholder { color: var(--neutralForeground4Rest); } @media screen and (-webkit-min-device-pixel-ratio: 0) { @@ -2420,6 +2440,58 @@ select[multiple].input-lg { .has-error .form-control-feedback { color: #a94442; } +.has-error-brand .help-block, +.has-error-brand .control-label, +.has-error-brand .radio, +.has-error-brand .checkbox, +.has-error-brand .radio-inline, +.has-error-brand .checkbox-inline, +.has-error-brand.radio label, +.has-error-brand.checkbox label, +.has-error-brand.radio-inline label, +.has-error-brand.checkbox-inline label { + color: var(--statusDangerForeground1Rest); +} +.has-error-brand .form-control { + border-color: var(--statusDangerStroke2Rest); +} +.has-error-brand .form-control:focus { + border-color: var(--statusDangerStroke2Rest); +} +.has-error-brand .input-group-addon { + color: var(--statusDangerForeground3Rest); + background-color: var(--statusDangerBackground1Rest); + border-color: var(--statusDangerStroke2Rest); +} +.has-error-brand .form-control-feedback { + color: var(--statusDangerForeground3Rest); +} +.form-control-validation-brand .help-block, +.form-control-validation-brand .control-label, +.form-control-validation-brand .radio, +.form-control-validation-brand .checkbox, +.form-control-validation-brand .radio-inline, +.form-control-validation-brand .checkbox-inline, +.form-control-validation-brand.radio label, +.form-control-validation-brand.checkbox label, +.form-control-validation-brand.radio-inline label, +.form-control-validation-brand.checkbox-inline label { + color: var(--statusDangerForeground1Rest); +} +.form-control-validation-brand .form-control { + border-color: var(--statusDangerStroke2Rest); +} +.form-control-validation-brand .form-control:focus { + border-color: var(--statusDangerStroke2Rest); +} +.form-control-validation-brand .input-group-addon { + color: var(--statusDangerForeground3Rest); + background-color: var(--statusDangerBackground1Rest); + border-color: var(--statusDangerStroke2Rest); +} +.form-control-validation-brand .form-control-feedback { + color: var(--statusDangerForeground3Rest); +} .has-feedback label ~ .form-control-feedback { top: 27px; } @@ -5054,11 +5126,11 @@ ul.list-packages { } .panel { margin-bottom: 22px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 0px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + background-color: transparent; + border-radius: var(--X-Large, 8px); + -webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.14); + box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.14); + background-color: var(--neutralBackground1Rest); } .panel-body { padding: 15px; diff --git a/src/Bootstrap/less/forms.less b/src/Bootstrap/less/forms.less index 543faa3c72..f01f965d4a 100644 --- a/src/Bootstrap/less/forms.less +++ b/src/Bootstrap/less/forms.less @@ -335,7 +335,8 @@ output { } } -textarea.textarea-brand { +textarea.textarea-brand, +input.input-brand { color: var(--neutralForeground1Rest); background-color: var(--neutralBackground1Rest); border-radius: 4px; @@ -357,6 +358,10 @@ textarea.textarea-brand { border-bottom: 2px solid var(--brandStrokeCompoundRest); } + &[aria-invalid='true'] { + border-color: var(--statusDangerStroke2Rest); + } + &[disabled] { background-color: transparent; color: var(--neutralForegroundDisabledRest); @@ -383,7 +388,7 @@ textarea.textarea-brand { &:-ms-input-placeholder { color: var(--neutralForeground1Rest); } // Internet Explorer 10+ &::-webkit-input-placeholder { color: var(--neutralForeground1Rest); } // Safari and Chrome } - + // Firefox &::-moz-placeholder { color: var(--neutralForeground4Rest); @@ -636,6 +641,43 @@ textarea.textarea-brand { .has-error { .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg); } +.has-error-brand { + .form-control-validation-brand(); +} + +.form-control-validation-brand { + // Color the label and help text + .help-block, + .control-label, + .radio, + .checkbox, + .radio-inline, + .checkbox-inline, + &.radio label, + &.checkbox label, + &.radio-inline label, + &.checkbox-inline label { + color: var(--statusDangerForeground1Rest); + } + // Set the border and box shadow on specific inputs to match + .form-control { + border-color: var(--statusDangerStroke2Rest); + &:focus { + border-color: var(--statusDangerStroke2Rest); + } + } + // Set validation states also for addons + .input-group-addon { + color: var(--statusDangerForeground3Rest); + background-color: var(--statusDangerBackground1Rest); + border-color: var(--statusDangerStroke2Rest); + } + // Optional feedback icon + .form-control-feedback { + color: var(--statusDangerForeground3Rest); + } +} + // Reposition feedback icon if input has visible label above .has-feedback label { @@ -812,4 +854,4 @@ textarea.textarea-brand { } } } -} +} \ No newline at end of file diff --git a/src/Bootstrap/less/panels.less b/src/Bootstrap/less/panels.less index f230a84a07..e168020885 100644 --- a/src/Bootstrap/less/panels.less +++ b/src/Bootstrap/less/panels.less @@ -8,10 +8,11 @@ // Base class .panel { margin-bottom: @line-height-computed; - background-color: @panel-bg; - border: 1px solid transparent; - border-radius: @panel-border-radius; - .box-shadow(0 1px 1px rgba(0, 0, 0, .05)); + background-color: transparent; + + border-radius: var(--X-Large, 8px); + box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.14); + background-color: var(--neutralBackground1Rest); } // Panel contents diff --git a/src/Bootstrap/less/theme/base.less b/src/Bootstrap/less/theme/base.less index bf09127869..b8891476c6 100644 --- a/src/Bootstrap/less/theme/base.less +++ b/src/Bootstrap/less/theme/base.less @@ -356,6 +356,10 @@ body { } } +a { + color: var(--brandForegroundLinkRest); +} + .alert-transient-jumbotron { background: transparent; } @@ -604,4 +608,5 @@ body[id="/"] { margin: 0; background-repeat: no-repeat; background-attachment: fixed; + color: var(--neutralForeground1Rest) } \ No newline at end of file diff --git a/src/Bootstrap/less/theme/modals.less b/src/Bootstrap/less/theme/modals.less index d9c53b9e8f..635ba3beaf 100644 --- a/src/Bootstrap/less/theme/modals.less +++ b/src/Bootstrap/less/theme/modals.less @@ -12,7 +12,7 @@ .modal-box { border-radius: 8px; - background-color: white; + background-color: var(--neutralBackground2Rest);; margin-left: auto; margin-right: auto; min-height: 364px; @@ -23,8 +23,8 @@ padding: 0px; .modal-title { - background-color: #4181B8; - color: white; + background-color: var(--brandBackgroundStatic); + color: var(--neutralForegroundStaticInvertedRest); padding: 15px; .dismiss-button { @@ -41,7 +41,7 @@ font-size: 14px; .tag-node { - background-color: @info-bg; + background-color: var(--statusGenericMarigoldBackground2Rest); padding: 13px; text-align: left; diff --git a/src/Bootstrap/less/theme/themes.less b/src/Bootstrap/less/theme/themes.less index 2f46fb3af9..5d2a2d1b99 100644 --- a/src/Bootstrap/less/theme/themes.less +++ b/src/Bootstrap/less/theme/themes.less @@ -10,7 +10,7 @@ /* brand tokens have been swapped to use blues from the .NET brand colors */ /* Brand Background Static */ - --brandBackgroundStatic: var(--dotnetBluePrimary, #0b6cff); + --brandBackgroundStatic: var(--dotnetBluePrimary, #0f6cbd); /* Brand Background 1 */ --brandBackground1Rest: var(--dotnetBluePrimary, #0b6cff); @@ -415,7 +415,7 @@ /* brand tokens have been swapped to use blues from the .NET brand colors */ /* Brand Background Static */ - --brandBackgroundStatic: var(--dotnetBluePrimary, #0b6cff); + --brandBackgroundStatic: var(--dotnetBluePrimary, #0f6cbd); /* Brand Background 1 */ --brandBackground1Rest: var(--dotnetBlueShade10, #0956cc); diff --git a/src/NuGetGallery/App_Code/ViewHelpers.cshtml b/src/NuGetGallery/App_Code/ViewHelpers.cshtml index 3bacba6c96..75f848e8c2 100644 --- a/src/NuGetGallery/App_Code/ViewHelpers.cshtml +++ b/src/NuGetGallery/App_Code/ViewHelpers.cshtml @@ -41,7 +41,7 @@ @helper Alert(Func htmlContent, string subclass, string icon, bool isAlertRole = false) { -
role="alert" aria-live="assertive" }> +
role="alert" aria-live="assertive" }> @htmlContent(MvcHtmlString.Empty)
diff --git a/src/NuGetGallery/Areas/Admin/Views/PackageOwnership/Index.cshtml b/src/NuGetGallery/Areas/Admin/Views/PackageOwnership/Index.cshtml index 089a3549ad..f3f9b34855 100644 --- a/src/NuGetGallery/Areas/Admin/Views/PackageOwnership/Index.cshtml +++ b/src/NuGetGallery/Areas/Admin/Views/PackageOwnership/Index.cshtml @@ -13,7 +13,7 @@

-
@Html.ShowValidationMessagesForEmpty()
+
@Html.ShowValidationMessagesForEmpty()
@Html.ShowValidationMessagesFor(m => m.PackageIds)
diff --git a/src/NuGetGallery/ExtensionMethods.cs b/src/NuGetGallery/ExtensionMethods.cs index 49a34fc52a..06efd774eb 100644 --- a/src/NuGetGallery/ExtensionMethods.cs +++ b/src/NuGetGallery/ExtensionMethods.cs @@ -92,7 +92,7 @@ public static HtmlString HasErrorFor(this HtmlHelper { if (IsError(htmlHelper, expression)) { - return MvcHtmlString.Create("has-error"); + return MvcHtmlString.Create("has-error-brand"); } else { @@ -139,6 +139,13 @@ public static HtmlString ShowPasswordFor(this HtmlHelper(this HtmlHelper html, Expression> expression, string brandClass) + { + var htmlAttributes = GetHtmlAttributes(html, expression, brandClass); + htmlAttributes["autocomplete"] = "off"; + return html.PasswordFor(expression, htmlAttributes); + } + public static HtmlString ShowTextBoxFor(this HtmlHelper html, Expression> expression, bool enabled = true, string placeholder = null) { var htmlAttributes = GetHtmlAttributes(html, expression); @@ -155,6 +162,22 @@ public static HtmlString ShowTextBoxFor(this HtmlHelper(this HtmlHelper html, Expression> expression, string brandClass, bool enabled = true, string placeholder = null) + { + var htmlAttributes = GetHtmlAttributes(html, expression, brandClass); + if (!enabled) + { + htmlAttributes.Add("disabled", "true"); + } + + if (placeholder != null) + { + htmlAttributes.Add("placeholder", placeholder); + } + + return html.TextBoxFor(expression, htmlAttributes); + } + public static HtmlString ShowEmailBoxFor(this HtmlHelper html, Expression> expression) { var htmlAttributes = GetHtmlAttributes(html, expression); @@ -162,6 +185,13 @@ public static HtmlString ShowEmailBoxFor(this HtmlHelper(this HtmlHelper html, Expression> expression, string brandClass) + { + var htmlAttributes = GetHtmlAttributes(html, expression, brandClass); + htmlAttributes["type"] = "email"; + return html.TextBoxFor(expression, htmlAttributes); + } + public static HtmlString ShowCheckboxFor(this HtmlHelper html, Expression> expression) { var htmlAttributes = GetHtmlAttributes(html, expression, isFormControl: false, isCheckbox: true); @@ -203,6 +233,16 @@ private static Dictionary GetHtmlAttributes( Expression> expression, bool isFormControl = true, bool isCheckbox = false) + { + return GetHtmlAttributes(html, expression, null, isFormControl, isCheckbox); + } + + private static Dictionary GetHtmlAttributes( + HtmlHelper html, + Expression> expression, + string brandClass, + bool isFormControl = true, + bool isCheckbox = false) { var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData); var propertyName = metadata.PropertyName.ToLower(); @@ -212,7 +252,14 @@ private static Dictionary GetHtmlAttributes( if (isFormControl) { - htmlAttributes["class"] = "form-control"; + if (brandClass != null) + { + htmlAttributes["class"] = $"form-control {brandClass}"; + } + else + { + htmlAttributes["class"] = "form-control"; + } } // If the property is required, mark it as required unless it's a checkbox. diff --git a/src/NuGetGallery/Scripts/gallery/common.js b/src/NuGetGallery/Scripts/gallery/common.js index de0be90eaa..577386b138 100644 --- a/src/NuGetGallery/Scripts/gallery/common.js +++ b/src/NuGetGallery/Scripts/gallery/common.js @@ -38,10 +38,10 @@ var validatorErrorClass = 'help-block'; $.validator.setDefaults({ highlight: function (element) { - $(element).closest('.form-group').addClass('has-error'); + $(element).closest('.form-group').addClass('has-error-brand'); }, unhighlight: function (element) { - $(element).closest('.form-group').removeClass('has-error'); + $(element).closest('.form-group').removeClass('has-error-brand'); }, errorElement: 'span', errorClass: validatorErrorClass, @@ -603,7 +603,7 @@ }); // Select the first input that has an error. - $('.has-error') + $('.has-error-brand') .find('input,textarea,select') .filter(':visible:first') .trigger('focus'); diff --git a/src/NuGetGallery/Scripts/gallery/page-api-keys.js b/src/NuGetGallery/Scripts/gallery/page-api-keys.js index 5cddd3500d..9d980ce512 100644 --- a/src/NuGetGallery/Scripts/gallery/page-api-keys.js +++ b/src/NuGetGallery/Scripts/gallery/page-api-keys.js @@ -435,7 +435,7 @@ window.nuget.resetFormValidation(formElement); // Remove error classes from the form groups. - $("#" + containerId + " .form-group.has-error").removeClass("has-error"); + $("#" + containerId + " .form-group.has-error-brand").removeClass("has-error-brand"); // Scroll to the top of the available packages list. $("#" + containerId + " .available-packages .panel-body").scrollTop(0); diff --git a/src/NuGetGallery/Views/Authentication/_Register.cshtml b/src/NuGetGallery/Views/Authentication/_Register.cshtml index 9021e09a68..a35a4ff116 100644 --- a/src/NuGetGallery/Views/Authentication/_Register.cshtml +++ b/src/NuGetGallery/Views/Authentication/_Register.cshtml @@ -20,14 +20,14 @@
@Html.ShowLabelFor(m => m.Register.Username, isrequired: true) - @Html.ShowTextBoxFor(m => m.Register.Username) + @Html.ShowTextBoxFor(m => m.Register.Username, "input-brand") @Html.ShowValidationMessagesFor(m => m.Register.Username)
if (Model.External == null) {
@Html.ShowLabelFor(m => m.Register.Password) - @Html.ShowPasswordFor(m => m.Register.Password) + @Html.ShowPasswordFor(m => m.Register.Password, "input-brand") @Html.ShowValidationMessagesFor(m => m.Register.Password)
} @@ -40,7 +40,7 @@ } else { - @Html.ShowEmailBoxFor(m => m.Register.EmailAddress) + @Html.ShowEmailBoxFor(m => m.Register.EmailAddress, "input-brand") } @Html.ShowValidationMessagesFor(m => m.Register.EmailAddress)
@@ -51,6 +51,6 @@
- +
} diff --git a/src/NuGetGallery/Views/Authentication/_SignIn.cshtml b/src/NuGetGallery/Views/Authentication/_SignIn.cshtml index 5ef96f95ef..0fd7ae9b10 100644 --- a/src/NuGetGallery/Views/Authentication/_SignIn.cshtml +++ b/src/NuGetGallery/Views/Authentication/_SignIn.cshtml @@ -28,13 +28,13 @@ } else { - @Html.ShowTextBoxFor(m => m.SignIn.UserNameOrEmail) + @Html.ShowTextBoxFor(m => m.SignIn.UserNameOrEmail, brandClass: "input-brand") } @Html.ShowValidationMessagesFor(m => m.SignIn.UserNameOrEmail)
@Html.ShowLabelFor(m => m.SignIn.Password) - @Html.ShowPasswordFor(m => m.SignIn.Password) + @Html.ShowPasswordFor(m => m.SignIn.Password, brandClass: "input-brand") @Html.ShowValidationMessagesFor(m => m.SignIn.Password)
@@ -46,17 +46,17 @@ {
- +
- +
} else {
- +
if (!this.Config.Current.DeprecateNuGetPasswordLogins && (Model.External == null || !Model.External.FoundExistingUser)) { diff --git a/src/NuGetGallery/Views/Authentication/_SigninAssistance.cshtml b/src/NuGetGallery/Views/Authentication/_SigninAssistance.cshtml index ca025810f6..b70e987d93 100644 --- a/src/NuGetGallery/Views/Authentication/_SigninAssistance.cshtml +++ b/src/NuGetGallery/Views/Authentication/_SigninAssistance.cshtml @@ -23,12 +23,12 @@
- +
- +
@@ -38,12 +38,12 @@
- +
- +
@@ -55,7 +55,7 @@
-
diff --git a/src/NuGetGallery/Views/Packages/_ManageDeprecation.cshtml b/src/NuGetGallery/Views/Packages/_ManageDeprecation.cshtml index 1cb0b6fb82..ffd3a048df 100644 --- a/src/NuGetGallery/Views/Packages/_ManageDeprecation.cshtml +++ b/src/NuGetGallery/Views/Packages/_ManageDeprecation.cshtml @@ -60,7 +60,7 @@
-
+
diff --git a/src/NuGetGallery/Views/Shared/_SearchBar.cshtml b/src/NuGetGallery/Views/Shared/_SearchBar.cshtml index e306f822a7..1ec3628352 100644 --- a/src/NuGetGallery/Views/Shared/_SearchBar.cshtml +++ b/src/NuGetGallery/Views/Shared/_SearchBar.cshtml @@ -1,5 +1,5 @@ 
- diff --git a/src/NuGetGallery/Views/Users/ApiKeys.cshtml b/src/NuGetGallery/Views/Users/ApiKeys.cshtml index bd39220db0..efec2bc047 100644 --- a/src/NuGetGallery/Views/Users/ApiKeys.cshtml +++ b/src/NuGetGallery/Views/Users/ApiKeys.cshtml @@ -335,7 +335,7 @@ name: PackageOwnerId, 'aria-labelledby': PackageOwnerId() + '-label' }, options: PackageOwners, value: PackageOwner, optionsText: 'Owner', optionsCaption: 'Select an owner...' "> -
+
@@ -345,7 +345,7 @@

Select Scopes

- +
    @@ -406,10 +406,10 @@ To select which packages to associate with a key, use a glob pattern, select individual packages, or both.

    -
    +
    -
    +
    m.Email)"> @Html.ShowLabelFor(m => m.Email, isrequired: true) - @Html.ShowTextBoxFor(m => m.Email) + @Html.ShowTextBoxFor(m => m.Email, "input-brand") @Html.ShowValidationMessagesFor(m => m.Email)
    -
    +
    @Html.ShowValidationMessagesForEmpty()
    - +
    }
    diff --git a/src/NuGetGallery/Views/Users/TransformToOrganization.cshtml b/src/NuGetGallery/Views/Users/TransformToOrganization.cshtml index cbecc649db..4f0147988b 100644 --- a/src/NuGetGallery/Views/Users/TransformToOrganization.cshtml +++ b/src/NuGetGallery/Views/Users/TransformToOrganization.cshtml @@ -61,7 +61,7 @@ @Html.ShowTextBoxFor(m => m.AdminUsername, placeholder: "Add existing NuGet.org user") @Html.ShowValidationMessagesFor(m => m.AdminUsername)
    -
    +
    @Html.ShowValidationMessagesForEmpty()