anjlab-bootstrap-rails 2.3.1.2 → 3.0.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +3 -0
  3. data/Rakefile +42 -26
  4. data/lib/bootstrap-rails.rb +5 -6
  5. data/lib/bootstrap-rails/engine.rb +2 -9
  6. data/lib/bootstrap-rails/version.rb +1 -1
  7. data/test/test_helper.rb +2 -2
  8. data/vendor/assets/fonts/twitter/glyphiconshalflings-regular.eot +0 -0
  9. data/vendor/assets/fonts/twitter/glyphiconshalflings-regular.otf +0 -0
  10. data/vendor/assets/fonts/twitter/glyphiconshalflings-regular.svg +175 -0
  11. data/vendor/assets/fonts/twitter/glyphiconshalflings-regular.ttf +0 -0
  12. data/vendor/assets/fonts/twitter/glyphiconshalflings-regular.woff +0 -0
  13. data/vendor/assets/javascripts/twitter/bootstrap.js +4 -5
  14. data/vendor/assets/javascripts/twitter/bootstrap/affix.js +50 -47
  15. data/vendor/assets/javascripts/twitter/bootstrap/alert.js +32 -35
  16. data/vendor/assets/javascripts/twitter/bootstrap/button.js +37 -37
  17. data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +123 -127
  18. data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +81 -95
  19. data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +61 -81
  20. data/vendor/assets/javascripts/twitter/bootstrap/modal.js +146 -151
  21. data/vendor/assets/javascripts/twitter/bootstrap/popover.js +53 -58
  22. data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +99 -105
  23. data/vendor/assets/javascripts/twitter/bootstrap/tab.js +70 -81
  24. data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +246 -254
  25. data/vendor/assets/javascripts/twitter/bootstrap/transition.js +24 -37
  26. data/vendor/assets/stylesheets/twitter/bootstrap.scss +1 -1
  27. data/vendor/{frameworks/twitter/bootstrap/accordion.scss → assets/stylesheets/twitter/bootstrap/_accordion.scss} +2 -2
  28. data/vendor/assets/stylesheets/twitter/bootstrap/_alerts.scss +92 -0
  29. data/vendor/assets/stylesheets/twitter/bootstrap/_badges.scss +58 -0
  30. data/vendor/assets/stylesheets/twitter/bootstrap/_bootstrap.scss +64 -0
  31. data/vendor/assets/stylesheets/twitter/bootstrap/_breadcrumbs.scss +28 -0
  32. data/vendor/assets/stylesheets/twitter/bootstrap/_button-groups.scss +170 -0
  33. data/vendor/assets/stylesheets/twitter/bootstrap/_buttons.scss +160 -0
  34. data/vendor/assets/stylesheets/twitter/bootstrap/_carousel.scss +191 -0
  35. data/vendor/{frameworks/twitter/bootstrap/close.scss → assets/stylesheets/twitter/bootstrap/_close.scss} +7 -6
  36. data/vendor/{frameworks/twitter/bootstrap/code.scss → assets/stylesheets/twitter/bootstrap/_code.scss} +14 -14
  37. data/vendor/{frameworks/twitter/bootstrap/component-animations.scss → assets/stylesheets/twitter/bootstrap/_component-animations.scss} +1 -0
  38. data/vendor/{frameworks/twitter/bootstrap/dropdowns.scss → assets/stylesheets/twitter/bootstrap/_dropdowns.scss} +46 -57
  39. data/vendor/assets/stylesheets/twitter/bootstrap/_forms.scss +464 -0
  40. data/vendor/assets/stylesheets/twitter/bootstrap/_glyphicons.scss +200 -0
  41. data/vendor/assets/stylesheets/twitter/bootstrap/_grid.scss +65 -0
  42. data/vendor/assets/stylesheets/twitter/bootstrap/_jumbotron.scss +32 -0
  43. data/vendor/assets/stylesheets/twitter/bootstrap/_labels.scss +70 -0
  44. data/vendor/assets/stylesheets/twitter/bootstrap/_list-group.scss +96 -0
  45. data/vendor/{frameworks/twitter/bootstrap/media.scss → assets/stylesheets/twitter/bootstrap/_media.scss} +0 -1
  46. data/vendor/assets/stylesheets/twitter/bootstrap/_mixins.scss +510 -0
  47. data/vendor/assets/stylesheets/twitter/bootstrap/_modals.scss +137 -0
  48. data/vendor/assets/stylesheets/twitter/bootstrap/_navbar.scss +356 -0
  49. data/vendor/assets/stylesheets/twitter/bootstrap/_navs.scss +249 -0
  50. data/vendor/assets/stylesheets/twitter/bootstrap/_normalize.scss +396 -0
  51. data/vendor/assets/stylesheets/twitter/bootstrap/_pager.scss +54 -0
  52. data/vendor/assets/stylesheets/twitter/bootstrap/_pagination.scss +87 -0
  53. data/vendor/assets/stylesheets/twitter/bootstrap/_panels.scss +96 -0
  54. data/vendor/{frameworks/twitter/bootstrap/popovers.scss → assets/stylesheets/twitter/bootstrap/_popovers.scss} +32 -32
  55. data/vendor/assets/stylesheets/twitter/bootstrap/_print.scss +74 -0
  56. data/vendor/{frameworks/twitter/bootstrap/progress-bars.scss → assets/stylesheets/twitter/bootstrap/_progress-bars.scss} +40 -44
  57. data/vendor/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +77 -0
  58. data/vendor/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +83 -0
  59. data/vendor/assets/stylesheets/twitter/bootstrap/_tables.scss +242 -0
  60. data/vendor/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +43 -0
  61. data/vendor/{frameworks/twitter/bootstrap/tooltip.scss → assets/stylesheets/twitter/bootstrap/_tooltip.scss} +20 -19
  62. data/vendor/assets/stylesheets/twitter/bootstrap/_type.scss +253 -0
  63. data/vendor/{frameworks/twitter/bootstrap/utilities.scss → assets/stylesheets/twitter/bootstrap/_utilities.scss} +17 -5
  64. data/vendor/assets/stylesheets/twitter/bootstrap/_variables.scss +416 -0
  65. data/vendor/{frameworks/twitter/bootstrap/wells.scss → assets/stylesheets/twitter/bootstrap/_wells.scss} +5 -5
  66. metadata +49 -53
  67. data/lib/bootstrap-rails/ie_hex_str.rb +0 -16
  68. data/test/ie_hex_str_test.rb +0 -26
  69. data/vendor/assets/images/twitter/glyphicons-halflings-white.png +0 -0
  70. data/vendor/assets/images/twitter/glyphicons-halflings.png +0 -0
  71. data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +0 -335
  72. data/vendor/assets/stylesheets/twitter/bootstrap-responsive.scss +0 -1
  73. data/vendor/frameworks/twitter/bootstrap.scss +0 -1
  74. data/vendor/frameworks/twitter/bootstrap/alerts.scss +0 -79
  75. data/vendor/frameworks/twitter/bootstrap/bootstrap.scss +0 -63
  76. data/vendor/frameworks/twitter/bootstrap/breadcrumbs.scss +0 -24
  77. data/vendor/frameworks/twitter/bootstrap/button-groups.scss +0 -230
  78. data/vendor/frameworks/twitter/bootstrap/buttons.scss +0 -228
  79. data/vendor/frameworks/twitter/bootstrap/carousel.scss +0 -158
  80. data/vendor/frameworks/twitter/bootstrap/forms.scss +0 -690
  81. data/vendor/frameworks/twitter/bootstrap/grid.scss +0 -21
  82. data/vendor/frameworks/twitter/bootstrap/hero-unit.scss +0 -25
  83. data/vendor/frameworks/twitter/bootstrap/labels-badges.scss +0 -83
  84. data/vendor/frameworks/twitter/bootstrap/layouts.scss +0 -16
  85. data/vendor/frameworks/twitter/bootstrap/mixins.scss +0 -704
  86. data/vendor/frameworks/twitter/bootstrap/modals.scss +0 -95
  87. data/vendor/frameworks/twitter/bootstrap/navbar.scss +0 -496
  88. data/vendor/frameworks/twitter/bootstrap/navs.scss +0 -409
  89. data/vendor/frameworks/twitter/bootstrap/pager.scss +0 -43
  90. data/vendor/frameworks/twitter/bootstrap/pagination.scss +0 -123
  91. data/vendor/frameworks/twitter/bootstrap/reset.scss +0 -216
  92. data/vendor/frameworks/twitter/bootstrap/responsive-1200px-min.scss +0 -28
  93. data/vendor/frameworks/twitter/bootstrap/responsive-767px-max.scss +0 -189
  94. data/vendor/frameworks/twitter/bootstrap/responsive-768px-979px.scss +0 -19
  95. data/vendor/frameworks/twitter/bootstrap/responsive-navbar.scss +0 -189
  96. data/vendor/frameworks/twitter/bootstrap/responsive-utilities.scss +0 -59
  97. data/vendor/frameworks/twitter/bootstrap/responsive.scss +0 -48
  98. data/vendor/frameworks/twitter/bootstrap/scaffolding.scss +0 -53
  99. data/vendor/frameworks/twitter/bootstrap/sprites.scss +0 -197
  100. data/vendor/frameworks/twitter/bootstrap/tables.scss +0 -235
  101. data/vendor/frameworks/twitter/bootstrap/thumbnails.scss +0 -53
  102. data/vendor/frameworks/twitter/bootstrap/type.scss +0 -246
  103. data/vendor/frameworks/twitter/bootstrap/variables.scss +0 -295
