mirror of
https://github.com/WordPress/WordPress.git
synced 2024-09-19 19:11:32 +02:00
b3bb99b3d7
This change restructures the Button element styles for better a11y and expected color behaviors. Here what has changed: - The `button-style()` mixin is now the ''single source or truth'' for how Button should look site-wide. - Button Block, File Block, and Search form Blocks all rely on this one mixin. - The same styles is also applied to the `<button>` element which appears in widgets, the 404 search form and comments form. - Improves expected button styles for various conditions and contexts as follows: - User color palette selections for Buttons are retained regardless of a parent block’s color settings or dark-mode. - Supports both Default/Filled styles and Outline styles. - More consistent `:hover` and `:active` styles. - `:focus` styles are now always visible and legible. - Adds a `--local-color` color variable to scope color relationships to nested blocks. - Reduces selectors in `style.css` output. - 1:1 experience between editor and front end button styles. - Properly supports Dark-mode. Props allancole, poena, scruffian, megphillips91. Fixes #51927. Built from https://develop.svn.wordpress.org/trunk@49987 git-svn-id: http://core.svn.wordpress.org/trunk@49688 1a063a9b-81f0-0310-95a4-ce76da25c4cd
117 lines
2.7 KiB
SCSS
117 lines
2.7 KiB
SCSS
.wp-block-search {
|
|
max-width: var(--responsive--aligndefault-width);
|
|
|
|
&__button-only.aligncenter {
|
|
|
|
.wp-block-search__inside-wrapper {
|
|
justify-content: center;
|
|
}
|
|
}
|
|
|
|
.wp-block-search__label {
|
|
font-size: var(--form--font-size);
|
|
font-weight: var(--form--label-weight);
|
|
margin-bottom: calc(var(--global--spacing-vertical) / 3);
|
|
}
|
|
|
|
.wp-block-search__input {
|
|
border: var(--form--border-width) solid var(--form--border-color);
|
|
border-radius: var(--form--border-radius);
|
|
color: var(--form--color-text);
|
|
line-height: var(--form--line-height);
|
|
max-width: inherit;
|
|
margin-right: calc(-1 * var(--button--border-width));
|
|
padding: var(--form--spacing-unit);
|
|
|
|
&:focus {
|
|
color: var(--form--color-text);
|
|
border-color: var(--form--border-color);
|
|
}
|
|
|
|
.has-background & {
|
|
border-color: var(--local--color-primary, var(--global--color-primary)) !important;
|
|
}
|
|
}
|
|
|
|
button.wp-block-search__button {
|
|
margin-left: 0;
|
|
line-height: 1;
|
|
|
|
&.has-icon {
|
|
padding: 6px calc(0.5 * var(--button--padding-horizontal));
|
|
|
|
svg {
|
|
width: 40px;
|
|
height: 40px;
|
|
fill: currentColor;
|
|
}
|
|
}
|
|
|
|
&:hover,
|
|
&:active {
|
|
|
|
.has-background & {
|
|
background-color: var(--local--color-background, var(--global--color-background)) !important;
|
|
color: var(--local--color-primary, var(--global--color-primary)) !important;
|
|
}
|
|
|
|
.has-text-color & {
|
|
color: var(--local--color-primary, var(--global--color-primary)) !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.wp-block-search__button-inside {
|
|
|
|
.wp-block-search__inside-wrapper {
|
|
background-color: var(--global--color-white);
|
|
border: var(--form--border-width) solid var(--form--border-color);
|
|
border-radius: var(--form--border-radius);
|
|
padding: var(--form--border-width);
|
|
|
|
.has-background & {
|
|
border-color: var(--local--color-primary, var(--global--color-primary)) !important;
|
|
}
|
|
|
|
.wp-block-search__input {
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
padding-left: var(--form--spacing-unit);
|
|
|
|
// Add outline for focus styles to override default
|
|
&:focus {
|
|
color: var(--form--color-text);
|
|
outline-offset: -2px;
|
|
outline: 2px dotted var(--form--border-color);
|
|
}
|
|
}
|
|
|
|
button.wp-block-search__button {
|
|
padding: var(--button--padding-vertical) var(--button--padding-horizontal);
|
|
|
|
// Search button always needs black contrast against white form background
|
|
&:hover {
|
|
color: var(--global--color-dark-gray);
|
|
}
|
|
|
|
.is-dark-theme & {
|
|
color: var(--global--color-dark-gray);
|
|
|
|
&:hover {
|
|
background-color: var(--global--color-dark-gray);
|
|
color: var(--global--color-white);
|
|
}
|
|
}
|
|
|
|
&.has-icon {
|
|
padding: 6px calc(0.5 * var(--button--padding-horizontal));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.wp-block-search__button {
|
|
box-shadow: none;
|
|
}
|