summaryrefslogtreecommitdiff
path: root/app/assets/stylesheets/page_bundles/_pipeline_mixins.scss
blob: ed15e352b7d2c619bc68039858042e01ce99a626 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
@mixin build-content($border-radius: 30px) {
  display: inline-block;
  padding: 8px 10px 9px;
  width: 100%;
  border: 1px solid var(--border-color, $border-color);
  border-radius: $border-radius;
  background-color: var(--white, $white);

  &:hover {
    background-color: var(--gray-50, $gray-50);
    border: 1px solid $dropdown-toggle-active-border-color;
    color: var(--gl-text-color, $gl-text-color);
  }
}

/**
 Action icons inside dropdowns:
 - mini graph in pipelines table
 - dropdown in big graph
 - mini graph in MR widget pipeline
 - mini graph in Commit widget pipeline
*/
@mixin pipeline-graph-dropdown-menu() {
  width: auto;
  max-width: 400px;

  // override dropdown.scss
  &.dropdown-menu li button,
  &.dropdown-menu li a.ci-action-icon-container {
    padding: 0;
    text-align: center;
  }

  .ci-action-icon-container {
    position: absolute;
    right: 11px;
    top: 7px;

    &.ci-action-icon-wrapper {
      height: $ci-action-dropdown-button-size;
      width: $ci-action-dropdown-button-size;
      border-radius: 50%;
      display: block;

      &:hover {
        box-shadow: inset 0 0 0 2px var(--gray-400, $gray-400);
        background-color: var(--gray-50, $gray-50);
      }

      .gl-spinner,
      svg {
        width: $ci-action-dropdown-svg-size;
        height: $ci-action-dropdown-svg-size;
        position: relative;
        vertical-align: initial;
      }
    }
  }

  // SVGs in the commit widget and mr widget
  a.ci-action-icon-container.ci-action-icon-wrapper svg {
    top: 5px;
  }

  .scrollable-menu {
    padding: 0;
    max-height: 245px;
    overflow: auto;
  }

  li {
    position: relative;

    // link to the build
    .mini-pipeline-graph-dropdown-item {
      align-items: center;
      clear: both;
      display: flex;
      font-weight: normal;
      line-height: $line-height-base;
      white-space: nowrap;

      // Match dropdown.scss for all `a` tags
      &.non-details-job-component {
        padding: $gl-padding-8 $gl-btn-horz-padding;
      }
    }

    // ensure .mini-pipeline-graph-dropdown-item has hover style when action-icon is hovered
    &:hover > .mini-pipeline-graph-dropdown-item,
    &:hover > .ci-job-component > .mini-pipeline-graph-dropdown-item,
    .mini-pipeline-graph-dropdown-item:hover,
    .mini-pipeline-graph-dropdown-item:focus {
      outline: none;
      text-decoration: none;
      background-color: var(--gray-100, $gray-50);
    }
  }
}