Files
n8n-enterprise-unlocked/packages/design-system/theme/src/table.scss
T
5bd8f7c93e 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

* 🎨 code format

* 🎨 code format

* 🔥 remove empty files

*  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

*  Apply suggestions BHesseldieck

Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>

* 🎨 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.

*  Remove private from n8n-design-system package

* 🎨 Change to spaces to stay consistent with editorconfig & others
package files

*  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 13:36:17 +02:00

573 lines
9.4 KiB
SCSS

@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;
}
}
}