amis/scss/components/_condition-builder.scss

309 lines
5.3 KiB
SCSS
Raw Normal View History

2020-08-14 00:13:40 +08:00
.#{$ns}CBGroup {
font-size: var(--fontSizeSm);
2020-08-17 00:04:58 +08:00
2020-08-13 20:05:28 +08:00
&-toolbar {
display: flex;
flex-direction: row;
2020-08-17 23:21:10 +08:00
padding-bottom: 10px;
.#{$ns}Button {
transition: padding var(--animation-duration);
2020-11-08 12:01:51 +08:00
min-width: unset;
2020-08-17 23:21:10 +08:00
svg {
width: 10px;
height: 10px;
top: 0;
margin-right: 5px;
}
}
&:not(:hover)
.#{$ns}CBGroup-toolbarCondition
.#{$ns}Button:not(.is-active) {
2020-08-17 23:21:10 +08:00
width: 0;
padding: 0;
overflow: hidden;
opacity: 0;
margin: 0;
border: 0;
}
.#{$ns}CBGroup-toolbarConditionAdd {
transition: opacity var(--animation-duration);
2020-08-17 23:21:10 +08:00
display: flex;
align-items: center;
margin-left: var(--gap-base);
2020-08-18 23:16:55 +08:00
.#{$ns}CBDelete {
margin-left: var(--gap-xs);
2020-08-18 23:16:55 +08:00
}
2020-08-17 23:21:10 +08:00
}
&:not(:hover) .#{$ns}CBGroup-toolbarConditionAdd {
2020-08-17 23:21:10 +08:00
opacity: 0;
}
2020-08-13 20:05:28 +08:00
}
2020-08-14 17:45:59 +08:00
2020-08-17 00:04:58 +08:00
&-field,
&-operator {
2020-08-14 17:45:59 +08:00
position: relative;
display: inline-block;
2020-08-18 20:26:04 +08:00
margin: px2rem(3px);
vertical-align: middle;
2020-08-14 17:45:59 +08:00
}
2020-08-17 00:04:58 +08:00
&-fieldCaret,
&-operatorCaret {
transition: transform var(--animation-duration) ease-out;
margin: 5px;
2020-08-14 17:45:59 +08:00
display: flex;
color: var(--Form-select-caret-iconColor);
2020-08-14 17:45:59 +08:00
&:hover {
color: var(--Form-select-caret-onHover-iconColor);
2020-08-14 17:45:59 +08:00
}
> svg {
width: px2rem(10px);
height: px2rem(10px);
2020-08-14 17:45:59 +08:00
top: 0;
}
}
2020-08-17 00:04:58 +08:00
&-fieldInput.is-active &-fieldCaret,
&-operatorInput.is-active &-operatorCaret {
2020-08-14 17:45:59 +08:00
transform: rotate(180deg);
}
2020-08-18 20:26:04 +08:00
&-placeholder {
color: var(--text--muted-color);
2020-08-18 20:26:04 +08:00
position: relative;
margin-left: 30px;
padding: 10px;
background: rgba(0, 0, 0, 0.03);
border-radius: 5px;
&:before {
position: absolute;
content: '';
top: -10px;
left: -30px;
width: var(--gap-md);
border-left: solid 1px var(--borderColor);
2020-08-18 20:26:04 +08:00
bottom: 0;
}
&:after {
position: absolute;
content: '';
top: 50%;
width: var(--gap-md);
2020-08-18 20:26:04 +08:00
left: -30px;
border-top: solid 1px var(--borderColor);
2020-08-18 20:26:04 +08:00
}
&:last-child {
&:before {
border-bottom-left-radius: 5px;
border-bottom: solid 1px var(--borderColor);
2020-08-18 20:26:04 +08:00
bottom: 50%;
}
&:after {
display: none;
}
}
&.simple {
margin-left: 0;
&:before {
display: none;
}
&:after {
display: none;
}
}
2020-08-18 20:26:04 +08:00
}
2020-08-14 17:45:59 +08:00
}
2020-08-17 20:32:07 +08:00
.#{$ns}CBDelete {
@include icon-color();
cursor: pointer;
margin-left: auto;
transition: opacity var(--animation-duration);
2020-08-17 20:32:07 +08:00
}
.#{$ns}CBGroupOrItem {
2020-08-14 17:45:59 +08:00
position: relative;
2020-08-17 20:32:07 +08:00
margin-left: px2rem(30px);
2020-08-17 23:21:10 +08:00
& + & {
margin-top: px2rem(10px);
}
2020-08-17 20:32:07 +08:00
&-body {
display: flex;
2020-08-18 20:26:04 +08:00
padding: 2px 7px;
2020-08-17 20:32:07 +08:00
border-radius: 5px;
flex-direction: row;
align-items: center;
position: relative;
background: rgba(0, 0, 0, 0.03);
transition: all var(--animation-duration) ease-out;
2020-08-19 14:25:35 +08:00
> .#{$ns}CBGroup {
margin: 3px;
}
2020-08-17 20:32:07 +08:00
}
2020-08-17 23:21:10 +08:00
&-body:not(:hover) .#{$ns}CBDelete {
opacity: 0;
}
2020-08-17 20:32:07 +08:00
&.is-dragging {
display: none;
}
&.is-ghost > &-body:before {
position: absolute;
z-index: 2;
content: '';
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba($info, 0.2);
}
2020-08-14 17:45:59 +08:00
&-dragbar {
cursor: move;
width: 20px;
margin-left: -5px;
opacity: 0.6;
2020-08-14 17:45:59 +08:00
text-align: center;
transition: opacity var(--animation-duration) ease-out;
2020-08-14 17:45:59 +08:00
@include icon-color();
}
2020-08-17 20:32:07 +08:00
.#{$ns}CBGroup {
flex-grow: 1;
}
2020-08-18 23:16:55 +08:00
&:hover > &-body {
background: rgba(0, 0, 0, 0.05);
2020-08-14 17:45:59 +08:00
}
2020-08-17 20:32:07 +08:00
&:hover > &-body > &-dragbar {
2020-08-14 17:45:59 +08:00
opacity: 1;
}
&:before {
position: absolute;
content: '';
top: -10px;
left: -30px;
width: 20px;
border-left: solid 1px var(--borderColor);
2020-08-14 17:45:59 +08:00
bottom: 0;
}
&:after {
position: absolute;
content: '';
top: 50%;
width: 20px;
left: -30px;
border-top: solid 1px var(--borderColor);
2020-08-14 17:45:59 +08:00
}
&:last-child {
&:before {
border-bottom-left-radius: 5px;
border-bottom: solid 1px var(--borderColor);
2020-08-14 17:45:59 +08:00
bottom: 50%;
}
&:after {
display: none;
}
}
}
.#{$ns}CBInputSwitch {
position: relative;
display: inline-block;
2020-08-18 20:26:04 +08:00
vertical-align: middle;
// margin: px2rem(3px);
2020-08-14 17:45:59 +08:00
cursor: pointer;
> a {
@include icon-color();
}
svg {
width: px2rem(10px);
height: px2rem(10px);
}
2020-08-13 20:05:28 +08:00
}
2020-08-17 00:04:58 +08:00
.#{$ns}CBFunc {
display: inline-block;
2020-08-18 20:26:04 +08:00
vertical-align: middle;
margin: px2rem(3px);
2020-08-17 00:04:58 +08:00
&-select {
display: inline-block;
position: relative;
}
&-error {
color: var(--danger);
2020-08-17 00:04:58 +08:00
}
&-args {
display: inline-block;
> span {
display: inline-block;
padding: 0 5px;
color: var(--info);
2020-08-17 00:04:58 +08:00
}
> div {
display: inline-block;
}
}
}
2020-08-17 20:32:07 +08:00
.#{$ns}CBValue {
position: relative;
display: inline-block;
2020-08-18 20:26:04 +08:00
vertical-align: middle;
margin: px2rem(3px);
}
.#{$ns}CBFormula {
position: relative;
display: inline-block;
vertical-align: middle;
margin: px2rem(3px);
&-label {
background: var(--ResultBox-value-bg);
color: var(--text--muted-color);
display: block;
font-size: var(--fontSizeSm);
align-self: center;
margin: -5px 5px -5px -8px;
padding: 5px;
border-radius: 5px;
user-select: none;
}
}
2020-08-18 20:26:04 +08:00
.#{$ns}CBSeprator {
width: 20px;
text-align: center;
display: inline-block;
user-select: none;
2020-08-17 20:32:07 +08:00
}