Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
//
2
// Input groups
3
// --------------------------------------------------
4
 
5
// Base styles
6
// -------------------------
7
.input-group {
8
  position: relative; // For dropdowns
9
  display: table;
10
  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table
11
 
12
  // Undo padding and float of grid classes
13
  &[class*="col-"] {
14
    float: none;
15
    padding-left: 0;
16
    padding-right: 0;
17
  }
18
 
19
  .form-control {
20
    // Ensure that the input is always above the *appended* addon button for
21
    // proper border colors.
22
    position: relative;
23
    z-index: 2;
24
 
25
    // IE9 fubars the placeholder attribute in text inputs and the arrows on
26
    // select elements in input groups. To fix it, we float the input. Details:
27
    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855
28
    float: left;
29
 
30
    width: 100%;
31
    margin-bottom: 0;
32
 
33
    &:focus {
34
      z-index: 3;
35
    }
36
  }
37
}
38
 
39
// Sizing options
40
//
41
// Remix the default form control sizing classes into new ones for easier
42
// manipulation.
43
 
44
.input-group-lg > .form-control,
45
.input-group-lg > .input-group-addon,
46
.input-group-lg > .input-group-btn > .btn {
47
  @extend .input-lg;
48
}
49
.input-group-sm > .form-control,
50
.input-group-sm > .input-group-addon,
51
.input-group-sm > .input-group-btn > .btn {
52
  @extend .input-sm;
53
}
54
 
55
 
56
// Display as table-cell
57
// -------------------------
58
.input-group-addon,
59
.input-group-btn,
60
.input-group .form-control {
61
  display: table-cell;
62
 
63
  &:not(:first-child):not(:last-child) {
64
    border-radius: 0;
65
  }
66
}
67
// Addon and addon wrapper for buttons
68
.input-group-addon,
69
.input-group-btn {
70
  width: 1%;
71
  white-space: nowrap;
72
  vertical-align: middle; // Match the inputs
73
}
74
 
75
// Text input groups
76
// -------------------------
77
.input-group-addon {
78
  padding: $padding-base-vertical $padding-base-horizontal;
79
  font-size: $font-size-base;
80
  font-weight: normal;
81
  line-height: 1;
82
  color: $input-color;
83
  text-align: center;
84
  background-color: $input-group-addon-bg;
85
  border: 1px solid $input-group-addon-border-color;
86
  border-radius: $input-border-radius;
87
 
88
  // Sizing
89
  &.input-sm {
90
    padding: $padding-small-vertical $padding-small-horizontal;
91
    font-size: $font-size-small;
92
    border-radius: $input-border-radius-small;
93
  }
94
  &.input-lg {
95
    padding: $padding-large-vertical $padding-large-horizontal;
96
    font-size: $font-size-large;
97
    border-radius: $input-border-radius-large;
98
  }
99
 
100
  // Nuke default margins from checkboxes and radios to vertically center within.
101
  input[type="radio"],
102
  input[type="checkbox"] {
103
    margin-top: 0;
104
  }
105
}
106
 
107
// Reset rounded corners
108
.input-group .form-control:first-child,
109
.input-group-addon:first-child,
110
.input-group-btn:first-child > .btn,
111
.input-group-btn:first-child > .btn-group > .btn,
112
.input-group-btn:first-child > .dropdown-toggle,
113
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
114
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
115
  @include border-right-radius(0);
116
}
117
.input-group-addon:first-child {
118
  border-right: 0;
119
}
120
.input-group .form-control:last-child,
121
.input-group-addon:last-child,
122
.input-group-btn:last-child > .btn,
123
.input-group-btn:last-child > .btn-group > .btn,
124
.input-group-btn:last-child > .dropdown-toggle,
125
.input-group-btn:first-child > .btn:not(:first-child),
126
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
127
  @include border-left-radius(0);
128
}
129
.input-group-addon:last-child {
130
  border-left: 0;
131
}
132
 
133
// Button input groups
134
// -------------------------
135
.input-group-btn {
136
  position: relative;
137
  // Jankily prevent input button groups from wrapping with `white-space` and
138
  // `font-size` in combination with `inline-block` on buttons.
139
  font-size: 0;
140
  white-space: nowrap;
141
 
142
  // Negative margin for spacing, position for bringing hovered/focused/actived
143
  // element above the siblings.
144
  > .btn {
145
    position: relative;
146
    + .btn {
147
      margin-left: -1px;
148
    }
149
    // Bring the "active" button to the front
150
    &:hover,
151
    &:focus,
152
    &:active {
153
      z-index: 2;
154
    }
155
  }
156
 
157
  // Negative margin to only have a 1px border between the two
158
  &:first-child {
159
    > .btn,
160
    > .btn-group {
161
      margin-right: -1px;
162
    }
163
  }
164
  &:last-child {
165
    > .btn,
166
    > .btn-group {
167
      z-index: 2;
168
      margin-left: -1px;
169
    }
170
  }
171
}