* Copyright (c) 2022 - present TinyVue Authors.
* Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
*
* Use of this source code is governed by an MIT-style license.
*
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
*
*/
@import './base/common.less';
@import './mixins/table.less';
@import '../custom.less';
@grid-prefix-cls: ~'@{css-prefix}grid';
@grid-cell-prefix-cls: ~'@{css-prefix}grid-cell';
@input-prefix-cls: ~'@{css-prefix}input';
@select-prefix-cls: ~'@{css-prefix}select';
@pager-prefix-cls: ~'@{css-prefix}pager';
@header-suffix: ~'@{grid-prefix-cls}-cell__header-suffix';
.@{grid-prefix-cls} {
position: relative;
overflow: hidden;
font-size: var(--tv-Grid-font-size);
color: var(--tv-Grid-text-color);
background-color: var(--tv-Grid-bg-color);
.@{grid-prefix-cls}-body__expanded-row {
background-color: var(--tv-Grid-expanded-row-bg-color);
}
&.show__foot {
&.scroll__x {
.@{grid-prefix-cls}__body-wrapper {
overflow-x: auto;
}
}
}
&.column__highlight {
.@{grid-prefix-cls}-header__column {
&:not(.col__index) {
&:hover {
background-color: var(--tv-Grid-header-bg-color-hover);
}
}
}
}
&.size__medium {
.@{grid-prefix-cls}-header__column,
.@{grid-prefix-cls}-body__column,
.@{grid-prefix-cls}-footer__column {
.DefaultTdPadding();
}
.@{grid-prefix-cls}-body__column,
.@{grid-prefix-cls}-footer__column {
.MediumColumnHeight();
}
.@{grid-prefix-cls}-header__column {
height: var(--tv-Grid-header-height);
padding: var(--tv-Grid-header-padding-y) var(--tv-Grid-cell-padding-x);
}
.@{grid-prefix-cls}-loading {
.@{grid-prefix-cls}__spinner {
width: 48px;
height: 48px;
}
}
.@{grid-prefix-cls}-default-input,
.@{grid-prefix-cls}-default-textarea,
.@{grid-prefix-cls}-default-select,
.@{grid-prefix-cls}-input__wrapper {
.MediumColumnHeight();
}
.@{grid-header-prefix-cls}__column {
.@{grid-prefix-cls}-resizable {
.MediumColumnHeight();
}
}
}
&.size__small {
.@{grid-prefix-cls}-header__column,
.@{grid-prefix-cls}-body__column,
.@{grid-prefix-cls}-footer__column {
.SmallTdPadding();
}
.@{grid-prefix-cls}-body__column,
.@{grid-prefix-cls}-footer__column {
.SmallColumnHeight();
}
.@{grid-prefix-cls}-header__column {
height: var(--tv-Grid-header-height-small);
padding: var(--tv-Grid-header-padding-y) var(--tv-Grid-cell-padding-x-small);
}
.@{grid-prefix-cls}-loading {
.@{grid-prefix-cls}__spinner {
width: 40px;
height: 40px;
}
}
.@{grid-prefix-cls}-default-input,
.@{grid-prefix-cls}-default-textarea,
.@{grid-prefix-cls}-default-select,
.@{grid-prefix-cls}-input__wrapper {
.SmallColumnHeight();
}
.@{grid-header-prefix-cls}__column {
.@{grid-prefix-cls}-resizable {
.SmallColumnHeight();
}
}
}
&.size__mini {
.@{grid-prefix-cls}-header__column,
.@{grid-prefix-cls}-body__column,
.@{grid-prefix-cls}-footer__column {
.MiniTdPadding();
}
.@{grid-prefix-cls}-body__column,
.@{grid-prefix-cls}-footer__column {
.MiniColumnHeight();
}
.@{grid-prefix-cls}-header__column {
height: var(--tv-Grid-header-height-mini);
padding: 2px var(--tv-Grid-cell-padding-x-mini);
}
.@{grid-prefix-cls}-loading {
.@{grid-prefix-cls}__spinner {
width: 36px;
height: 36px;
}
}
.@{grid-prefix-cls}-default-input,
.@{grid-prefix-cls}-default-textarea,
.@{grid-prefix-cls}-default-select,
.@{grid-prefix-cls}-input__wrapper {
.MiniColumnHeight();
}
.@{grid-header-prefix-cls}__column {
.@{grid-prefix-cls}-resizable {
.MiniColumnHeight();
}
}
}
.fixed__column {
position: sticky !important;
z-index: 1;
background-color: inherit;
&.fixed-left-last__column:after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 30px;
transform: translate(100%);
transition: box-shadow 0.3s;
content: '';
pointer-events: none;
}
&.fixed-right-first__column:after {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 30px;
transform: translate(-100%);
transition: box-shadow 0.3s;
content: '';
pointer-events: none;
}
&.fixed-right-first__column + .col__gutter {
position: sticky;
right: 0;
background-color: var(--tv-Grid-header-bg-color);
}
}
th.fixed__column {
background-color: var(--tv-Grid-header-bg-color);
&.tiny-grid-header__column .tiny-grid-resizable.is__line::before {
transform: translateX(-1px);
}
}
&-fixed__left {
.fixed__column.fixed-left-last__column:after {
box-shadow: inset 10px 0 8px -8px #00000026;
}
}
&-fixed__right {
.fixed__column.fixed-right-first__column:after {
box-shadow: inset -10px 0 8px -8px #00000026;
}
}
table {
border-spacing: 0;
border-collapse: separate;
table-layout: fixed;
}
&&__stripe {
.@{grid-prefix-cls}-body__row {
&:not(.row__hover) {
&:nth-child(2n) {
background-color: var(--tv-Grid-gray-bg-color);
}
&.row__current {
background-color: var(--tv-Grid-bg-color-hover);
}
}
&.row__selected {
&:not(.row__hover) {
&:nth-child(2n) {
background-color: #eaf4fd;
}
&:nth-child(2n + 1) {
background-color: #e0eefc;
}
}
}
}
&.row__highlight .@{grid-prefix-cls}-body__row:hover {
background-color: var(--tv-Grid-bg-color-hover);
.fixed__column {
background-color: var(--tv-Grid-bg-color-hover);
}
}
&.mark-insert {
.@{grid-prefix-cls}-body__row.row__new {
background-color: var(--tv-Grid-gray-bg-color);
}
}
}
&&__border {
&:before,
&:after {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 0;
z-index: 1;
}
&:before {
top: 0;
z-index: 2;
border-top: 1px solid var(--tv-Grid-border-color-divider);
}
&:after {
bottom: 0;
border-bottom: 1px solid var(--tv-Grid-border-color-divider);
}
table.@{grid-prefix-cls}__body {
border-top: 1px solid var(--tv-Grid-border-color-divider);
}
.@{grid-prefix-cls}__header {
border: 0;
border-spacing: 0;
border-collapse: separate;
}
.@{grid-prefix-cls}-header__column,
.@{grid-prefix-cls}-body__column,
.@{grid-prefix-cls}-footer__column {
background-image:
linear-gradient(-90deg, var(--tv-Grid-border-color-divider), var(--tv-Grid-border-color-divider)),
linear-gradient(-180deg, var(--tv-Grid-border-color-divider), var(--tv-Grid-border-color-divider));
background-repeat: no-repeat;
background-size:
1px 100%,
100% 1px;
background-position:
100% 0,
100% 100%;
border: none;
}
.@{grid-prefix-cls}__body-wrapper {
border-bottom: none;
}
.@{grid-prefix-cls}__border-line {
&:before,
&:after {
content: '';
position: absolute;
top: 0;
width: 0;
height: 100%;
z-index: 10;
}
&:before {
left: 0;
border-left: 1px solid var(--tv-Grid-border-color-divider);
}
&:after {
right: 0;
border-right: 1px solid var(--tv-Grid-border-color-divider);
}
}
}
&&__checked {
user-select: none;
.@{grid-prefix-cls}-header__column,
.@{grid-prefix-cls}-body__column {
&.col__index {
text-align: center;
cursor: default;
}
}
.@{grid-prefix-cls}-header__column {
&.col__index {
.@{grid-prefix-cls}-cell {
visibility: hidden;
}
}
}
.@{grid-prefix-cls}-body__column {
&.col__index {
background-color: var(--tv-Grid-header-bg-color);
&.col__index-checked {
background-color: var(--tv-Grid-col-active-bg-color);
border: 1px solid var(--tv-Grid-col-body-active-border-color);
}
}
}
}
& &__header-wrapper,
& &__footer-wrapper {
overflow-x: hidden;
overflow-y: hidden;
}
& &__footer-wrapper {
border-top: 1px solid var(--tv-Grid-border-color-divider);
border-bottom: none;
overflow: hidden !important;
.@{grid-prefix-cls}-footer__row {
.@{grid-prefix-cls}-cell.cell__summary {
font-weight: 700;
text-align: right;
}
}
}
& &__header-wrapper,
& &__body-wrapper,
& &__footer-wrapper {
position: relative;
}
&&-cell__resize {
* {
cursor: col-resize;
}
}
& &-body__row {
background-color: var(--tv-Grid-bg-color);
&.row__selected,
&.row__radio {
background-color: var(--tv-Grid-bg-color-selected);
}
&.row__current {
background-color: var(--tv-Grid-bg-color-hover);
}
}
&.row__highlight &-body__row:not(.row__selected):hover {
background-color: var(--tv-Grid-bg-color-hover);
.fixed__column {
background-color: var(--tv-Grid-bg-color-hover);
}
}
& &-header__column,
& &-body__column,
& &-footer__column {
text-align: left;
border-bottom: 1px solid var(--tv-Grid-border-color-divider);
.DefaultTdPadding();
&.col__current {
background-color: var(--tv-Grid-bg-color-active);
}
&.col__center {
text-align: center;
}
&.col__right {
text-align: right;
}
&.col__ellipsis {
.CellEllipsis();
}
&.col__selection {
.tiny-grid-cell {
&:has(> .@{grid-prefix-cls}-checkbox) {
line-height: 1;
}
}
}
}
& &-header__column {
padding: var(--tv-Grid-header-padding-y) var(--tv-Grid-cell-padding-x);
height: var(--tv-Grid-header-height);
svg {
fill: var(--tv-Grid-icon-color);
&:hover {
fill: var(--tv-Grid-icon-color-hover);
}
}
&.col__center {
.@{grid-prefix-cls}-cell {
justify-content: center;
}
}
&.col__right {
.@{grid-prefix-cls}-cell {
justify-content: right;
}
}
}
& &-body__column,
& &-footer__column {
.DefaultColumnHeight();
}
& &-cell {
line-height: var(--tv-Grid-line-height);
white-space: normal;
word-break: break-word;
.@{grid-prefix-cls}-checkbox {
vertical-align: middle;
}
.@{grid-prefix-cls}__data-boole,
.@{grid-prefix-cls}__data-rate {
width: 100%;
position: relative;
}
.@{grid-prefix-cls}__data-boole {
.icon-yes {
fill: var(--tv-Grid-success-icon-color);
}
.icon-close {
fill: var(--tv-Grid-error-icon-color);
}
}
.@{grid-prefix-cls}__data-rate {
.@{grid-prefix-cls}__rate-chart {
opacity: 0.6;
background-color: var(--tv-Grid-success-bg-color);
height: 30px;
line-height: 30px;
&.@{grid-prefix-cls}__chart-completed {
background-color: var(--tv-Grid-success-bg-color);
}
&.@{grid-prefix-cls}__chart-danger {
background-color: var(--tv-Grid-error-bg-color);
}
&.@{grid-prefix-cls}__chart-warning {
background-color: var(--tv-Grid-warn-bg-color);
}
&.@{grid-prefix-cls}__chart-normal {
background-color: var(--tv-Grid-primary-bg-color);
}
}
.@{grid-prefix-cls}__rate-text {
position: absolute;
left: 8px;
top: 50%;
transform: translateY(-50%);
}
}
}
& &-header__column:not(.col__selection) {
.@{grid-cell-prefix-cls} {
display: flex;
align-items: center;
justify-content: flex-start;
}
&.col__center {
.@{grid-cell-prefix-cls} {
justify-content: center;
}
}
&.col__right {
.@{grid-cell-prefix-cls} {
justify-content: flex-end;
}
}
&.col__ellipsis {
.@{grid-cell-prefix-cls}-text {
.TextEllipsis();
}
}
}
& &-body__x-space {
width: 100%;
height: 0;
}
& &-body__y-space {
width: 0;
float: left;
}
& &-sort-wrapper {
margin-left: 4px;
.@{grid-prefix-cls}-sort__btn {
display: block;
font-size: var(--tv-Grid-icon-size);
fill: var(--tv-Grid-icon-color);
cursor: pointer;
&:hover {
fill: var(--tv-Grid-icon-color-hover);
}
&.sort__active {
fill: var(--tv-Grid-icon-color-active);
}
}
}
& &__resizable-bar {
display: none;
position: absolute;
top: 0;
left: 0;
width: 1px;
height: 100%;
z-index: 21;
&:before {
content: '';
display: block;
height: 100%;
background-color: #d9dddf;
}
}
&__hover-align {
.@{grid-prefix-cls}-body__column:hover {
background-color: var(--tv-Grid-bg-color-selected);
}
}
& &-body__hover-align-y-bar {
--after-left-offset: 0;
display: none;
z-index: 9;
position: absolute;
top: 0;
left: 0;
&:before {
content: '';
position: absolute;
display: block;
height: 100%;
border-left: 1px dashed var(--tv-Grid-align-line-border-color);
}
&:after {
top: 0;
right: 0;
content: '';
position: absolute;
display: block;
height: 100%;
border-left: 1px dashed var(--tv-Grid-align-line-border-color);
left: var(--after-left-offset);
}
}
& &-body__hover-align-x-bar {
--after-top-offset: 0;
display: none;
z-index: 9;
position: absolute;
height: 0;
top: 0;
left: 0;
&:before {
content: '';
position: absolute;
display: block;
width: 100%;
border-top: 1px dashed var(--tv-Grid-align-line-border-color);
}
&:after {
content: '';
position: absolute;
display: block;
width: 100%;
border-top: 1px dashed var(--tv-Grid-align-line-border-color);
top: var(--after-top-offset);
}
}
& &-tree__indent {
display: inline-block;
}
& &-tree-wrapper {
display: inline-block;
vertical-align: bottom;
width: 18px;
cursor: pointer;
&.is__active {
.@{grid-prefix-cls}-tree__node-btn {
transform: rotate(0);
}
}
.@{grid-prefix-cls}-tree__node-btn {
font-size: var(--tv-Grid-font-size);
border-color: var(--tv-Grid-icon-color);
transform: rotate(-90deg);
&:hover {
border-color: var(--tv-Grid-icon-color-hover);
}
}
}
& &__expanded {
display: inline-block;
text-align: center;
cursor: pointer;
.@{grid-prefix-cls}__expand-icon {
display: inline-block;
width: 8px;
height: 8px;
border: 1px solid #666;
vertical-align: middle;
border-width: 1px 1px 0 0;
transform: rotate(45deg);
background-color: transparent;
}
&.expand__active {
.@{grid-prefix-cls}__expand-icon {
transform: rotate(135deg);
}
}
}
& &-body__expanded-column {
border-bottom: 1px solid var(--tv-Grid-border-color-divider);
}
& &-body__expanded-cell {
padding: 20px;
}
&.is__loading {
.@{grid-prefix-cls}__empty-block {
visibility: hidden;
}
}
& &__empty-block {
height: 100%;
min-height: 60px;
padding: 60px 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
position: sticky;
left: 0;
flex: auto;
flex-direction: column;
}
& &__empty-img {
width: 100%;
height: 100px;
margin: 0;
}
& &__empty-text {
display: block;
margin-top: 8px;
text-align: center;
width: 100%;
}
& &-body__column {
&.col__selected {
&:not(.col__checked) {
border: 1px solid var(--tv-Grid-cell-border-color-selected);
}
}
&.col__actived,
&.col__selected,
&.col__dirty {
position: relative;
}
&.col__valid-error {
.@{grid-prefix-cls}-cell__valid {
width: 320px;
position: absolute;
bottom: calc(100% + 4px);
left: 50%;
transform: translateX(-50%);
text-align: center;
pointer-events: none;
z-index: 9;
.@{grid-prefix-cls}-cell__valid-msg {
display: inline-block;
border-radius: 4px;
padding: 8px 12px;
color: #fff;
background-color: var(--tv-Grid-error-bg-color-light);
pointer-events: auto;
}
}
.@{grid-prefix-cls}-default-input,
.@{grid-prefix-cls}-default-textarea,
.@{grid-prefix-cls}-default-select {
border-color: var(--tv-Grid-error-border-color);
background-color: var(--tv-Grid-error-bg-color-light);
}
.@{grid-prefix-cls}-input__wrapper {
> .@{grid-prefix-cls}-input {
border-color: var(--tv-Grid-error-border-color);
background-color: var(--tv-Grid-error-bg-color-light);
}
}
.@{input-prefix-cls}__inner {
border-color: var(--tv-Grid-error-border-color);
background-color: var(--tv-Grid-error-bg-color-light);
}
}
&.col__treenode {
.@{grid-prefix-cls}-cell {
display: flex;
align-items: center;
.@{grid-prefix-cls}-tree__indent {
flex-shrink: 0;
}
.@{grid-prefix-cls}-tree-wrapper {
width: calc(20px + var(--tv-Grid-tree-expand-icon-padding-right));
height: 20px;
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
padding-right: var(--tv-Grid-tree-expand-icon-padding-right);
svg {
font-size: var(--tv-Grid-icon-size);
fill: var(--tv-Grid-icon-color);
&:hover {
fill: var(--tv-Grid-icon-color-hover);
}
}
}
}
&.col__ellipsis {
.@{grid-prefix-cls}-cell {
&__tooltip:has(.tiny-grid-tree__indent:nth-last-child(2):first-child),
&__title:has(.tiny-grid-tree__indent:nth-last-child(2):first-child),
&__ellipsis:has(.tiny-grid-tree__indent:nth-last-child(2):first-child) {
display: inline-block;
max-width: 100%;
}
}
}
}
}
& &-body__row {
&:first-child {
.@{grid-prefix-cls}-cell__valid {
bottom: auto;
top: calc(100% + 4px);
}
}
}
& &__body-wrapper {
&.body__wrapper.is__scrollload {
overflow-y: hidden;
}
}
& .is__scrollload &-body__y-space {
position: absolute;
right: 0;
bottom: 0;
width: 12px;
overflow-y: scroll;
z-index: 20;
.@{grid-prefix-cls}-body__y-scrollbar {
width: 1px;
}
}
&&-editable {
&.@{grid-prefix-cls}-cell__highlight {
.@{grid-prefix-cls}-body__column {
&.col__actived {
box-shadow: inset 0 0 0 2px var(--tv-Grid-cell-border-color-selected);
&.col__valid-error {
box-shadow: inset 0 0 0 2px var(--tv-Grid-error-border-color);
}
.@{grid-prefix-cls}-cell {
.@{grid-prefix-cls}-default-input,
.@{grid-prefix-cls}-default-textarea {
border: 0;
padding: 0;
}
.@{grid-prefix-cls}-input__wrapper {
.@{grid-prefix-cls}-input,
.@{grid-prefix-cls}-textarea {
border: 0;
padding: 0;
}
}
}
}
}
}
.@{grid-prefix-cls}-body__column {
position: relative;
&.col__highlight-error {
.@{grid-cell-prefix-cls}::after {
content: '';
position: absolute;
border: 1px solid var(--tv-Grid-error-border-color);
top: 4px;
bottom: 4px;
left: 8px;
right: 8px;
}
&.col__actived {
.@{grid-cell-prefix-cls}::after {
display: none;
}
}
}
&.col__actived,
&.edit__visible {
padding: 0 var(--tv-Grid-cell-padding-x);
}
&.col__dirty {
&:before {
content: '';
top: -5px;
left: -5px;
position: absolute;
border-width: 5px;
border-style: solid;
border-color: transparent var(--tv-Grid-error-border-color) transparent transparent;
transform: rotate(45deg);
}
&.col__valid-success:before {
border-color: transparent var(--tv-Grid-success-border-color) transparent transparent;
}
}
}
.@{grid-prefix-cls}__body-wrapper {
.@{grid-prefix-cls}-editor {
.@{css-prefix}select-dropdown {
left: 0 !important;
}
}
}
}
&,
&__filter-wrapper {
.@{grid-prefix-cls}-default-input,
.@{grid-prefix-cls}-default-textarea,
.@{grid-prefix-cls}-default-select {
outline: 0;
height: var(--tv-Grid-input-height);
padding: 0 16px;
width: 100%;
color: var(--tv-Grid-text-color);
border-radius: var(--tv-Grid-input-border-radius);
border: 1px solid var(--tv-Grid-border-color-divider);
background-color: var(--tv-Grid-input-bg-color);
&:focus {
border: 1px solid var(--tv-Grid-input-border-color-hover);
}
}
.@{css-prefix}cascader {
width: 100%;
}
select.@{grid-prefix-cls}-default-select option {
background-color: var(--tv-Grid-select-option-bg-color);
}
.@{grid-prefix-cls}-editor {
width: 100%;
height: 100%;
padding: 4px 0;
color: var(--tv-Grid-text-color);
background-color: var(--tv-Grid-input-bg-color);
.@{input-prefix-cls} {
width: 100%;
}
.@{select-prefix-cls} {
z-index: 1;
}
}
.@{grid-prefix-cls}-default-textarea {
resize: none;
vertical-align: middle;
}
.@{grid-prefix-cls}-input__wrapper {
width: 100%;
display: block;
.@{grid-prefix-cls}-input,
.@{grid-prefix-cls}-textarea {
padding: 0 2px;
}
.@{grid-prefix-cls}-textarea {
resize: none;
}
}
}
&__filter-wrapper {
.@{grid-prefix-cls}-default-input,
.@{grid-prefix-cls}-default-textarea {
padding: 0 10px;
}
}
&-hidden-column {
display: none;
}
.@{pager-prefix-cls},
& + .@{pager-prefix-cls} {
padding-top: 24px;
}
& &__header {
th.col__gutter {
width: 0;
position: sticky;
right: 0;
background-color: var(--tv-Grid-header-bg-color);
}
}
& &__selected-box-outer {
width: 100%;
display: grid;
}
& &__selected-box-outer-default {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
& &__selected-box-wrapper {
border-width: 1px;
border-style: solid;
border-color: #eeeeee;
}
& &__selected-box-wrapper-default {
display: block;
}
& &__selected-box-table {
grid-column: span 3 / span 3;
height: max-content;
}
& &__column-anchor {
flex-wrap: nowrap;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
height: 2rem;
align-items: center;
}
& &__column-anchor-item {
flex-shrink: 0;
max-width: 20rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 1.5rem;
font-size: 0.875rem;
cursor: pointer;
color: var(--tv-Grid-column-anchor-text-color);
&:last-child {
margin-right: 0px;
}
&:hover {
color: #0072e8;
.@{grid-prefix-cls}__column-anchor-item-icon {
fill: #0072e8;
}
}
&--active {
padding-left: 1.25rem;
position: relative;
color: #005bba;
}
}
& &__column-anchor-item-icon {
position: absolute;
left: 0px;
bottom: 50%;
transform: translateY(50%);
fill: #005bba;
}
& &__oper-col-elps {
outline: 2px solid transparent;
outline-offset: 2px;
font-size: 1rem;
line-height: 1.5rem;
cursor: pointer;
}
& &__oper-col-button {
font-size: 0.875rem;
line-height: 1.25rem;
cursor: pointer;
margin-right: 0.5rem;
&--disabled {
cursor: not-allowed;
fill: rgba(51, 61, 72, 0.3);
color: rgba(22, 30, 38, 0.3);
}
}
&.row__valid-inline {
.@{grid-prefix-cls}__body-wrapper .@{grid-prefix-cls}-body__row.row__actived {
height: 72px;
.@{grid-prefix-cls}-cell__valid {
position: absolute;
top: auto;
right: auto;
bottom: 1px;
left: var(--tv-Grid-cell-padding-x);
width: calc(100% - 2 * var(--tv-Grid-cell-padding-x));
height: 16px;
line-height: 1;
transform: translate(0, 0);
background-color: transparent;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--tv-Grid-error-text-color);
.@{grid-prefix-cls}-cell__valid-icon {
margin-right: 8px;
fill: var(--tv-Grid-error-icon-color);
font-size: 16px;
}
.@{grid-prefix-cls}-cell__valid-msg {
padding: 0;
background-color: transparent;
display: inline;
color: inherit;
font-size: 12px;
}
}
}
}
&.row__drop-handle--index {
.@{grid-prefix-cls}__body-wrapper td.col__index {
position: relative;
.row__drop-handle {
position: absolute;
left: 0;
top: 0;
width: 8px;
height: 100%;
cursor: grab;
&::before {
--row-drop-handle-bgcolor: #8d959e;
content: '';
display: block;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 8px;
height: 14px;
background-image:
linear-gradient(
180deg,
var(--row-drop-handle-bgcolor) 0 2px,
transparent 2px 6px,
var(--row-drop-handle-bgcolor) 6px 8px,
transparent 8px 12px,
var(--row-drop-handle-bgcolor) 12px 14px
),
linear-gradient(180deg, transparent, transparent),
linear-gradient(
180deg,
var(--row-drop-handle-bgcolor) 0 2px,
transparent 2px 6px,
var(--row-drop-handle-bgcolor) 6px 8px,
transparent 8px 12px,
var(--row-drop-handle-bgcolor) 12px 14px
);
background-position:
0 0,
2px 0,
6px 0;
background-size:
2px 14px,
4px 14px,
2px 14px;
background-repeat: no-repeat;
}
}
}
}
.@{grid-prefix-cls}__body {
.tiny-grid-header__column {
background-color: var(--tv-Grid-header-bg-color);
position: sticky;
}
.tiny-grid-header__column:last-child {
contain: layout;
}
.tiny-grid-header__column .tiny-grid-thead-partition,
.tiny-grid-header__column .tiny-grid-resizable {
transform: translateX(calc(50% - 1px));
}
.tiny-grid-header__column:last-child .tiny-grid-resizable {
transform: translateX(0);
width: 7px;
}
.tiny-grid-custom-footer {
width: 100%;
position: sticky;
bottom: 0;
}
.tiny-grid-footer__column {
position: sticky;
background-color: var(--tv-Grid-bg-color);
}
.@{grid-prefix-cls}-cell-text {
font-weight: var(--tv-Grid-header-font-weight);
}
.@{header-suffix} {
position: relative;
min-height: 16px;
.suffix-icon-1 {
position: absolute;
right: 12px;
}
.suffix-icon-0 {
position: absolute;
right: 0;
}
}
}
.sticky-wrapper {
position: sticky;
top: 0;
left: 0;
overflow: hidden;
height: 100%;
max-height: inherit;
}
}
.@{css-prefix}fullscreen-full {
z-index: 1000;
position: fixed;
overflow: auto;
background: #fff;
width: 100%;
height: 100%;
top: 0;
left: 0;
margin: 0;
padding: 8px;
}