blob: c773d5340ff0fdddd284823351486271ba97e571 [file] [log] [blame]
Nils Diewalda944fab2015-04-08 21:02:04 +00001@charset "utf-8";
Nils Diewaldab4d3ca2015-04-17 01:48:43 +00002@import "../util";
Nils Diewalda944fab2015-04-08 21:02:04 +00003
Nils Diewald359a72c2015-04-20 17:40:29 +00004$left-padding: 4em; // 32pt; // 2.8em;
Nils Diewalda944fab2015-04-08 21:02:04 +00005$border-size: 2px;
Nils Diewald359a72c2015-04-20 17:40:29 +00006$bracket-size: .4em; // 4pt;
Nils Diewalda944fab2015-04-08 21:02:04 +00007
Nils Diewald359a72c2015-04-20 17:40:29 +00008/**
9 * Virtual Collection Builder
10 */
Akron5c829e92017-05-12 18:10:00 +020011
Nils Diewalda944fab2015-04-08 21:02:04 +000012.vc {
Nils Diewald359a72c2015-04-20 17:40:29 +000013 margin-top: 4pt;
14
15 /**
16 * Rules for all docGroups
17 */
Nils Diewalda944fab2015-04-08 21:02:04 +000018 .docGroup {
19 position: relative;
20 display: inline-block;
Nils Diewald359a72c2015-04-20 17:40:29 +000021 margin-left: $left-padding; // 28pt
22
23 .docGroup { display: block; }
24
Nils Diewalda944fab2015-04-08 21:02:04 +000025 color: $nearly-white;
Nils Diewald359a72c2015-04-20 17:40:29 +000026 padding: 4pt 2pt 4pt 0pt;
Nils Diewalda944fab2015-04-08 21:02:04 +000027 border: {
28 radius: $standard-border-radius * 2;
29 style: solid;
Nils Diewald359a72c2015-04-20 17:40:29 +000030 width: 0 $bracket-size; // .6em .5em
Nils Diewalda944fab2015-04-08 21:02:04 +000031 }
32
Nils Diewald359a72c2015-04-20 17:40:29 +000033 // Whiten on hover
34 &:hover {
35 background-color: rgba(255,255,255,.06);
Nils Diewalda944fab2015-04-08 21:02:04 +000036 }
37
Nils Diewald359a72c2015-04-20 17:40:29 +000038 &[data-operation] {
39 > .doc:first-child::before,
40 > .docGroup:first-child::before {
41 content: none;
42 }
43 > .doc::before,
44 > .docGroup::before {
45 display: inline-block;
46 position: absolute;
47 text-align: right;
48 width: $left-padding;
49 margin-left: -1 * ($left-padding + .5em); // -28pt
50 color: $dark-green;
Nils Diewald1fcb2ad2015-04-20 19:19:18 +000051 line-height: 1.5em;
52 border-top: $border-size solid transparent;
Nils Diewald359a72c2015-04-20 17:40:29 +000053 }
54 > .docGroup::before {
55 margin-left: -1 * ($left-padding + .5em) + (-1 * $bracket-size);
56 }
57 }
58
59 // Or operation
60 &[data-operation=or] {
61 border-color: $dark-orange;
62 > .doc::before,
63 > .docGroup::before {
64 // This will be overruled by JS!
65 content: "or";
66 }
67 }
68
69 // And operation
70 &[data-operation=and] {
71 > .doc::before,
72 > .docGroup::before {
73 // This will be overruled by JS!
74 content: "and";
75 }
76 }
77
78
79 /**
80 * All operators on groups
81 */
Nils Diewalda944fab2015-04-08 21:02:04 +000082 > .operators {
83 position: absolute;
84 display: block;
85 top: 10px;
86 vertical-align: middle;
87 left: 3px;
Nils Diewald359a72c2015-04-20 17:40:29 +000088 > span:first-child {
89 border: {
90 top-left-radius: 0;
91 bottom-left-radius: 0;
92 }
93 }
Nils Diewalda944fab2015-04-08 21:02:04 +000094 margin-left: 100%;
95 padding: 0;
96 }
Nils Diewalda944fab2015-04-08 21:02:04 +000097 }
98
Nils Diewald359a72c2015-04-20 17:40:29 +000099
100 /**
101 * All document rules
102 */
Nils Diewalda944fab2015-04-08 21:02:04 +0000103 .doc {
Nils Diewald359a72c2015-04-20 17:40:29 +0000104 padding-left: $left-padding;
Nils Diewald4c221252015-04-21 20:19:25 +0000105 > span + span,
Nils Diewald9c125062015-05-05 23:54:17 +0000106 > span + div + span {
Nils Diewalda944fab2015-04-08 21:02:04 +0000107 margin-left: 5pt;
108 }
Nils Diewald9c125062015-05-05 23:54:17 +0000109
Nils Diewalda944fab2015-04-08 21:02:04 +0000110 > span.key,
111 > span.value {
112 font-weight: bold;
Nils Diewald9c125062015-05-05 23:54:17 +0000113 &[data-type=regex] {
114 font-style: italic;
115 &::after, &::before {
116 content: '/';
117 }
118 }
Nils Diewalda944fab2015-04-08 21:02:04 +0000119 }
Nils Diewald359a72c2015-04-20 17:40:29 +0000120
121 /**
122 * All operators on docs
123 */
Nils Diewalda944fab2015-04-08 21:02:04 +0000124 > .operators {
125 display: inline-block;
Nils Diewalda944fab2015-04-08 21:02:04 +0000126 margin-left: 10px;
Nils Diewalda944fab2015-04-08 21:02:04 +0000127 }
128 > span.key {
129 position: relative;
130 > ul {
131 margin: 0;
132 margin-left: 3.3em;
133 }
134 }
135 }
136
137 .rewritten {
138 .rewrite {
139 margin-left: 4pt;
140 display: inline-block;
141 color: $dark-orange;
142 &::after {
Akron5c829e92017-05-12 18:10:00 +0200143 font: {
144 family: FontAwesome;
145 style: normal;
146 weight: normal;
147 }
148 content: $fa-rewrite;
149 text-decoration: underline;
Nils Diewalda944fab2015-04-08 21:02:04 +0000150 }
151 span {
Akron5c829e92017-05-12 18:10:00 +0200152 display: none;
Nils Diewalda944fab2015-04-08 21:02:04 +0000153 }
154 }
155 }
156
Nils Diewald4c221252015-04-21 20:19:25 +0000157 .doc > span {
Nils Diewald1fcb2ad2015-04-20 19:19:18 +0000158 cursor: pointer;
Nils Diewald4c221252015-04-21 20:19:25 +0000159 &:hover {
160 color: $dark-green;
161 }
Nils Diewald1fcb2ad2015-04-20 19:19:18 +0000162 }
163
Nils Diewald359a72c2015-04-20 17:40:29 +0000164 /**
165 * All operators
166 */
Nils Diewalda944fab2015-04-08 21:02:04 +0000167 .operators {
168 opacity: 0;
169 white-space: nowrap;
170 padding: 0;
171 font-size: 0;
172 line-height: 0;
Nils Diewalda944fab2015-04-08 21:02:04 +0000173 text-align: center;
Nils Diewalda944fab2015-04-08 21:02:04 +0000174
175 > span {
Nils Diewald359a72c2015-04-20 17:40:29 +0000176 box-shadow: $choose-box-shadow;
Nils Diewalda944fab2015-04-08 21:02:04 +0000177 cursor: pointer;
178 font-size: 9pt;
Nils Diewald359a72c2015-04-20 17:40:29 +0000179 line-height: 1.5em;
Nils Diewalda944fab2015-04-08 21:02:04 +0000180 padding: 0 4px;
181 display: inline-block;
Nils Diewald359a72c2015-04-20 17:40:29 +0000182 @include choose-item;
183 border-style: solid;
184 border-width: $border-size 0;
185 &:hover {
186 @include choose-hover;
Nils Diewalda944fab2015-04-08 21:02:04 +0000187 }
Nils Diewald359a72c2015-04-20 17:40:29 +0000188 &:first-child {
189 border: {
190 left-width: $border-size;
191 top-left-radius: $standard-border-radius;
192 bottom-left-radius: $standard-border-radius;
193 }
Nils Diewalda944fab2015-04-08 21:02:04 +0000194 }
Nils Diewald359a72c2015-04-20 17:40:29 +0000195 &:last-child {
196 border: {
197 right-width: $border-size;
198 top-right-radius: $standard-border-radius;
199 bottom-right-radius: $standard-border-radius;
200 }
Nils Diewalda944fab2015-04-08 21:02:04 +0000201 }
202 }
203 }
204
205 > .docGroup {
206 margin-left: 0;
207 }
208
Nils Diewalda944fab2015-04-08 21:02:04 +0000209 .doc, .docGroup {
210 &:hover > .operators {
211 opacity: 1;
212 }
213 }
214
Nils Diewald4c221252015-04-21 20:19:25 +0000215 .menu {
216 display: inline-block;
217 }
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000218
219 div.value {
220 position: absolute;
221 display: inline-block;
Akronc1457bf2015-06-11 19:24:00 +0200222 z-index: 8000;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000223 @include choose-item;
224 box-shadow: $choose-box-shadow;
225 padding: 4pt;
Akronc1457bf2015-06-11 19:24:00 +0200226 margin-top: -6pt;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000227 border: {
228 width: $border-size;
229 style: solid;
230 radius: $standard-border-radius;
231 }
232 input {
233 border-width: 0;
234 }
235 > div {
236 padding: 2pt;
237 cursor: pointer;
238 font: {
239 size: 80%;
240 style: italic;
241 }
242 display: inline-block;
243 @include choose-item;
244 border: {
245 width: $border-size;
246 style: solid;
247 radius: $standard-border-radius;
248 }
249
250 &:hover {
251 @include choose-hover;
252 }
253 }
254 &.regex {
Nils Diewald9c125062015-05-05 23:54:17 +0000255 > input {
256 font-style: italic;
257 }
258
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000259 > div {
260 @include choose-active;
261 }
262 }
263 }
Nils Diewalda944fab2015-04-08 21:02:04 +0000264}
265
266
Nils Diewald359a72c2015-04-20 17:40:29 +0000267/**
268 * The z-index cascade for groups.
269 */
Nils Diewalda944fab2015-04-08 21:02:04 +0000270$dg-index : 30;
Nils Diewalda944fab2015-04-08 21:02:04 +0000271.docGroup {
272 > .operators {
273 z-index: $dg-index;
274 }
275 .docGroup {
276 > .operators {
277 z-index: $dg-index + 1;
278 }
279 .docGroup {
280 > .operators {
281 z-index: $dg-index + 2;
282 }
283 .docGroup {
284 > .operators {
285 z-index: $dg-index + 3;
286 }
287 .docGroup {
288 > .operators {
289 z-index: $dg-index + 4;
290 }
291 .docGroup {
292 > .operators {
293 z-index: $dg-index + 5;
294 }
295 .docGroup {
296 > .operators {
297 z-index: $dg-index + 6;
298 }
299 }
300 }
301 }
302 }
303 }
304 }
305}
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000306
Akronc1457bf2015-06-11 19:24:00 +0200307#collection {
Nils Diewald7148c6f2015-05-04 15:07:53 +0000308 line-height: 1em;
309 border-radius: $standard-border-radius;
310}
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000311
Akron5c829e92017-05-12 18:10:00 +0200312
313#vc-choose > span.rewritten {
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000314 &::after {
Akron5c829e92017-05-12 18:10:00 +0200315 color: $dark-orange;
316 padding: 0;
317 padding-left: 4px;
318 font: {
319 family: FontAwesome;
320 style: normal;
321 weight: normal;
322 }
323 content: $fa-rewrite;
324 text-decoration: underline;
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000325 }
Akron6bb71582016-06-10 20:41:08 +0200326}