UNPKG

3.54 kBSCSSView Raw
1$theme-name: default !default;
2
3// common
4$item-vertical-spacing: 4px !default;
5$item-border-radius: 5px !default;
6
7// groups
8$group-background-color: rgba(250, 240, 210, .5) !default;
9$group-border-color: #DCC896 !default;
10$group-border: 1px solid $group-border-color !default;
11$group-padding: 10px !default;
12
13// rules
14$rule-background-color: rgba(255, 255, 255, .9) !default;
15$rule-border-color: #EEE !default;
16$rule-border: 1px solid $rule-border-color !default;
17$rule-padding: 5px !default;
18// scss-lint:disable ColorVariable
19$rule-value-separator: 1px solid #DDD !default;
20
21// errors
22$error-icon-color: #F00 !default;
23$error-border-color: #F99 !default;
24$error-background-color: #FDD !default;
25
26// ticks
27$ticks-width: 2px !default;
28$ticks-color: #CCC !default;
29$ticks-position: 5px, 10px !default;
30
31
32// ABSTRACTS
33%base-container {
34 position: relative;
35 margin: $item-vertical-spacing 0;
36 border-radius: $item-border-radius;
37 padding: $rule-padding;
38 border: $rule-border;
39 background: $rule-background-color;
40}
41
42%rule-component {
43 display: inline-block;
44 margin: 0 5px 0 0;
45 vertical-align: middle;
46}
47
48.query-builder {
49
50 // GROUPS
51 .rules-group-container {
52 @extend %base-container;
53
54 padding: $group-padding;
55 padding-bottom: #{$group-padding - $item-vertical-spacing};
56 border: $group-border;
57 background: $group-background-color;
58 }
59
60 .rules-group-header {
61 margin-bottom: $group-padding;
62
63 .group-conditions {
64 .btn.readonly:not(.active),
65 input[name$=_cond] {
66 border: 0;
67 clip: rect(0 0 0 0);
68 height: 1px;
69 margin: -1px;
70 overflow: hidden;
71 padding: 0;
72 position: absolute;
73 width: 1px;
74 white-space: nowrap;
75 }
76
77 .btn.readonly {
78 border-radius: 3px;
79 }
80 }
81 }
82
83 .rules-list {
84 list-style: none;
85 padding: 0 0 0 #{nth($ticks-position, 1) + nth($ticks-position, 2)};
86 margin: 0;
87 }
88
89 // RULES
90 .rule-container {
91 @extend %base-container;
92
93 .rule-filter-container,
94 .rule-operator-container,
95 .rule-value-container {
96 @extend %rule-component;
97 }
98 }
99
100 .rule-value-container {
101 border-left: $rule-value-separator;
102 padding-left: 5px;
103
104 label {
105 margin-bottom: 0;
106 font-weight: normal;
107
108 &.block {
109 display: block;
110 }
111 }
112
113 select, input[type=text], input[type=number] {
114 padding: 1px;
115 }
116 }
117
118 // ERRORS
119 .error-container {
120 @extend %rule-component;
121 display: none;
122 cursor: help;
123 color: $error-icon-color;
124 }
125
126 .has-error {
127 background-color: $error-background-color;
128 border-color: $error-border-color;
129
130 .error-container {
131 display: inline-block !important;
132 }
133 }
134
135 // TICKS
136 .rules-list>* {
137 &::before,
138 &::after {
139 content: '';
140 position: absolute;
141 left: #{-1 * nth($ticks-position, 2)};
142 width: nth($ticks-position, 2);
143 height: calc(50% + #{$item-vertical-spacing});
144 border-color: $ticks-color;
145 border-style: solid;
146 }
147
148 &::before {
149 top: #{-2 * $ticks-width};
150 border-width: 0 0 $ticks-width $ticks-width;
151 }
152
153 &::after {
154 top: 50%;
155 border-width: 0 0 0 $ticks-width;
156 }
157
158 &:first-child::before {
159 top: #{-$group-padding - $ticks-width};
160 height: calc(50% + #{$group-padding + $item-vertical-spacing});
161 }
162
163 &:last-child::before {
164 border-radius: 0 0 0 #{2 * $ticks-width};
165 }
166
167 &:last-child::after {
168 display: none;
169 }
170 }
171}
172
173// import
174// endimport