blob: 02c8b54d9ac5a1731643aa1d34647c3286dde566 [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 {
Akron76c3dd62018-05-29 20:58:27 +020041 content: none;
Nils Diewald359a72c2015-04-20 17:40:29 +000042 }
43 > .doc::before,
44 > .docGroup::before {
Akron76c3dd62018-05-29 20:58:27 +020045 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;
51 line-height: 1.5em;
52 border-top: $border-size solid transparent;
Nils Diewald359a72c2015-04-20 17:40:29 +000053 }
54 > .docGroup::before {
Akron76c3dd62018-05-29 20:58:27 +020055 margin-left: -1 * ($left-padding + .5em) + (-1 * $bracket-size);
Nils Diewald359a72c2015-04-20 17:40:29 +000056 }
57 }
58
59 // Or operation
60 &[data-operation=or] {
61 border-color: $dark-orange;
62 > .doc::before,
63 > .docGroup::before {
Akron76c3dd62018-05-29 20:58:27 +020064 // This will be overruled by JS!
65 content: "or";
Nils Diewald359a72c2015-04-20 17:40:29 +000066 }
67 }
68
69 // And operation
70 &[data-operation=and] {
71 > .doc::before,
72 > .docGroup::before {
Akron76c3dd62018-05-29 20:58:27 +020073 // This will be overruled by JS!
74 content: "and";
Nils Diewald359a72c2015-04-20 17:40:29 +000075 }
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 {
Akron76c3dd62018-05-29 20:58:27 +020089 border: {
90 top-left-radius: 0;
91 bottom-left-radius: 0;
92 }
Nils Diewald359a72c2015-04-20 17:40:29 +000093 }
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,
Akron79452372018-04-11 14:24:19 +0200106 > span + div + span,
107 > span + ul + span {
Nils Diewalda944fab2015-04-08 21:02:04 +0000108 margin-left: 5pt;
109 }
Nils Diewald9c125062015-05-05 23:54:17 +0000110
Nils Diewalda944fab2015-04-08 21:02:04 +0000111 > span.key,
112 > span.value {
113 font-weight: bold;
Nils Diewald9c125062015-05-05 23:54:17 +0000114 &[data-type=regex] {
Akron76c3dd62018-05-29 20:58:27 +0200115 font-style: italic;
116 &::after,
117 &::before {
118 content: '/';
119 }
Nils Diewald9c125062015-05-05 23:54:17 +0000120 }
Nils Diewalda944fab2015-04-08 21:02:04 +0000121 }
Nils Diewald359a72c2015-04-20 17:40:29 +0000122
123 /**
124 * All operators on docs
125 */
Nils Diewalda944fab2015-04-08 21:02:04 +0000126 > .operators {
127 display: inline-block;
Nils Diewalda944fab2015-04-08 21:02:04 +0000128 margin-left: 10px;
Nils Diewalda944fab2015-04-08 21:02:04 +0000129 }
130 > span.key {
131 position: relative;
132 > ul {
Akron76c3dd62018-05-29 20:58:27 +0200133 margin: 0;
134 margin-left: 3.3em;
Nils Diewalda944fab2015-04-08 21:02:04 +0000135 }
136 }
137 }
138
139 .rewritten {
140 .rewrite {
141 margin-left: 4pt;
142 display: inline-block;
143 color: $dark-orange;
144 &::after {
Akron76c3dd62018-05-29 20:58:27 +0200145 font: {
146 family: FontAwesome;
147 style: normal;
148 weight: normal;
149 }
150 content: $fa-rewrite;
151 text-decoration: underline;
Nils Diewalda944fab2015-04-08 21:02:04 +0000152 }
Akron76c3dd62018-05-29 20:58:27 +0200153 > span {
154 display: none;
Nils Diewalda944fab2015-04-08 21:02:04 +0000155 }
156 }
157 }
158
Nils Diewald4c221252015-04-21 20:19:25 +0000159 .doc > span {
Nils Diewald1fcb2ad2015-04-20 19:19:18 +0000160 cursor: pointer;
Nils Diewald4c221252015-04-21 20:19:25 +0000161 &:hover {
162 color: $dark-green;
163 }
Nils Diewald1fcb2ad2015-04-20 19:19:18 +0000164 }
165
Nils Diewald359a72c2015-04-20 17:40:29 +0000166 /**
167 * All operators
168 */
Nils Diewalda944fab2015-04-08 21:02:04 +0000169 .operators {
170 opacity: 0;
171 white-space: nowrap;
172 padding: 0;
173 font-size: 0;
174 line-height: 0;
Nils Diewalda944fab2015-04-08 21:02:04 +0000175 text-align: center;
Nils Diewalda944fab2015-04-08 21:02:04 +0000176 }
177
178 > .docGroup {
179 margin-left: 0;
180 }
181
Nils Diewalda944fab2015-04-08 21:02:04 +0000182 .doc, .docGroup {
183 &:hover > .operators {
184 opacity: 1;
185 }
186 }
187
Nils Diewald4c221252015-04-21 20:19:25 +0000188 .menu {
189 display: inline-block;
190 }
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000191
192 div.value {
193 position: absolute;
194 display: inline-block;
Akronc1457bf2015-06-11 19:24:00 +0200195 z-index: 8000;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000196 @include choose-item;
197 box-shadow: $choose-box-shadow;
198 padding: 4pt;
Akronc1457bf2015-06-11 19:24:00 +0200199 margin-top: -6pt;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000200 border: {
201 width: $border-size;
202 style: solid;
203 radius: $standard-border-radius;
204 }
205 input {
206 border-width: 0;
207 }
208 > div {
209 padding: 2pt;
210 cursor: pointer;
211 font: {
Akron76c3dd62018-05-29 20:58:27 +0200212 size: 80%;
213 style: italic;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000214 }
215 display: inline-block;
216 @include choose-item;
217 border: {
Akron76c3dd62018-05-29 20:58:27 +0200218 width: $border-size;
219 style: solid;
220 radius: $standard-border-radius;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000221 }
222
223 &:hover {
Akron76c3dd62018-05-29 20:58:27 +0200224 @include choose-hover;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000225 }
226 }
227 &.regex {
Nils Diewald9c125062015-05-05 23:54:17 +0000228 > input {
Akron76c3dd62018-05-29 20:58:27 +0200229 font-style: italic;
Nils Diewald9c125062015-05-05 23:54:17 +0000230 }
231
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000232 > div {
Akron76c3dd62018-05-29 20:58:27 +0200233 @include choose-active;
Nils Diewaldc4c4b832015-05-05 16:00:08 +0000234 }
235 }
236 }
Nils Diewalda944fab2015-04-08 21:02:04 +0000237}
238
239
Nils Diewald359a72c2015-04-20 17:40:29 +0000240/**
241 * The z-index cascade for groups.
242 */
Nils Diewalda944fab2015-04-08 21:02:04 +0000243$dg-index : 30;
Nils Diewalda944fab2015-04-08 21:02:04 +0000244.docGroup {
245 > .operators {
246 z-index: $dg-index;
247 }
248 .docGroup {
249 > .operators {
250 z-index: $dg-index + 1;
251 }
252 .docGroup {
253 > .operators {
Akron76c3dd62018-05-29 20:58:27 +0200254 z-index: $dg-index + 2;
Nils Diewalda944fab2015-04-08 21:02:04 +0000255 }
256 .docGroup {
Akron76c3dd62018-05-29 20:58:27 +0200257 > .operators {
258 z-index: $dg-index + 3;
259 }
260 .docGroup {
261 > .operators {
262 z-index: $dg-index + 4;
263 }
264 .docGroup {
265 > .operators {
266 z-index: $dg-index + 5;
267 }
268 .docGroup {
269 > .operators {
270 z-index: $dg-index + 6;
271 }
272 }
273 }
274 }
Nils Diewalda944fab2015-04-08 21:02:04 +0000275 }
276 }
277 }
278}
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000279
Akronc1457bf2015-06-11 19:24:00 +0200280#collection {
Nils Diewald7148c6f2015-05-04 15:07:53 +0000281 line-height: 1em;
282 border-radius: $standard-border-radius;
283}
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000284
Akron5c829e92017-05-12 18:10:00 +0200285
286#vc-choose > span.rewritten {
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000287 &::after {
Akron5c829e92017-05-12 18:10:00 +0200288 color: $dark-orange;
289 padding: 0;
290 padding-left: 4px;
Akron76c3dd62018-05-29 20:58:27 +0200291 font: {
292 family: FontAwesome;
293 style: normal;
294 weight: normal;
295 }
296 content: $fa-rewrite;
297 text-decoration: underline;
Nils Diewaldfccfbcb2015-04-29 20:48:19 +0000298 }
Akron6bb71582016-06-10 20:41:08 +0200299}