123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- // stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, no-duplicate-selectors
- //
- // Panels
- // --------------------------------------------------
- // Base class
- .panel {
- margin-bottom: @line-height-computed;
- background-color: @panel-bg;
- border: 1px solid transparent;
- border-radius: @panel-border-radius;
- .box-shadow(0 1px 1px rgba(0, 0, 0, .05));
- }
- // Panel contents
- .panel-body {
- padding: @panel-body-padding;
- &:extend(.clearfix all);
- }
- // Optional heading
- .panel-heading {
- padding: @panel-heading-padding;
- border-bottom: 1px solid transparent;
- .border-top-radius((@panel-border-radius - 1));
- > .dropdown .dropdown-toggle {
- color: inherit;
- }
- }
- // Within heading, strip any `h*` tag of its default margins for spacing.
- .panel-title {
- margin-top: 0;
- margin-bottom: 0;
- font-size: ceil((@font-size-base * 1.125));
- color: inherit;
- > a,
- > small,
- > .small,
- > small > a,
- > .small > a {
- color: inherit;
- }
- }
- // Optional footer (stays gray in every modifier class)
- .panel-footer {
- padding: @panel-footer-padding;
- background-color: @panel-footer-bg;
- border-top: 1px solid @panel-inner-border;
- .border-bottom-radius((@panel-border-radius - 1));
- }
- // List groups in panels
- //
- // By default, space out list group content from panel headings to account for
- // any kind of custom content between the two.
- .panel {
- > .list-group,
- > .panel-collapse > .list-group {
- margin-bottom: 0;
- .list-group-item {
- border-width: 1px 0;
- border-radius: 0;
- }
- // Add border top radius for first one
- &:first-child {
- .list-group-item:first-child {
- border-top: 0;
- .border-top-radius((@panel-border-radius - 1));
- }
- }
- // Add border bottom radius for last one
- &:last-child {
- .list-group-item:last-child {
- border-bottom: 0;
- .border-bottom-radius((@panel-border-radius - 1));
- }
- }
- }
- > .panel-heading + .panel-collapse > .list-group {
- .list-group-item:first-child {
- .border-top-radius(0);
- }
- }
- }
- // Collapse space between when there's no additional content.
- .panel-heading + .list-group {
- .list-group-item:first-child {
- border-top-width: 0;
- }
- }
- .list-group + .panel-footer {
- border-top-width: 0;
- }
- // Tables in panels
- //
- // Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
- // watch it go full width.
- .panel {
- > .table,
- > .table-responsive > .table,
- > .panel-collapse > .table {
- margin-bottom: 0;
- caption {
- padding-right: @panel-body-padding;
- padding-left: @panel-body-padding;
- }
- }
- // Add border top radius for first one
- > .table:first-child,
- > .table-responsive:first-child > .table:first-child {
- .border-top-radius((@panel-border-radius - 1));
- > thead:first-child,
- > tbody:first-child {
- > tr:first-child {
- border-top-left-radius: (@panel-border-radius - 1);
- border-top-right-radius: (@panel-border-radius - 1);
- td:first-child,
- th:first-child {
- border-top-left-radius: (@panel-border-radius - 1);
- }
- td:last-child,
- th:last-child {
- border-top-right-radius: (@panel-border-radius - 1);
- }
- }
- }
- }
- // Add border bottom radius for last one
- > .table:last-child,
- > .table-responsive:last-child > .table:last-child {
- .border-bottom-radius((@panel-border-radius - 1));
- > tbody:last-child,
- > tfoot:last-child {
- > tr:last-child {
- border-bottom-right-radius: (@panel-border-radius - 1);
- border-bottom-left-radius: (@panel-border-radius - 1);
- td:first-child,
- th:first-child {
- border-bottom-left-radius: (@panel-border-radius - 1);
- }
- td:last-child,
- th:last-child {
- border-bottom-right-radius: (@panel-border-radius - 1);
- }
- }
- }
- }
- > .panel-body + .table,
- > .panel-body + .table-responsive,
- > .table + .panel-body,
- > .table-responsive + .panel-body {
- border-top: 1px solid @table-border-color;
- }
- > .table > tbody:first-child > tr:first-child th,
- > .table > tbody:first-child > tr:first-child td {
- border-top: 0;
- }
- > .table-bordered,
- > .table-responsive > .table-bordered {
- border: 0;
- > thead,
- > tbody,
- > tfoot {
- > tr {
- > th:first-child,
- > td:first-child {
- border-left: 0;
- }
- > th:last-child,
- > td:last-child {
- border-right: 0;
- }
- }
- }
- > thead,
- > tbody {
- > tr:first-child {
- > td,
- > th {
- border-bottom: 0;
- }
- }
- }
- > tbody,
- > tfoot {
- > tr:last-child {
- > td,
- > th {
- border-bottom: 0;
- }
- }
- }
- }
- > .table-responsive {
- margin-bottom: 0;
- border: 0;
- }
- }
- // Collapsible panels (aka, accordion)
- //
- // Wrap a series of panels in `.panel-group` to turn them into an accordion with
- // the help of our collapse JavaScript plugin.
- .panel-group {
- margin-bottom: @line-height-computed;
- // Tighten up margin so it's only between panels
- .panel {
- margin-bottom: 0;
- border-radius: @panel-border-radius;
- + .panel {
- margin-top: 5px;
- }
- }
- .panel-heading {
- border-bottom: 0;
- + .panel-collapse > .panel-body,
- + .panel-collapse > .list-group {
- border-top: 1px solid @panel-inner-border;
- }
- }
- .panel-footer {
- border-top: 0;
- + .panel-collapse .panel-body {
- border-bottom: 1px solid @panel-inner-border;
- }
- }
- }
- // Contextual variations
- .panel-default {
- .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);
- }
- .panel-primary {
- .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);
- }
- .panel-success {
- .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
- }
- .panel-info {
- .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
- }
- .panel-warning {
- .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
- }
- .panel-danger {
- .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
- }
|