File: D:/HostingSpaces/RMourik/bassol.nl/wwwroot/App_Themes/Default/Bootstrap/tables.less
//
// Tables
// --------------------------------------------------
table {
max-width: 100%;
background-color: @table-bg;
}
th {
text-align: left;
}
// UniMatrix first column
.first-column {
width: @table-first-column-width;
}
// Main column width 10%
.main-column-10 {
width: @main-column-10;
}
// Main column width 20%
.main-column-20 {
width: @main-column-20;
}
// Main column width 30%
.main-column-30 {
width: @main-column-30;
}
// Main column width 40%
.main-column-40 {
width: @main-column-40;
}
// Main column width 50%
.main-column-50 {
width: @main-column-50;
}
// Main column width 60%
.main-column-60 {
width: @main-column-60;
}
// Main column width 70%
.main-column-70 {
width: @main-column-70;
}
// Main column width 80%
.main-column-80 {
width: @main-column-80;
}
// Main column width 90%
.main-column-90 {
width: @main-column-90;
}
// Main column width 100%
.main-column-100 {
width: @main-column-100;
}
// Class used in empty columns for filling purposes
.filling-column {
width: @main-column-100;
}
// Baseline styles
.table {
width: 100%;
white-space: nowrap;
margin-bottom: @table-margin-bottom;
font-family: @font-family-base;
font-size: @font-size-base;
border-collapse: collapse;
&.rows-middle-vertical-align {
td, td.unigrid-actions {
vertical-align: middle;
}
}
// Links
a {
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
.SelectableItem {
color: @link-color;
text-decoration: underline;
cursor: pointer;
&:hover {
text-decoration: none;
}
}
// Actions in the table header styled as standard links
.table-header-action {
color: @link-color;
}
// Cells
thead,
tbody,
tfoot {
> tr {
> th,
> td {
padding: @table-cell-padding;
vertical-align: top;
line-height: @table-line-height;
font-family: @font-family-base;
font-size: @font-size-base;
}
}
}
// Head cells
thead {
th {
color: @table-th-text-color;
font-weight: bold;
background-color: @table-th-bg;
border-bottom: none;
// Icon only - obsolete
&.unigrid-actions-header-empty {
.unigrid-menu-panel {
padding: @base-unit * 0.125; // (2px)
}
}
i {
color: @table-icon-head-color;
padding: 0 0 0 @padding-small-horizontal;
cursor: pointer;
vertical-align: baseline;
// Menu icon
&.icon-menu {
padding: 0 @padding-small-horizontal 0 0;
}
// Sorting icon
&.icon-caret-up {
vertical-align: bottom;
}
}
a {
cursor: pointer;
color: @table-th-link-color;
&:hover {
text-decoration: none;
}
}
}
.with-filter th {
line-height: @base-unit * 2;
}
}
// Body cells
tbody {
> tr {
border-bottom: 1px solid @table-border-color;
border-top: 1px solid transparent;
> td {
// Actions cell - buttons are styled lower in this less file
&.unigrid-actions {
vertical-align: top;
padding: @base-unit* 0.25 @base-unit * 0.5;
}
// Flags exception
&.Translated,
&.Outdated,
&.NotAvailable {
line-height: @base-unit;
}
}
// Row borders
&:hover > td {
border-top: 1px solid @table-bg-hover-border;
border-bottom: 1px solid @table-bg-hover-border;
}
// Flags in pages listing exception
&:hover td.Translated,
&:hover td.Outdated,
&:hover td.NotAvailable {
border: none;
}
a {
color: @table-cell-link;
}
}
// Used in unimatrix
.highlighted {
background-color: @color-orange-100;
}
[class^="cms-icon-"], [class*=" cms-icon-"] {
padding: 0;
}
input[type="text"] {
height: @table-textbox-height;
padding-top: 0;
padding-bottom: 0;
}
}
// Remove top border from thead by default
caption + thead,
colgroup + thead,
thead:first-child {
tr:first-child {
th, td {
border-top: 0;
}
}
}
// Account for multiple tbody instances
tbody + tbody {
border-top: 1px solid @table-border-color;
}
// Nesting
.table {
background-color: @body-bg;
}
// Fix checkbox position in unigrid (bulk actions)
.radio,
.checkbox {
margin: 0;
padding: 0;
label {
margin: 0;
padding: 0;
&:before {
margin: 0;
vertical-align: middle;
}
&:before,
&:after {
bottom: @base-unit * 0.125; // special alignment
top: auto;
}
}
}
// Indent between selection checkboxes in table and other content
.unigrid-selection {
min-width: @base-unit * 0.5;
}
// Fix nested tables border
table tbody > tr:hover > td {
border: none;
}
}
.table-width-30 {
width: 30%;
}
// Zebra-striping
//
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
.table-striped {
> tbody {
> tr:nth-child(odd) {
> td,
> th {
background-color: @table-bg-accent;
}
}
}
}
// Hover effect
//
// Placed here since it has to come after the potential zebra striping
.table-hover {
> tbody {
> tr:hover {
> td,
> th {
background-color: @table-bg-hover;
}
}
}
}
// Table cell sizing
//
// Reset default table behavior
table col[class*="col-"] {
float: none;
display: table-column;
}
table {
td,
th {
&[class*="col-"] {
float: none;
display: table-cell;
}
}
}
// Table backgrounds
//
// Exact selectors below required to override `.table-striped` and prevent
// inheritance to nested tables.
.table > thead > tr,
.table > tbody > tr,
.table > tfoot > tr {
> td.active,
> th.active,
&.active > td,
&.active > th {
background-color: @table-bg-active;
}
}
// Responsive tables
//
// Wrap your tables in `.table-scrollable` and we'll make them mobile friendly
// by enabling horizontal scrolling. Only applies <768px. Everything above that
// will display normally.
@media screen and (max-width: @screen-sm) {
.table-responsive {
width: 100%;
margin-bottom: @base-unit;
overflow-y: hidden;
overflow-x: scroll;
border: 1px solid @table-border-color;
// Tighten up spacing and give a background color
> .table {
margin-bottom: 0;
background-color: @color-white;
// Ensure the content doesn't wrap
> thead,
> tbody,
> tfoot {
> tr {
> th,
> td {
white-space: nowrap;
}
}
}
}
// Special overrides for the bordered tables
> .table-bordered {
border: 0;
// Nuke the appropriate borders so that the parent can handle them
> thead,
> tbody,
> tfoot {
> tr {
> th:first-child,
> td:first-child {
border-left: 0;
}
> th:last-child,
> td:last-child {
border-right: 0;
}
}
> tr:last-child {
> th,
> td {
border-bottom: 0;
}
}
}
}
}
}
// CMS buttons above the table
.table-buttons {
background-color: @color-gray-150;
padding: @base-unit;
margin-bottom: @base-unit * 0.125;
}
//Link to simple filter in the advanced filter above the table
.table-filter-simple-link {
padding-top: 2*@padding-base-vertical + 0.5*@base-unit + 1; // align the link with the button
}
// Width of column for bulk actions
.table-bulk {
width: @base-unit * 1.25;
}
// Centered checkboxes in permission-matrix
.permission-matrix {
& .content-before {
background-color: @color-green-130;
}
& td:first-child, th:first-child {
text-align: left;
}
& td, th {
text-align: center;
}
.warning-icon {
cursor: default;
color: @color-warning;
padding: 0;
}
}
//
// Event Log
// --------------------------------------------------
.event-log {
.error {
background-color: @color-red-130;
}
.warning {
background-color: @color-orange-100;
}
}
//
// Unigrid document and file type icons
// --------------------------------------------------
.table {
.icon-doctype,
.icon-file-default,
.icon-folder {
padding-right: @padding-small-horizontal;
color: @light-bg-icon-color;
}
// ImportGridView
.warning-icon:not(:first-child) {
margin-left: @margin-50;
}
}
//
// Media library - thumbnail view - file type icons
// -------------------------------------------------
.ThumbnailsView .icon-file-default {
color: @light-bg-icon-color;
}
// New document type selection table with no borders and background
// .ContentNew class can be removed from here as soon as unigrid control will support .table-blank instead just .table-hover)
.table-blank tbody > tr, .ContentNewClasses .table tbody > tr {
border: none;
&:hover td {
border: none;
background: none;
}
}
// New doc type in Pages
.ContentNewClasses .table tbody > tr td {
padding: @base-unit * 0.125 @padding-small-horizontal;
}
// Unigrid icons
// -------------
.unigrid-actions {
// Text before/after action button in unigrid
.text-unigrid-action {
display: inline-table;
margin-top: @base-unit * 0.125;
}
// Unigrid buttons
.btn-unigrid-action {
height: auto;
// Font icons
&.icon-only {
vertical-align: middle;
padding: @base-unit * 0.25;
}
// Colors
// Gray - default
i {
display: block;
color: @color-gray-70;
}
// Green - e.g. add, play
&.icon-style-allow {
i {
color: @color-green-100;
}
}
// Yellow - e.g. exclamation mark
&.icon-style-warning {
i {
color: @color-warning;
}
}
// Red - e.g. remove, bin
&.icon-style-critical {
i {
color: @color-red-70;
}
}
// Hover for all
&:hover {
i,
.icon-style-allow,
.icon-style-warning,
.icon-style-critical {
color: @color-blue-70;
}
}
// Disabled style for all
&:disabled {
i,
.icon-style-allow,
.icon-style-warning,
.icon-style-critical {
color: @color-gray-70;
}
}
}
// Unigrid More actions button (...)
.unigrid-actionmenu {
display: inline-block;
}
// Unigrid image icons - customer can use images as well
input[type="image"] {
vertical-align: middle;
padding: @base-unit * 0.25;
}
// Uploader in unigrid
// Inline styles fix for indent
>div {
width: auto !important;
}
// Media library files
.MediaView,
// Attachments
.update,
// Form tab
.direct-file-uploader,
[class*="Uploader_"] {
// Override inline styles - useful also for WebDav margin
width: @base-unit * 1.5 !important;
height: @base-unit * 1.5 !important;
i {
cursor: pointer;
padding: @base-unit * 0.25;
margin: 0;
}
// disabled state
& .uploader-button-disabled {
color: @color-gray-70;
&:hover {
i {
cursor: default;
}
}
}
}
// Special hover style
.MouseOver {
i:not(.icon-disabled) {
color: @color-blue-70;
}
}
}
// Thumbnail view in Media Libraries
.DialogThumbnailActions {
.unigrid-actions;
// All icon buttons
.btn-unigrid-action {
&.icon-only {
padding: @base-unit * 0.5;
}
}
// Uploader icon button
.MediaView {
padding: @base-unit * 0.25;
// Fix for uploader to be fully clickable
.DFUframe_MediaView {
width: @base-unit * 2 !important;
height: @base-unit * 2 !important;
}
}
}