button { @extend %font; color: var(--color-fg); outline: 0 solid transparent !important; display: inline-block; font-size: var(--font-size); &:visited, &:link { text-decoration: none; } &:focus, &:active { outline: 0 solid transparent !important; } &[disabled] { cursor: default; pointer-events: none; } } button::-moz-focus-inner { border: 0; } .ui-button { position: relative; display: inline-flex; justify-content: space-between; align-items: center; color: var(--color-primary-fg); background: var(--color-primary-button); padding: 0 20px; height: 42px; border-radius: 3px; font-size: var(--font-size); font-weight: 700; margin: 0; -webkit-backface-visibility: hidden; -webkit-appearance: none; cursor: pointer; user-select: none; border: none; will-change: transform, background, border-color; transition: background .2s, transform .2s, opacity .2s; overflow: hidden; outline: 0 solid transparent !important; @extend %font; &:hover { opacity: 0.9; } &:focus, &:active { outline: none !important; } &:active { opacity: 1; } &[disabled] { cursor: default; opacity: 0.7; pointer-events: none; } &.type-outline { height: 43px; background: var(--color-box); color: var(--color-fg); border: 1px solid var(--color-line); box-sizing: border-box; position: relative; top: 1px; } &.type-secondary { background: var(--color-secondary); } &.type-big { height: 50px; padding: 0 30px; } &.type-light { background: var(--color-bg); color: var(--color-fg); border: none; } &.type-danger { background: var(--color-negative); color: white; border: none; } &.type-white { background: var(--color-box); color: var(--color-fg); border: none; box-shadow: var(--color-shadow-short); } &.type-blank { background: transparent; color: var(--color-fg); border: none; padding: 0 16px; } &.type-block { display: flex; width: 100%; } & + .ui-button { margin-left: 15px; } .ui-button-icon, .ui-button-caret { margin-left: 18px; margin-right: -3px; position: relative; font-size: var(--font-size-l); top: -1px; /*color: var(--color-fg-mid);*/ } &.caret-left { flex-direction: row-reverse; .ui-button-icon, .ui-button-caret { margin-right: 12px; margin-left: -7px; } } &.has-ellipsis .ui-button-text:after { content: '...'; } } .ui-button-state { position: absolute; left: 50%; top: 50%; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: -8px; margin-top: -8px; text-align: center; } .ui-button-progress { width: 100%; height: 100%; z-index: 2; border-radius: 40px; border: 2px solid rgba(white, 0.2); border-left-color: var(--color-bg); opacity: 1; will-change: transform; animation: rotating .5s linear infinite; transition: opacity .25s ease; .type-light &, .type-blank & { border-color: var(--color-bg-mid); border-left-color: var(--color-fg); } } @keyframes rotating { from { -webkit-transform: rotate(0); transform: rotate(0) } to { -webkit-transform: rotate(1turn); transform: rotate(1turn) } } // states .ui-button.has-state:not(.state-default) { > :not(.ui-button-state) { visibility: hidden; } } .ui-dot-button { @extend .ui-button; background: transparent; padding: 0; height: 28px; width: 36px; text-align: center; justify-content: center; color: var(--color-text); &:hover { background: var(--color-bg-mid); } .ui-button-icon { font-size: var(--font-size-xl); margin: 0; } } .ui-icon-button { @extend .ui-button; background: var(--color-bg-mid); padding: 0; height: 32px; width: 32px; border-radius: 16px; text-align: center; justify-content: center; font-size: var(--font-size-l); &:hover { opacity: 1; } .ui-button-icon { color: var(--color-fg); margin: 0; top: 0; } &.type-small { height: 24px; width: 24px; .ui-button-icon { font-size: 13px; } } } .ui-select-button { olor: var(--color-fg); display: inline-flex; align-items: center; } .ui-select-button-icon { width: 42px; height: 42px; line-height: 42px !important; border-radius: var(--radius); background: var(--color-bg-xlight); color: var(--color-fg); text-align: center; font-size: 16px; &.is-image { display: inline-flex; justify-content: center; align-items: center; padding: 10px; } } .ui-select-button-content { display: inline-flex; flex-direction: column; margin-left: 16px; } .ui-select-button-label { } .ui-select-button-description { color: var(--color-fg-mid); margin-top: 3px; font-size: var(--font-size-xs); }