bootstrap-sass-rails 3.0.0.3 → 3.1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. data/LICENSE +1 -1
  2. data/README.md +24 -113
  3. data/app/assets/javascripts/twitter/bootstrap/affix.js +1 -126
  4. data/app/assets/javascripts/twitter/bootstrap/alert.js +1 -98
  5. data/app/assets/javascripts/twitter/bootstrap/button.js +1 -109
  6. data/app/assets/javascripts/twitter/bootstrap/carousel.js +1 -217
  7. data/app/assets/javascripts/twitter/bootstrap/collapse.js +1 -179
  8. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +1 -154
  9. data/app/assets/javascripts/twitter/bootstrap/modal.js +1 -246
  10. data/app/assets/javascripts/twitter/bootstrap/popover.js +1 -117
  11. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +1 -158
  12. data/app/assets/javascripts/twitter/bootstrap/tab.js +1 -135
  13. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +1 -386
  14. data/app/assets/javascripts/twitter/bootstrap/transition.js +1 -56
  15. data/app/assets/javascripts/twitter/bootstrap.js +1 -12
  16. data/app/assets/stylesheets/twitter/bootstrap/_alerts.scss +1 -67
  17. data/app/assets/stylesheets/twitter/bootstrap/_badges.scss +1 -51
  18. data/app/assets/stylesheets/twitter/bootstrap/_breadcrumbs.scss +1 -23
  19. data/app/assets/stylesheets/twitter/bootstrap/_button-groups.scss +1 -248
  20. data/app/assets/stylesheets/twitter/bootstrap/_buttons.scss +1 -160
  21. data/app/assets/stylesheets/twitter/bootstrap/_carousel.scss +1 -209
  22. data/app/assets/stylesheets/twitter/bootstrap/_close.scss +1 -33
  23. data/app/assets/stylesheets/twitter/bootstrap/_code.scss +1 -56
  24. data/app/assets/stylesheets/twitter/bootstrap/_component-animations.scss +1 -29
  25. data/app/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +1 -193
  26. data/app/assets/stylesheets/twitter/bootstrap/_forms.scss +1 -350
  27. data/app/assets/stylesheets/twitter/bootstrap/_glyphicons.scss +1 -232
  28. data/app/assets/stylesheets/twitter/bootstrap/_grid.scss +1 -346
  29. data/app/assets/stylesheets/twitter/bootstrap/_input-groups.scss +1 -127
  30. data/app/assets/stylesheets/twitter/bootstrap/_jumbotron.scss +1 -40
  31. data/app/assets/stylesheets/twitter/bootstrap/_labels.scss +1 -58
  32. data/app/assets/stylesheets/twitter/bootstrap/_list-group.scss +1 -89
  33. data/app/assets/stylesheets/twitter/bootstrap/_media.scss +1 -56
  34. data/app/assets/stylesheets/twitter/bootstrap/_mixins.scss +1 -736
  35. data/app/assets/stylesheets/twitter/bootstrap/_modals.scss +1 -145
  36. data/app/assets/stylesheets/twitter/bootstrap/_navbar.scss +1 -625
  37. data/app/assets/stylesheets/twitter/bootstrap/_navs.scss +1 -229
  38. data/app/assets/stylesheets/twitter/bootstrap/_normalize.scss +1 -396
  39. data/app/assets/stylesheets/twitter/bootstrap/_pager.scss +1 -55
  40. data/app/assets/stylesheets/twitter/bootstrap/_pagination.scss +1 -83
  41. data/app/assets/stylesheets/twitter/bootstrap/_panels.scss +1 -148
  42. data/app/assets/stylesheets/twitter/bootstrap/_popovers.scss +1 -133
  43. data/app/assets/stylesheets/twitter/bootstrap/_print.scss +1 -100
  44. data/app/assets/stylesheets/twitter/bootstrap/_progress-bars.scss +1 -95
  45. data/app/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +1 -209
  46. data/app/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +1 -130
  47. data/app/assets/stylesheets/twitter/bootstrap/_tables.scss +1 -236
  48. data/app/assets/stylesheets/twitter/bootstrap/_theme.scss +1 -232
  49. data/app/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +1 -31
  50. data/app/assets/stylesheets/twitter/bootstrap/_tooltip.scss +1 -95
  51. data/app/assets/stylesheets/twitter/bootstrap/_type.scss +1 -238
  52. data/app/assets/stylesheets/twitter/bootstrap/_utilities.scss +1 -42
  53. data/app/assets/stylesheets/twitter/bootstrap/_variables.scss +1 -620
  54. data/app/assets/stylesheets/twitter/bootstrap/_wells.scss +1 -29
  55. data/app/assets/stylesheets/twitter/bootstrap.css.scss +1 -59
  56. data/lib/bootstrap/sass/rails/engine.rb +4 -1
  57. data/lib/bootstrap/sass/rails/version.rb +2 -1
  58. data/lib/bootstrap-sass-rails.rb +1 -1
  59. data/lib/generators/bootstrap/customize_generator.rb +37 -0
  60. data/lib/generators/bootstrap/templates/USAGE +23 -0
  61. data/lib/generators/bootstrap/templates/bootstrap-custom.css.scss +18 -0
  62. data/lib/generators/bootstrap/templates/bootstrap-custom.js +3 -0
  63. data/test/cases/less_to_sass_spec.rb +1 -1
  64. data/test/cases/usage_css_spec.rb +0 -3
  65. metadata +60 -18
  66. checksums.yaml +0 -15
  67. data/app/assets/fonts/twitter/bootstrap/glyphicons-halflings-regular.eot +0 -0
  68. data/app/assets/fonts/twitter/bootstrap/glyphicons-halflings-regular.svg +0 -228
  69. data/app/assets/fonts/twitter/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  70. data/app/assets/fonts/twitter/bootstrap/glyphicons-halflings-regular.woff +0 -0
  71. data/lib/bootstrap/sass/extensions/functions.rb +0 -15
  72. data/lib/bootstrap/sass/extensions.rb +0 -5
