$theme-name: default !default; // common $item-vertical-spacing: 4px !default; $item-border-radius: 5px !default; // groups $group-background-color: rgba(250, 240, 210, 0.5) !default; $group-border-color: #DCC896 !default; $group-border: 1px solid $group-border-color !default; $group-padding: 10px !default; // rules $rule-background-color: rgba(255, 255, 255, 0.9) !default; $rule-border-color: #EEE !default; $rule-border: 1px solid $rule-border-color !default; $rule-padding: 5px !default; $rule-value-separator: 1px solid #ddd !default; // errors $error-icon-color: #F00 !default; $error-border-color: #F99 !default; $error-background-color: #FDD !default; // ticks $ticks-width: 2px !default; $ticks-color: #CCC !default; $ticks-position: 5px, 10px !default; // ABSTRACTS %base-container { position: relative; margin: $item-vertical-spacing 0; border-radius: $item-border-radius; padding: $rule-padding; border: $rule-border; background: $rule-background-color; } %rule-component { display: inline-block; margin: 0 5px 0 0; vertical-align: middle; } .query-builder { // GROUPS .rules-group-container { @extend %base-container; padding: $group-padding; padding-bottom: #{$group-padding - $item-vertical-spacing}; border: $group-border; background: $group-background-color; .rules-group-header { margin-bottom: $group-padding; input[name$=_cond] { display: none; } } .rules-list { list-style: none; padding: 0 0 0 #{nth($ticks-position, 1) + nth($ticks-position, 2)}; margin: 0; } } // RULES .rule-container { @extend %base-container; .rule-filter-container, .rule-operator-container, .rule-value-container { @extend %rule-component; } .rule-value-container { border-left: $rule-value-separator; padding-left: 5px; label { margin-bottom: 0; font-weight: normal; &.block { display: block; } } } select, input[type=text], input[type=number] { padding: 1px; } } // ERRORS .error-container { @extend %rule-component; display: none; cursor: help; color: $error-icon-color; } .has-error { background-color: $error-background-color; border-color: $error-border-color; .error-container { display: inline-block !important; } } // TICKS .rules-list>* { &:before, &:after { content: ''; position: absolute; left: #{-1 * nth($ticks-position, 2)}; width: nth($ticks-position, 2); height: calc(50% + #{$item-vertical-spacing}); border-color: $ticks-color; border-style: solid; } &:before { top: #{-2 * $ticks-width}; border-width: 0 0 $ticks-width $ticks-width; } &:after { top: 50%; border-width: 0 0 0 $ticks-width; } &:first-child:before { top: #{-$group-padding -$ticks-width}; height: calc(50% + #{$group-padding + $item-vertical-spacing}); } &:last-child:before { border-radius: 0 0 0 #{2 * $ticks-width}; } &:last-child:after { display: none; } } }