/** * Copyright JS Foundation and other contributors, http://js.foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. **/ @mixin disable-selection { -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } @mixin enable-selection { -webkit-user-select: auto; -khtml-user-select: auto; -moz-user-select: auto; -ms-user-select: auto; user-select: auto; } @mixin component-border { border: 1px solid var(--red-ui-primary-border-color); box-sizing: border-box; } @mixin reset-a-style { color: var(--red-ui-workspace-button-color) !important; background: var(--red-ui-workspace-button-background); text-decoration: none; &.disabled, &:disabled { cursor: default; color: var(--red-ui-workspace-button-color-disabled) !important; } &:hover, &:focus { text-decoration: none; } &:not(.disabled):not(:disabled):hover { color: var(--red-ui-workspace-button-color-hover) !important; background: var(--red-ui-workspace-button-background-hover); } &:not(.disabled):not(:disabled):focus { color: var(--red-ui-workspace-button-color-focus) !important; } &:not(.disabled):not(:disabled):active { color: var(--red-ui-workspace-button-color-active) !important; background: var(--red-ui-workspace-button-background-active); text-decoration: none; } } @mixin workspace-button { @include disable-selection; @include reset-a-style; box-sizing: border-box; display: inline-block; border: 1px solid var(--red-ui-form-input-border-color); text-align: center; margin:0; cursor:pointer; &.selected:not(.disabled):not(:disabled) { color: var(--red-ui-workspace-button-color-selected) !important; background: var(--red-ui-workspace-button-background-active); } .button-group &:not(:first-child) { border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0; } .button-group &:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .button-group-vertical & { display: block; min-width: 22px; } .button-group-vertical &:not(:first-child) { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; } .button-group-vertical &:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .button-group &:focus { position: relative; } .button-row &:not(:first-child) { margin-left: 15px; } &:focus { outline: 1px solid var(--red-ui-workspace-button-color-focus-outline); outline-offset: 1px; } &.primary { border-color: var(--red-ui-workspace-button-background-primary); color: var(--red-ui-workspace-button-color-primary) !important; background: var(--red-ui-workspace-button-background-primary); &.disabled, &.ui-state-disabled { background: none; color: var(--red-ui-workspace-button-color) !important; border-color: var(--red-ui-form-input-border-color); } &:not(.disabled):not(.ui-button-disabled):hover { border-color: var(--red-ui-workspace-button-background-primary-hover); background: var(--red-ui-workspace-button-background-primary-hover); color: var(--red-ui-workspace-button-color-primary) !important; } } &.secondary { background: none; &:not(:hover) { border-color: transparent; } } } .button-group-vertical { display: inline-block; vertical-align: middle; } .button-group:not(:last-child) { margin-right: 10px; } @mixin workspace-button-toggle { @include workspace-button; &:not(.single) { margin-bottom: 1px; &.selected:not(.disabled):not(:disabled) { border-bottom-width: 2px; border-bottom-color: var(--red-ui-form-input-border-selected-color); margin-bottom: 0; cursor: default; } &:not(.selected) { margin-top: 1px; } } } @mixin editor-button { @include workspace-button; font-size: 14px; padding: 6px 14px; margin-right: 8px; &:not(.disabled):hover { //color: var(--red-ui-workspace-button-color); } &.disabled { background: none; } &.disabled:focus { outline: none; } &.leftButton { float: left; margin-top: 1px; } &:not(.leftButton):not(:last-child) { margin-right: 16px; } &.ui-state-disabled { opacity: 1; } } @mixin component-footer { border-top: 1px solid var(--red-ui-primary-border-color); background: var(--red-ui-primary-background); text-align: right; position: absolute; bottom: 0; left: 0; right: 0; height: 25px; line-height: 25px; padding: 0 6px; user-select: none; .button-group:not(:last-child) { margin-right: 5px; } } @mixin component-footer-button { @include workspace-button; font-size: 12px; line-height: 18px; width: 19px; height: 19px; padding: 0; &.text-button { width: auto; padding: 0 5px; } } @mixin component-footer-button-toggle { @include workspace-button-toggle; font-size: 12px; line-height: 18px; height: 19px; width: 19px; padding: 0; &.text-button { width: auto; padding: 0 5px; } } @mixin component-shadow { box-shadow: 1px 1px 4px var(--red-ui-shadow); } @mixin shade { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: var(--red-ui-shade-color); z-index: 5; } .red-ui-shade { @include shade }