dropdowns.scss 10.4 KB
Newer Older
P
Phil Hughes 已提交
1 2
.dropdown {
  position: relative;
3 4 5 6 7 8

  .btn-link {
    &:hover {
      cursor: pointer;
    }
  }
9
}
P
Phil Hughes 已提交
10

11 12
@mixin chevron-active {
  .fa-chevron-down {
A
Annabel Dunstone Gray 已提交
13
    color: $gray-darkest;
14 15 16
  }
}

N
Nur Rony 已提交
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
@mixin set-visible {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
  transition-duration: 100ms, 150ms, 25ms;
  transition-delay: 35ms, 50ms, 25ms;
}

@mixin set-invisible {
  transform: translateY(-10px);
  visibility: hidden;
  opacity: 0;
  transition-property: opacity, transform, visibility;
  transition-duration: 70ms, 250ms, 250ms;
  transition-timing-function: linear, $dropdown-animation-timing;
  transition-delay: 25ms, 50ms, 0ms;
}

35
.open {
P
Phil Hughes 已提交
36 37
  .dropdown-menu,
  .dropdown-menu-nav {
38
    display: block;
N
Nur Rony 已提交
39
    @include set-visible;
40

41 42 43
    @media (max-width: $screen-xs-max) {
      width: 100%;
    }
P
Phil Hughes 已提交
44
  }
P
Phil Hughes 已提交
45

46
  .dropdown-toggle,
P
Phil Hughes 已提交
47
  .dropdown-menu-toggle {
48
    @include chevron-active;
A
Annabel Dunstone Gray 已提交
49
    border-color: $gray-darkest;
P
Phil Hughes 已提交
50 51 52
  }
}

D
David Wagner 已提交
53 54
.dropdown-toggle {
  padding: 6px 8px 6px 10px;
A
Annabel Dunstone Gray 已提交
55
  background-color: $white-light;
56
  color: $gl-text-color;
57
  font-size: 14px;
P
Phil Hughes 已提交
58
  text-align: left;
59
  border: 1px solid $border-color;
P
Phil Hughes 已提交
60
  border-radius: $border-radius-base;
P
Phil Hughes 已提交
61 62
  white-space: nowrap;

P
Phil Hughes 已提交
63
  &[disabled] {
64
    opacity: .65;
P
Phil Hughes 已提交
65 66 67
    cursor: not-allowed;
  }

68 69 70 71
  &.no-outline {
    outline: 0;
  }

72 73 74
  &.large {
    width: 200px;
  }
75 76 77 78 79 80 81 82

  &.wide {
    width: 100%;

    + .dropdown-select {
      width: 100%;
    }
  }
83 84 85 86 87 88 89 90 91

  // Allows dynamic-width text in the dropdown toggle.
  // Resizes to allow long text without overflowing the container.
  &.dynamic {
    width: auto;
    min-width: 160px;
    max-width: 100%;
    padding-right: 25px;
  }
D
David Wagner 已提交
92 93

  .fa {
A
Annabel Dunstone Gray 已提交
94
    color: $gray-darkest;
D
David Wagner 已提交
95 96 97 98 99
  }

  .fa-chevron-down {
    font-size: $dropdown-chevron-size;
    position: relative;
100
    top: -2px;
D
David Wagner 已提交
101 102 103 104
    margin-left: 5px;
  }

  &:hover {
105
    @include chevron-active;
A
Annabel Dunstone Gray 已提交
106
    border-color: $gray-darkest;
D
David Wagner 已提交
107 108 109
  }

  &:focus:active {
110
    @include chevron-active;
D
David Wagner 已提交
111 112 113 114 115 116
    border-color: $dropdown-toggle-active-border-color;
  }
}

.dropdown-menu-toggle {
  @extend .dropdown-toggle;
J
Jarkko Tuunanen 已提交
117
  padding-right: 25px;
D
David Wagner 已提交
118
  position: relative;
D
Dimitrie Hoekstra 已提交
119
  width: 163px;
D
David Wagner 已提交
120 121 122 123 124 125 126 127
  text-overflow: ellipsis;
  overflow: hidden;

  .fa {
    position: absolute;

    &.fa-spinner {
      font-size: 16px;
128
      margin-top: -3px;
D
David Wagner 已提交
129 130 131
    }
  }

132 133
  .fa-chevron-down,
  .fa-spinner {
D
David Wagner 已提交
134 135 136 137
    position: absolute;
    top: 11px;
    right: 8px;
  }
P
Phil Hughes 已提交
138 139
}

