mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-02 07:20:38 +00:00
479 lines
14 KiB
SCSS
479 lines
14 KiB
SCSS
@charset "UTF-8";
|
|
|
|
@import "../core/index-noreset.scss";
|
|
@import "scss/variable";
|
|
@import "scss/mixin";
|
|
@import "scss/placeholder";
|
|
|
|
#{$tab-prefix} {
|
|
& {
|
|
@include box-sizing;
|
|
width: 100%;
|
|
}
|
|
|
|
&-bar {
|
|
outline: none;
|
|
&-popup {
|
|
overflow-y: auto;
|
|
max-height: 480px;
|
|
}
|
|
}
|
|
|
|
&-nav-container {
|
|
position: relative;
|
|
@include clearfix;
|
|
}
|
|
|
|
&-nav-wrap {
|
|
overflow: hidden;
|
|
}
|
|
|
|
&-nav-scroll {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
&-scrollable #{$tab-prefix}-nav-scroll {
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
-webkit-overflow-scrolling: touch;
|
|
&::-webkit-scrollbar {
|
|
display: none !important;
|
|
width: 0 !important;
|
|
height: 0 !important;
|
|
-webkit-appearance: none;
|
|
opacity: 0 !important;
|
|
}
|
|
}
|
|
|
|
&-nav {
|
|
display: inline-block;
|
|
position: relative;
|
|
transition: all $motion-duration-standard $motion-ease;
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
&-enter,
|
|
&-appear {
|
|
animation: fadeInLeft .4s cubic-bezier(.78, .14, .15, .86);
|
|
animation-fill-mode: both;
|
|
}
|
|
|
|
&-leave {
|
|
animation: fadeOutLeft .2s cubic-bezier(.78, .14, .15, .86);
|
|
animation-fill-mode: both;
|
|
}
|
|
}
|
|
|
|
&-tab {
|
|
display: inline-block;
|
|
position: relative;
|
|
transition: all $motion-duration-immediately $motion-linear;
|
|
|
|
&-inner {
|
|
position: relative;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
}
|
|
|
|
&:before {
|
|
content: "";
|
|
position: absolute;
|
|
transition: all $motion-duration-standard $motion-ease;
|
|
}
|
|
|
|
&.active {
|
|
font-weight: $tab-item-font-weight-selected;
|
|
}
|
|
|
|
@include tabs-tab-close-icon(
|
|
$tab-close-icon-color,
|
|
$tab-close-icon-color-hover,
|
|
$tab-close-icon-color-selected,
|
|
$tab-close-icon-color-disabled
|
|
);
|
|
}
|
|
&-tab:focus {
|
|
outline: none;
|
|
}
|
|
|
|
&-tabpane {
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
|
|
&.active {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
height: auto;
|
|
}
|
|
|
|
&.hidden {
|
|
overflow: hidden;
|
|
height: 0 !important;
|
|
margin: 0 !important;
|
|
padding: 0 !important;
|
|
border: 0 !important;
|
|
}
|
|
}
|
|
|
|
/* Nav Button */
|
|
/* ----------------- */
|
|
&-btn-down,
|
|
&-btn-prev,
|
|
&-btn-next {
|
|
position: absolute;
|
|
top: 0;
|
|
cursor: pointer;
|
|
padding: 0;
|
|
border: 0;
|
|
outline: none;
|
|
height: 100%;
|
|
|
|
@include button-color($tab-nav-arrow-color-normal, $tab-nav-arrow-color-hover);
|
|
|
|
&.disabled {
|
|
cursor: not-allowed;
|
|
color: $tab-nav-arrow-color-disabled;
|
|
}
|
|
}
|
|
|
|
&-btn-next {
|
|
right: $tab-nav-arrow-right-positon-right;
|
|
}
|
|
&-btn-prev {
|
|
right: $tab-nav-arrow-left-positon-right;
|
|
}
|
|
&-btn-down {
|
|
right: $tab-nav-arrow-down-positon-right;
|
|
}
|
|
|
|
&-content {
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* position: vertical */
|
|
/* ----------------- */
|
|
&-vertical > #{$tab-prefix}-bar {
|
|
#{$tab-prefix}-nav {
|
|
width: 100%;
|
|
}
|
|
|
|
#{$tab-prefix}-tab {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
/* Size */
|
|
/* ----------------- */
|
|
&.#{$css-prefix}medium {
|
|
@include tabs-size(
|
|
$tab-item-padding-tb-size-m,
|
|
$tab-item-padding-lr-size-m,
|
|
$tab-item-text-size-m,
|
|
$tab-nav-tab-icon-size-m,
|
|
$tab-nav-close-icon-size-m,
|
|
$tab-nav-close-icon-padding-l-size-m,
|
|
$tab-nav-scroll-padding-right-m
|
|
);
|
|
}
|
|
|
|
&.#{$css-prefix}small {
|
|
@include tabs-size(
|
|
$tab-item-padding-tb-size-s,
|
|
$tab-item-padding-lr-size-s,
|
|
$tab-item-text-size-s,
|
|
$tab-nav-tab-icon-size-s,
|
|
$tab-nav-close-icon-size-s,
|
|
$tab-nav-close-icon-padding-l-size-s,
|
|
$tab-nav-scroll-padding-right-s
|
|
);
|
|
}
|
|
|
|
/* shape: pure */
|
|
/* ----------------- */
|
|
&-pure > #{$tab-prefix}-bar {
|
|
border-bottom: $tab-pure-divider-line;
|
|
background-color: $tab-pure-bg-color;
|
|
|
|
#{$tab-prefix}-nav-container {
|
|
margin-bottom: -$tab-pure-divider-line-width;
|
|
box-shadow: $tab-pure-divider-shadow;
|
|
|
|
#{$tab-prefix}-tab {
|
|
@include tabs-tab-statement(
|
|
$tab-pure-text-color-normal, // text color
|
|
$tab-pure-text-color-hover,
|
|
$tab-pure-text-color-selected,
|
|
$tab-pure-text-color-disabled,
|
|
transparent, // bg color
|
|
transparent,
|
|
transparent,
|
|
transparent
|
|
);
|
|
|
|
@include tabs-tab-inkbar(
|
|
$tab-pure-ink-bar-width,
|
|
$tab-pure-ink-bar-color,
|
|
0%,
|
|
0%,
|
|
'bottom'
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Shape: wrapped */
|
|
/* --------------------- */
|
|
&-wrapped > #{$tab-prefix}-bar {
|
|
background: $tab-wrapped-bar-bg-color;
|
|
|
|
#{$tab-prefix}-tab {
|
|
@include tabs-tab-statement(
|
|
$tab-wrapped-text-color,
|
|
$tab-wrapped-text-color-hover,
|
|
$tab-wrapped-text-color-selected,
|
|
$tab-wrapped-text-color-disabled,
|
|
$tab-wrapped-bg-color,
|
|
$tab-wrapped-bg-color-hover,
|
|
$tab-wrapped-bg-color-selected,
|
|
$tab-wrapped-bg-color-disabled
|
|
);
|
|
|
|
@include tabs-tab-close-icon(
|
|
$tab-close-icon-color,
|
|
$tab-close-icon-color-hover,
|
|
$tab-close-icon-color-selected,
|
|
$tab-close-icon-color-disabled
|
|
);
|
|
}
|
|
}
|
|
|
|
&-wrapped:before, &-wrapped:after {
|
|
content: "";
|
|
display: table;
|
|
}
|
|
|
|
&-wrapped:after {
|
|
clear: both;
|
|
}
|
|
|
|
&-wrapped > #{$tab-prefix}-content {
|
|
position: relative;
|
|
}
|
|
|
|
/* Shape: wrapped(top) */
|
|
&-wrapped#{$tab-prefix}-top > #{$tab-prefix}-bar {
|
|
position: relative;
|
|
#{$tab-prefix}-nav-extra {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
#{$tab-prefix}-tab {
|
|
margin-right: $tab-wrapped-tab-margin-right;
|
|
@include tabs-tab-border(
|
|
$tab-wrapped-bar-border,
|
|
null,
|
|
$tab-wrapped-tab-top-border-radius,
|
|
$tab-wrapped-border-line-color-hover,
|
|
$tab-wrapped-border-line-color,
|
|
$tab-wrapped-border-line-color,
|
|
$tab-wrapped-bg-color-selected,
|
|
$tab-wrapped-border-line-color
|
|
);
|
|
|
|
@include tabs-tab-inkbar(
|
|
$tab-wrapped-ink-bar-width,
|
|
$tab-wrapped-ink-bar-color,
|
|
-$tab-wrapped-border-line-width,
|
|
$tab-wrapped-tab-corner-radius,
|
|
'top'
|
|
);
|
|
border-width: $tab-wrapped-border-side-width $tab-wrapped-border-side-width $tab-wrapped-border-line-width $tab-wrapped-border-side-width;
|
|
&.active {
|
|
border-width: $tab-wrapped-border-line-width $tab-wrapped-border-line-width $tab-wrapped-border-line-width $tab-wrapped-border-line-width;
|
|
}
|
|
}
|
|
}
|
|
|
|
&-wrapped#{$tab-prefix}-top > #{$tab-prefix}-bar:before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 100%;
|
|
width: 100%;
|
|
height: 0;
|
|
border-bottom: $tab-wrapped-content-border;
|
|
transform: translateY(-$tab-wrapped-content-border-line-width);
|
|
display: block;
|
|
}
|
|
|
|
/* Shape: wrapped(bottom) */
|
|
&-wrapped#{$tab-prefix}-bottom > #{$tab-prefix}-bar {
|
|
position: relative;
|
|
#{$tab-prefix}-nav-extra {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
#{$tab-prefix}-tab {
|
|
margin-right: $tab-wrapped-tab-margin-right;
|
|
@include tabs-tab-border( $tab-wrapped-bar-border, null, $tab-wrapped-tab-bottom-border-radius, $tab-wrapped-border-line-color-hover, $tab-wrapped-bg-color-selected, $tab-wrapped-border-line-color, $tab-wrapped-border-line-color, $tab-wrapped-border-line-color);
|
|
@include tabs-tab-inkbar( $tab-wrapped-ink-bar-width, $tab-wrapped-ink-bar-color, -$tab-wrapped-border-line-width, $tab-wrapped-tab-corner-radius, 'bottom');
|
|
}
|
|
}
|
|
|
|
&-wrapped#{$tab-prefix}-bottom > #{$tab-prefix}-content {
|
|
top: $tab-wrapped-content-position-top;
|
|
border-bottom: $tab-wrapped-content-border;
|
|
}
|
|
|
|
/* Shape: wrapped(left) */
|
|
&-wrapped#{$tab-prefix}-left > #{$tab-prefix}-bar {
|
|
float: left;
|
|
#{$tab-prefix}-tab {
|
|
float: none;
|
|
margin-bottom: $tab-wrapped-tab-margin-bottom;
|
|
@include tabs-tab-border( $tab-wrapped-bar-border, null, $tab-wrapped-tab-left-border-radius, $tab-wrapped-border-line-color-hover, $tab-wrapped-border-line-color, $tab-wrapped-bg-color-selected, $tab-wrapped-border-line-color, $tab-wrapped-border-line-color);
|
|
@include tabs-tab-inkbar($tab-wrapped-ink-bar-width, $tab-wrapped-ink-bar-color, -$tab-wrapped-border-line-width, $tab-wrapped-tab-corner-radius, 'left');
|
|
border-width: $tab-wrapped-border-side-width $tab-wrapped-border-line-width $tab-wrapped-border-side-width $tab-wrapped-border-side-width;
|
|
&.active {
|
|
border-width: $tab-wrapped-border-line-width $tab-wrapped-border-line-width $tab-wrapped-border-line-width $tab-wrapped-border-line-width;
|
|
}
|
|
}
|
|
}
|
|
|
|
&-wrapped#{$tab-prefix}-left > #{$tab-prefix}-content {
|
|
right: $tab-wrapped-content-position-right;
|
|
border-left: $tab-wrapped-content-border;
|
|
}
|
|
|
|
/* Shape: wrapped(right) */
|
|
&-wrapped#{$tab-prefix}-right > #{$tab-prefix}-bar {
|
|
float: right;
|
|
#{$tab-prefix}-tab {
|
|
float: none;
|
|
margin-bottom: $tab-wrapped-tab-margin-bottom;
|
|
@include tabs-tab-border( $tab-wrapped-bar-border, null, $tab-wrapped-tab-right-border-radius, $tab-wrapped-border-line-color-hover, $tab-wrapped-border-line-color, $tab-wrapped-border-line-color, $tab-wrapped-border-line-color, $tab-wrapped-bg-color-selected);
|
|
@include tabs-tab-inkbar($tab-wrapped-ink-bar-width, $tab-wrapped-ink-bar-color, -$tab-wrapped-border-line-width, $tab-wrapped-tab-corner-radius, 'right');
|
|
border-width: $tab-wrapped-border-side-width $tab-wrapped-border-side-width $tab-wrapped-border-side-width $tab-wrapped-border-line-width;
|
|
&.active {
|
|
border-width: $tab-wrapped-border-line-width $tab-wrapped-border-line-width $tab-wrapped-border-line-width $tab-wrapped-border-line-width;
|
|
}
|
|
}
|
|
}
|
|
|
|
&-wrapped#{$tab-prefix}-right > #{$tab-prefix}-content {
|
|
right: -$tab-wrapped-content-position-right;
|
|
border-right: $tab-wrapped-content-border;
|
|
}
|
|
|
|
&-capsule > #{$tab-prefix}-bar {
|
|
#{$tab-prefix}-tab {
|
|
transition: background-color $motion-duration-immediately $motion-linear;
|
|
border: $tab-capsule-tab-border;
|
|
border-right-color: transparent;
|
|
margin-right: -$tab-capsule-tab-border-line-width;
|
|
|
|
&:first-child {
|
|
border-radius: $tab-capsule-corner-radius 0 0 $tab-capsule-corner-radius;
|
|
}
|
|
|
|
&:last-child {
|
|
border-radius: 0 $tab-capsule-corner-radius $tab-capsule-corner-radius 0;
|
|
border-right: $tab-capsule-tab-border;
|
|
}
|
|
|
|
&.active {
|
|
border-right: $tab-capsule-tab-border;
|
|
border-color: $tab-capsule-tab-border-line-color-active;
|
|
}
|
|
|
|
&.disabled {
|
|
border-color: $tab-capsule-tab-border-line-color-disabled;
|
|
}
|
|
|
|
&:hover {
|
|
z-index: 2;
|
|
border-right: $tab-capsule-tab-border;
|
|
border-color: $tab-capsule-tab-border-line-color-hover;
|
|
}
|
|
|
|
@include tabs-tab-statement(
|
|
$tab-capsule-text-color,
|
|
$tab-capsule-text-color-hover,
|
|
$tab-capsule-text-color-selected,
|
|
$tab-capsule-text-color-disabled,
|
|
$tab-capsule-bg-color,
|
|
$tab-capsule-bg-color-hover,
|
|
$tab-capsule-bg-color-selected,
|
|
$tab-capsule-bg-color-disabled
|
|
);
|
|
}
|
|
}
|
|
|
|
/* Shape: text */
|
|
/* ------------------- */
|
|
|
|
&-text > #{$tab-prefix}-bar {
|
|
|
|
#{$tab-prefix}-tab {
|
|
@include tabs-tab-statement(
|
|
$tab-text-text-color-normal,
|
|
$tab-text-text-color-hover,
|
|
$tab-text-text-color-selected,
|
|
$tab-text-text-color-disabled,
|
|
transparent, // no bg
|
|
transparent, // no hover bg
|
|
transparent, // no selected bg
|
|
transparent // no disabled bg
|
|
);
|
|
|
|
&:not(:last-child):after {
|
|
content: '';
|
|
position: absolute;
|
|
right: 0;
|
|
top: calc(50% - #{$tab-text-item-sep-height / 2});
|
|
width: $tab-text-item-sep-width;
|
|
height: $tab-text-item-sep-height;
|
|
background-color: $tab-text-item-sep-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
&-pure > #{$tab-prefix}-bar {
|
|
position: relative;
|
|
#{$tab-prefix}-nav-extra {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0;
|
|
transform: translateY(-50%);
|
|
}
|
|
}
|
|
|
|
&-capsule > #{$tab-prefix}-bar {
|
|
position: relative;
|
|
#{$tab-prefix}-nav-extra {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0;
|
|
transform: translateY(-50%);
|
|
}
|
|
}
|
|
|
|
&-text > #{$tab-prefix}-bar {
|
|
position: relative;
|
|
#{$tab-prefix}-nav-extra {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0;
|
|
transform: translateY(-50%);
|
|
}
|
|
}
|
|
}
|
|
|
|
@import "./rtl.scss";
|