xdesign-vue-next
Version:
XDesign Component for vue-next
605 lines (604 loc) • 15.9 kB
CSS
a.x-menu__item {
text-decoration: none;
color: unset;
}
a.x-menu__item:hover,
a.x-menu__item:active {
color: inherit;
}
.x-head-menu {
font: var(--td-font-body-medium);
color: var(--td-text-color-primary);
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
position: relative;
width: 100%;
background-color: var(--td-bg-color-container);
}
.x-head-menu__inner {
display: flex;
height: var(--td-comp-size-xxxl);
}
.x-head-menu__inner li + li {
margin-left: var(--td-comp-margin-s);
}
.x-head-menu__inner .x-menu:first-child {
margin-left: var(--td-comp-margin-xxl);
}
.x-head-menu .x-menu__logo:not(:empty) {
height: 100%;
margin-right: var(--td-comp-margin-xxxl);
}
.x-head-menu .x-menu {
flex: 1;
display: flex;
align-items: center;
}
.x-head-menu .x-menu__operations:not(:empty) {
position: relative;
display: flex;
align-items: center;
height: var(--td-comp-size-xxxl);
line-height: 64px;
text-align: right;
margin-right: var(--td-comp-margin-s);
overflow: hidden;
}
.x-head-menu .x-menu__operations-icon {
width: var(--td-comp-size-m);
height: var(--td-comp-size-m);
padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s);
line-height: var(--td-comp-size-m);
box-sizing: border-box;
}
.x-head-menu .x-submenu > .x-menu__item {
overflow: unset;
}
.x-head-menu .x-submenu > .x-menu__item::before {
content: "";
display: block;
position: absolute;
bottom: -20px;
left: 0;
right: 0;
height: 20px;
}
.x-head-menu .x-menu__item {
height: var(--td-comp-size-m);
line-height: var(--td-comp-size-m);
padding: 0 var(--td-comp-paddingLR-l);
justify-content: center;
transition: all 0.28s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.x-head-menu__submenu {
border-top: 1px solid var(--td-component-stroke);
padding-left: 0;
}
.x-head-menu .x-fake-arrow {
margin-left: var(--td-comp-margin-m);
}
.x-default-menu {
font: var(--td-font-body-medium);
color: var(--td-text-color-primary);
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
position: relative;
width: 232px;
display: inline-block;
background: var(--td-bg-color-container);
transition: width 0.28s cubic-bezier(0.645, 0.045, 0.355, 1);
white-space: nowrap;
}
.x-default-menu .x-menu__item {
color: var(--td-text-color-secondary);
}
.x-default-menu.x-is-collapsed {
width: 64px;
}
.x-default-menu.x-is-collapsed .x-menu .x-menu__item {
padding: 0 0px;
justify-content: center;
}
.x-default-menu.x-is-collapsed .x-menu .x-menu__item .x-menu__item-link {
opacity: 0;
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.x-default-menu.x-is-collapsed .x-fake-arrow {
display: none;
}
.x-default-menu.x-is-collapsed .x-menu__item {
text-overflow: initial;
}
.x-default-menu.x-is-collapsed .x-menu__item.x-is-active.x-is-opened {
color: var(--td-brand-color);
background-color: var(--td-brand-color-light);
}
.x-default-menu.x-is-collapsed .x-menu__item.x-is-active.x-is-opened .x-icon {
color: var(--td-brand-color);
}
.x-default-menu.x-is-collapsed .x-menu__item.x-menu__item--plain::after {
content: "";
}
.x-default-menu.x-is-collapsed .x-menu__item span {
display: none;
}
.x-default-menu.x-is-collapsed .x-menu__item .x-icon {
margin-right: initial;
}
.x-default-menu.x-is-collapsed .x-submenu-icon {
display: none;
}
.x-default-menu.x-is-collapsed .x-submenu > .x-menu__item {
min-width: initial;
}
.x-default-menu.x-is-collapsed .x-submenu > .x-menu__item::after {
content: "";
display: block;
position: absolute;
right: -20px;
top: 0;
bottom: 0;
width: 20px;
}
.x-default-menu.x-is-collapsed .x-menu-group__title {
padding: 0;
font-size: 0;
}
.x-default-menu.x-is-collapsed .x-menu-group__title::after {
content: "";
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
height: 1px;
width: 20px;
background: var(--td-component-stroke);
}
.x-default-menu.x-is-collapsed .x-menu__operations {
text-align: center;
}
.x-default-menu.x-is-collapsed .x-menu__operations-icon {
display: block;
}
.x-default-menu__inner {
display: flex;
flex-direction: column;
height: 100%;
}
.x-default-menu__inner .x-menu__logo:not(:empty) {
box-sizing: border-box;
width: 100%;
height: var(--td-comp-size-xxxl);
border-bottom: 1px solid var(--td-component-stroke);
}
.x-default-menu__inner .x-menu {
padding: var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-s);
position: relative;
flex: 1;
}
.x-default-menu__inner .x-menu--scroll {
scrollbar-color: var(--td-scrollbar-color) transparent;
scrollbar-width: thin;
overflow-y: auto;
overflow-x: hidden;
}
.x-default-menu__inner .x-menu--scroll::-webkit-scrollbar {
width: 6px;
height: 6px;
}
.x-default-menu__inner .x-menu--scroll::-webkit-scrollbar-thumb {
border: 0px solid transparent;
background-clip: content-box;
background-color: var(--td-scrollbar-color);
border-radius: 11px;
}
.x-default-menu__inner .x-menu--scroll::-webkit-scrollbar-thumb:vertical:hover,
.x-default-menu__inner .x-menu--scroll::-webkit-scrollbar-thumb:horizontal:hover {
background-color: var(--td-scrollbar-hover-color);
}
.x-default-menu__inner .x-menu-group__title {
position: relative;
padding: var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l) var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-l);
color: var(--td-text-color-placeholder);
font-size: var(--td-font-body-small);
box-sizing: border-box;
}
.x-default-menu .x-submenu {
margin-bottom: var(--td-comp-margin-xs);
position: relative;
}
.x-default-menu .x-menu__operations:not(:empty) {
width: 100%;
position: relative;
padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-l);
top: 0;
left: 0;
text-align: left;
border-top: solid 1px var(--td-component-stroke);
box-sizing: border-box;
}
.x-default-menu .x-menu__operations-icon {
width: 32px;
height: 32px;
padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s);
cursor: pointer;
color: var(--td-text-color-primary);
box-sizing: border-box;
}
.x-default-menu .x-menu__item.x-is-opened {
margin: var(--td-comp-margin-xs) 0;
color: var(--td-text-color-primary);
background-color: unset;
}
.x-default-menu .x-menu__item.x-is-opened .x-icon {
color: var(--td-text-color-primary);
}
.x-default-menu .x-menu__sub {
padding: 0;
overflow: hidden;
}
.x-default-menu .x-menu__sub .x-menu__item {
padding-left: var(--padding-left, 32px);
}
.x-default-menu .x-slide-down-enter-active .x-menu__sub {
height: 100%;
}
.x-default-menu .x-menu__item {
position: relative;
margin: var(--td-comp-margin-xs) 0;
padding: 0 10px 0 16px;
height: var(--td-comp-size-l);
line-height: var(--td-comp-size-l);
border-bottom: 0;
text-align: left;
border-radius: var(--td-radius-default);
transition: background-color 0.28s cubic-bezier(0.38, 0, 0.24, 1), padding 0.28s cubic-bezier(0.38, 0, 0.24, 1);
box-sizing: border-box;
}
.x-default-menu .x-menu__item:first-child {
margin-top: 0;
}
.x-default-menu .x-menu__item:last-child {
margin-bottom: 0;
}
.x-default-menu .x-menu__item .x-icon {
width: 18px;
height: 18px;
}
.x-default-menu .x-menu__item .x-fake-arrow {
margin-left: auto;
min-width: 16px;
}
.x-default-menu .x-menu__item.x-is-active:not(.x-is-opened) {
color: var(--td-brand-color);
background-color: var(--td-brand-color-light);
}
.x-default-menu .x-menu__item.x-is-active:not(.x-is-opened) .x-icon {
color: var(--td-brand-color);
}
.x-default-menu .x-menu__item:hover:not(.x-is-active):not(.x-is-disabled) {
background: var(--td-bg-color-secondarycontainer-hover);
}
.x-default-menu.x-menu--dark {
background: var(--td-gray-color-13);
}
.x-default-menu.x-menu--dark .x-menu__item {
color: var(--td-font-white-2);
}
.x-default-menu.x-menu--dark .x-menu__logo:not(:empty) {
border-bottom-color: var(--td-gray-color-10);
}
.x-default-menu.x-menu--dark .x-menu__operations:not(:empty) {
border-top-color: var(--td-gray-color-10);
}
.x-default-menu.x-menu--dark .x-menu__item:hover:not(.x-is-active):not(.x-is-disabled) {
background-color: var(--td-gray-color-10);
}
.x-default-menu.x-menu--dark .x-menu__item.x-is-active:not(.x-is-opened) {
color: var(--td-text-color-anti);
background-color: var(--td-brand-color);
}
.x-default-menu.x-menu--dark .x-menu__item.x-is-active:not(.x-is-opened) .x-icon {
color: var(--td-text-color-anti);
}
.x-default-menu.x-menu--dark .x-menu__item.x-is-opened.x-is-active {
background-color: transparent;
}
.x-default-menu.x-menu--dark .x-menu-group__title {
color: var(--td-font-white-3);
}
.x-default-menu.x-menu--dark.x-is-collapsed .x-menu-group__title:after {
background-color: var(--td-gray-color-10);
}
.x-default-menu.x-menu--dark.x-is-collapsed .x-menu__item.x-is-active.x-is-opened {
background-color: var(--td-brand-color);
color: var(--td-text-color-anti);
}
.x-default-menu.x-menu--dark.x-is-collapsed .x-menu__item.x-is-active.x-is-opened .x-icon {
color: var(--td-text-color-anti);
}
.x-menu {
color: var(--td-text-color-primary);
font: var(--td-font-body-medium);
list-style: none;
padding: 0;
margin: 0;
}
.x-menu--dark {
color: var(--td-font-white-2);
}
.x-menu__logo:not(:empty) {
display: flex;
align-items: center;
}
.x-menu .x-submenu {
position: relative;
}
.x-menu .x-submenu.x-is-active > .x-menu__item {
color: var(--td-gray-color-13);
}
.x-menu .x-submenu.x-is-active > .x-menu__item .x-icon {
color: var(--td-gray-color-13);
}
.x-menu .x-submenu .x-submenu-icon {
width: 16px;
height: 16px;
}
.x-menu .x-submenu.x-is-opened .x-submenu-icon {
transform: scaleY(-1);
}
.x-menu__spacer::before {
content: "";
display: block;
position: absolute;
z-index: 1;
}
.x-menu__spacer--left::before {
left: -16px;
width: 16px;
top: 0;
bottom: 0;
}
.x-menu__spacer--top::before {
top: -20px;
left: 0;
right: 0;
height: 20px;
}
.x-menu__item {
position: relative;
display: flex;
align-items: center;
height: 40px;
line-height: 40px;
text-align: center;
color: var(--td-text-color-primary);
cursor: pointer;
text-overflow: ellipsis;
border-radius: var(--td-radius-default);
--ripple-color: var(--td-bg-color-container-active);
}
.x-menu__item > .x-fake-arrow {
margin-left: var(--td-comp-margin-m);
}
.x-menu__item ::selection {
background: transparent;
}
.x-menu__item-spacer {
overflow: unset;
}
.x-menu__item-spacer::before {
content: "";
display: block;
position: absolute;
z-index: 1;
}
.x-menu__item-spacer--right::before {
right: -16px;
width: 16px;
top: 0;
bottom: 0;
}
.x-menu__item-spacer--bottom::before {
bottom: -20px;
left: 0;
right: 0;
height: 20px;
}
.x-menu__item a {
color: unset;
text-decoration: none;
}
.x-menu__item a.x-menu__item-link {
color: unset;
}
.x-menu__item a.x-menu__item-link::before {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.x-menu__item.x-is-active {
color: var(--td-brand-color);
background-color: var(--td-brand-color-light);
}
.x-menu__item.x-is-opened {
color: var(--td-brand-color);
}
.x-menu__item:hover:not(.x-is-active):not(.x-is-opened):not(.x-is-disabled) {
background-color: var(--td-bg-color-container-hover);
}
.x-menu__item.x-is-disabled {
color: var(--td-text-color-disabled);
cursor: not-allowed;
}
.x-menu__content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.x-icon + .x-menu__content,
.x-icon + .x-menu__item-link {
margin-left: var(--td-comp-margin-s);
}
.x-menu--dark.x-head-menu {
background-color: var(--td-gray-color-13);
}
.x-menu--dark .x-menu__item {
color: var(--td-text-color-anti);
--ripple-color: var(--td-gray-color-11);
}
.x-menu--dark .x-menu__item.x-is-active {
color: var(--td-text-color-anti);
background-color: var(--td-brand-color);
}
.x-menu--dark .x-menu__item.x-is-opened {
color: var(--td-text-color-anti);
}
.x-menu--dark .x-menu__item.x-is-opened .x-icon {
color: var(--td-text-color-anti);
}
.x-menu--dark .x-menu__item.x-is-disabled {
color: var(--td-font-white-4);
}
.x-menu--dark .x-menu__item:hover:not(.x-is-active):not(.x-is-opened):not(.x-is-disabled) {
background-color: var(--td-gray-color-10);
}
.x-menu--dark .x-menu__popup {
background: var(--td-gray-color-13);
border: solid 0.5px var(--td-gray-color-10);
}
.x-menu--dark .x-menu__popup .x-menu__item {
color: var(--td-text-color-anti);
border-radius: var(--td-radius-default);
}
.x-menu--dark .x-menu__popup .x-menu__item.x-is-active {
color: var(--td-text-color-anti);
background-color: var(--td-brand-color);
}
.x-menu--dark .x-menu__popup .x-menu__item:hover:not(.x-is-active) {
background-color: var(--td-gray-color-10);
}
.x-menu--dark .x-head-menu__submenu {
border-top: 1px solid transparent;
}
.x-menu--dark .x-menu__operations-icon {
color: var(--td-bg-color-container);
}
.x-menu--dark .x-menu__operations-icon:hover {
background-color: var(--td-brand-color);
}
.x-menu__popup {
overflow: hidden;
position: absolute;
background: var(--td-bg-color-container);
z-index: 1000;
border-radius: var(--td-radius-medium);
opacity: 0;
list-style: none;
padding: 0;
margin: 0;
}
.x-menu__popup-wrapper {
padding: var(--td-pop-padding-m);
height: 100%;
list-style: none;
margin: 0;
scrollbar-color: var(--td-scrollbar-color) transparent;
scrollbar-width: thin;
}
.x-menu__popup-wrapper::-webkit-scrollbar {
width: 8px;
height: 8px;
}
.x-menu__popup-wrapper::-webkit-scrollbar-thumb {
border: 2px solid transparent;
background-clip: content-box;
background-color: var(--td-scrollbar-color);
border-radius: 15px;
}
.x-menu__popup-wrapper::-webkit-scrollbar-thumb:vertical:hover,
.x-menu__popup-wrapper::-webkit-scrollbar-thumb:horizontal:hover {
background-color: var(--td-scrollbar-hover-color);
}
.x-menu__popup .x-fake-arrow {
margin-left: auto;
}
.x-menu__popup .x-menu__item {
padding-left: var(--td-comp-paddingLR-l);
padding-right: var(--td-comp-paddingLR-l);
}
.x-menu__popup.x-is-vertical {
min-width: var(--popup-width, 160px);
}
.x-menu__popup.x-is-horizontal .x-menu__item {
white-space: nowrap;
}
.x-menu__popup.x-is-horizontal li + li {
margin-top: var(--td-comp-margin-xs);
}
.x-menu__popup.x-is-opened {
opacity: 1;
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.1), 0 8px 10px 1px rgba(0, 0, 0, 0.06), 0 3px 14px 6px rgba(0, 0, 0, 0.05);
overflow: visible;
}
.x-menu__popup .x-menu__item {
color: var(--td-text-color-primary);
height: var(--td-comp-size-s);
line-height: var(--td-comp-size-s);
}
.x-menu__popup .x-menu__item + .x-menu__item {
margin-left: 0;
}
.x-menu__popup .x-menu__item:hover:not(.x-is-active) {
background-color: var(--td-bg-color-container-hover);
}
.x-menu__popup .x-is-disabled {
color: var(--td-text-color-disabled);
}
.x-menu__operations-icon {
margin-right: var(--td-comp-margin-l);
border-radius: var(--td-radius-default);
color: var(--td-text-color-primary);
transition: background-color 0.24s cubic-bezier(0.38, 0, 0.24, 1);
}
.x-menu__operations-icon:hover {
background-color: var(--td-brand-color-light);
}
.x-opacity-transition {
transition: opacity 0.28s cubic-bezier(0.55, 0, 0.1, 1);
}
.horizontal-collapse-transition .x-submenu__title .x-submenu__icon-arrow {
transition: 0.2s;
opacity: 0;
}
.x-menu__popup {
top: 0;
left: calc(100% - var(--td-pop-padding-m));
}
.x-menu__popup .x-menu__item,
.x-menu__popup .x-submenu {
margin: var(--td-comp-margin-xxs) 0 0 0;
}
.x-menu__popup .x-menu__item:first-child,
.x-menu__popup .x-submenu:first-child {
margin-top: 0;
}
.x-is-head-menu .x-menu__popup {
margin-top: calc((var(--td-comp-size-xxxl) - var(--td-comp-size-m)) / 2) ;
}
.x-menu-is-nested .x-menu__popup {
margin-top: calc(0px - var(--td-pop-padding-m)) ;
}