Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 1 | @charset "utf-8"; |
Nils Diewald | ab4d3ca | 2015-04-17 01:48:43 +0000 | [diff] [blame] | 2 | @import "../util"; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 3 | |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 4 | $left-padding: 4em; // 32pt; // 2.8em; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 5 | $border-size: 2px; |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 6 | $bracket-size: .4em; // 4pt; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 7 | |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 8 | /** |
| 9 | * Virtual Collection Builder |
| 10 | */ |
Akron | 5c829e9 | 2017-05-12 18:10:00 +0200 | [diff] [blame] | 11 | |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 12 | .vc { |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 13 | margin-top: 4pt; |
| 14 | |
| 15 | /** |
| 16 | * Rules for all docGroups |
| 17 | */ |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 18 | .docGroup { |
| 19 | position: relative; |
| 20 | display: inline-block; |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 21 | margin-left: $left-padding; // 28pt |
| 22 | |
| 23 | .docGroup { display: block; } |
| 24 | |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 25 | color: $nearly-white; |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 26 | padding: 4pt 2pt 4pt 0pt; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 27 | border: { |
| 28 | radius: $standard-border-radius * 2; |
| 29 | style: solid; |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 30 | width: 0 $bracket-size; // .6em .5em |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 31 | } |
| 32 | |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 33 | // Whiten on hover |
| 34 | &:hover { |
| 35 | background-color: rgba(255,255,255,.06); |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 36 | } |
| 37 | |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 38 | &[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 Diewald | 1fcb2ad | 2015-04-20 19:19:18 +0000 | [diff] [blame] | 51 | line-height: 1.5em; |
| 52 | border-top: $border-size solid transparent; |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 53 | } |
| 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 Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 82 | > .operators { |
| 83 | position: absolute; |
| 84 | display: block; |
| 85 | top: 10px; |
| 86 | vertical-align: middle; |
| 87 | left: 3px; |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 88 | > span:first-child { |
Akron | 8b592d4 | 2018-01-26 18:33:06 +0100 | [diff] [blame] | 89 | border: { |
| 90 | top-left-radius: 0; |
| 91 | bottom-left-radius: 0; |
| 92 | } |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 93 | } |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 94 | margin-left: 100%; |
| 95 | padding: 0; |
| 96 | } |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 97 | } |
| 98 | |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 99 | |
| 100 | /** |
| 101 | * All document rules |
| 102 | */ |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 103 | .doc { |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 104 | padding-left: $left-padding; |
Nils Diewald | 4c22125 | 2015-04-21 20:19:25 +0000 | [diff] [blame] | 105 | > span + span, |
Akron | 7945237 | 2018-04-11 14:24:19 +0200 | [diff] [blame] | 106 | > span + div + span, |
| 107 | > span + ul + span { |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 108 | margin-left: 5pt; |
| 109 | } |
Nils Diewald | 9c12506 | 2015-05-05 23:54:17 +0000 | [diff] [blame] | 110 | |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 111 | > span.key, |
| 112 | > span.value { |
| 113 | font-weight: bold; |
Nils Diewald | 9c12506 | 2015-05-05 23:54:17 +0000 | [diff] [blame] | 114 | &[data-type=regex] { |
| 115 | font-style: italic; |
| 116 | &::after, &::before { |
| 117 | content: '/'; |
| 118 | } |
| 119 | } |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 120 | } |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 121 | |
| 122 | /** |
| 123 | * All operators on docs |
| 124 | */ |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 125 | > .operators { |
| 126 | display: inline-block; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 127 | margin-left: 10px; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 128 | } |
| 129 | > span.key { |
| 130 | position: relative; |
| 131 | > ul { |
Akron | 8b592d4 | 2018-01-26 18:33:06 +0100 | [diff] [blame] | 132 | margin: 0; |
| 133 | margin-left: 3.3em; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 134 | } |
| 135 | } |
| 136 | } |
| 137 | |
| 138 | .rewritten { |
| 139 | .rewrite { |
| 140 | margin-left: 4pt; |
| 141 | display: inline-block; |
| 142 | color: $dark-orange; |
| 143 | &::after { |
Akron | 5c829e9 | 2017-05-12 18:10:00 +0200 | [diff] [blame] | 144 | font: { |
| 145 | family: FontAwesome; |
| 146 | style: normal; |
| 147 | weight: normal; |
| 148 | } |
| 149 | content: $fa-rewrite; |
| 150 | text-decoration: underline; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 151 | } |
| 152 | span { |
Akron | 5c829e9 | 2017-05-12 18:10:00 +0200 | [diff] [blame] | 153 | display: none; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 154 | } |
| 155 | } |
| 156 | } |
| 157 | |
Nils Diewald | 4c22125 | 2015-04-21 20:19:25 +0000 | [diff] [blame] | 158 | .doc > span { |
Nils Diewald | 1fcb2ad | 2015-04-20 19:19:18 +0000 | [diff] [blame] | 159 | cursor: pointer; |
Nils Diewald | 4c22125 | 2015-04-21 20:19:25 +0000 | [diff] [blame] | 160 | &:hover { |
| 161 | color: $dark-green; |
| 162 | } |
Nils Diewald | 1fcb2ad | 2015-04-20 19:19:18 +0000 | [diff] [blame] | 163 | } |
| 164 | |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 165 | /** |
| 166 | * All operators |
| 167 | */ |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 168 | .operators { |
| 169 | opacity: 0; |
| 170 | white-space: nowrap; |
| 171 | padding: 0; |
| 172 | font-size: 0; |
| 173 | line-height: 0; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 174 | text-align: center; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 175 | } |
| 176 | |
| 177 | > .docGroup { |
| 178 | margin-left: 0; |
| 179 | } |
| 180 | |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 181 | .doc, .docGroup { |
| 182 | &:hover > .operators { |
| 183 | opacity: 1; |
| 184 | } |
| 185 | } |
| 186 | |
Nils Diewald | 4c22125 | 2015-04-21 20:19:25 +0000 | [diff] [blame] | 187 | .menu { |
| 188 | display: inline-block; |
| 189 | } |
Nils Diewald | c4c4b83 | 2015-05-05 16:00:08 +0000 | [diff] [blame] | 190 | |
| 191 | div.value { |
| 192 | position: absolute; |
| 193 | display: inline-block; |
Akron | c1457bf | 2015-06-11 19:24:00 +0200 | [diff] [blame] | 194 | z-index: 8000; |
Nils Diewald | c4c4b83 | 2015-05-05 16:00:08 +0000 | [diff] [blame] | 195 | @include choose-item; |
| 196 | box-shadow: $choose-box-shadow; |
| 197 | padding: 4pt; |
Akron | c1457bf | 2015-06-11 19:24:00 +0200 | [diff] [blame] | 198 | margin-top: -6pt; |
Nils Diewald | c4c4b83 | 2015-05-05 16:00:08 +0000 | [diff] [blame] | 199 | border: { |
| 200 | width: $border-size; |
| 201 | style: solid; |
| 202 | radius: $standard-border-radius; |
| 203 | } |
| 204 | input { |
| 205 | border-width: 0; |
| 206 | } |
| 207 | > div { |
| 208 | padding: 2pt; |
| 209 | cursor: pointer; |
| 210 | font: { |
| 211 | size: 80%; |
| 212 | style: italic; |
| 213 | } |
| 214 | display: inline-block; |
| 215 | @include choose-item; |
| 216 | border: { |
| 217 | width: $border-size; |
| 218 | style: solid; |
| 219 | radius: $standard-border-radius; |
| 220 | } |
| 221 | |
| 222 | &:hover { |
| 223 | @include choose-hover; |
| 224 | } |
| 225 | } |
| 226 | &.regex { |
Nils Diewald | 9c12506 | 2015-05-05 23:54:17 +0000 | [diff] [blame] | 227 | > input { |
| 228 | font-style: italic; |
| 229 | } |
| 230 | |
Nils Diewald | c4c4b83 | 2015-05-05 16:00:08 +0000 | [diff] [blame] | 231 | > div { |
| 232 | @include choose-active; |
| 233 | } |
| 234 | } |
| 235 | } |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 236 | } |
| 237 | |
| 238 | |
Nils Diewald | 359a72c | 2015-04-20 17:40:29 +0000 | [diff] [blame] | 239 | /** |
| 240 | * The z-index cascade for groups. |
| 241 | */ |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 242 | $dg-index : 30; |
Nils Diewald | a944fab | 2015-04-08 21:02:04 +0000 | [diff] [blame] | 243 | .docGroup { |
| 244 | > .operators { |
| 245 | z-index: $dg-index; |
| 246 | } |
| 247 | .docGroup { |
| 248 | > .operators { |
| 249 | z-index: $dg-index + 1; |
| 250 | } |
| 251 | .docGroup { |
| 252 | > .operators { |
| 253 | z-index: $dg-index + 2; |
| 254 | } |
| 255 | .docGroup { |
| 256 | > .operators { |
| 257 | z-index: $dg-index + 3; |
| 258 | } |
| 259 | .docGroup { |
| 260 | > .operators { |
| 261 | z-index: $dg-index + 4; |
| 262 | } |
| 263 | .docGroup { |
| 264 | > .operators { |
| 265 | z-index: $dg-index + 5; |
| 266 | } |
| 267 | .docGroup { |
| 268 | > .operators { |
| 269 | z-index: $dg-index + 6; |
| 270 | } |
| 271 | } |
| 272 | } |
| 273 | } |
| 274 | } |
| 275 | } |
| 276 | } |
| 277 | } |
Nils Diewald | fccfbcb | 2015-04-29 20:48:19 +0000 | [diff] [blame] | 278 | |
Akron | c1457bf | 2015-06-11 19:24:00 +0200 | [diff] [blame] | 279 | #collection { |
Nils Diewald | 7148c6f | 2015-05-04 15:07:53 +0000 | [diff] [blame] | 280 | line-height: 1em; |
| 281 | border-radius: $standard-border-radius; |
| 282 | } |
Nils Diewald | fccfbcb | 2015-04-29 20:48:19 +0000 | [diff] [blame] | 283 | |
Akron | 5c829e9 | 2017-05-12 18:10:00 +0200 | [diff] [blame] | 284 | |
| 285 | #vc-choose > span.rewritten { |
Nils Diewald | fccfbcb | 2015-04-29 20:48:19 +0000 | [diff] [blame] | 286 | &::after { |
Akron | 5c829e9 | 2017-05-12 18:10:00 +0200 | [diff] [blame] | 287 | color: $dark-orange; |
| 288 | padding: 0; |
| 289 | padding-left: 4px; |
| 290 | font: { |
| 291 | family: FontAwesome; |
| 292 | style: normal; |
| 293 | weight: normal; |
| 294 | } |
| 295 | content: $fa-rewrite; |
| 296 | text-decoration: underline; |
Nils Diewald | fccfbcb | 2015-04-29 20:48:19 +0000 | [diff] [blame] | 297 | } |
Akron | 6bb7158 | 2016-06-10 20:41:08 +0200 | [diff] [blame] | 298 | } |