@@ -1,736 +1 @@
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
-
83
- // CSS3 PROPERTIES
84
- // --------------------------------------------------
85
-
86
- // Single side border-radius
87
- @mixin border-top-radius($radius) {
88
- border-top-right-radius: $radius;
89
- border-top-left-radius: $radius;
90
- }
91
- @mixin border-right-radius($radius) {
92
- border-bottom-right-radius: $radius;
93
- border-top-right-radius: $radius;
94
- }
95
- @mixin border-bottom-radius($radius) {
96
- border-bottom-right-radius: $radius;
97
- border-bottom-left-radius: $radius;
98
- }
99
- @mixin border-left-radius($radius) {
100
- border-bottom-left-radius: $radius;
101
- border-top-left-radius: $radius;
102
- }
103
-
104
- // Drop shadows
105
- @mixin box-shadow($shadow...) {
106
- -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
107
- box-shadow: $shadow;
108
- }
109
-
110
- // Transitions
111
- @mixin transition($transition...) {
112
- -webkit-transition: $transition;
113
- transition: $transition;
114
- }
115
- @mixin transition-delay($transition-delay) {
116
- -webkit-transition-delay: $transition-delay;
117
- transition-delay: $transition-delay;
118
- }
119
- @mixin transition-duration($transition-duration) {
120
- -webkit-transition-duration: $transition-duration;
121
- transition-duration: $transition-duration;
122
- }
123
- @mixin transition-transform($transition...) {
124
- -webkit-transition: -webkit-transform $transition;
125
- -moz-transition: -moz-transform $transition;
126
- -o-transition: -o-transform $transition;
127
- transition: transform $transition;
128
- }
129
-
130
- // Transformations
131
- @mixin rotate($degrees) {
132
- -webkit-transform: rotate($degrees);
133
- -ms-transform: rotate($degrees); // IE9+
134
- transform: rotate($degrees);
135
- }
136
- @mixin scale($ratio) {
137
- -webkit-transform: scale($ratio);
138
- -ms-transform: scale($ratio); // IE9+
139
- transform: scale($ratio);
140
- }
141
- @mixin translate($x, $y) {
142
- -webkit-transform: translate($x, $y);
143
- -ms-transform: translate($x, $y); // IE9+
144
- transform: translate($x, $y);
145
- }
146
- @mixin skew($x, $y) {
147
- -webkit-transform: skew($x, $y);
148
- -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
149
- transform: skew($x, $y);
150
- }
151
- @mixin translate3d($x, $y, $z) {
152
- -webkit-transform: translate3d($x, $y, $z);
153
- transform: translate3d($x, $y, $z);
154
- }
155
-
156
- // Backface visibility
157
- // Prevent browsers from flickering when using CSS 3D transforms.
158
- // Default value is `visible`, but can be changed to `hidden`
159
- // See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
160
- @mixin backface-visibility($visibility){
161
- -webkit-backface-visibility: $visibility;
162
- -moz-backface-visibility: $visibility;
163
- backface-visibility: $visibility;
164
- }
165
-
166
- // Box sizing
167
- @mixin box-sizing($boxmodel) {
168
- -webkit-box-sizing: $boxmodel;
169
- -moz-box-sizing: $boxmodel;
170
- box-sizing: $boxmodel;
171
- }
172
-
173
- // User select
174
- // For selecting text on the page
175
- @mixin user-select($select) {
176
- -webkit-user-select: $select;
177
- -moz-user-select: $select;
178
- -ms-user-select: $select; // IE10+
179
- -o-user-select: $select;
180
- user-select: $select;
181
- }
182
-
183
- // Resize anything
184
- @mixin resizable($direction) {
185
- resize: $direction; // Options: horizontal, vertical, both
186
- overflow: auto; // Safari fix
187
- }
188
-
189
- // CSS3 Content Columns
190
- @mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
191
- -webkit-column-count: $column-count;
192
- -moz-column-count: $column-count;
193
- column-count: $column-count;
194
- -webkit-column-gap: $column-gap;
195
- -moz-column-gap: $column-gap;
196
- column-gap: $column-gap;
197
- }
198
-
199
- // Optional hyphenation
200
- @mixin hyphens($mode: auto) {
201
- word-wrap: break-word;
202
- -webkit-hyphens: $mode;
203
- -moz-hyphens: $mode;
204
- -ms-hyphens: $mode; // IE10+
205
- -o-hyphens: $mode;
206
- hyphens: $mode;
207
- }
208
-
209
- // Opacity
210
- @mixin opacity($opacity) {
211
- opacity: $opacity;
212
- // IE8 filter
213
- $opacity-ie: ($opacity * 100);
214
- filter: alpha(opacity=$opacity-ie);
215
- }
216
-
217
-
218
-
219
- // GRADIENTS
220
- // --------------------------------------------------
221
-
222
-
223
-
224
- // Horizontal gradient, from left to right
225
- //
226
- // Creates two color stops, start and end, by specifying a color and position for each color stop.
227
- // Color stops are not available in IE9 and below.
228
- @mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
229
- background-image: -webkit-gradient(linear, $start-percent top, $end-percent top, from($start-color), to($end-color)); // Safari 4+, Chrome 2+
230
- background-image: -webkit-linear-gradient(left, color-stop($start-color $start-percent), color-stop($end-color $end-percent)); // Safari 5.1+, Chrome 10+
231
- background-image: -moz-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // FF 3.6+
232
- background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10
233
- background-repeat: repeat-x;
234
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#{ie-hex-str($start-color)}, endColorstr=#{ie-hex-str($end-color)}, GradientType=1); // IE9 and down
235
- }
236
-
237
- // Vertical gradient, from top to bottom
238
- //
239
- // Creates two color stops, start and end, by specifying a color and position for each color stop.
240
- // Color stops are not available in IE9 and below.
241
- @mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
242
- background-image: -webkit-gradient(linear, left $start-percent, left $end-percent, from($start-color), to($end-color)); // Safari 4+, Chrome 2+
243
- background-image: -webkit-linear-gradient(top, $start-color, $start-percent, $end-color, $end-percent); // Safari 5.1+, Chrome 10+
244
- background-image: -moz-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // FF 3.6+
245
- background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10
246
- background-repeat: repeat-x;
247
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#{ie-hex-str($start-color)}, endColorstr=#{ie-hex-str($end-color)}, GradientType=0); // IE9 and down
248
- }
249
-
250
- @mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
251
- background-repeat: repeat-x;
252
- background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1+, Chrome 10+
253
- background-image: -moz-linear-gradient($deg, $start-color, $end-color); // FF 3.6+
254
- background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10
255
- }
256
- @mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
257
- background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from($start-color), color-stop($color-stop, $mid-color), to($end-color));
258
- background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
259
- background-image: -moz-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
260
- background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
261
- background-repeat: no-repeat;
262
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#{ie-hex-str($start-color)}, endColorstr=#{ie-hex-str($end-color)}, GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
263
- }
264
- @mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
265
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from($start-color), color-stop($color-stop, $mid-color), to($end-color));
266
- background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
267
- background-image: -moz-linear-gradient(top, $start-color, $mid-color $color-stop, $end-color);
268
- background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
269
- background-repeat: no-repeat;
270
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#{ie-hex-str($start-color)}, endColorstr=#{ie-hex-str($end-color)}, GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
271
- }
272
- @mixin gradient-radial($inner-color: #555, $outer-color: #333) {
273
- background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($inner-color), to($outer-color));
274
- background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
275
- background-image: -moz-radial-gradient(circle, $inner-color, $outer-color);
276
- background-image: radial-gradient(circle, $inner-color, $outer-color);
277
- background-repeat: no-repeat;
278
- }
279
- @mixin gradient-striped($color: #555, $angle: 45deg) {
280
- 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));
281
- 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);
282
- 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);
283
- 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);
284
- }
285
-
286
- // Reset filters for IE
287
- //
288
- // When you need to remove a gradient background, do not forget to use this to reset
289
- // the IE filter for IE9 and below.
290
- @mixin reset-filter() {
291
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
292
- }
293
-
294
-
295
-
296
- // Retina images
297
- //
298
- // Short retina mixin for setting background-image and -size
299
-
300
- @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
301
- background-image: image-url($file-1x);
302
-
303
- @media
304
- only screen and (-webkit-min-device-pixel-ratio: 2),
305
- only screen and ( min--moz-device-pixel-ratio: 2),
306
- only screen and ( -o-min-device-pixel-ratio: 2/1),
307
- only screen and ( min-device-pixel-ratio: 2),
308
- only screen and ( min-resolution: 192dpi),
309
- only screen and ( min-resolution: 2dppx) {
310
- background-image: image-url($file-2x);
311
- background-size: $width-1x $height-1x;
312
- }
313
- }
314
-
315
-
316
- // Responsive image
317
- //
318
- // Keep images from scaling beyond the width of their parents.
319
-
320
- @mixin img-responsive($display: block) {
321
- display: $display;
322
- max-width: 100%; // Part 1: Set a maximum relative to the parent
323
- height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
324
- }
325
-
326
-
327
- // COMPONENT MIXINS
328
- // --------------------------------------------------
329
-
330
- // Horizontal dividers
331
- // -------------------------
332
- // Dividers (basically an hr) within dropdowns and nav lists
333
- @mixin nav-divider($color: #e5e5e5) {
334
- height: 1px;
335
- margin: (($line-height-computed / 2) - 1) 0;
336
- overflow: hidden;
337
- background-color: $color;
338
- }
339
-
340
- // Panels
341
- // -------------------------
342
- @mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {
343
- border-color: $border;
344
- & > .panel-heading {
345
- color: $heading-text-color;
346
- background-color: $heading-bg-color;
347
- border-color: $heading-border;
348
- + .panel-collapse .panel-body {
349
- border-top-color: $border;
350
- }
351
- }
352
- & > .panel-footer {
353
- + .panel-collapse .panel-body {
354
- border-bottom-color: $border;
355
- }
356
- }
357
- }
358
-
359
- // Alerts
360
- // -------------------------
361
- @mixin alert-variant($background, $border, $text-color) {
362
- background-color: $background;
363
- border-color: $border;
364
- color: $text-color;
365
- hr {
366
- border-top-color: darken($border, 5%);
367
- }
368
- .alert-link {
369
- color: darken($text-color, 10%);
370
- }
371
- }
372
-
373
- // Tables
374
- // -------------------------
375
- @mixin table-row-variant($state, $background, $border) {
376
- // Exact selectors below required to override `.table-striped` and prevent
377
- // inheritance to nested tables.
378
- .table > thead > tr,
379
- .table > tbody > tr,
380
- .table > tfoot > tr {
381
- > td.#{$state},
382
- > th.#{$state},
383
- &.#{$state} > td,
384
- &.#{$state} > th {
385
- background-color: $background;
386
- border-color: $border;
387
- }
388
- }
389
-
390
- // Hover states for `.table-hover`
391
- // Note: this is not available for cells or rows within `thead` or `tfoot`.
392
- .table-hover > tbody > tr {
393
- > td.#{$state}:hover,
394
- > th.#{$state}:hover,
395
- &.#{$state}:hover > td {
396
- background-color: darken($background, 5%);
397
- border-color: darken($border, 5%);
398
- }
399
- }
400
- }
401
-
402
- // Button variants
403
- // -------------------------
404
- // Easily pump out default styles, as well as :hover, :focus, :active,
405
- // and disabled options for all buttons
406
- @mixin button-variant($color, $background, $border) {
407
- color: $color;
408
- background-color: $background;
409
- border-color: $border;
410
-
411
- &:hover,
412
- &:focus,
413
- &:active,
414
- &.active {
415
- color: $color;
416
- background-color: darken($background, 8%);
417
- border-color: darken($border, 12%);
418
- }
419
- .open & {
420
- &.dropdown-toggle {
421
- color: $color;
422
- background-color: darken($background, 8%);
423
- border-color: darken($border, 12%);
424
- }
425
-
426
- }
427
- &:active,
428
- &.active {
429
- background-image: none;
430
- }
431
- .open & {
432
- &.dropdown-toggle {
433
- background-image: none;
434
- }
435
-
436
- }
437
- &.disabled,
438
- &[disabled],
439
- fieldset[disabled] & {
440
- &,
441
- &:hover,
442
- &:focus,
443
- &:active,
444
- &.active {
445
- background-color: $background;
446
- border-color: $border
447
- }
448
- }
449
- }
450
-
451
- // Button sizes
452
- // -------------------------
453
- @mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
454
- padding: $padding-vertical $padding-horizontal;
455
- font-size: $font-size;
456
- line-height: $line-height;
457
- border-radius: $border-radius;
458
- }
459
-
460
- // Pagination
461
- // -------------------------
462
- @mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $border-radius) {
463
- > li {
464
- > a,
465
- > span {
466
- padding: $padding-vertical $padding-horizontal;
467
- font-size: $font-size;
468
- }
469
- &:first-child {
470
- > a,
471
- > span {
472
- @include border-left-radius($border-radius);
473
- }
474
- }
475
- &:last-child {
476
- > a,
477
- > span {
478
- @include border-right-radius($border-radius);
479
- }
480
- }
481
- }
482
- }
483
-
484
- // Labels
485
- // -------------------------
486
- @mixin label-variant($color) {
487
- background-color: $color;
488
- &[href] {
489
- &:hover,
490
- &:focus {
491
- background-color: darken($color, 10%);
492
- }
493
- }
494
- }
495
-
496
- // Navbar vertical align
497
- // -------------------------
498
- // Vertically center elements in the navbar.
499
- // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
500
- @mixin navbar-vertical-align($element-height) {
501
- margin-top: (($navbar-height - $element-height) / 2);
502
- margin-bottom: (($navbar-height - $element-height) / 2);
503
- }
504
-
505
- // Progress bars
506
- // -------------------------
507
- @mixin progress-bar-variant($color) {
508
- background-color: $color;
509
- .progress-striped & {
510
- @include gradient-striped($color);
511
- }
512
- }
513
-
514
- // Responsive utilities
515
- // -------------------------
516
- // More easily include all the states for responsive-utilities.less.
517
- @mixin responsive-visibility($parent) {
518
- #{$parent} { display: block !important; }
519
- tr#{$parent} { display: table-row !important; }
520
- th#{$parent},
521
- td#{$parent} { display: table-cell !important; }
522
- }
523
-
524
- @mixin responsive-invisibility($parent) {
525
- #{$parent} { display: none !important; }
526
- tr#{$parent} { display: none !important; }
527
- th#{$parent},
528
- td#{$parent} { display: none !important; }
529
- }
530
-
531
- // Grid System
532
- // -----------
533
-
534
- // Centered container element
535
- @mixin container-fixed() {
536
- margin-right: auto;
537
- margin-left: auto;
538
- padding-left: ($grid-gutter-width / 2);
539
- padding-right: ($grid-gutter-width / 2);
540
- @include clearfix();
541
- }
542
-
543
- // Creates a wrapper for a series of columns
544
- @mixin make-row($gutter: $grid-gutter-width) {
545
- margin-left: ($gutter / -2);
546
- margin-right: ($gutter / -2);
547
- @include clearfix();
548
- }
549
-
550
- // Generate the extra small columns
551
- @mixin make-xs-column($columns, $gutter: $grid-gutter-width) {
552
- position: relative;
553
- float: left;
554
- width: percentage(($columns / $grid-columns));
555
- // Prevent columns from collapsing when empty
556
- min-height: 1px;
557
- // Inner gutter via padding
558
- padding-left: ($gutter / 2);
559
- padding-right: ($gutter / 2);
560
- }
561
-
562
- // Generate the small columns
563
- @mixin make-sm-column($columns, $gutter: $grid-gutter-width) {
564
- position: relative;
565
- // Prevent columns from collapsing when empty
566
- min-height: 1px;
567
- // Inner gutter via padding
568
- padding-left: ($gutter / 2);
569
- padding-right: ($gutter / 2);
570
-
571
- // Calculate width based on number of columns available
572
- @media (min-width: $screen-sm) {
573
- float: left;
574
- width: percentage(($columns / $grid-columns));
575
- }
576
- }
577
-
578
- // Generate the small column offsets
579
- @mixin make-sm-column-offset($columns) {
580
- @media (min-width: $screen-sm) {
581
- margin-left: percentage(($columns / $grid-columns));
582
- }
583
- }
584
- @mixin make-sm-column-push($columns) {
585
- @media (min-width: $screen-sm) {
586
- left: percentage(($columns / $grid-columns));
587
- }
588
- }
589
- @mixin make-sm-column-pull($columns) {
590
- @media (min-width: $screen-sm) {
591
- right: percentage(($columns / $grid-columns));
592
- }
593
- }
594
-
595
- // Generate the medium columns
596
- @mixin make-md-column($columns, $gutter: $grid-gutter-width) {
597
- position: relative;
598
- // Prevent columns from collapsing when empty
599
- min-height: 1px;
600
- // Inner gutter via padding
601
- padding-left: ($gutter / 2);
602
- padding-right: ($gutter / 2);
603
-
604
- // Calculate width based on number of columns available
605
- @media (min-width: $screen-md) {
606
- float: left;
607
- width: percentage(($columns / $grid-columns));
608
- }
609
- }
610
-
611
- // Generate the large column offsets
612
- @mixin make-md-column-offset($columns) {
613
- @media (min-width: $screen-md) {
614
- margin-left: percentage(($columns / $grid-columns));
615
- }
616
- }
617
- @mixin make-md-column-push($columns) {
618
- @media (min-width: $screen-md) {
619
- left: percentage(($columns / $grid-columns));
620
- }
621
- }
622
- @mixin make-md-column-pull($columns) {
623
- @media (min-width: $screen-md) {
624
- right: percentage(($columns / $grid-columns));
625
- }
626
- }
627
-
628
- // Generate the large columns
629
- @mixin make-lg-column($columns, $gutter: $grid-gutter-width) {
630
- position: relative;
631
- // Prevent columns from collapsing when empty
632
- min-height: 1px;
633
- // Inner gutter via padding
634
- padding-left: ($gutter / 2);
635
- padding-right: ($gutter / 2);
636
-
637
- // Calculate width based on number of columns available
638
- @media (min-width: $screen-lg) {
639
- float: left;
640
- width: percentage(($columns / $grid-columns));
641
- }
642
- }
643
-
644
- // Generate the large column offsets
645
- @mixin make-lg-column-offset($columns) {
646
- @media (min-width: $screen-lg) {
647
- margin-left: percentage(($columns / $grid-columns));
648
- }
649
- }
650
- @mixin make-lg-column-push($columns) {
651
- @media (min-width: $screen-lg) {
652
- left: percentage(($columns / $grid-columns));
653
- }
654
- }
655
- @mixin make-lg-column-pull($columns) {
656
- @media (min-width: $screen-lg) {
657
- right: percentage(($columns / $grid-columns));
658
- }
659
- }
660
-
661
-
662
- // Form validation states
663
- //
664
- // Used in forms.less to generate the form validation CSS for warnings, errors,
665
- // and successes.
666
-
667
- @mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {
668
- // Color the label and help text
669
- .help-block,
670
- .control-label {
671
- color: $text-color;
672
- }
673
- // Set the border and box shadow on specific inputs to match
674
- .form-control {
675
- border-color: $border-color;
676
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
677
- &:focus {
678
- border-color: darken($border-color, 10%);
679
- $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);
680
- @include box-shadow($shadow);
681
- }
682
- }
683
- // Set validation states also for addons
684
- .input-group-addon {
685
- color: $text-color;
686
- border-color: $border-color;
687
- background-color: $background-color;
688
- }
689
- }
690
-
691
- // Form control focus state
692
- //
693
- // Generate a customized focus state and for any input with the specified color,
694
- // which defaults to the `$input-focus-border` variable.
695
- //
696
- // We highly encourage you to not customize the default value, but instead use
697
- // this to tweak colors on an as-needed basis. This aesthetic change is based on
698
- // WebKit's default styles, but applicable to a wider range of browsers. Its
699
- // usability and accessibility should be taken into account with any change.
700
- //
701
- // Example usage: change the default blue border and shadow to white for better
702
- // contrast against a dark gray background.
703
-
704
- @mixin form-control-focus($color: $input-border-focus) {
705
- $color-rgba: rgba(red($color), green($color), blue($color), .6);
706
- &:focus {
707
- border-color: $color;
708
- outline: 0;
709
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba);
710
- }
711
- }
712
-
713
- // Form control sizing
714
- //
715
- // Relative text size, padding, and border-radii changes for form controls. For
716
- // horizontal sizing, wrap controls in the predefined grid classes. `<select>`
717
- // element gets special love because it's special, and that's a fact!
718
-
719
- @mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
720
- #{$parent} {
721
-
722
- height: $input-height;
723
- padding: $padding-vertical $padding-horizontal;
724
- font-size: $font-size;
725
- line-height: $line-height;
726
- border-radius: $border-radius;
727
- }
728
- select#{$parent} {
729
- height: $input-height;
730
- line-height: $input-height;
731
- }
732
-
733
- textarea#{$parent} {
734
- height: auto;
735
- }
736
- }
1
+ @import "bootstrap/mixins";