140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
@mixin dropdown-link {
  display: block;
  position: relative;
  padding: 5px 8px;
  color: $gl-text-color;
  line-height: initial;
  text-overflow: ellipsis;
  border-radius: 2px;
  white-space: nowrap;
  overflow: hidden;

  &:hover,
  &:focus,
  &.is-focused {
    background-color: $dropdown-link-hover-bg;
    text-decoration: none;

    .badge {
      background-color: darken($dropdown-link-hover-bg, 5%);
    }
  }

  &.dropdown-menu-empty-link {
    &.is-focused {
      background-color: $dropdown-empty-row-bg;
    }
  }

  &.dropdown-menu-user-link {
    line-height: 16px;
  }

  .icon-play {
    fill: $gl-text-color-secondary;
    margin-right: 6px;
    height: 12px;
    width: 11px;
  }
}

P
Phil Hughes 已提交
180 181
.dropdown-menu,
.dropdown-menu-nav {
N
Nur Rony 已提交
182
  display: block;
P
Phil Hughes 已提交
183
  position: absolute;
N
Nur Rony 已提交
184
  width: 100%;
P
Phil Hughes 已提交
185 186
  top: 100%;
  left: 0;
187
  z-index: 9;
188
  min-width: 240px;
P
Phil Hughes 已提交
189
  margin-top: 2px;
190
  margin-bottom: 0;
191
  font-size: 14px;
192
  font-weight: normal;
P
Phil Hughes 已提交
193
  padding: 8px 0;
194
  background-color: $white-light;
P
Phil Hughes 已提交
195
  border: 1px solid $dropdown-border-color;
P
Phil Hughes 已提交
196
  border-radius: $border-radius-base;
P
Phil Hughes 已提交
197
  box-shadow: 0 2px 4px $dropdown-shadow-color;
N
Nur Rony 已提交
198 199 200 201 202
  @include set-invisible;

  @media (max-width: $screen-sm-min) {
    width: 100%;
  }
P
Phil Hughes 已提交
203

P
Phil Hughes 已提交
204 205 206 207 208 209 210 211 212 213
  &.is-loading {
    .dropdown-content {
      display: none;
    }

    .dropdown-loading {
      display: block;
    }
  }

214
  .shortcut-mappings {
215 216 217
    display: none;
  }

218
  &.shortcuts .shortcut-mappings {
219
    display: inline-block;
220
    margin-right: 5px;
221 222
  }

P
Phil Hughes 已提交
223 224 225 226 227
  ul {
    margin: 0;
    padding: 0;
  }

P
Phil Hughes 已提交
228 229 230
  li {
    text-align: left;
    list-style: none;
D
dimitrieh 已提交
231
    padding: 0 10px;
P
Phil Hughes 已提交
232 233 234
  }

  .divider {
235
    height: 1px;
D
dimitrieh 已提交
236
    margin: 6px 10px;
237 238 239 240 241
    padding: 0;
    background-color: $dropdown-divider-color;
  }

  .separator {
P
Phil Hughes 已提交
242 243 244 245 246 247 248 249
    width: 100%;
    height: 1px;
    margin-top: 8px;
    margin-bottom: 8px;
    background-color: $dropdown-divider-color;
  }

  a {
250
    @include dropdown-link;
P
Phil Hughes 已提交
251
  }
252 253

  .dropdown-header {
254
    color: $gl-text-color-secondary;
255 256
    font-size: 13px;
    line-height: 22px;
D
dimitrieh 已提交
257
    padding: 0 16px;
258 259
  }

C
Clement Ho 已提交
260 261 262 263
  &.capitalize-header .dropdown-header {
    text-transform: capitalize;
  }

264 265 266
  .separator + .dropdown-header {
    padding-top: 2px;
  }
267 268 269 270

  .unclickable {
    cursor: not-allowed;
    padding: 5px 8px;
T
tauriedavis 已提交
271
    color: $gl-text-color-secondary;
272
  }
273 274 275 276 277 278

  .badge {
    position: absolute;
    right: 8px;
    top: 5px;
  }
P
Phil Hughes 已提交
279 280
}

