bootstrap-sass 2.3.1.3 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +20 -0
  3. data/.travis.yml +19 -0
  4. data/CHANGELOG.md +215 -0
  5. data/CONTRIBUTING.md +86 -0
  6. data/Gemfile +7 -0
  7. data/LICENSE +18 -10
  8. data/README.md +290 -67
  9. data/Rakefile +98 -0
  10. data/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  11. data/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  12. data/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  13. data/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  14. data/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  15. data/assets/images/.keep +0 -0
  16. data/assets/javascripts/bootstrap-sprockets.js +12 -0
  17. data/assets/javascripts/bootstrap.js +2580 -0
  18. data/assets/javascripts/bootstrap.min.js +6 -0
  19. data/assets/javascripts/bootstrap/affix.js +164 -0
  20. data/assets/javascripts/bootstrap/alert.js +95 -0
  21. data/assets/javascripts/bootstrap/button.js +125 -0
  22. data/assets/javascripts/bootstrap/carousel.js +246 -0
  23. data/assets/javascripts/bootstrap/collapse.js +212 -0
  24. data/assets/javascripts/bootstrap/dropdown.js +165 -0
  25. data/assets/javascripts/bootstrap/modal.js +358 -0
  26. data/assets/javascripts/bootstrap/popover.js +123 -0
  27. data/assets/javascripts/bootstrap/scrollspy.js +172 -0
  28. data/assets/javascripts/bootstrap/tab.js +155 -0
  29. data/assets/javascripts/bootstrap/tooltip.js +677 -0
  30. data/assets/javascripts/bootstrap/transition.js +59 -0
  31. data/assets/stylesheets/_bootstrap-compass.scss +9 -0
  32. data/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  33. data/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  34. data/assets/stylesheets/_bootstrap.scss +56 -0
  35. data/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  36. data/assets/stylesheets/bootstrap/_badges.scss +68 -0
  37. data/assets/stylesheets/bootstrap/_breadcrumbs.scss +28 -0
  38. data/assets/stylesheets/bootstrap/_button-groups.scss +244 -0
  39. data/assets/stylesheets/bootstrap/_buttons.scss +168 -0
  40. data/assets/stylesheets/bootstrap/_carousel.scss +271 -0
  41. data/{vendor/assets → assets}/stylesheets/bootstrap/_close.scss +13 -8
  42. data/assets/stylesheets/bootstrap/_code.scss +69 -0
  43. data/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  44. data/assets/stylesheets/bootstrap/_dropdowns.scss +213 -0
  45. data/assets/stylesheets/bootstrap/_forms.scss +607 -0
  46. data/assets/stylesheets/bootstrap/_glyphicons.scss +307 -0
  47. data/assets/stylesheets/bootstrap/_grid.scss +94 -0
  48. data/assets/stylesheets/bootstrap/_input-groups.scss +171 -0
  49. data/assets/stylesheets/bootstrap/_jumbotron.scss +54 -0
  50. data/assets/stylesheets/bootstrap/_labels.scss +66 -0
  51. data/assets/stylesheets/bootstrap/_list-group.scss +128 -0
  52. data/assets/stylesheets/bootstrap/_media.scss +66 -0
  53. data/assets/stylesheets/bootstrap/_mixins.scss +40 -0
  54. data/assets/stylesheets/bootstrap/_modals.scss +150 -0
  55. data/assets/stylesheets/bootstrap/_navbar.scss +656 -0
  56. data/assets/stylesheets/bootstrap/_navs.scss +242 -0
  57. data/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  58. data/assets/stylesheets/bootstrap/_pager.scss +54 -0
  59. data/assets/stylesheets/bootstrap/_pagination.scss +86 -0
  60. data/assets/stylesheets/bootstrap/_panels.scss +271 -0
  61. data/assets/stylesheets/bootstrap/_popovers.scss +126 -0
  62. data/assets/stylesheets/bootstrap/_print.scss +99 -0
  63. data/assets/stylesheets/bootstrap/_progress-bars.scss +87 -0
  64. data/assets/stylesheets/bootstrap/_responsive-embed.scss +35 -0
  65. data/assets/stylesheets/bootstrap/_responsive-utilities.scss +179 -0
  66. data/assets/stylesheets/bootstrap/_scaffolding.scss +161 -0
  67. data/assets/stylesheets/bootstrap/_tables.scss +234 -0
  68. data/assets/stylesheets/bootstrap/_theme.scss +295 -0
  69. data/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  70. data/assets/stylesheets/bootstrap/_tooltip.scss +112 -0
  71. data/assets/stylesheets/bootstrap/_type.scss +298 -0
  72. data/assets/stylesheets/bootstrap/_utilities.scss +55 -0
  73. data/assets/stylesheets/bootstrap/_variables.scss +874 -0
  74. data/assets/stylesheets/bootstrap/_wells.scss +29 -0
  75. data/assets/stylesheets/bootstrap/mixins/_alerts.scss +15 -0
  76. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +12 -0
  77. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  78. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +61 -0
  79. data/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  80. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  81. data/assets/stylesheets/bootstrap/mixins/_forms.scss +88 -0
  82. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +56 -0
  83. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  84. data/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  85. data/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  86. data/assets/stylesheets/bootstrap/mixins/_image.scss +28 -0
  87. data/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  88. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +32 -0
  89. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  90. data/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  91. data/assets/stylesheets/bootstrap/mixins/_opacity.scss +7 -0
  92. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +24 -0
  93. data/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  94. data/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  95. data/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  96. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +18 -0
  97. data/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  98. data/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +17 -0
  99. data/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  100. data/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  101. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  102. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +12 -0
  103. data/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  104. data/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  105. data/bootstrap-sass.gemspec +37 -0
  106. data/bower.json +36 -0
  107. data/composer.json +35 -0
  108. data/eyeglass-exports.js +7 -0
  109. data/lib/bootstrap-sass.rb +75 -35
  110. data/lib/bootstrap-sass/engine.rb +12 -2
  111. data/lib/bootstrap-sass/version.rb +4 -0
  112. data/package-lock.json +1611 -0
  113. data/package.json +44 -0
  114. data/sache.json +5 -0
  115. data/tasks/bower.rake +31 -0
  116. data/tasks/converter.rb +80 -0
  117. data/tasks/converter/char_string_scanner.rb +38 -0
  118. data/tasks/converter/fonts_conversion.rb +16 -0
  119. data/tasks/converter/js_conversion.rb +47 -0
  120. data/tasks/converter/less_conversion.rb +713 -0
  121. data/tasks/converter/logger.rb +57 -0
  122. data/tasks/converter/network.rb +97 -0
  123. data/templates/project/_bootstrap-variables.sass +875 -0
  124. data/templates/project/manifest.rb +15 -14
  125. data/templates/project/styles.sass +6 -0
  126. data/test/compilation_test.rb +30 -0
  127. data/test/dummy_node_mincer/apple-touch-icon-144-precomposed.png +0 -0
  128. data/test/dummy_node_mincer/application.css.ejs.scss +6 -0
  129. data/test/dummy_node_mincer/manifest.js +87 -0
  130. data/test/dummy_rails/README.rdoc +3 -0
  131. data/test/dummy_rails/Rakefile +6 -0
  132. data/test/dummy_rails/app/assets/images/.keep +0 -0
  133. data/test/dummy_rails/app/assets/javascripts/application.js +2 -0
  134. data/test/dummy_rails/app/assets/stylesheets/application.sass +2 -0
  135. data/test/dummy_rails/app/controllers/application_controller.rb +5 -0
  136. data/test/dummy_rails/app/controllers/pages_controller.rb +4 -0
  137. data/test/dummy_rails/app/helpers/application_helper.rb +2 -0
  138. data/test/dummy_rails/app/views/layouts/application.html.erb +14 -0
  139. data/test/dummy_rails/app/views/pages/root.html.slim +84 -0
  140. data/test/dummy_rails/config.ru +4 -0
  141. data/test/dummy_rails/config/application.rb +31 -0
  142. data/test/dummy_rails/config/boot.rb +5 -0
  143. data/test/dummy_rails/config/environment.rb +5 -0
  144. data/test/dummy_rails/config/environments/development.rb +23 -0
  145. data/test/dummy_rails/config/environments/production.rb +82 -0
  146. data/test/dummy_rails/config/environments/test.rb +38 -0
  147. data/test/dummy_rails/config/initializers/backtrace_silencers.rb +7 -0
  148. data/test/dummy_rails/config/initializers/filter_parameter_logging.rb +4 -0
  149. data/test/dummy_rails/config/initializers/inflections.rb +16 -0
  150. data/test/dummy_rails/config/initializers/mime_types.rb +5 -0
  151. data/test/dummy_rails/config/initializers/secret_token.rb +18 -0
  152. data/test/dummy_rails/config/initializers/session_store.rb +3 -0
  153. data/test/dummy_rails/config/initializers/wrap_parameters.rb +14 -0
  154. data/test/dummy_rails/config/locales/en.yml +3 -0
  155. data/test/dummy_rails/config/locales/es.yml +3 -0
  156. data/test/dummy_rails/config/routes.rb +3 -0
  157. data/test/dummy_rails/log/.keep +0 -0
  158. data/test/dummy_sass_only/Gemfile +4 -0
  159. data/test/dummy_sass_only/compile.rb +20 -0
  160. data/test/dummy_sass_only/import_all.scss +2 -0
  161. data/test/gemfiles/default.gemfile +3 -0
  162. data/test/node_mincer_test.rb +35 -0
  163. data/test/node_sass_compile_test.sh +9 -0
  164. data/test/pages_test.rb +14 -0
  165. data/test/sass_test.rb +29 -0
  166. data/test/sprockets_rails_test.rb +31 -0
  167. data/test/support/dummy_rails_integration.rb +22 -0
  168. data/test/support/reporting.rb +27 -0
  169. data/test/test_helper.rb +36 -0
  170. data/test/test_helper_rails.rb +6 -0
  171. metadata +404 -89
  172. data/lib/bootstrap-sass/compass_functions.rb +0 -24
  173. data/lib/bootstrap-sass/sass_functions.rb +0 -14
  174. data/templates/project/_variables.scss +0 -301
  175. data/templates/project/styles.scss +0 -8
  176. data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
  177. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  178. data/vendor/assets/javascripts/bootstrap-affix.js +0 -117
  179. data/vendor/assets/javascripts/bootstrap-alert.js +0 -99
  180. data/vendor/assets/javascripts/bootstrap-button.js +0 -105
  181. data/vendor/assets/javascripts/bootstrap-carousel.js +0 -207
  182. data/vendor/assets/javascripts/bootstrap-collapse.js +0 -167
  183. data/vendor/assets/javascripts/bootstrap-dropdown.js +0 -165
  184. data/vendor/assets/javascripts/bootstrap-modal.js +0 -247
  185. data/vendor/assets/javascripts/bootstrap-popover.js +0 -114
  186. data/vendor/assets/javascripts/bootstrap-scrollspy.js +0 -162
  187. data/vendor/assets/javascripts/bootstrap-tab.js +0 -144
  188. data/vendor/assets/javascripts/bootstrap-tooltip.js +0 -361
  189. data/vendor/assets/javascripts/bootstrap-transition.js +0 -60
  190. data/vendor/assets/javascripts/bootstrap-typeahead.js +0 -335
  191. data/vendor/assets/javascripts/bootstrap.js +0 -13
  192. data/vendor/assets/stylesheets/bootstrap-responsive.scss +0 -1
  193. data/vendor/assets/stylesheets/bootstrap.scss +0 -1
  194. data/vendor/assets/stylesheets/bootstrap/_accordion.scss +0 -34
  195. data/vendor/assets/stylesheets/bootstrap/_alerts.scss +0 -79
  196. data/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +0 -24
  197. data/vendor/assets/stylesheets/bootstrap/_button-groups.scss +0 -229
  198. data/vendor/assets/stylesheets/bootstrap/_buttons.scss +0 -228
  199. data/vendor/assets/stylesheets/bootstrap/_carousel.scss +0 -158
  200. data/vendor/assets/stylesheets/bootstrap/_code.scss +0 -61
  201. data/vendor/assets/stylesheets/bootstrap/_component-animations.scss +0 -22
  202. data/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +0 -237
  203. data/vendor/assets/stylesheets/bootstrap/_forms.scss +0 -689
  204. data/vendor/assets/stylesheets/bootstrap/_grid.scss +0 -21
  205. data/vendor/assets/stylesheets/bootstrap/_hero-unit.scss +0 -25
  206. data/vendor/assets/stylesheets/bootstrap/_labels-badges.scss +0 -83
  207. data/vendor/assets/stylesheets/bootstrap/_layouts.scss +0 -16
  208. data/vendor/assets/stylesheets/bootstrap/_media.scss +0 -55
  209. data/vendor/assets/stylesheets/bootstrap/_mixins.scss +0 -690
  210. data/vendor/assets/stylesheets/bootstrap/_modals.scss +0 -95
  211. data/vendor/assets/stylesheets/bootstrap/_navbar.scss +0 -497
  212. data/vendor/assets/stylesheets/bootstrap/_navs.scss +0 -409
  213. data/vendor/assets/stylesheets/bootstrap/_pager.scss +0 -43
  214. data/vendor/assets/stylesheets/bootstrap/_pagination.scss +0 -123
  215. data/vendor/assets/stylesheets/bootstrap/_popovers.scss +0 -133
  216. data/vendor/assets/stylesheets/bootstrap/_progress-bars.scss +0 -122
  217. data/vendor/assets/stylesheets/bootstrap/_reset.scss +0 -216
  218. data/vendor/assets/stylesheets/bootstrap/_responsive-1200px-min.scss +0 -28
  219. data/vendor/assets/stylesheets/bootstrap/_responsive-767px-max.scss +0 -193
  220. data/vendor/assets/stylesheets/bootstrap/_responsive-768px-979px.scss +0 -19
  221. data/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss +0 -189
  222. data/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss +0 -74
  223. data/vendor/assets/stylesheets/bootstrap/_scaffolding.scss +0 -53
  224. data/vendor/assets/stylesheets/bootstrap/_sprites.scss +0 -197
  225. data/vendor/assets/stylesheets/bootstrap/_tables.scss +0 -235
  226. data/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +0 -53
  227. data/vendor/assets/stylesheets/bootstrap/_tooltip.scss +0 -70
  228. data/vendor/assets/stylesheets/bootstrap/_type.scss +0 -247
  229. data/vendor/assets/stylesheets/bootstrap/_utilities.scss +0 -45
  230. data/vendor/assets/stylesheets/bootstrap/_variables.scss +0 -301
  231. data/vendor/assets/stylesheets/bootstrap/_wells.scss +0 -29
  232. data/vendor/assets/stylesheets/bootstrap/bootstrap.scss +0 -63
  233. data/vendor/assets/stylesheets/bootstrap/responsive.scss +0 -48
