button { @extend %font; color: var(--color-text); display: inline-block; font-size: var(--font-size); &:visited, &:link { text-decoration: none; } &[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; background: var(--color-button); color: var(--color-button-text); padding: 0 20px; height: 42px; border-radius: var(--radius); font-size: var(--font-size); font-weight: 700; margin: 0; -webkit-backface-visibility: hidden; -webkit-appearance: none; cursor: pointer; user-select: none; border: none; overflow: hidden; @extend %font; &:hover { opacity: 0.9; } &:active { opacity: 1; } &[disabled] { cursor: default; opacity: 0.7; pointer-events: none; } &.type-big { height: 50px; padding: 0 30px; } &.type-small { height: 32px; padding: 0 12px; } &.type-light, &.type-action { background: var(--color-button-light); color: var(--color-text); border: 1px solid transparent; } &.type-light.type-onbg, &.type-action.type-onbg { background: var(--color-button-light-onbg); color: var(--color-text); box-shadow: var(--shadow-short); } &.type-danger { background: var(--color-accent-error); color: white; } &.type-blank { background: transparent; color: var(--color-text); 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-text-dim);*/ } &.type-small .ui-button-icon { margin-left: 10px; margin-right: -2px; font-size: var(--font-size); } &.no-label .ui-button-icon { margin: 0 -5px !important; } &.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-text { span { font-weight: 400; } } .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-button-text); opacity: 1; will-change: transform; animation: rotating .5s linear infinite; transition: opacity .25s ease; .type-light &, .type-blank & { //border-color: rgba(white, 0.2); border-left-color: var(--color-text); } } @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-button-light); } .ui-button-icon { font-size: var(--font-size-xl); margin: 0; } } .ui-icon-button { @extend .ui-button; background: var(--color-button-light); 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-text); margin: 0; top: 0; } &.type-small { height: 24px; width: 24px; .ui-button-icon { font-size: 13px; } } } .ui-select-button { olor: var(--color-text); display: inline-flex; align-items: center; } .ui-select-button-icon { width: 42px; height: 42px; display: inline-flex; justify-content: center; align-items: center; border-radius: var(--radius); background: var(--color-button-light); color: var(--color-text); text-align: center; font-size: 16px; &.is-image { padding: 10px; } } .ui-select-button-content { display: inline-flex; flex-direction: column; margin-left: 16px; } strong.ui-select-button-label { font-weight: 400; b, strong { font-weight: 400; } } .ui-select-button-description { color: var(--color-text-dim); margin-top: 3px; font-size: var(--font-size-xs); }