N
Nur Rony 已提交
281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297
.filtered-search-box-input-container .dropdown-menu,
.filtered-search-box-input-container .dropdown-menu-nav,
.comment-type-dropdown .dropdown-menu {
  display: none;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.filtered-search-box-input-container {
  .dropdown-menu,
  .dropdown-menu-nav {
    max-width: 280px;
    width: auto;
  }
}

P
Phil Hughes 已提交
298 299 300 301 302
.dropdown-menu-drop-up {
  top: auto;
  bottom: 100%;
}

303 304 305 306 307 308 309 310 311 312
.dropdown-menu-large {
  width: 340px;
}

.dropdown-menu-no-wrap {
  a {
    white-space: normal;
  }
}

P
Phil Hughes 已提交
313 314 315 316
.dropdown-menu-full-width {
  width: 100%;
}

P
Phil Hughes 已提交
317
.dropdown-menu-paging {
318 319
  .dropdown-page-two,
  .dropdown-menu-back {
P
Phil Hughes 已提交
320 321 322 323 324 325 326 327
    display: none;
  }

  &.is-page-two {
    .dropdown-page-one {
      display: none;
    }

328 329
    .dropdown-page-two,
    .dropdown-menu-back {
P
Phil Hughes 已提交
330 331
      display: block;
    }
332 333 334 335

    .dropdown-content {
      padding: 0 10px;
    }
P
Phil Hughes 已提交
336 337 338 339 340 341
  }
}

.dropdown-menu-user {
  .avatar {
    float: left;
342 343
    width: 2 * $gl-padding;
    height: 2 * $gl-padding;
P
Phil Hughes 已提交
344 345 346 347 348
    margin: 0 10px 0 0;
  }
}

.dropdown-menu-user-link {
J
Jacob Schatz 已提交
349
  padding-top: 10px;
P
Phil Hughes 已提交
350 351 352 353 354
  padding-bottom: 7px;
}

.dropdown-menu-user-full-name {
  display: block;
J
Jacob Schatz 已提交
355
  font-weight: 500;
356
  line-height: 16px;
P
Phil Hughes 已提交
357 358 359 360 361 362 363
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.dropdown-menu-user-username {
  display: block;
364
  line-height: 16px;
P
Phil Hughes 已提交
365 366 367 368 369 370
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.dropdown-select {
371
  width: $dropdown-width;
N
Nur Rony 已提交
372 373 374 375

  @media (max-width: $screen-sm-min) {
    width: 100%;
  }
P
Phil Hughes 已提交
376 377
}

P
Phil Hughes 已提交
378 379 380 381 382 383 384
.dropdown-menu-align-right {
  left: auto;
  right: 0;
}

.dropdown-menu-selectable {
  a {
D
dimitrieh 已提交
385
    padding-left: 26px;
386
    position: relative;
P
Phil Hughes 已提交
387

388 389
    &.is-indeterminate,
    &.is-active {
D
dimitrieh 已提交
390 391 392
      font-weight: 600;
      color: $gl-text-color;

P
Phil Hughes 已提交
393 394
      &::before {
        position: absolute;
D
dimitrieh 已提交
395
        left: 6px;
396 397
        top: 50%;
        transform: translateY(-50%);
P
Phil Hughes 已提交
398 399 400 401 402 403 404
        font: normal normal normal 14px/1 FontAwesome;
        font-size: inherit;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }
    }
A
Alfredo Sumaran 已提交
405

406
    &.is-indeterminate::before {
A
Alfredo Sumaran 已提交
407 408 409 410 411
      content: "\f068";
    }

    &.is-active::before {
      content: "\f00c";
412 413 414
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
A
Alfredo Sumaran 已提交
415
    }
P
Phil Hughes 已提交
416 417 418
  }
}

P
Phil Hughes 已提交
419 420 421

.dropdown-title {
  position: relative;
D
dimitrieh 已提交
422
  padding: 2px 25px 10px;
423
  margin: 0 10px 10px;
P
Phil Hughes 已提交
424 425 426 427 428 429 430 431 432 433 434
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-bottom: 1px solid $dropdown-divider-color;
  overflow: hidden;
}

.dropdown-title-button {
  position: absolute;
435
  top: 0;
P
Phil Hughes 已提交
436
  padding: 0;
P
Phil Hughes 已提交
437
  color: $dropdown-title-btn-color;
P
Phil Hughes 已提交
438 439 440
  font-size: 14px;
  border: 0;
  background: none;
P
Phil Hughes 已提交
441
  outline: 0;
P
Phil Hughes 已提交
442 443

  &:hover {
P
Phil Hughes 已提交
444
    color: darken($dropdown-title-btn-color, 15%);
P
Phil Hughes 已提交
445 446 447 448
  }
}

.dropdown-menu-close {
P
Phil Hughes 已提交
449
  right: 5px;
450 451
  width: 20px;
  height: 20px;
D
dimitrieh 已提交
452
  top: -1px;
P
Phil Hughes 已提交
453 454 455
}

.dropdown-menu-back {
456 457
  left: 7px;
  top: 2px;
P
Phil Hughes 已提交
458 459 460 461 462
}

.dropdown-input {
  position: relative;
  margin-bottom: 10px;
463
  padding: 0 10px;
P
Phil Hughes 已提交
464 465 466 467

  .fa {
    position: absolute;
    top: 10px;
468
    right: 20px;
S
Sam Rose 已提交
469
    color: $dropdown-input-fa-color;
P
Phil Hughes 已提交
470 471 472
    font-size: 12px;
    pointer-events: none;
  }
473 474 475 476 477

  .dropdown-input-clear {
    display: none;
    cursor: pointer;
    pointer-events: all;
478 479 480
    right: 22px;
    top: 9px;
    font-size: 14px;
481 482 483 484 485 486 487 488 489 490 491
  }

  &.has-value {
    .dropdown-input-clear {
      display: block;
    }

    .dropdown-input-search {
      display: none;
    }
  }
P
Phil Hughes 已提交
492 493
}

494 495
.dropdown-input-field,
.default-dropdown-input {
P
Phil Hughes 已提交
496
  width: 100%;
497
  min-height: 30px;
P
Phil Hughes 已提交
498
  padding: 0 7px;
P
Phil Hughes 已提交
499
  color: $dropdown-input-color;
P
Phil Hughes 已提交
500 501 502 503 504 505 506
  line-height: 30px;
  border: 1px solid $dropdown-divider-color;
  border-radius: 2px;
  outline: 0;

  &:focus {
    color: $dropdown-link-color;
P
Phil Hughes 已提交
507 508
    border-color: $dropdown-input-focus-border;
    box-shadow: 0 0 4px $dropdown-input-focus-shadow;
P
Phil Hughes 已提交
509

510
    ~ .fa {
P
Phil Hughes 已提交
511 512 513 514 515
      color: $dropdown-link-color;
    }
  }

  &:hover {
516
    ~ .fa {
P
Phil Hughes 已提交
517 518 519 520 521 522
      color: $dropdown-link-color;
    }
  }
}

.dropdown-content {
P
Phil Hughes 已提交
523
  max-height: 215px;
524
  overflow-y: auto;
P
Phil Hughes 已提交
525 526
}

E
Eric Eastwood 已提交
527 528 529 530 531
.dropdown-info-note {
  color: $gl-text-color-secondary;
  text-align: center;
}

P
Phil Hughes 已提交
532 533 534 535 536 537 538
.dropdown-footer {
  padding-top: 10px;
  margin-top: 10px;
  font-size: 13px;
  border-top: 1px solid $dropdown-divider-color;
}

P
Phil Hughes 已提交
539 540 541 542 543 544 545
.dropdown-due-date-footer {
  padding-top: 0;
  margin-left: 10px;
  margin-right: 10px;
  border-top: 0;
}

546 547 548 549
.dropdown-footer-list {
  font-size: 14px;

  a {
550
    cursor: pointer;
551 552 553 554
    padding-left: 10px;
  }
}

P
Phil Hughes 已提交
555 556 557 558 559 560 561 562
.dropdown-loading {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  z-index: 9;
P
Phil Hughes 已提交
563
  background-color: $dropdown-loading-bg;
P
Phil Hughes 已提交
564 565 566 567 568 569 570 571 572 573
  font-size: 28px;

  .fa {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -14px;
    margin-left: -14px;
  }
}
574

P
Phil Hughes 已提交
575 576 577
.dropdown-label-box {
  position: relative;
  top: 3px;
578
  margin-right: 5px;
P
Phil Hughes 已提交
579
  display: inline-block;
580 581 582
  width: 15px;
  height: 15px;
  border-radius: $border-radius-base;
583
}
P
Phil Hughes 已提交
584 585

.dropdown-menu-due-date {
586 587 588 589
  .dropdown-content {
    max-height: 230px;
  }

P
Phil Hughes 已提交
590 591 592 593 594
  .pika-single {
    position: relative!important;
    top: 0!important;
    border: 0;
    box-shadow: none;
P
Phil Hughes 已提交
595 596
  }

P
Phil Hughes 已提交
597 598 599
  .pika-lendar {
    margin-top: -5px;
    margin-bottom: 0;
P
Phil Hughes 已提交
600 601
  }
}
602 603 604

.dropdown-menu-inner-title {
  display: block;
T
tauriedavis 已提交
605
  color: $gl-text-color;
606 607 608 609 610
  font-weight: 600;
}

.dropdown-menu-inner-content {
  display: block;
T
tauriedavis 已提交
611
  color: $gl-text-color-secondary;
612
}
P
Phil Hughes 已提交
613 614 615

.dropdown-toggle-text {
  &.is-default {
T
tauriedavis 已提交
616
    color: $gl-text-color-secondary;
P
Phil Hughes 已提交
617 618
  }
}
619 620 621 622

.droplab-item-ignore {
  pointer-events: none;
}
N
Nur Rony 已提交
623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643

.pika-single.animate-picker.is-bound,
.pika-single.animate-picker.is-bound.is-hidden {
  /*
   * Having `!important` is not recommended but
   * since `pikaday` sets positioning inline
   * there's no way it can be gracefully overridden
   * using config options.
   */
  position: absolute !important;
  display: block;
}

.pika-single.animate-picker.is-bound {
  @include set-visible;
}

.pika-single.animate-picker.is-bound.is-hidden {
  @include set-invisible;
  overflow: hidden;
}