n8n/packages/design-system/theme/src/table.scss

573 lines
9.4 KiB
SCSS
Raw Normal View History

:sparkles: Implement design system (#2050) * split up main, sass imports, import new nds * migrate most buttons * update sizes based on feedback * update copy buttons * update executions list * fix issues * force message box buttons * update warning color * update more buttons * wrap message box buttons * update last component * lint fixes * add build report step * breakout imports * set package.json * fix notification bug * clean up imports * use build directories directly * update imports * remove xl size * update number inputs * fix input width * update line height, fix icon bug * fix up editor * fix spacing between buttons * Reset line height * revert changes to this * revert changes * clean up button sizes * change to outline * update select height * update tooltip * remove build report step * clean up impl * remove regenerator runtime * add design system repo * apply editorconfig * apply editor config prettier * lint issue * switch to tabs * switch to single space * update eslintrc * remove git modules * update sass package * support dart sass * add build * update dependency * update contributing.md * set repo * update versions * add tslint step * update spacing to spaces, add dev step * add test step * add test step * update browser lint rc * remove .github * delete .gitignore * set comment for icons * remove preview link * update button interface * update types * set types * clean up intro * update intro * remove assets * move into preview * remove headline comment * reduce theme build * loading executions * match deps versions * match deps versions * fix lint issues * fix lint issues * update callback * disable codacy for docs.css * fix storybook issues * add design system to docker image * update spacing around delete sort button * set line height to stop juggling headline * update sizes * clean up vars * fix scss issues * update button vars * add shade color * fix button without click * fix buttons bug * fix bug with executions list * clean up theme * update link styling * fix typo * run prettier * :art: code format * :art: code format * 🔥 remove empty files * :sparkles: N8n 2284 new inputs (#2075) * implement inputs * prettier fixes * revert unnessary change * move input components and tooltip * remove form elements * move select * update input placements * update sizes * update credentails * clean up select size * fix caret issue * update inputs * clean up select * fix tags dropdown border * clean up tags input * fix workflow name bug * clean up select here * add sizes template * fix option caret * fix input sizes * update date input size * remove tags input override * update prop * update input size * center run data inputs * update disabled colors * update execution header * update scrollbar * update text area spacing * fix items in header * update run data tooltip * remove popover * update prefix positions * add filterable demo * address design issues * fix input issues, flip boolean input to text * update input sufffix colors * remove override * speed up switch, fix toggle spacing issue * update icon * remove icon classes * clean up inputs * clean up inputs with icons * update input spacing again * update suffix position * build * Add support for xlarge inputs * fix input issues * fix input issue * update listeners * update number inputs for settings * update append/prepend spacing * clean up inputs, set expression input as text * fix type errors * fix workflow number input * fix tags dropdown bug * fix bugs * fix menu item bug * remove font weight from link element * remove default * fix select option * fix contrast issues * allow overflow x for multi selects * fix icon * update options select * fix issue that resolves expression to null * update how actions are centered * fix up selects * update selects to support limiting size * update option styles * :zap: Apply suggestions BHesseldieck Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> * :art: code format Co-authored-by: Jan <janober@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> * ⏪ Revert "🔥 remove empty files" This reverts commit e91ace4e52403f4a6b00b7be68b86fc48b7d8fef. * :zap: Remove private from n8n-design-system package * :art: Change to spaces to stay consistent with editorconfig & others package files * :zap: Fix year in license Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Jan <janober@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-08-29 04:36:17 -07:00
@use "mixins/mixins";
@use "checkbox";
@use "tag";
@use "tooltip";
@use "./common/var";
@include mixins.b(table) {
position: relative;
overflow: hidden;
box-sizing: border-box;
flex: 1;
width: 100%;
max-width: 100%;
background-color: var.$color-white;
font-size: 14px;
color: var.$table-font-color;
// 数据为空
@include mixins.e(empty-block) {
min-height: 60px;
text-align: center;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
@include mixins.e(empty-text) {
// min-height doesn't work in IE10 and IE11 https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items
// set empty text line height up to contrainer min-height as workaround.
line-height: 60px;
width: 50%;
color: var(--color-text-light);
}
// 展开行
@include mixins.e(expand-column) {
.cell {
padding: 0;
text-align: center;
}
}
@include mixins.e(expand-icon) {
position: relative;
cursor: pointer;
color: #666;
font-size: 12px;
transition: transform 0.2s ease-in-out;
height: 20px;
@include mixins.m(expanded) {
transform: rotate(90deg);
}
> .el-icon {
position: absolute;
left: 50%;
top: 50%;
margin-left: -5px;
margin-top: -5px;
}
}
@include mixins.e(expanded-cell) {
background-color: var.$color-white;
// 纯属为了增加权重
&[class*='cell'] {
padding: 20px 50px;
}
&:hover {
background-color: transparent !important;
}
}
@include mixins.e(placeholder) {
display: inline-block;
width: 20px;
}
@include mixins.e(append-wrapper) {
// 避免外边距重合 https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing
overflow: hidden;
}
@include mixins.m(fit) {
border-right: 0;
border-bottom: 0;
th.gutter,
td.gutter {
border-right-width: 1px;
}
}
@include mixins.m(scrollable-x) {
.el-table__body-wrapper {
overflow-x: auto;
}
}
@include mixins.m(scrollable-y) {
.el-table__body-wrapper {
overflow-y: auto;
}
}
thead {
color: var.$table-header-font-color;
font-weight: 500;
&.is-group {
th {
background: var.$background-color-base;
}
}
}
th,
td {
padding: 12px 0;
min-width: 0;
box-sizing: border-box;
text-overflow: ellipsis;
vertical-align: middle;
position: relative;
text-align: left;
@include mixins.when(center) {
text-align: center;
}
@include mixins.when(right) {
text-align: right;
}
&.gutter {
width: 15px;
border-right-width: 0;
border-bottom-width: 0;
padding: 0;
}
&.is-hidden {
> * {
visibility: hidden;
}
}
}
@include mixins.m(medium) {
th,
td {
padding: 10px 0;
}
}
@include mixins.m(small) {
font-size: 12px;
th,
td {
padding: 8px 0;
}
}
@include mixins.m(mini) {
font-size: 12px;
th,
td {
padding: 6px 0;
}
}
tr {
background-color: var.$color-white;
input[type='checkbox'] {
margin: 0;
}
}
th.is-leaf,
td {
border-bottom: var.$table-border;
}
th.is-sortable {
cursor: pointer;
}
th {
overflow: hidden;
user-select: none;
background-color: var.$table-header-background-color;
> .cell {
display: inline-block;
box-sizing: border-box;
position: relative;
vertical-align: middle;
padding-left: 10px;
padding-right: 10px;
width: 100%;
&.highlight {
color: var(--color-primary);
}
}
&.required > div::before {
display: inline-block;
content: '';
width: 8px;
height: 8px;
border-radius: 50%;
background: #ff4d51;
margin-right: 5px;
vertical-align: middle;
}
}
td {
div {
box-sizing: border-box;
}
&.gutter {
width: 0;
}
}
.cell {
box-sizing: border-box;
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
word-break: break-all;
line-height: 23px;
padding-left: 10px;
padding-right: 10px;
&.el-tooltip {
white-space: nowrap;
min-width: 50px;
}
}
// 拥有多级表头
@include mixins.m((group, border)) {
border: var.$table-border;
@include mixins.share-rule(border-pseudo) {
content: '';
position: absolute;
background-color: var.$table-border-color;
z-index: 1;
}
// 表格右部伪 border
&::after {
@include mixins.extend-rule(border-pseudo);
top: 0;
right: 0;
width: 1px;
height: 100%;
}
}
// 表格底部伪 border总是有的
&::before {
@include mixins.extend-rule(border-pseudo);
left: 0;
bottom: 0;
width: 100%;
height: 1px;
}
// table--border
@include mixins.m(border) {
border-right: none;
border-bottom: none;
&.el-loading-parent--relative {
border-color: transparent;
}
th,
td {
border-right: var.$table-border;
&:first-child .cell {
padding-left: 10px;
}
}
th.gutter:last-of-type {
border-bottom: var.$table-border;
border-bottom-width: 1px;
}
& th {
border-bottom: var.$table-border;
}
}
@include mixins.m(hidden) {
visibility: hidden;
}
@include mixins.e((fixed, fixed-right)) {
position: absolute;
top: 0;
left: 0;
overflow-x: hidden;
overflow-y: hidden;
box-shadow: var.$table-fixed-box-shadow;
&::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-color: var(--border-color-light);
z-index: 4;
}
}
@include mixins.e(fixed-right-patch) {
position: absolute;
top: -1px;
right: 0;
background-color: var.$color-white;
border-bottom: var.$table-border;
}
@include mixins.e(fixed-right) {
top: 0;
left: auto;
right: 0;
.el-table__fixed-header-wrapper,
.el-table__fixed-body-wrapper,
.el-table__fixed-footer-wrapper {
left: auto;
right: 0;
}
}
@include mixins.e(fixed-header-wrapper) {
position: absolute;
left: 0;
top: 0;
z-index: 3;
}
@include mixins.e(fixed-footer-wrapper) {
position: absolute;
left: 0;
bottom: 0;
z-index: 3;
& tbody td {
border-top: var.$table-border;
background-color: var.$table-row-hover-background-color;
color: var.$table-font-color;
}
}
@include mixins.e(fixed-body-wrapper) {
position: absolute;
left: 0;
top: 37px;
overflow: hidden;
z-index: 3;
}
@include mixins.e((header-wrapper, body-wrapper, footer-wrapper)) {
width: 100%;
}
@include mixins.e(footer-wrapper) {
margin-top: -1px;
td {
border-top: var.$table-border;
}
}
@include mixins.e((header, body, footer)) {
table-layout: fixed;
border-collapse: separate;
}
@include mixins.e((header-wrapper, footer-wrapper)) {
overflow: hidden;
& tbody td {
background-color: var.$table-row-hover-background-color;
color: var.$table-font-color;
}
}
@include mixins.e(body-wrapper) {
overflow: hidden;
position: relative;
@include mixins.when(scrolling-none) {
~ .el-table__fixed,
~ .el-table__fixed-right {
box-shadow: none;
}
}
@include mixins.when(scrolling-left) {
~ .el-table__fixed {
box-shadow: none;
}
}
@include mixins.when(scrolling-right) {
~ .el-table__fixed-right {
box-shadow: none;
}
}
.el-table--border {
@include mixins.when(scrolling-right) {
~ .el-table__fixed-right {
border-left: var.$table-border;
}
}
@include mixins.when(scrolling-left) {
~ .el-table__fixed {
border-right: var.$table-border;
}
}
}
}
.caret-wrapper {
display: inline-flex;
flex-direction: column;
align-items: center;
height: 34px;
width: 24px;
vertical-align: middle;
cursor: pointer;
overflow: initial;
position: relative;
}
.sort-caret {
width: 0;
height: 0;
border: solid 5px transparent;
position: absolute;
left: 7px;
&.ascending {
border-bottom-color: var(--color-text-lighter);
top: 5px;
}
&.descending {
border-top-color: var(--color-text-lighter);
bottom: 7px;
}
}
.ascending .sort-caret.ascending {
border-bottom-color: var(--color-primary);
}
.descending .sort-caret.descending {
border-top-color: var(--color-primary);
}
.hidden-columns {
visibility: hidden;
position: absolute;
z-index: -1;
}
@include mixins.m(striped) {
& .el-table__body {
& tr.el-table__row--striped {
td {
background: #fafafa;
}
&.current-row td {
background-color: var.$table-current-row-background-color;
}
}
}
}
@include mixins.e(body) {
tr.hover-row {
&,
&.el-table__row--striped {
&,
&.current-row {
> td {
background-color: var.$table-row-hover-background-color;
}
}
}
}
tr.current-row > td {
background-color: var.$table-current-row-background-color;
}
}
@include mixins.e(column-resize-proxy) {
position: absolute;
left: 200px;
top: 0;
bottom: 0;
width: 0;
border-left: var.$table-border;
z-index: 10;
}
@include mixins.e(column-filter-trigger) {
display: inline-block;
line-height: 34px;
cursor: pointer;
& i {
color: var(--color-info);
font-size: 12px;
transform: scale(0.75);
}
}
@include mixins.m(enable-row-transition) {
.el-table__body td {
transition: background-color 0.25s ease;
}
}
@include mixins.m(enable-row-hover) {
.el-table__body tr:hover > td {
background-color: var.$table-row-hover-background-color;
}
}
@include mixins.m(fluid-height) {
.el-table__fixed,
.el-table__fixed-right {
bottom: 0;
overflow: hidden;
}
}
[class*='el-table__row--level'] {
.el-table__expand-icon {
display: inline-block;
width: 20px;
line-height: 20px;
height: 20px;
text-align: center;
margin-right: 3px;
}
}
}