1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00
node-red/packages/node_modules/@node-red/editor-client/src/sass/mixins.scss
2022-06-18 16:05:25 -04:00

250 lines
6.3 KiB
SCSS

/**
* 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
}