// /** // * Copyright © Magento, Inc. All rights reserved. // * See COPYING.txt for license details. // */ // // Variables // _____________________________________________ // Colors @btn__base__background-color: @color-gray89; @btn__base__color: @color-brownie; @btn__base__active__background-color: darken(@btn__base__background-color, 5%); @btn__base__disabled__background-color: lighten(@btn__base__background-color, 5%); @btn__base__hover__background-color: darken(@btn__base__background-color, 3%); @btn-prime__color: @color-white; @btn-prime__background-color: @color-prime; @btn-prime__color-gradient-start: @color-phoenix-down; @btn-prime__color-gradient-end: @color-phoenix-rise; @btn-prime__border-color: @color-gray79; @btn-prime__disabled__background-color: lighten(@btn-prime__background-color, 10%); @btn-secondary__color: @color-white; @btn-secondary__background-color: @color-brownie; @btn-secondary__hover__background-color: lighten(@btn-secondary__background-color, 5%); @btn-secondary__disabled__background-color: lighten(@btn-secondary__background-color, 0%); @btn-secondary__active__background-color: lighten(@btn-secondary__background-color, 2%); @triangle__base__size: @btn__height__base / 2; // Expand button @color-btn-expand: @base__color; @color-btn-expand-hover: lighten(@base__color, 5%); @height-triangle-btn-expand: .36em; @width-triangle-btn-expand: .57em; // // Common // _____________________________________________ .btn-wrap { margin: 0 auto; .btn { width: 100%; } } .btn { background: @btn__base__background-color none; border: none; color: @btn__base__color; display: inline-block; font-size: @btn__base__font-size; font-weight: @font-weight__semibold; padding: @btn__base__padding-top .9em; text-align: center; &:hover { background-color: @btn__base__hover__background-color; color: @color-brownie; text-decoration: none; } &:active { background-color: @btn__base__active__background-color; } // Disabled state &[disabled], &.disabled { cursor: default; opacity: @disabled__opacity; pointer-events: none; } } .btn-large { padding: .75em 1.25em; } .btn-medium { font-size: @btn__medium__font-size; padding: .5em 1.5em .6em; } // // Buttons // --------------------------------------------- .btn-link { background-color: transparent; border: none; color: @link__color; font-family: @font-family__base; font-size: @base__font-size; &:hover, &:active, &:focus { background-color: transparent; color: @link__hover__color; } } .btn-prime { background-color: @btn-prime__background-color; color: @btn-prime__color; text-shadow: 1px 1px 0 rgba(0, 0, 0, .25); &:focus, &:hover { .lib-background-gradient( @_background-gradient: true, @_background-gradient-direction: horizontal, @_background-gradient-color-start: @btn-prime__color-gradient-start, @_background-gradient-color-end: @btn-prime__color-gradient-end ); color: @btn-prime__color; } &:active { .lib-background-gradient( @_background-gradient: true, @_background-gradient-direction: horizontal, @_background-gradient-color-start: @btn-prime__color-gradient-end, @_background-gradient-color-end: @btn-prime__color-gradient-start ); color: @btn-prime__color; } } .btn-secondary { background-color: @btn-secondary__background-color; color: @btn-secondary__color; &:hover { background-color: @btn-secondary__hover__background-color; color: @btn-secondary__color; } &:active, &:focus { background-color: @btn-secondary__active__background-color; color: @btn-secondary__color; } } // // Triangle modification // --------------------------------------------- [class*='btn-wrap-triangle'] { overflow: hidden; position: relative; .btn { &:after { border-style: solid; content: ''; height: 0; position: absolute; top: 0; width: 0; } } } // Right .btn-wrap-triangle-right { display: inline-block; padding-right: @triangle__base__size - .1; position: relative; .btn { text-indent: @triangle__base__size / 2; &:after { border-color: transparent transparent transparent @btn__base__background-color; border-width: @triangle__base__size 0 @triangle__base__size @triangle__base__size; left: 100%; margin-left: -@triangle__base__size + .1; } &:focus, &:hover { &:after { border-left-color: @btn__base__hover__background-color; } } &:active { &:after { border-left-color: @btn__base__active__background-color; } } &:not([disabled]), &:not(.disabled) { &:active { left: 1px; } } } .btn-prime { &:after { border-color: transparent transparent transparent @btn-prime__background-color; } &:focus, &:hover { &:after { border-left-color: @btn-prime__color-gradient-end; } } &:active { &:after { border-left-color: @btn-prime__color-gradient-start; } } &:not([disabled]), &:not(.disabled) { &:active { left: 1px; } } } } // Left .btn-wrap-triangle-left { display: inline-block; padding-left: @triangle__base__size - .1; .btn { text-indent: -@triangle__base__size / 2; &:after { border-color: transparent @btn__base__background-color transparent transparent; border-width: @triangle__base__size @triangle__base__size @triangle__base__size 0; margin-right: -@triangle__base__size + .1; right: 100%; } &:focus, &:hover { &:after { border-right-color: @btn__base__hover__background-color; } } &:active { &:after { border-right-color: @btn__base__active__background-color; } } &:not([disabled]), &:not(.disabled) { &:active { right: 1px; } } } .btn-prime { &:after { border-color: transparent @btn-prime__background-color transparent transparent; } &:focus, &:hover { &:after { border-right-color: @btn-prime__color-gradient-start; } } &:active { &:after { border-right-color: @btn-prime__color-gradient-end; } } &:not([disabled]), &:not(.disabled) { &:active { right: 1px; } } } } // // Expand button // --------------------------------------------- .btn-expand { background-color: transparent; border: none; color: @color-btn-expand; font-family: @font-family__base; font-size: @base__font-size; font-weight: @font-weight__bold; padding: 0; position: relative; &.expanded { &:after { border-color: transparent transparent @color-btn-expand transparent; border-width: 0 @width-triangle-btn-expand / 2 @height-triangle-btn-expand @width-triangle-btn-expand / 2; } &:hover { &:after { border-color: transparent transparent @color-btn-expand-hover transparent; } } } &:hover { background-color: transparent; border: none; color: @color-btn-expand-hover; &:after { border-color: @color-btn-expand-hover transparent transparent transparent; } } &:after { border-color: @color-btn-expand transparent transparent transparent; border-style: solid; border-width: @height-triangle-btn-expand @width-triangle-btn-expand / 2 0 @width-triangle-btn-expand / 2; content: ''; height: 0; left: 100%; margin-left: .5em; margin-top: -(@height-triangle-btn-expand / 2); position: absolute; top: 50%; width: 0; } }