@@ -10,7 +10,6 @@
10
10
  .media,
11
11
  .media-body {
12
12
  overflow: hidden;
13
- *overflow: visible;
14
13
  zoom: 1;
15
14
  }
16
15
 
@@ -0,0 +1,510 @@
1
+ //
2
+ // Mixins
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Utilities
7
+ // -------------------------
8
+
9
+ // Clearfix
10
+ // Source: http://nicolasgallagher.com/micro-clearfix-hack/
11
+ //
12
+ // For modern browsers
13
+ // 1. The space content is one way to avoid an Opera bug when the
14
+ // contenteditable attribute is included anywhere else in the document.
15
+ // Otherwise it causes space to appear at the top and bottom of elements
16
+ // that are clearfixed.
17
+ // 2. The use of `table` rather than `block` is only necessary if using
18
+ // `:before` to contain the top-margins of child elements.
19
+ @mixin clearfix() {
20
+ &:before,
21
+ &:after {
22
+ content: " "; /* 1 */
23
+ display: table; /* 2 */
24
+ }
25
+ &:after {
26
+ clear: both;
27
+ }
28
+ }
29
+
30
+ // Webkit-style focus
31
+ @mixin tab-focus() {
32
+ // Default
33
+ outline: thin dotted #333;
34
+ // Webkit
35
+ outline: 5px auto -webkit-focus-ring-color;
36
+ outline-offset: -2px;
37
+ }
38
+
39
+ // Center-align a block level element
40
+ @mixin center-block() {
41
+ display: block;
42
+ margin-left: auto;
43
+ margin-right: auto;
44
+ }
45
+
46
+ // Sizing shortcuts
47
+ @mixin size($width, $height) {
48
+ width: $width;
49
+ height: $height;
50
+ }
51
+ @mixin square($size) {
52
+ @include size($size, $size);
53
+ }
54
+
55
+ // Placeholder text
56
+ @mixin placeholder($color: $input-color-placeholder) {
57
+ &:-moz-placeholder { color: $color; } // Firefox 4-18
58
+ &::-moz-placeholder { color: $color; } // Firefox 19+
59
+ &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
60
+ &::-webkit-input-placeholder { color: $color; } // Safari and Chrome
61
+ }
62
+
63
+ // Text overflow
64
+ // Requires inline-block or block for proper styling
65
+ @mixin text-overflow() {
66
+ overflow: hidden;
67
+ text-overflow: ellipsis;
68
+ white-space: nowrap;
69
+ }
70
+
71
+ // CSS image replacement
72
+ // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
73
+ @mixin hide-text() {
74
+ font: 0/0 a;
75
+ color: transparent;
76
+ text-shadow: none;
77
+ background-color: transparent;
78
+ border: 0;
79
+ }
80
+
81
+
82
+ // CSS3 PROPERTIES
83
+ // --------------------------------------------------
84
+
85
+ // Single side border-radius
86
+ @mixin border-top-radius($radius) {
87
+ border-top-right-radius: $radius;
88
+ border-top-left-radius: $radius;
89
+ }
90
+ @mixin border-right-radius($radius) {
91
+ border-bottom-right-radius: $radius;
92
+ border-top-right-radius: $radius;
93
+ }
94
+ @mixin border-bottom-radius($radius) {
95
+ border-bottom-right-radius: $radius;
96
+ border-bottom-left-radius: $radius;
97
+ }
98
+ @mixin border-left-radius($radius) {
99
+ border-bottom-left-radius: $radius;
100
+ border-top-left-radius: $radius;
101
+ }
102
+
103
+ // Drop shadows
104
+ @mixin box-shadow($shadow) {
105
+ -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
106
+ box-shadow: $shadow;
107
+ }
108
+
109
+ // Transitions
110
+ @mixin transition($transition) {
111
+ -webkit-transition: $transition;
112
+ -moz-transition: $transition;
113
+ -o-transition: $transition;
114
+ transition: $transition;
115
+ }
116
+ @mixin transition-delay($transition-delay) {
117
+ -webkit-transition-delay: $transition-delay;
118
+ -moz-transition-delay: $transition-delay;
119
+ -o-transition-delay: $transition-delay;
120
+ transition-delay: $transition-delay;
121
+ }
122
+ @mixin transition-duration($transition-duration) {
123
+ -webkit-transition-duration: $transition-duration;
124
+ -moz-transition-duration: $transition-duration;
125
+ -o-transition-duration: $transition-duration;
126
+ transition-duration: $transition-duration;
127
+ }
128
+
129
+ // Transformations
130
+ @mixin rotate($degrees) {
131
+ -webkit-transform: rotate($degrees);
132
+ -moz-transform: rotate($degrees);
133
+ -ms-transform: rotate($degrees);
134
+ -o-transform: rotate($degrees);
135
+ transform: rotate($degrees);
136
+ }
137
+ @mixin scale($ratio) {
138
+ -webkit-transform: scale($ratio);
139
+ -moz-transform: scale($ratio);
140
+ -ms-transform: scale($ratio);
141
+ -o-transform: scale($ratio);
142
+ transform: scale($ratio);
143
+ }
144
+ @mixin translate($x, $y) {
145
+ -webkit-transform: translate($x, $y);
146
+ -moz-transform: translate($x, $y);
147
+ -ms-transform: translate($x, $y);
148
+ -o-transform: translate($x, $y);
149
+ transform: translate($x, $y);
150
+ }
151
+ @mixin skew($x, $y) {
152
+ -webkit-transform: skew($x, $y);
153
+ -moz-transform: skew($x, $y);
154
+ -ms-transform: skewX($x) skewY($y); // See https://github.com/twitter/bootstrap/issues/4885
155
+ -o-transform: skew($x, $y);
156
+ transform: skew($x, $y);
157
+ }
158
+ @mixin translate3d($x, $y, $z) {
159
+ -webkit-transform: translate3d($x, $y, $z);
160
+ -moz-transform: translate3d($x, $y, $z);
161
+ -o-transform: translate3d($x, $y, $z);
162
+ transform: translate3d($x, $y, $z);
163
+ }
164
+
165
+ // Backface visibility
166
+ // Prevent browsers from flickering when using CSS 3D transforms.
167
+ // Default value is `visible`, but can be changed to `hidden
168
+ // See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
169
+ @mixin backface-visibility($visibility){
170
+ -webkit-backface-visibility: $visibility;
171
+ -moz-backface-visibility: $visibility;
172
+ backface-visibility: $visibility;
173
+ }
174
+
175
+ // Background clipping
176
+ @mixin background-clip($clip) {
177
+ -webkit-background-clip: $clip;
178
+ -moz-background-clip: $clip;
179
+ background-clip: $clip;
180
+ }
181
+
182
+ // Background sizing
183
+ @mixin background-size($size) {
184
+ -webkit-background-size: $size;
185
+ -moz-background-size: $size;
186
+ -o-background-size: $size;
187
+ background-size: $size;
188
+ }
189
+
190
+ // Box sizing
191
+ @mixin box-sizing($boxmodel) {
192
+ -webkit-box-sizing: $boxmodel;
193
+ -moz-box-sizing: $boxmodel;
194
+ box-sizing: $boxmodel;
195
+ }
196
+
197
+ // User select
198
+ // For selecting text on the page
199
+ @mixin user-select($select) {
200
+ -webkit-user-select: $select;
201
+ -moz-user-select: $select;
202
+ -ms-user-select: $select;
203
+ -o-user-select: $select;
204
+ user-select: $select;
205
+ }
206
+
207
+ // Resize anything
208
+ @mixin resizable($direction) {
209
+ resize: $direction; // Options: horizontal, vertical, both
210
+ overflow: auto; // Safari fix
211
+ }
212
+
213
+ // CSS3 Content Columns
214
+ @mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
215
+ -webkit-column-count: $column-count;
216
+ -moz-column-count: $column-count;
217
+ column-count: $column-count;
218
+ -webkit-column-gap: $column-gap;
219
+ -moz-column-gap: $column-gap;
220
+ column-gap: $column-gap;
221
+ }
222
+
223
+ // Optional hyphenation
224
+ @mixin hyphens($mode: auto) {
225
+ word-wrap: break-word;
226
+ -webkit-hyphens: $mode;
227
+ -moz-hyphens: $mode;
228
+ -ms-hyphens: $mode;
229
+ -o-hyphens: $mode;
230
+ hyphens: $mode;
231
+ }
232
+
233
+ // Opacity
234
+ @mixin opacity($opacity) {
235
+ opacity: $opacity;
236
+ // IE8 filter
237
+ $opacity-ie: ($opacity * 100);
238
+ filter: alpha(opacity=#{opacity-ie})
239
+ }
240
+
241
+
242
+
243
+ // BACKGROUNDS
244
+ // --------------------------------------------------
245
+
246
+ // Gradients
247
+ @mixin gradient-horizontal($startColor: #555, $endColor: #333) {
248
+ background-color: $endColor;
249
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
250
+ background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
251
+ background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
252
+ background-image: linear-gradient(to right, $startColor, $endColor); // Standard, IE10
253
+ background-repeat: repeat-x;
254
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
255
+ }
256
+ @mixin gradient-vertical($startColor: #555, $endColor: #333) {
257
+ background-color: $endColor;
258
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
259
+ background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
260
+ background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
261
+ background-image: linear-gradient(to bottom, $startColor, $endColor); // Standard, IE10
262
+ background-repeat: repeat-x;
263
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down
264
+ }
265
+ @mixin gradient-directional($startColor: #555, $endColor: #333, $deg: 45deg) {
266
+ background-color: $endColor;
267
+ background-repeat: repeat-x;
268
+ background-image: -webkit-linear-gradient($deg, $startColor, $endColor); // Safari 5.1+, Chrome 10+
269
+ background-image: -moz-linear-gradient($deg, $startColor, $endColor); // FF 3.6+
270
+ background-image: linear-gradient($deg, $startColor, $endColor); // Standard, IE10
271
+ }
272
+ @mixin gradient-horizontal-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
273
+ background-color: mix($midColor, $endColor, 80%);
274
+ background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
275
+ background-image: -webkit-linear-gradient(left, $startColor, $midColor $colorStop, $endColor);
276
+ background-image: -moz-linear-gradient(left, $startColor, $midColor $colorStop, $endColor);
277
+ background-image: linear-gradient(to right, $startColor, $midColor $colorStop, $endColor);
278
+ background-repeat: no-repeat;
279
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
280
+ }
281
+
282
+ @mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
283
+ background-color: mix($midColor, $endColor, 80%);
284
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
285
+ background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
286
+ background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
287
+ background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
288
+ background-repeat: no-repeat;
289
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
290
+ }
291
+ @mixin gradient-radial($innerColor: #555, $outerColor: #333) {
292
+ background-color: $outerColor;
293
+ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($innerColor), to($outerColor));
294
+ background-image: -webkit-radial-gradient(circle, $innerColor, $outerColor);
295
+ background-image: -moz-radial-gradient(circle, $innerColor, $outerColor);
296
+ background-image: radial-gradient(circle, $innerColor, $outerColor);
297
+ background-repeat: no-repeat;
298
+ }
299
+ @mixin gradient-striped($color: #555, $angle: 45deg) {
300
+ background-color: $color;
301
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
302
+ background-image: -webkit-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
303
+ background-image: -moz-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
304
+ background-image: linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
305
+ }
306
+
307
+ // Reset filters for IE
308
+ @mixin reset-filter() {
309
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
310
+ }
311
+
312
+
313
+ // RETINA IMAGE SUPPORT
314
+ // --------------------------------------------------
315
+
316
+ // Short retina mixin for setting background-image and -size
317
+ @mixin retina-image($file-1x, $file-2x, $width-1x, $height-1x) {
318
+ background-image: url("#{file-1x}");
319
+
320
+ @media
321
+ only screen and (-webkit-min-device-pixel-ratio: 2),
322
+ only screen and ( min--moz-device-pixel-ratio: 2),
323
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
324
+ only screen and ( min-device-pixel-ratio: 2),
325
+ only screen and ( min-resolution: 192dpi),
326
+ only screen and ( min-resolution: 2dppx) {
327
+ background-image: url("#{file-2x}");
328
+ background-size: $width-1x $height-1x;
329
+ }
330
+ }
331
+
332
+
333
+ // COMPONENT MIXINS
334
+ // --------------------------------------------------
335
+
336
+ // Horizontal dividers
337
+ // -------------------------
338
+ // Dividers (basically an hr) within dropdowns and nav lists
339
+ @mixin nav-divider($top: #e5e5e5, $bottom: #fff) {
340
+ height: 2px; // 1px for background, one for border
341
+ margin: (($line-height-computed / 2) - 1) 0;
342
+ overflow: hidden;
343
+ background-color: $top;
344
+ border-bottom: 1px solid $bottom;
345
+ }
346
+
347
+ // Button psuedo states
348
+ // -------------------------
349
+ // Easily pump out default styles, as well as :hover, :focus, :active,
350
+ // and disabled options for all buttons
351
+ @mixin btn-pseudo-states($color, $background, $border) {
352
+ color: $color;
353
+ background-color: $background;
354
+ border-color: $border;
355
+
356
+ &:hover,
357
+ &:focus,
358
+ &:active,
359
+ &.active {
360
+ background-color: darken($background, 5%);
361
+ border-color: darken($border, 10%);
362
+ }
363
+
364
+ &.disabled,
365
+ &[disabled],
366
+ fieldset[disabled] & {
367
+ &:hover,
368
+ &:focus,
369
+ &:active,
370
+ &.active {
371
+ background-color: $background;
372
+ border-color: $border
373
+ }
374
+ }
375
+ }
376
+
377
+ // Navbar vertical align
378
+ // -------------------------
379
+ // Vertically center elements in the navbar.
380
+ // Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
381
+ @mixin navbar-vertical-align($element-height) {
382
+ margin-top: (($navbar-height - $element-height) / 2);
383
+ margin-bottom: (($navbar-height - $element-height) / 2);
384
+ }
385
+
386
+
387
+
388
+ // Grid System
389
+ // -----------
390
+
391
+ // Centered container element
392
+ @mixin container-fixed() {
393
+ margin-right: auto;
394
+ margin-left: auto;
395
+ @include clearfix();
396
+ }
397
+
398
+ // Make a grid
399
+
400
+ // Creates a wrapper for a series of columns
401
+ @mixin make-row() {
402
+ // Then clear the floated columns
403
+ @include clearfix();
404
+
405
+ // Negative margin nested rows out to align the content of columns
406
+ .row {
407
+ margin-left: ($grid-gutter-width / -2);
408
+ margin-right: ($grid-gutter-width / -2);
409
+ }
410
+ }
411
+ // Generate the columns
412
+ @mixin make-column($columns) {
413
+ position: relative;
414
+ // Float and set width: 100%; for easy stacking on mobile devices
415
+ float: left;
416
+ width: 100%;
417
+ // Prevent columns from collapsing when empty
418
+ min-height: 1px;
419
+ // Inner gutter via padding
420
+ padding-left: ($grid-gutter-width / 2);
421
+ padding-right: ($grid-gutter-width / 2);
422
+
423
+ // Calculate width based on number of columns available
424
+ @media (min-width: $grid-float-breakpoint) {
425
+ width: percentage(($columns / $grid-columns));
426
+ }
427
+ }
428
+ // Generate the column offsets
429
+ @mixin make-column-offset($columns) {
430
+ @media (min-width: $grid-float-breakpoint) {
431
+ margin-left: percentage(($columns / $grid-columns));
432
+ }
433
+ }
434
+ @mixin make-column-push($columns) {
435
+ @media (min-width: $grid-float-breakpoint) {
436
+ left: percentage(($columns / $grid-columns));
437
+ }
438
+ }
439
+ @mixin make-column-pull($columns) {
440
+ @media (min-width: $grid-float-breakpoint) {
441
+ right: percentage(($columns / $grid-columns));
442
+ }
443
+ }
444
+
445
+ @mixin col-sm($columns, $grid-columns: $grid-columns) {
446
+ width: percentage(($columns / $grid-columns));
447
+ }
448
+
449
+ @mixin col-lg($columns, $grid-columns: $grid-columns) {
450
+ width: percentage(($columns / $grid-columns));
451
+ }
452
+
453
+ @mixin col-offset($columns, $grid-columns: $grid-columns) {
454
+ margin-left: percentage(($columns / $grid-columns));
455
+ }
456
+
457
+ @mixin col-push($columns, $grid-columns: $grid-columns) {
458
+ left: percentage(($columns / $grid-columns));
459
+ }
460
+
461
+ @mixin col-pull($columns, $grid-columns: $grid-columns) {
462
+ right: percentage(($columns / $grid-columns));
463
+ }
464
+
465
+ // Small grid columns
466
+ @mixin generate-grid-columns($grid-columns) {
467
+ $columns: $grid-columns;
468
+
469
+ @while $columns > 0 {
470
+ .col-sm-#{$columns} { @include col-sm($columns, $grid-columns) }
471
+
472
+ $columns: $columns - 1;
473
+ }
474
+ }
475
+
476
+ // Large grid columns
477
+ @mixin generate-large-grid-columns($grid-columns) {
478
+ $columns: $grid-columns;
479
+
480
+ @while $columns > 0 {
481
+ .col-lg-#{$columns} { @include col-lg($columns, $grid-columns) }
482
+ .col-offset-#{$columns} { @include col-offset($columns, $grid-columns) }
483
+ .col-push-#{$columns} { @include col-push($columns, $grid-columns) }
484
+ .col-pull-#{$columns} { @include col-pull($columns, $grid-columns) }
485
+
486
+ $columns: $columns - 1;
487
+ }
488
+ }
489
+
490
+ // Framework mixins
491
+ // --------------------------------------------------
492
+
493
+ // Generate form validation states
494
+ @mixin form-field-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {
495
+ // Color the label text
496
+ .control-label {
497
+ color: $text-color;
498
+ }
499
+ // Set the border and box shadow on specific inputs to match
500
+ .input-with-feedback {
501
+ padding-right: 32px; // to account for the feedback icon
502
+ border-color: $border-color;
503
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
504
+ &:focus {
505
+ border-color: darken($border-color, 10%);
506
+ $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);
507
+ @include box-shadow($shadow);
508
+ }
509
+ }
510
+ }