_form-selectgroup.scss 3.1 KB
Newer Older
1
/*
2
Select group
3
 */
4
.form-selectgroup {
5
  display: inline-flex;
6
  margin: 0 -.5rem -.5rem 0;
C
codecalm 已提交
7
  flex-wrap: wrap;
C
modals  
codecalm 已提交
8 9 10 11

  .form-selectgroup-item {
    margin: 0 .5rem .5rem 0;
  }
12 13
}

14
.form-selectgroup-vertical {
15 16 17
  flex-direction: column;
}

18 19
.form-selectgroup-item {
  display: block;
20
  position: relative;
C
codecalm 已提交
21 22
}

23
.form-selectgroup-input {
24 25 26 27 28 29 30
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}

31
.form-selectgroup-box {
32 33 34
  position: relative;
  display: block;
  min-width: $input-height;
35
  padding: $input-btn-padding-y $input-btn-padding-x;
C
codecalm 已提交
36
  font-size: $input-btn-font-size;
37 38
  line-height: $input-line-height;
  color: $text-muted;
C
modals  
codecalm 已提交
39
  background: $form-check-input-bg;
40 41 42 43 44
  text-align: center;
  cursor: pointer;
  user-select: none;
  border: 1px solid $input-border-color;
  border-radius: 3px;
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
  transition: border-color .3s, background .3s, color .3s;

  .icon:only-child {
    margin: 0 -.25rem;
  }

  &:hover {
    color: $body-color;
  }
}

.form-selectgroup-check {
  display: inline-block;
  width: $form-check-input-width;
  height: $form-check-input-width;
  border: $form-check-input-border;
  vertical-align: middle;

  .form-selectgroup-input[type="checkbox"] + .form-selectgroup-box & {
    border-radius: $form-check-input-border-radius;
  }

  .form-selectgroup-input[type="radio"] + .form-selectgroup-box & {
    border-radius: $form-check-radio-border-radius;
  }

  .form-selectgroup-input:checked + .form-selectgroup-box & {
    background-color: $form-check-input-checked-bg-color;
    background-repeat: $form-check-input-checked-bg-repeat;
    background-position: $form-check-input-checked-bg-position;
    background-size: $form-check-input-checked-bg-size;
    border-color: $form-check-input-checked-border-color;
  }

  .form-selectgroup-input[type="checkbox"]:checked + .form-selectgroup-box & {
    background-image: escape-svg($form-check-input-checked-bg-image);
  }

  .form-selectgroup-input[type="radio"]:checked + .form-selectgroup-box & {
    background-image: escape-svg($form-check-radio-checked-bg-image);
  }
86 87
}

88
.form-selectgroup-input:checked + .form-selectgroup-box {
89 90
  z-index: 1;
  color: $primary;
91 92 93
  background: rgba($primary, .04);
  border-color: $input-focus-border-color;
  box-shadow: 0 1px 1px 0 rgba($primary, .2);
94 95
}

96
.form-selectgroup-input:focus + .form-selectgroup-box {
97 98
  z-index: 2;
  color: $primary;
99
  border-color: $input-focus-border-color;
100 101 102
  box-shadow: $input-btn-focus-box-shadow;
}

C
modals  
codecalm 已提交
103 104 105 106
.form-selectgroup-box-content {
  line-height: $line-height-sm;
}

107 108 109 110 111 112 113 114 115 116 117 118
/**
Alternate version of form select group
 */
.form-selectgroup-boxes {
  .form-selectgroup-box {
    text-align: left;
    padding: $card-spacer-x $card-spacer-y;
    color: inherit;
  }

  .form-selectgroup-input:checked {
    + .form-selectgroup-box {
C
codecalm 已提交
119
      color: inherit;
120

C
modals  
codecalm 已提交
121 122 123 124
      .form-selectgroup-title {
        color: $primary;
      }

125 126 127 128 129 130 131 132 133 134 135
      .form-selectgroup-box-content {
        opacity: 1;
      }
    }
  }
}

/**
Select group
 */
.form-selectgroup-pills {
136 137 138
  flex-wrap: wrap;
  align-items: flex-start;

139
  .form-selectgroup-item {
140 141 142
    flex-grow: 0;
  }

143
  .form-selectgroup-box {
144 145 146
    border-radius: 50px;
  }
}