n8n/packages/design-system/theme/src/table.scss
Mutasem Aldmour 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 e91ace4e52.

*  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
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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