@qvant/qui-max
Version:
A Vue 3 Design system for Web.
420 lines (410 loc) • 13.7 kB
CSS
.q-table-empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: calc(100% - 64px);
height: 228px;
margin: 8px 32px 16px;
background-color: var(--color-tertiary-gray-light);
border-radius: var(--border-radius-base);
box-shadow: var(--table-box-shadow-base);
}
.q-table-empty__image {
position: relative;
width: 160px;
height: 160px;
}
.q-table-empty__image::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
display: block;
width: 148px;
height: 148px;
margin: auto;
content: "";
background-color: var(--color-tertiary-gray-ultra-light);
border-radius: 50%;
}
.q-table-empty__img {
position: relative;
z-index: 2;
width: 100%;
}
.q-table-empty__text {
margin-top: 8px;
font-size: 14px;
font-weight: var(--font-weight-base);
line-height: 18px;
color: rgb(var(--color-rgb-gray)/64%);
text-align: center;
letter-spacing: var(--letter-spacing-base);
}
.q-table-container > .q-scrollbar > .q-scrollbar__bar.q-scrollbar__bar_horizontal {
right: 32px;
left: 32px;
}
.q-table-container__wrapper {
box-sizing: content-box;
padding: 8px 32px 16px;
}
@keyframes skeleton-animation {
from {
left: -50px;
}
to {
left: 100%;
}
}
.q-table-t {
width: 100%;
}
.q-table-t_fixed {
width: max-content;
table-layout: fixed;
}
.q-table-t__skeleton {
position: relative;
width: 100%;
height: 22px;
overflow: hidden;
background-color: var(--color-tertiary-gray-dark);
}
.q-table-t__skeleton::before {
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 100%;
content: "";
background-image: linear-gradient(to right, var(--color-tertiary-gray-dark) 0%, var(--color-tertiary-gray) 50%, var(--color-tertiary-gray-dark) 100%);
animation: skeleton-animation 2s infinite linear;
}
.q-table-t-head {
border-top-left-radius: var(--border-radius-base);
border-top-right-radius: var(--border-radius-base);
}
.q-table_has-color-groups .q-table-t-head {
box-shadow: var(--table-box-shadow-base);
}
.q-table-t-head-cell {
position: relative;
vertical-align: bottom;
}
.q-table_has-color-groups .q-table-t-head-cell {
background-color: var(--color-tertiary-gray-light);
}
.q-table_has-color-groups .q-table-t-head-cell::before {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
content: "";
border-top: 4px solid var(--group-color, var(--color-tertiary-gray-darker));
}
.q-table_has-color-groups .q-table-t-head-cell:not(.q-table-t-head-cell_sticked):first-child, .q-table_has-color-groups .q-table-t-head-cell:not(.q-table-t-head-cell_sticked):first-child::before {
border-top-left-radius: var(--border-radius-base);
}
.q-table_has-color-groups .q-table-t-head-cell:not(.q-table-t-head-cell_sticked):last-child, .q-table_has-color-groups .q-table-t-head-cell:not(.q-table-t-head-cell_sticked):last-child::before {
border-top-right-radius: var(--border-radius-base);
}
.q-table_has-color-groups .q-table-t_grided .q-table-t-head-cell:not(:last-child):not(.q-table-t-head-cell_sticked) {
border-right: 1px solid var(--color-tertiary-gray-dark);
}
.q-table-t-head-cell_sticked {
position: sticky;
z-index: 20;
background-color: var(--color-tertiary-gray-light);
}
.q-table-t_grided .q-table-t-head-cell_sticked.q-table-t-head-cell.q-table-t-head-cell_sticked_left:not(.q-table-t-head-cell_sticked_last), .q-table-t_grided .q-table-t-head-cell_sticked.q-table-t-head-cell.q-table-t-head-cell_sticked_right:not(.q-table-t-head-cell_sticked_first) {
border-right: 1px solid var(--color-tertiary-gray-dark);
}
.q-table-t-head-cell_sticked_last.q-table-t-head-cell_sticked_right {
border-top-left-radius: var(--border-radius-base);
box-shadow: var(--table-box-shadow-inverted);
}
.q-table-t-head-cell_sticked_last.q-table-t-head-cell_sticked_left {
border-top-right-radius: var(--border-radius-base);
box-shadow: var(--table-box-shadow-base);
}
.q-table-t-head-cell__container {
position: relative;
z-index: 15;
display: flex;
align-items: flex-end;
padding: 16px 16px 16px 24px;
}
.q-table-t-head-cell_align_right .q-table-t-head-cell__container {
flex-direction: row-reverse;
}
.q-table-t-head-cell:first-child .q-table-t-head-cell__container {
padding-left: 16px;
}
.q-table-t_grided .q-table-t-head-cell_sticked_right .q-table-t-head-cell__container, .q-table-t_grided .q-table-t-head-cell:not(:last-child):not(.q-table-t-head-cell_sticked_last):not(.q-table-t-head-cell_sticked_right) .q-table-t-head-cell__container {
padding-right: 15px;
}
.q-table-t-head-cell__content {
font-size: var(--font-size-base);
font-weight: var(--font-weight-bold);
line-height: var(--line-height-base);
color: var(--color-primary-black);
letter-spacing: var(--letter-spacing-base);
}
.q-table-t-head-cell__content_ellipsis {
display: -webkit-box;
align-items: flex-end;
width: auto;
overflow: hidden;
word-break: break-word;
white-space: initial;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.q-table-t-head-cell__content_sortable {
cursor: pointer;
user-select: none;
}
.q-table-t-head-cell__content_checkbox {
width: 100%;
}
.q-table-t-head-cell__sort-arrow {
padding: 0;
margin: 0;
font-size: 24px;
background-color: transparent;
border: none;
opacity: 0;
}
.q-table-t-head-cell__sort-arrow:focus {
outline: none;
}
.q-table-t-head-cell_sorted .q-table-t-head-cell__sort-arrow, .q-table-t-head-cell__sort-arrow:hover, .q-table-t-head-cell__sort-arrow.focus-visible {
color: var(--color-primary-blue);
}
.q-table-t-head-cell_sorted .q-table-t-head-cell__sort-arrow, .q-table-t-head-cell_sortable:not(.q-table-t-head-cell_dragging):hover .q-table-t-head-cell__sort-arrow, .q-table-t-head-cell__sort-arrow.focus-visible {
opacity: 1;
}
.q-table-t-head-cell__drag-element {
padding: 0;
margin: 0;
font-size: 24px;
color: var(--color-tertiary-gray-darker);
cursor: grab;
background-color: transparent;
border: none;
}
.q-table-t-head-cell__drop-zone {
position: absolute;
top: 0;
z-index: 50;
width: calc(50% + 1px);
height: 100%;
cursor: grabbing;
}
.q-table-t-head-cell__drop-zone_full {
right: 0;
left: 0;
width: 100%;
}
.q-table-t-head-cell__drop-zone_left {
left: 0;
}
.q-table-t_grided .q-table-t-head-cell__drop-zone_left {
left: -1px;
}
.q-table-t-head-cell__drop-zone_left:hover {
border-left: 1px solid var(--color-primary-blue);
}
.q-table-t-head-cell__drop-zone_right {
right: -1px;
}
.q-table-t-head-cell__drop-zone_right:hover {
border-right: 1px solid var(--color-primary-blue);
}
.q-table-t-head-cell__dummy {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 100;
pointer-events: none;
background-color: rgb(var(--color-rgb-gray)/16%);
}
.q-table-t-total {
overflow: hidden;
box-shadow: var(--table-box-shadow-base);
}
.q-table:not(.q-table_has-color-groups) .q-table-t-total {
border-top-left-radius: var(--border-radius-base);
border-top-right-radius: var(--border-radius-base);
}
.q-table-t-total-cell {
position: relative;
vertical-align: bottom;
background-color: var(--color-tertiary-white);
border-bottom: 1px solid var(--color-tertiary-gray-dark);
}
.q-table-t_grided .q-table-t-total-cell.q-table-t-total-cell:not(:last-child):not(.q-table-t-total-cell_sticked), .q-table-t_grided .q-table-t-total-cell.q-table-t-total-cell.q-table-t-total-cell_sticked_left:not(.q-table-t-total-cell_sticked_last), .q-table-t_grided .q-table-t-total-cell.q-table-t-total-cell.q-table-t-total-cell_sticked_right:not(.q-table-t-total-cell_sticked_first) {
border-right: 1px solid var(--color-tertiary-gray-dark);
}
.q-table:not(.q-table_has-color-groups) .q-table-t-total-cell:first-child {
border-top-left-radius: var(--border-radius-base);
}
.q-table:not(.q-table_has-color-groups) .q-table-t-total-cell:last-child {
border-top-right-radius: var(--border-radius-base);
}
.q-table-t-total-cell_sticked {
position: sticky;
z-index: 20;
}
.q-table-t_grided .q-table-t-total-cell_sticked_last {
border-right-width: 0;
}
.q-table-t-total-cell_sticked_last.q-table-t-total-cell_sticked_right {
box-shadow: var(--table-box-shadow-inverted);
}
.q-table-t-total-cell_sticked_last.q-table-t-total-cell_sticked_left {
box-shadow: var(--table-box-shadow-base);
}
.q-table-t-total-cell_align_right {
text-align: right;
}
.q-table-t-total-cell__container {
position: relative;
z-index: 15;
display: flex;
align-items: center;
height: 80px;
padding: 12px 16px 11px 24px;
}
.q-table-t-total-cell:first-child .q-table-t-total-cell__container {
padding-left: 16px;
}
.q-table-t_grided .q-table-t-total-cell:not(:last-child):not(.q-table-t-total-cell_sticked) .q-table-t-total-cell__container, .q-table-t_grided .q-table-t-total-cell.q-table-t-total-cell_sticked_left:not(.q-table-t-total-cell_sticked_last) .q-table-t-total-cell__container, .q-table-t_grided .q-table-t-total-cell.q-table-t-total-cell_sticked_right:not(.q-table-t-total-cell_sticked_first) .q-table-t-total-cell__container {
padding-right: 15px;
}
.q-table-t-total-cell__content {
width: 100%;
font-size: var(--font-size-base);
font-weight: var(--font-weight-base);
line-height: var(--line-height-base);
color: rgb(var(--color-rgb-gray)/64%);
letter-spacing: var(--letter-spacing-base);
}
.q-table-t-body__space {
height: 1px;
}
.q-table-t-body-cell {
position: relative;
vertical-align: middle;
background-color: var(--color-tertiary-gray-light);
}
.q-table-t-body-row_clickable:hover .q-table-t-body-cell {
cursor: pointer;
background-color: var(--color-tertiary-gray);
}
.q-table-t_grided .q-table-t-body-cell.q-table-t-body-cell:not(:last-child):not(.q-table-t-body-cell_sticked), .q-table-t_grided .q-table-t-body-cell.q-table-t-body-cell.q-table-t-body-cell_sticked_left:not(.q-table-t-body-cell_sticked_last), .q-table-t_grided .q-table-t-body-cell.q-table-t-body-cell.q-table-t-body-cell_sticked_right:not(.q-table-t-body-cell_sticked_first) {
border-right: 1px solid var(--color-tertiary-gray-dark);
}
.q-table-t-body-row:not(:first-child) .q-table-t-body-cell {
border-top: 1px solid var(--color-tertiary-gray-dark);
}
.q-table-t-body-row:last-child .q-table-t-body-cell:first-child {
border-bottom-left-radius: var(--border-radius-base);
}
.q-table-t-body-row:last-child .q-table-t-body-cell:last-child {
border-bottom-right-radius: var(--border-radius-base);
}
.q-table:not(.q-table_has-total) .q-table-t-body-row:first-child .q-table-t-body-cell:first-child {
border-top-left-radius: var(--border-radius-base);
}
.q-table:not(.q-table_has-total) .q-table-t-body-row:first-child .q-table-t-body-cell:last-child {
border-top-right-radius: var(--border-radius-base);
}
.q-table-t-body-cell_sticked {
position: sticky;
z-index: 20;
}
.q-table-t-body-cell_sticked_last.q-table-t-body-cell_sticked_right {
box-shadow: var(--table-box-shadow-inverted);
}
.q-table-t-body-cell_sticked_last.q-table-t-body-cell_sticked_left {
box-shadow: var(--table-box-shadow-base);
}
.q-table-t-body-row:last-child .q-table-t-body-cell_sticked_last.q-table-t-body-cell_sticked_right {
border-bottom-left-radius: var(--border-radius-base);
}
.q-table-t-body-row:last-child .q-table-t-body-cell_sticked_last.q-table-t-body-cell_sticked_left {
border-bottom-right-radius: var(--border-radius-base);
}
.q-table-t-body-cell_align_right {
text-align: right;
}
.q-table-t-body-cell__container {
position: relative;
z-index: 15;
display: flex;
align-items: center;
min-height: 64px;
padding: 12px 16px 12px 24px;
}
.q-table-t-body-row:not(:first-child) .q-table-t-body-cell__container {
min-height: 63px;
padding-top: 11px;
}
.q-table-t-body-cell:first-child .q-table-t-body-cell__container {
padding-left: 16px;
}
.q-table-t_grided .q-table-t-body-cell:not(:last-child):not(.q-table-t-body-cell_sticked) .q-table-t-body-cell__container, .q-table-t_grided .q-table-t-body-cell.q-table-t-body-cell_sticked_left:not(.q-table-t-body-cell_sticked_last) .q-table-t-body-cell__container, .q-table-t_grided .q-table-t-body-cell.q-table-t-body-cell_sticked_right:not(.q-table-t-body-cell_sticked_first) .q-table-t-body-cell__container {
padding-right: 15px;
}
.q-table-t-body-cell__content {
width: 100%;
font-size: var(--font-size-base);
font-weight: var(--font-weight-base);
line-height: var(--line-height-base);
color: rgb(var(--color-rgb-gray)/64%);
letter-spacing: var(--letter-spacing-base);
}
.q-table-t-body-row {
position: relative;
overflow: hidden;
box-shadow: var(--table-box-shadow-base);
}
.q-table-t-body-row .q-table-t-body-cell:first-child::after {
position: absolute;
top: 0;
bottom: 0;
left: 0;
z-index: 20;
display: block;
width: 4px;
content: "";
background-color: var(--row-custom-border-color, transparent);
}
.q-table-t-body-row:last-child {
border-bottom-right-radius: var(--border-radius-base);
}
.q-table-t-body-row:last-child,
.q-table-t-body-row:last-child .q-table-t-body-cell:first-child::after {
border-bottom-left-radius: var(--border-radius-base);
}
.q-table:not(.q-table_has-total) .q-table-t-body-row:first-child {
border-top-right-radius: var(--border-radius-base);
}
.q-table:not(.q-table_has-total) .q-table-t-body-row:first-child,
.q-table:not(.q-table_has-total) .q-table-t-body-row:first-child .q-table-t-body-cell:first-child::after {
border-top-left-radius: var(--border-radius-base);
}
.q-table {
--table-box-shadow-base: var(--box-shadow-pressed);
--table-box-shadow-inverted: 1px -1px 3px rgb(var(--color-rgb-white) / 25%),
-1px 1px 3px rgb(var(--color-rgb-blue) / 40%);
text-align: left;
}