UNPKG

atui

Version:

components built with Vue.js

305 lines (266 loc) 7.94 kB
// Panels // -------------------------------------------------- @prefix-cls-panel: e("@{prefix-cls}-panel"); @panel-bg: #fff; @panel-body-padding: 15px; @panel-heading-padding: 10px 15px; @panel-footer-padding: @panel-heading-padding; @panel-border-radius: @border-radius-base; //** Border color for elements within panels @panel-inner-border: #ddd; @panel-footer-bg: #f5f5f5; @panel-default-text: @gray-dark; @panel-default-border: #ddd; @panel-default-heading-bg: #f5f5f5; @panel-primary-text: #fff; @panel-primary-border: @primary-color; @panel-primary-heading-bg: @primary-color; @panel-success-text: @state-success-text; @panel-success-border: @state-success-border; @panel-success-heading-bg: @state-success-bg; @panel-info-text: @state-info-text; @panel-info-border: @state-info-border; @panel-info-heading-bg: @state-info-bg; @panel-warning-text: @state-warning-text; @panel-warning-border: @state-warning-border; @panel-warning-heading-bg: @state-warning-bg; @panel-danger-text: @state-danger-text; @panel-danger-border: @state-danger-border; @panel-danger-heading-bg: @state-danger-bg; // Base class .@{prefix-cls-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 .@{prefix-cls-panel}-body { padding: @panel-body-padding; &:extend(.clearfix all); } // Optional heading .@{prefix-cls-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. .@{prefix-cls-panel} { > .list-group, > .@{prefix-cls-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)); } } } > .@{prefix-cls-panel}-heading + .@{prefix-cls-panel}-collapse > .list-group { .list-group-item:first-child { .border-top-radius(0); } } } // Collapse space between when there's no additional content. .@{prefix-cls-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 `.@{prefix-cls-panel}-body`) and // watch it go full width. .@{prefix-cls-panel} { > .table, > .table-responsive > .table, > .@{prefix-cls-panel}-collapse > .table { margin-bottom: 0; caption { padding-left: @panel-body-padding; padding-right: @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-left-radius: (@panel-border-radius - 1); border-bottom-right-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); } } } } > .@{prefix-cls-panel}-body + .table, > .@{prefix-cls-panel}-body + .table-responsive, > .table + .@{prefix-cls-panel}-body, > .table-responsive + .@{prefix-cls-panel}-body { border-top: 1px solid #666; } > .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 { border: 0; margin-bottom: 0; } } // Collapsable panels (aka, accordion) // // Wrap a series of panels in `.@{prefix-cls-panel}-group` to turn them into an accordion with // the help of our collapse JavaScript plugin. .@{prefix-cls-panel}-group { margin-bottom: @line-height-computed; // Tighten up margin so it's only between panels .@{prefix-cls-panel} { margin-bottom: 0; border-radius: @panel-border-radius; + .@{prefix-cls-panel} { margin-top: 5px; } } .@{prefix-cls-panel}-heading { border-bottom: 0; + .@{prefix-cls-panel}-collapse > .@{prefix-cls-panel}-body, + .@{prefix-cls-panel}-collapse > .list-group { border-top: 1px solid @panel-inner-border; } } .panel-footer { border-top: 0; + .@{prefix-cls-panel}-collapse .@{prefix-cls-panel}-body { border-bottom: 1px solid @panel-inner-border; } } } // Contextual variations .@{prefix-cls-panel}-default { .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border); } .@{prefix-cls-panel}-primary { .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border); } .@{prefix-cls-panel}-success { .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border); } .@{prefix-cls-panel}-info { .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border); } .@{prefix-cls-panel}-warning { .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border); } .@{prefix-cls-panel}-danger { .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border); }