261 lines
7 KiB
SCSS
261 lines
7 KiB
SCSS
@use "../utilities/css-variables" as cv;
|
|
@use "../utilities/derived-variables" as dv;
|
|
@use "../utilities/initial-variables" as iv;
|
|
@use "../utilities/extends";
|
|
@use "../utilities/mixins" as mx;
|
|
|
|
$table-color: cv.getVar("text-strong") !default;
|
|
$table-background-color: cv.getVar("scheme-main") !default;
|
|
|
|
$table-cell-border-color: cv.getVar("border") !default;
|
|
$table-cell-border-style: solid !default;
|
|
$table-cell-border-width: 0 0 1px !default;
|
|
$table-cell-padding: 0.5em 0.75em !default;
|
|
$table-cell-heading-color: cv.getVar("text-strong") !default;
|
|
$table-cell-text-align: left !default;
|
|
|
|
$table-head-cell-border-width: 0 0 2px !default;
|
|
$table-head-cell-color: cv.getVar("text-strong") !default;
|
|
$table-foot-cell-border-width: 2px 0 0 !default;
|
|
$table-foot-cell-color: cv.getVar("text-strong") !default;
|
|
|
|
$table-head-background-color: transparent !default;
|
|
$table-body-background-color: transparent !default;
|
|
$table-foot-background-color: transparent !default;
|
|
|
|
$table-row-hover-background-color: cv.getVar("scheme-main-bis") !default;
|
|
|
|
$table-row-active-background-color: cv.getVar("primary") !default;
|
|
$table-row-active-color: cv.getVar("primary-invert") !default;
|
|
|
|
$table-striped-row-even-background-color: cv.getVar("scheme-main-bis") !default;
|
|
$table-striped-row-even-hover-background-color: cv.getVar(
|
|
"scheme-main-ter"
|
|
) !default;
|
|
|
|
$table-colors: dv.$colors !default;
|
|
|
|
.#{iv.$class-prefix}table {
|
|
@include cv.register-vars(
|
|
(
|
|
"table-color": #{$table-color},
|
|
"table-background-color": #{$table-background-color},
|
|
"table-cell-border-color": #{$table-cell-border-color},
|
|
"table-cell-border-style": #{$table-cell-border-style},
|
|
"table-cell-border-width": #{$table-cell-border-width},
|
|
"table-cell-padding": #{$table-cell-padding},
|
|
"table-cell-heading-color": #{$table-cell-heading-color},
|
|
"table-cell-text-align": #{$table-cell-text-align},
|
|
"table-head-cell-border-width": #{$table-head-cell-border-width},
|
|
"table-head-cell-color": #{$table-head-cell-color},
|
|
"table-foot-cell-border-width": #{$table-foot-cell-border-width},
|
|
"table-foot-cell-color": #{$table-foot-cell-color},
|
|
"table-head-background-color": #{$table-head-background-color},
|
|
"table-body-background-color": #{$table-body-background-color},
|
|
"table-foot-background-color": #{$table-foot-background-color},
|
|
"table-row-hover-background-color": #{$table-row-hover-background-color},
|
|
"table-row-active-background-color": #{$table-row-active-background-color},
|
|
"table-row-active-color": #{$table-row-active-color},
|
|
"table-striped-row-even-background-color": #{$table-striped-row-even-background-color},
|
|
"table-striped-row-even-hover-background-color": #{$table-striped-row-even-hover-background-color},
|
|
)
|
|
);
|
|
}
|
|
|
|
.#{iv.$class-prefix}table {
|
|
@extend %block;
|
|
|
|
background-color: cv.getVar("table-background-color");
|
|
color: cv.getVar("table-color");
|
|
|
|
td,
|
|
th {
|
|
background-color: cv.getVar("table-cell-background-color");
|
|
border-color: cv.getVar("table-cell-border-color");
|
|
border-style: cv.getVar("table-cell-border-style");
|
|
border-width: cv.getVar("table-cell-border-width");
|
|
color: cv.getVar("table-color");
|
|
padding: cv.getVar("table-cell-padding");
|
|
vertical-align: top;
|
|
|
|
// Colors
|
|
@each $name, $pair in $table-colors {
|
|
&.#{iv.$class-prefix}is-#{$name} {
|
|
@include cv.register-vars(
|
|
(
|
|
"table-color": #{cv.getVar($name, "", "-invert")},
|
|
"table-cell-heading-color": #{cv.getVar($name, "", "-invert")},
|
|
"table-cell-background-color": #{cv.getVar($name)},
|
|
"table-cell-border-color": #{cv.getVar($name)},
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
// Modifiers
|
|
&.#{iv.$class-prefix}is-narrow {
|
|
white-space: nowrap;
|
|
width: 1%;
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-selected {
|
|
background-color: cv.getVar("table-row-active-background-color");
|
|
color: cv.getVar("table-row-active-color");
|
|
|
|
a,
|
|
strong {
|
|
color: currentColor;
|
|
}
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-vcentered {
|
|
vertical-align: middle;
|
|
}
|
|
}
|
|
|
|
th {
|
|
color: cv.getVar("table-cell-heading-color");
|
|
|
|
&:not([align]) {
|
|
text-align: cv.getVar("table-cell-text-align");
|
|
}
|
|
}
|
|
|
|
tr {
|
|
&.#{iv.$class-prefix}is-selected {
|
|
background-color: cv.getVar("table-row-active-background-color");
|
|
color: cv.getVar("table-row-active-color");
|
|
|
|
a,
|
|
strong {
|
|
color: currentColor;
|
|
}
|
|
|
|
td,
|
|
th {
|
|
border-color: cv.getVar("table-row-active-color");
|
|
color: currentColor;
|
|
}
|
|
}
|
|
|
|
@each $name, $pair in $table-colors {
|
|
&.#{iv.$class-prefix}is-#{$name} {
|
|
@include cv.register-vars(
|
|
(
|
|
"table-color": #{cv.getVar($name, "", "-invert")},
|
|
"table-cell-heading-color": #{cv.getVar($name, "", "-invert")},
|
|
"table-cell-background-color": #{cv.getVar($name)},
|
|
"table-cell-border-color": #{cv.getVar($name)},
|
|
)
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
thead {
|
|
background-color: cv.getVar("table-head-background-color");
|
|
|
|
td,
|
|
th {
|
|
border-width: cv.getVar("table-head-cell-border-width");
|
|
color: cv.getVar("table-head-cell-color");
|
|
}
|
|
}
|
|
|
|
tfoot {
|
|
background-color: cv.getVar("table-foot-background-color");
|
|
|
|
td,
|
|
th {
|
|
border-width: cv.getVar("table-foot-cell-border-width");
|
|
color: cv.getVar("table-foot-cell-color");
|
|
}
|
|
}
|
|
|
|
tbody {
|
|
background-color: cv.getVar("table-body-background-color");
|
|
|
|
tr {
|
|
&:last-child {
|
|
td,
|
|
th {
|
|
border-bottom-width: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Modifiers
|
|
&.#{iv.$class-prefix}is-bordered {
|
|
td,
|
|
th {
|
|
border-width: 1px;
|
|
}
|
|
|
|
tr {
|
|
&:last-child {
|
|
td,
|
|
th {
|
|
border-bottom-width: 1px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-fullwidth {
|
|
width: 100%;
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-hoverable {
|
|
tbody {
|
|
tr:not(.#{iv.$class-prefix}is-selected) {
|
|
&:hover {
|
|
background-color: cv.getVar("table-row-hover-background-color");
|
|
}
|
|
}
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-striped {
|
|
tbody {
|
|
tr:not(.#{iv.$class-prefix}is-selected) {
|
|
&:hover {
|
|
background-color: cv.getVar("table-row-hover-background-color");
|
|
|
|
&:nth-child(even) {
|
|
background-color: cv.getVar(
|
|
"table-striped-row-even-hover-background-color"
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-narrow {
|
|
td,
|
|
th {
|
|
padding: 0.25em 0.5em;
|
|
}
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-striped {
|
|
tbody {
|
|
tr:not(.#{iv.$class-prefix}is-selected) {
|
|
&:nth-child(even) {
|
|
background-color: cv.getVar(
|
|
"table-striped-row-even-background-color"
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.#{iv.$class-prefix}table-container {
|
|
@extend %block;
|
|
@include mx.overflow-touch;
|
|
overflow: auto;
|
|
overflow-y: hidden;
|
|
max-width: 100%;
|
|
}
|