@@ -1,689 +0,0 @@
1
- //
2
- // Forms
3
- // --------------------------------------------------
4
-
5
-
6
- // GENERAL STYLES
7
- // --------------
8
-
9
- // Make all forms have space below them
10
- form {
11
- margin: 0 0 $baseLineHeight;
12
- }
13
-
14
- fieldset {
15
- padding: 0;
16
- margin: 0;
17
- border: 0;
18
- }
19
-
20
- // Groups of fields with labels on top (legends)
21
- legend {
22
- display: block;
23
- width: 100%;
24
- padding: 0;
25
- margin-bottom: $baseLineHeight;
26
- font-size: $baseFontSize * 1.5;
27
- line-height: $baseLineHeight * 2;
28
- color: $grayDark;
29
- border: 0;
30
- border-bottom: 1px solid #e5e5e5;
31
-
32
- // Small
33
- small {
34
- font-size: $baseLineHeight * .75;
35
- color: $grayLight;
36
- }
37
- }
38
-
39
- // Set font for forms
40
- label,
41
- input,
42
- button,
43
- select,
44
- textarea {
45
- @include font-shorthand($baseFontSize, normal, $baseLineHeight); // Set size, weight, line-height here
46
- }
47
- input,
48
- button,
49
- select,
50
- textarea {
51
- font-family: $baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
52
- }
53
-
54
- // Identify controls by their labels
55
- label {
56
- display: block;
57
- margin-bottom: 5px;
58
- }
59
-
60
- // Form controls
61
- // -------------------------
62
-
63
- // Shared size and type resets
64
- select,
65
- textarea,
66
- input[type="text"],
67
- input[type="password"],
68
- input[type="datetime"],
69
- input[type="datetime-local"],
70
- input[type="date"],
71
- input[type="month"],
72
- input[type="time"],
73
- input[type="week"],
74
- input[type="number"],
75
- input[type="email"],
76
- input[type="url"],
77
- input[type="search"],
78
- input[type="tel"],
79
- input[type="color"],
80
- .uneditable-input {
81
- display: inline-block;
82
- height: $baseLineHeight;
83
- padding: 4px 6px;
84
- margin-bottom: $baseLineHeight / 2;;
85
- font-size: $baseFontSize;
86
- line-height: $baseLineHeight;
87
- color: $gray;
88
- @include border-radius($inputBorderRadius);
89
- vertical-align: middle;
90
- }
91
-
92
- // Reset appearance properties for textual inputs and textarea
93
- // Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
94
- input,
95
- textarea,
96
- .uneditable-input {
97
- width: 206px; // plus 12px padding and 2px border
98
- }
99
- // Reset height since textareas have rows
100
- textarea {
101
- height: auto;
102
- }
103
- // Everything else
104
- textarea,
105
- input[type="text"],
106
- input[type="password"],
107
- input[type="datetime"],
108
- input[type="datetime-local"],
109
- input[type="date"],
110
- input[type="month"],
111
- input[type="time"],
112
- input[type="week"],
113
- input[type="number"],
114
- input[type="email"],
115
- input[type="url"],
116
- input[type="search"],
117
- input[type="tel"],
118
- input[type="color"],
119
- .uneditable-input {
120
- background-color: $inputBackground;
121
- border: 1px solid $inputBorder;
122
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
123
- @include transition(border linear .2s, box-shadow linear .2s);
124
-
125
- // Focus state
126
- &:focus {
127
- border-color: rgba(82,168,236,.8);
128
- outline: 0;
129
- outline: thin dotted \9; /* IE6-9 */
130
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6));
131
- }
132
- }
133
-
134
- // Position radios and checkboxes better
135
- input[type="radio"],
136
- input[type="checkbox"] {
137
- margin: 4px 0 0;
138
- *margin-top: 0; /* IE7 */
139
- margin-top: 1px \9; /* IE8-9 */
140
- line-height: normal;
141
- }
142
-
143
- // Reset width of input images, buttons, radios, checkboxes
144
- input[type="file"],
145
- input[type="image"],
146
- input[type="submit"],
147
- input[type="reset"],
148
- input[type="button"],
149
- input[type="radio"],
150
- input[type="checkbox"] {
151
- width: auto; // Override of generic input selector
152
- }
153
-
154
- // Set the height of select and file controls to match text inputs
155
- select,
156
- input[type="file"] {
157
- height: $inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */
158
- *margin-top: 4px; /* For IE7, add top margin to align select with labels */
159
- line-height: $inputHeight;
160
- }
161
-
162
- // Make select elements obey height by applying a border
163
- select {
164
- width: 220px; // default input width + 10px of padding that doesn't get applied
165
- border: 1px solid $inputBorder;
166
- background-color: $inputBackground; // Chrome on Linux and Mobile Safari need background-color
167
- }
168
-
169
- // Make multiple select elements height not fixed
170
- select[multiple],
171
- select[size] {
172
- height: auto;
173
- }
174
-
175
- // Focus for select, file, radio, and checkbox
176
- select:focus,
177
- input[type="file"]:focus,
178
- input[type="radio"]:focus,
179
- input[type="checkbox"]:focus {
180
- @include tab-focus();
181
- }
182
-
183
-
184
- // Uneditable inputs
185
- // -------------------------
186
-
187
- // Make uneditable inputs look inactive
188
- .uneditable-input,
189
- .uneditable-textarea {
190
- color: $grayLight;
191
- background-color: darken($inputBackground, 1%);
192
- border-color: $inputBorder;
193
- @include box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
194
- cursor: not-allowed;
195
- }
196
-
197
- // For text that needs to appear as an input but should not be an input
198
- .uneditable-input {
199
- overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
200
- white-space: nowrap;
201
- }
202
-
203
- // Make uneditable textareas behave like a textarea
204
- .uneditable-textarea {
205
- width: auto;
206
- height: auto;
207
- }
208
-
209
-
210
- // Placeholder
211
- // -------------------------
212
-
213
- // Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
214
- input,
215
- textarea {
216
- @include placeholder();
217
- }
218
-
219
-
220
- // CHECKBOXES & RADIOS
221
- // -------------------
222
-
223
- // Indent the labels to position radios/checkboxes as hanging
224
- .radio,
225
- .checkbox {
226
- min-height: $baseLineHeight; // clear the floating input if there is no label text
227
- padding-left: 20px;
228
- }
229
- .radio input[type="radio"],
230
- .checkbox input[type="checkbox"] {
231
- float: left;
232
- margin-left: -20px;
233
- }
234
-
235
- // Move the options list down to align with labels
236
- .controls > .radio:first-child,
237
- .controls > .checkbox:first-child {
238
- padding-top: 5px; // has to be padding because margin collaspes
239
- }
240
-
241
- // Radios and checkboxes on same line
242
- // TODO v3: Convert .inline to .control-inline
243
- .radio.inline,
244
- .checkbox.inline {
245
- display: inline-block;
246
- padding-top: 5px;
247
- margin-bottom: 0;
248
- vertical-align: middle;
249
- }
250
- .radio.inline + .radio.inline,
251
- .checkbox.inline + .checkbox.inline {
252
- margin-left: 10px; // space out consecutive inline controls
253
- }
254
-
255
-
256
-
257
- // INPUT SIZES
258
- // -----------
259
-
260
- // General classes for quick sizes
261
- .input-mini { width: 60px; }
262
- .input-small { width: 90px; }
263
- .input-medium { width: 150px; }
264
- .input-large { width: 210px; }
265
- .input-xlarge { width: 270px; }
266
- .input-xxlarge { width: 530px; }
267
-
268
- // Grid style input sizes
269
- input[class*="span"],
270
- select[class*="span"],
271
- textarea[class*="span"],
272
- .uneditable-input[class*="span"],
273
- // Redeclare since the fluid row class is more specific
274
- .row-fluid input[class*="span"],
275
- .row-fluid select[class*="span"],
276
- .row-fluid textarea[class*="span"],
277
- .row-fluid .uneditable-input[class*="span"] {
278
- float: none;
279
- margin-left: 0;
280
- }
281
- // Ensure input-prepend/append never wraps
282
- .input-append input[class*="span"],
283
- .input-append .uneditable-input[class*="span"],
284
- .input-prepend input[class*="span"],
285
- .input-prepend .uneditable-input[class*="span"],
286
- .row-fluid input[class*="span"],
287
- .row-fluid select[class*="span"],
288
- .row-fluid textarea[class*="span"],
289
- .row-fluid .uneditable-input[class*="span"],
290
- .row-fluid .input-prepend [class*="span"],
291
- .row-fluid .input-append [class*="span"] {
292
- display: inline-block;
293
- }
294
-
295
-
296
-
297
- // GRID SIZING FOR INPUTS
298
- // ----------------------
299
-
300
- // Grid sizes
301
- @include grid-input($gridColumnWidth, $gridGutterWidth);
302
-
303
- // Control row for multiple inputs per line
304
- .controls-row {
305
- @include clearfix(); // Clear the float from controls
306
- }
307
-
308
- // Float to collapse white-space for proper grid alignment
309
- .controls-row [class*="span"],
310
- // Redeclare the fluid grid collapse since we undo the float for inputs
311
- .row-fluid .controls-row [class*="span"] {
312
- float: left;
313
- }
314
- // Explicity set top padding on all checkboxes/radios, not just first-child
315
- .controls-row .checkbox[class*="span"],
316
- .controls-row .radio[class*="span"] {
317
- padding-top: 5px;
318
- }
319
-
320
-
321
-
322
-
323
- // DISABLED STATE
324
- // --------------
325
-
326
- // Disabled and read-only inputs
327
- input[disabled],
328
- select[disabled],
329
- textarea[disabled],
330
- input[readonly],
331
- select[readonly],
332
- textarea[readonly] {
333
- cursor: not-allowed;
334
- background-color: $inputDisabledBackground;
335
- }
336
- // Explicitly reset the colors here
337
- input[type="radio"][disabled],
338
- input[type="checkbox"][disabled],
339
- input[type="radio"][readonly],
340
- input[type="checkbox"][readonly] {
341
- background-color: transparent;
342
- }
343
-
344
-
345
-
346
-
347
- // FORM FIELD FEEDBACK STATES
348
- // --------------------------
349
-
350
- // Warning
351
- .control-group.warning {
352
- @include formFieldState($warningText, $warningText, $warningBackground);
353
- }
354
- // Error
355
- .control-group.error {
356
- @include formFieldState($errorText, $errorText, $errorBackground);
357
- }
358
- // Success
359
- .control-group.success {
360
- @include formFieldState($successText, $successText, $successBackground);
361
- }
362
- // Info
363
- .control-group.info {
364
- @include formFieldState($infoText, $infoText, $infoBackground);
365
- }
366
-
367
- // HTML5 invalid states
368
- // Shares styles with the .control-group.error above
369
- input:focus:invalid,
370
- textarea:focus:invalid,
371
- select:focus:invalid {
372
- color: #b94a48;
373
- border-color: #ee5f5b;
374
- &:focus {
375
- border-color: darken(#ee5f5b, 10%);
376
- @include box-shadow(0 0 6px lighten(#ee5f5b, 20%));
377
- }
378
- }
379
-
380
-
381
-
382
- // FORM ACTIONS
383
- // ------------
384
-
385
- .form-actions {
386
- padding: ($baseLineHeight - 1) 20px $baseLineHeight;
387
- margin-top: $baseLineHeight;
388
- margin-bottom: $baseLineHeight;
389
- background-color: $formActionsBackground;
390
- border-top: 1px solid #e5e5e5;
391
- @include clearfix(); // Adding clearfix to allow for .pull-right button containers
392
- }
393
-
394
-
395
-
396
- // HELP TEXT
397
- // ---------
398
-
399
- .help-block,
400
- .help-inline {
401
- color: lighten($textColor, 15%); // lighten the text some for contrast
402
- }
403
-
404
- .help-block {
405
- display: block; // account for any element using help-block
406
- margin-bottom: $baseLineHeight / 2;
407
- }
408
-
409
- .help-inline {
410
- display: inline-block;
411
- @include ie7-inline-block();
412
- vertical-align: middle;
413
- padding-left: 5px;
414
- }
415
-
416
-
417
-
418
- // INPUT GROUPS
419
- // ------------
420
-
421
- // Allow us to put symbols and text within the input field for a cleaner look
422
- .input-append,
423
- .input-prepend {
424
- display: inline-block;
425
- margin-bottom: $baseLineHeight / 2;
426
- vertical-align: middle;
427
- font-size: 0; // white space collapse hack
428
- white-space: nowrap; // Prevent span and input from separating
429
-
430
- // Reset the white space collapse hack
431
- input,
432
- select,
433
- .uneditable-input,
434
- .dropdown-menu,
435
- .popover {
436
- font-size: $baseFontSize;
437
- }
438
-
439
- input,
440
- select,
441
- .uneditable-input {
442
- position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
443
- margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
444
- *margin-left: 0;
445
- vertical-align: top;
446
- @include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
447
- // Make input on top when focused so blue border and shadow always show
448
- &:focus {
449
- z-index: 2;
450
- }
451
- }
452
- .add-on {
453
- display: inline-block;
454
- width: auto;
455
- height: $baseLineHeight;
456
- min-width: 16px;
457
- padding: 4px 5px;
458
- font-size: $baseFontSize;
459
- font-weight: normal;
460
- line-height: $baseLineHeight;
461
- text-align: center;
462
- text-shadow: 0 1px 0 $white;
463
- background-color: $grayLighter;
464
- border: 1px solid #ccc;
465
- }
466
- .add-on,
467
- .btn,
468
- .btn-group > .dropdown-toggle {
469
- vertical-align: top;
470
- @include border-radius(0);
471
- }
472
- .active {
473
- background-color: lighten($green, 30);
474
- border-color: $green;
475
- }
476
- }
477
-
478
- .input-prepend {
479
- .add-on,
480
- .btn {
481
- margin-right: -1px;
482
- }
483
- .add-on:first-child,
484
- .btn:first-child {
485
- // FYI, `.btn:first-child` accounts for a button group that's prepended
486
- @include border-radius($inputBorderRadius 0 0 $inputBorderRadius);
487
- }
488
- }
489
-
490
- .input-append {
491
- input,
492
- select,
493
- .uneditable-input {
494
- @include border-radius($inputBorderRadius 0 0 $inputBorderRadius);
495
- + .btn-group .btn:last-child {
496
- @include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
497
- }
498
- }
499
- .add-on,
500
- .btn,
501
- .btn-group {
502
- margin-left: -1px;
503
- }
504
- .add-on:last-child,
505
- .btn:last-child,
506
- .btn-group:last-child > .dropdown-toggle {
507
- @include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
508
- }
509
- }
510
-
511
- // Remove all border-radius for inputs with both prepend and append
512
- .input-prepend.input-append {
513
- input,
514
- select,
515
- .uneditable-input {
516
- @include border-radius(0);
517
- + .btn-group .btn {
518
- @include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
519
- }
520
- }
521
- .add-on:first-child,
522
- .btn:first-child {
523
- margin-right: -1px;
524
- @include border-radius($inputBorderRadius 0 0 $inputBorderRadius);
525
- }
526
- .add-on:last-child,
527
- .btn:last-child {
528
- margin-left: -1px;
529
- @include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
530
- }
531
- .btn-group:first-child {
532
- margin-left: 0;
533
- }
534
- }
535
-
536
-
537
-
538
-
539
- // SEARCH FORM
540
- // -----------
541
-
542
- input.search-query {
543
- padding-right: 14px;
544
- padding-right: 4px \9;
545
- padding-left: 14px;
546
- padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
547
- margin-bottom: 0; // Remove the default margin on all inputs
548
- @include border-radius(15px);
549
- }
550
-
551
- /* Allow for input prepend/append in search forms */
552
- .form-search .input-append .search-query,
553
- .form-search .input-prepend .search-query {
554
- @include border-radius(0); // Override due to specificity
555
- }
556
- .form-search .input-append .search-query {
557
- @include border-radius(14px 0 0 14px);
558
- }
559
- .form-search .input-append .btn {
560
- @include border-radius(0 14px 14px 0);
561
- }
562
- .form-search .input-prepend .search-query {
563
- @include border-radius(0 14px 14px 0);
564
- }
565
- .form-search .input-prepend .btn {
566
- @include border-radius(14px 0 0 14px);
567
- }
568
-
569
-
570
-
571
-
572
- // HORIZONTAL & VERTICAL FORMS
573
- // ---------------------------
574
-
575
- // Common properties
576
- // -----------------
577
-
578
- .form-search,
579
- .form-inline,
580
- .form-horizontal {
581
- input,
582
- textarea,
583
- select,
584
- .help-inline,
585
- .uneditable-input,
586
- .input-prepend,
587
- .input-append {
588
- display: inline-block;
589
- @include ie7-inline-block();
590
- margin-bottom: 0;
591
- vertical-align: middle;
592
- }
593
- // Re-hide hidden elements due to specifity
594
- .hide {
595
- display: none;
596
- }
597
- }
598
- .form-search label,
599
- .form-inline label,
600
- .form-search .btn-group,
601
- .form-inline .btn-group {
602
- display: inline-block;
603
- }
604
- // Remove margin for input-prepend/-append
605
- .form-search .input-append,
606
- .form-inline .input-append,
607
- .form-search .input-prepend,
608
- .form-inline .input-prepend {
609
- margin-bottom: 0;
610
- }
611
- // Inline checkbox/radio labels (remove padding on left)
612
- .form-search .radio,
613
- .form-search .checkbox,
614
- .form-inline .radio,
615
- .form-inline .checkbox {
616
- padding-left: 0;
617
- margin-bottom: 0;
618
- vertical-align: middle;
619
- }
620
- // Remove float and margin, set to inline-block
621
- .form-search .radio input[type="radio"],
622
- .form-search .checkbox input[type="checkbox"],
623
- .form-inline .radio input[type="radio"],
624
- .form-inline .checkbox input[type="checkbox"] {
625
- float: left;
626
- margin-right: 3px;
627
- margin-left: 0;
628
- }
629
-
630
-
631
- // Margin to space out fieldsets
632
- .control-group {
633
- margin-bottom: $baseLineHeight / 2;
634
- }
635
-
636
- // Legend collapses margin, so next element is responsible for spacing
637
- legend + .control-group {
638
- margin-top: $baseLineHeight;
639
- -webkit-margin-top-collapse: separate;
640
- }
641
-
642
- // Horizontal-specific styles
643
- // --------------------------
644
-
645
- .form-horizontal {
646
- // Increase spacing between groups
647
- .control-group {
648
- margin-bottom: $baseLineHeight;
649
- @include clearfix();
650
- }
651
- // Float the labels left
652
- .control-label {
653
- float: left;
654
- width: $horizontalComponentOffset - 20;
655
- padding-top: 5px;
656
- text-align: right;
657
- }
658
- // Move over all input controls and content
659
- .controls {
660
- // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
661
- // don't inherit the margin of the parent, in this case .controls
662
- *display: inline-block;
663
- *padding-left: 20px;
664
- margin-left: $horizontalComponentOffset;
665
- *margin-left: 0;
666
- &:first-child {
667
- *padding-left: $horizontalComponentOffset;
668
- }
669
- }
670
- // Remove bottom margin on block level help text since that's accounted for on .control-group
671
- .help-block {
672
- margin-bottom: 0;
673
- }
674
- // And apply it only to .help-block instances that follow a form control
675
- input,
676
- select,
677
- textarea,
678
- .uneditable-input,
679
- .input-prepend,
680
- .input-append {
681
- + .help-block {
682
- margin-top: $baseLineHeight / 2;
683
- }
684
- }
685
- // Move over buttons in .form-actions to align with .controls
686
- .form-actions {
687
- padding-left: $horizontalComponentOffset;
688
- }
689
- }