| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- // Responsive breakpoints mixin
- @mixin add_variables( $view: frontend ) {
- @if frontend == $view {
- :root {
- @content;
- }
- }
- @if editor == $view {
- :root,
- body {
- @content;
- }
- }
- }
- // Button style
- // - Applies button styles to blocks and elements that share them.
- @mixin button-style() {
- border: var(--button--border-width) solid transparent;
- border-radius: var(--button--border-radius);
- cursor: pointer;
- font-weight: var(--button--font-weight);
- font-family: var(--button--font-family);
- font-size: var(--button--font-size);
- line-height: var(--button--line-height);
- padding: var(--button--padding-vertical) var(--button--padding-horizontal);
- text-decoration: none;
- // Standard Button Color Relationship Logic
- &:not(:hover):not(:active) {
- // Text colors
- &:not(.has-text-color) {
- color: var(--global--color-background);
- // Nested
- .has-background & {
- color: var(--local--color-background, var(--global--color-primary));
- &.has-background {
- color: var(--global--color-primary);
- }
- }
- }
- // Background-colors
- &:not(.has-background) {
- background-color: var(--global--color-primary);
- // Nested
- .has-background & {
- background-color: var(--local--color-primary, var(--global--color-primary));
- }
- }
- }
- // Hover Button color should match parent element foreground color
- &:hover,
- &:active {
- background-color: transparent;
- border-color: currentColor;
- color: inherit;
- }
- // Focus Button outline color should always match the current text color
- &:focus {
- outline-offset: -6px;
- outline: 2px dotted currentColor;
- }
- // Disabled Button colors
- &:disabled {
- background-color: var(--global--color-white-50);
- border-color: var(--global--color-white-50);
- color: var(--button--color-text-active);
- }
- }
- @mixin innerblock-margin-clear($container) {
- // Clear the top margin for the first-child.
- > #{$container} > *:first-child {
- margin-top: 0;
- }
- // Last child that is not the appender.
- > #{$container} > *:last-child:not(.block-list-appender) {
- margin-bottom: 0;
- }
- // When selected, the last item becomes the second last because of the appender.
- &.has-child-selected > #{$container} > *:nth-last-child(2),
- &.is-selected > #{$container} > *:nth-last-child(2) {
- margin-bottom: 0;
- }
- }
|