n8n/packages/design-system/src/css/pagination.scss
2023-06-21 14:10:41 +03:00

537 lines
10 KiB
SCSS

@use 'mixins/mixins';
@use 'mixins/utils';
@use './common/var';
@use 'select';
@include mixins.b(pagination) {
white-space: nowrap;
padding: 2px 5px;
color: var.$pagination-font-color;
font-weight: bold;
@include utils.utils-clearfix;
span:not([class*='suffix']),
button {
display: inline-block;
font-size: var.$pagination-font-size;
min-width: var.$pagination-button-width;
height: var.$pagination-button-height;
line-height: var.$pagination-button-height;
vertical-align: top;
box-sizing: border-box;
}
.el-input__inner {
text-align: center;
-moz-appearance: textfield;
line-height: normal;
}
// pagesize 的下拉 icon
.el-input__suffix {
right: 0;
transform: scale(0.8);
}
.el-select .el-input {
width: 100px;
margin: 0 5px;
.el-input__inner {
padding-right: 25px;
border-radius: var.$pagination-border-radius;
}
}
button {
border: none;
padding: 0 6px;
background: transparent;
&:focus {
outline: none;
}
&:hover {
color: var.$pagination-hover-color;
}
&:disabled {
color: var.$pagination-button-disabled-color;
background-color: var.$pagination-button-disabled-background-color;
cursor: not-allowed;
}
}
.btn-prev,
.btn-next {
background-position: center center;
background-repeat: no-repeat;
background-size: 16px;
background-color: var.$pagination-background-color;
cursor: pointer;
margin: 0;
color: var.$pagination-button-color;
display: inline-flex;
align-items: center;
justify-content: center;
.el-icon {
font-size: 12px;
width: 12px;
height: 12px;
font-weight: bold;
svg {
width: 12px;
height: 12px;
display: block;
pointer-events: none;
}
}
}
.btn-prev {
padding-right: 12px;
}
.btn-next {
padding-left: 12px;
}
.el-pager li.disabled {
color: var(--color-text-lighter);
cursor: not-allowed;
}
@include mixins.m(small) {
.btn-prev,
.btn-next,
.el-pager li,
.el-pager li.btn-quicknext,
.el-pager li.btn-quickprev,
.el-pager li:last-child {
border-color: transparent;
font-size: 12px;
line-height: 22px;
height: 22px;
min-width: 22px;
}
.arrow.disabled {
visibility: hidden;
}
.more::before,
li.more::before {
line-height: 24px;
}
span:not([class*='suffix']),
button {
height: 22px;
line-height: 22px;
}
@include mixins.e(editor) {
height: 22px;
&.el-input .el-input__inner {
height: 22px;
}
}
}
@include mixins.e(sizes) {
margin: 0 10px 0 0;
font-weight: normal;
color: var(--color-text-dark);
.el-input .el-input__inner {
font-size: var.$pagination-font-size;
padding-left: 8px;
&:hover {
border-color: var.$pagination-hover-color;
}
}
}
@include mixins.e(total) {
margin-right: 10px;
font-weight: normal;
color: var(--color-text-dark);
}
@include mixins.e(jump) {
margin-left: 24px;
font-weight: normal;
color: var(--color-text-dark);
.el-input__inner {
padding: 0 3px;
}
}
@include mixins.e(rightwrapper) {
float: right;
}
@include mixins.e(editor) {
line-height: 18px;
padding: 0 2px;
height: var.$pagination-button-height;
text-align: center;
margin: 0 2px;
box-sizing: border-box;
border-radius: var.$pagination-border-radius;
&.el-input {
width: 50px;
}
&.el-input .el-input__inner {
height: var.$pagination-button-height;
}
.el-input__inner::-webkit-inner-spin-button,
.el-input__inner::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
}
@include mixins.when(background) {
.btn-prev,
.btn-next,
.el-pager li {
margin: 0 1px;
color: var(--color-text-base);
min-width: 30px;
border-radius: var(--border-radius-base);
border: 1px solid transparent;
&.disabled {
color: var(--color-text-lighter);
}
}
.btn-prev,
.btn-next {
padding: 0;
&:disabled {
color: var(--color-text-lighter);
}
}
.el-pager li:not(.disabled) {
&:hover {
color: var(--color-primary);
background-color: var(--color-background-xlight);
border: 1px solid var(--color-foreground-base);
}
&.is-active {
border: 1px solid var(--color-primary);
color: var(--color-primary);
}
}
&.el-pagination--small {
.btn-prev,
.btn-next,
.el-pager li {
margin: 0 3px;
min-width: 22px;
}
}
}
}
@include mixins.b(pager) {
user-select: none;
list-style: none;
vertical-align: top;
font-size: 0;
padding: 0;
margin: 0;
display: inline-flex;
align-items: center;
.more::before {
line-height: 30px;
}
li {
padding: 0 4px;
background: var.$pagination-background-color;
vertical-align: top;
font-size: var.$pagination-font-size;
min-width: var.$pagination-button-width;
height: var.$pagination-button-height;
line-height: var.$pagination-button-height;
cursor: pointer;
box-sizing: border-box;
text-align: center;
margin: 0;
display: inline-flex;
align-items: center;
justify-content: center;
&.btn-quicknext,
&.btn-quickprev {
line-height: 28px;
color: var.$pagination-button-color;
&.disabled {
color: var(--color-text-lighter);
}
}
&.btn-quickprev:hover {
cursor: pointer;
}
&.btn-quicknext:hover {
cursor: pointer;
}
&.is-active + li {
border-left: 0;
}
&:hover {
color: var.$pagination-hover-color;
}
&.is-active {
color: var.$pagination-hover-color;
cursor: default;
}
}
}
//@mixin pagination-button {
// display: flex;
// justify-content: center;
// align-items: center;
// font-size: getCssVar('pagination-font-size');
// min-width: getCssVar('pagination-button-width');
// height: getCssVar('pagination-button-height');
// line-height: getCssVar('pagination-button-height');
// color: getCssVar('pagination-button-color');
// background: getCssVar('pagination-bg-color');
// padding: 0 4px;
// border: none;
// border-radius: getCssVar('pagination-border-radius');
// cursor: pointer;
// text-align: center;
// box-sizing: border-box;
//
// * {
// pointer-events: none;
// }
//
// &:focus {
// outline: none;
// }
//
// &:hover {
// color: getCssVar('pagination-hover-color');
// }
//
// &.is-active {
// color: getCssVar('pagination-hover-color');
// cursor: default;
// font-weight: bold;
//
// &.is-disabled {
// font-weight: bold;
// color: getCssVar('text-color', 'secondary');
// }
// }
//
// &:disabled,
// &.is-disabled {
// color: getCssVar('pagination-button-disabled-color');
// background-color: getCssVar('pagination-button-disabled-bg-color');
// cursor: not-allowed;
// }
//
// &:focus-visible {
// outline: 1px solid getCssVar('pagination-hover-color');
// outline-offset: -1px;
// }
//}
//
//@include b(pagination) {
// @include set-component-css-var('pagination', $pagination);
//
// white-space: nowrap;
// color: getCssVar('pagination-text-color');
// font-size: getCssVar('pagination-font-size');
// font-weight: normal;
// display: flex;
// align-items: center;
//
// .#{$namespace}-input__inner {
// text-align: center;
// -moz-appearance: textfield;
// }
//
// .#{$namespace}-select .#{$namespace}-input {
// width: 128px;
// }
//
// button {
// @include pagination-button;
// }
//
// .btn-prev,
// .btn-next {
// .#{$namespace}-icon {
// display: block;
// font-size: 12px;
// font-weight: bold;
// width: inherit;
// }
// }
//
// & > * {
// @include when(first) {
// margin-left: 0 !important;
// }
// @include when(last) {
// margin-right: 0 !important;
// }
// }
//
// .btn-prev {
// margin-left: getCssVar('pagination-item-gap');
// }
//
// @include e(sizes) {
// margin-left: getCssVar('pagination-item-gap');
// font-weight: normal;
// color: getCssVar('text-color', 'regular');
// }
//
// @include e(total) {
// margin-left: getCssVar('pagination-item-gap');
// font-weight: normal;
// color: getCssVar('text-color', 'regular');
//
// &[disabled='true'] {
// color: getCssVar('text-color', 'placeholder');
// }
// }
//
// @include e(jump) {
// display: flex;
// align-items: center;
// margin-left: getCssVar('pagination-item-gap');
// font-weight: normal;
// color: getCssVar('text-color', 'regular');
//
// &[disabled='true'] {
// color: getCssVar('text-color', 'placeholder');
// }
//
// @include e(goto) {
// margin-right: 8px;
// }
//
// @include e(editor) {
// text-align: center;
// box-sizing: border-box;
//
// &.#{$namespace}-input {
// width: 56px;
// }
//
// .#{$namespace}-input__inner::-webkit-inner-spin-button,
// .#{$namespace}-input__inner::-webkit-outer-spin-button {
// -webkit-appearance: none;
// margin: 0;
// }
// }
//
// @include e(classifier) {
// margin-left: 8px;
// }
// }
//
// @include e(rightwrapper) {
// flex: 1;
// display: flex;
// align-items: center;
// justify-content: flex-end;
// }
//
// @include when(background) {
// .btn-prev,
// .btn-next,
// .#{$namespace}-pager li {
// margin: 0 4px;
// background-color: getCssVar('pagination-button-bg-color');
//
// &.is-active {
// background-color: getCssVar('color-primary');
// color: getCssVar('color-white');
// }
//
// &:disabled,
// &.is-disabled {
// color: getCssVar('text-color', 'placeholder');
// background-color: getCssVar('disabled-bg-color');
//
// &.is-active {
// color: getCssVar('text-color', 'secondary');
// background-color: getCssVar('fill-color', 'dark');
// }
// }
// }
//
// .btn-prev {
// margin-left: getCssVar('pagination-item-gap');
// }
// }
//
// @include m(small) {
// .btn-prev,
// .btn-next,
// .#{$namespace}-pager li {
// height: getCssVar('pagination-button-height-small');
// line-height: getCssVar('pagination-button-height-small');
// font-size: getCssVar('pagination-font-size-small');
// min-width: getCssVar('pagination-button-width-small');
// }
//
// span:not([class*='suffix']),
// button {
// font-size: getCssVar('pagination-font-size-small');
// }
//
// .#{$namespace}-select .#{$namespace}-input {
// width: 100px;
// }
// }
//}
//
//@include b(pager) {
// user-select: none;
// list-style: none;
// font-size: 0;
// padding: 0;
// margin: 0;
// display: flex;
// align-items: center;
//
// li {
// @include pagination-button;
// }
//}