bootstrap-generators 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -8
  3. data/Rakefile +4 -5
  4. data/lib/bootstrap/generators/version.rb +1 -1
  5. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.less +25 -23
  6. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.scss +25 -23
  7. data/readme-template.md.erb +1 -6
  8. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  9. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +47 -47
  10. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  11. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  12. data/vendor/assets/javascripts/bootstrap/affix.js +1 -1
  13. data/vendor/assets/javascripts/bootstrap/alert.js +1 -1
  14. data/vendor/assets/javascripts/bootstrap/button.js +1 -1
  15. data/vendor/assets/javascripts/bootstrap/carousel.js +1 -1
  16. data/vendor/assets/javascripts/bootstrap/collapse.js +1 -1
  17. data/vendor/assets/javascripts/bootstrap/dropdown.js +1 -1
  18. data/vendor/assets/javascripts/bootstrap/modal.js +1 -1
  19. data/vendor/assets/javascripts/bootstrap/popover.js +1 -1
  20. data/vendor/assets/javascripts/bootstrap/scrollspy.js +1 -1
  21. data/vendor/assets/javascripts/bootstrap/tab.js +1 -1
  22. data/vendor/assets/javascripts/bootstrap/tooltip.js +1 -1
  23. data/vendor/assets/javascripts/bootstrap/transition.js +1 -1
  24. data/vendor/assets/stylesheets/bootstrap.css +245 -291
  25. data/vendor/twitter/bootstrap/less/button-groups.less +3 -3
  26. data/vendor/twitter/bootstrap/less/buttons.less +6 -2
  27. data/vendor/twitter/bootstrap/less/carousel.less +3 -3
  28. data/vendor/twitter/bootstrap/less/forms.less +22 -3
  29. data/vendor/twitter/bootstrap/less/grid.less +4 -20
  30. data/vendor/twitter/bootstrap/less/input-groups.less +5 -0
  31. data/vendor/twitter/bootstrap/less/mixins.less +18 -15
  32. data/vendor/twitter/bootstrap/less/modals.less +3 -2
  33. data/vendor/twitter/bootstrap/less/navbar.less +1 -1
  34. data/vendor/twitter/bootstrap/less/panels.less +54 -43
  35. data/vendor/twitter/bootstrap/less/popovers.less +11 -11
  36. data/vendor/twitter/bootstrap/less/responsive-utilities.less +6 -7
  37. data/vendor/twitter/bootstrap/less/thumbnails.less +1 -1
  38. data/vendor/twitter/bootstrap/less/type.less +2 -5
  39. data/vendor/twitter/bootstrap/less/variables.less +25 -23
  40. data/vendor/twitter/bootstrap/sass/_buttons.scss +6 -2
  41. data/vendor/twitter/bootstrap/sass/_carousel.scss +2 -2
  42. data/vendor/twitter/bootstrap/sass/_forms.scss +22 -3
  43. data/vendor/twitter/bootstrap/sass/_grid.scss +4 -20
  44. data/vendor/twitter/bootstrap/sass/_input-groups.scss +5 -0
  45. data/vendor/twitter/bootstrap/sass/_mixins.scss +50 -34
  46. data/vendor/twitter/bootstrap/sass/_modals.scss +3 -2
  47. data/vendor/twitter/bootstrap/sass/_navbar.scss +1 -1
  48. data/vendor/twitter/bootstrap/sass/_panels.scss +54 -43
  49. data/vendor/twitter/bootstrap/sass/_popovers.scss +11 -11
  50. data/vendor/twitter/bootstrap/sass/_responsive-utilities.scss +1 -7
  51. data/vendor/twitter/bootstrap/sass/_thumbnails.scss +4 -4
  52. data/vendor/twitter/bootstrap/sass/_type.scss +21 -33
  53. data/vendor/twitter/bootstrap/sass/_variables.scss +25 -23
  54. metadata +2 -2
@@ -96,9 +96,9 @@
96
96
  //
97
97
  // Remix the default button sizing classes into new ones for easier manipulation.
98
98
 
99
- .btn-group-xs > .btn { .btn-xs(); }
100
- .btn-group-sm > .btn { .btn-sm(); }
101
- .btn-group-lg > .btn { .btn-lg(); }
99
+ .btn-group-xs > .btn { &:extend(.btn-xs); }
100
+ .btn-group-sm > .btn { &:extend(.btn-sm); }
101
+ .btn-group-lg > .btn { &:extend(.btn-lg); }
102
102
 
103
103
 
104
104
  // Split button dropdowns
@@ -19,8 +19,12 @@
19
19
  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
20
20
  .user-select(none);
21
21
 
22
- &:focus {
23
- .tab-focus();
22
+ &,
23
+ &:active,
24
+ &.active {
25
+ &:focus {
26
+ .tab-focus();
27
+ }
24
28
  }
25
29
 
26
30
  &:hover,
@@ -21,7 +21,7 @@
21
21
  // Account for jankitude on images
22
22
  > img,
23
23
  > a > img {
24
- .img-responsive();
24
+ &:extend(.img-responsive);
25
25
  line-height: 1;
26
26
  }
27
27
  }
@@ -206,8 +206,8 @@
206
206
 
207
207
  // Scale up the controls a smidge
208
208
  .carousel-control {
209
- .glyphicons-chevron-left,
210
- .glyphicons-chevron-right,
209
+ .glyphicon-chevron-left,
210
+ .glyphicon-chevron-right,
211
211
  .icon-prev,
212
212
  .icon-next {
213
213
  width: 30px;
@@ -133,9 +133,10 @@ output {
133
133
  .placeholder();
134
134
 
135
135
  // Disabled and read-only inputs
136
- // Note: HTML5 says that controls under a fieldset > legend:first-child won't
137
- // be disabled if the fieldset is disabled. Due to implementation difficulty,
138
- // we don't honor that edge case; we style them as disabled anyway.
136
+ //
137
+ // HTML5 says that controls under a fieldset > legend:first-child won't be
138
+ // disabled if the fieldset is disabled. Due to implementation difficulty, we
139
+ // don't honor that edge case; we style them as disabled anyway.
139
140
  &[disabled],
140
141
  &[readonly],
141
142
  fieldset[disabled] & {
@@ -150,10 +151,24 @@ output {
150
151
  }
151
152
  }
152
153
 
154
+
155
+ // Search inputs in iOS
156
+ //
157
+ // This overrides the extra rounded corners on search inputs in iOS so that our
158
+ // `.form-control` class can properly style them. Note that this cannot simply
159
+ // be added to `.form-control` as it's not specific enough. For details, see
160
+ // https://github.com/twbs/bootstrap/issues/11586.
161
+
162
+ input[type="search"] {
163
+ -webkit-appearance: none;
164
+ }
165
+
166
+
153
167
  // Special styles for iOS date input
154
168
  //
155
169
  // In Mobile Safari, date inputs require a pixel line-height that matches the
156
170
  // given height of the input.
171
+
157
172
  input[type="date"] {
158
173
  line-height: @input-height-base;
159
174
  }
@@ -334,6 +349,10 @@ input[type="checkbox"],
334
349
  width: auto; // Prevent labels from stacking above inputs in `.form-group`
335
350
  vertical-align: middle;
336
351
  }
352
+ // Input groups need that 100% width though
353
+ .input-group > .form-control {
354
+ width: 100%;
355
+ }
337
356
 
338
357
  .control-label {
339
358
  margin-bottom: 0;
@@ -53,11 +53,7 @@
53
53
  // Columns, offsets, pushes, and pulls for extra small devices like
54
54
  // smartphones.
55
55
 
56
- .make-grid-columns-float(xs);
57
- .make-grid(@grid-columns, xs, width);
58
- .make-grid(@grid-columns, xs, pull);
59
- .make-grid(@grid-columns, xs, push);
60
- .make-grid(@grid-columns, xs, offset);
56
+ .make-grid(xs);
61
57
 
62
58
 
63
59
  // Small grid
@@ -66,11 +62,7 @@
66
62
  // to tablets.
67
63
 
68
64
  @media (min-width: @screen-sm-min) {
69
- .make-grid-columns-float(sm);
70
- .make-grid(@grid-columns, sm, width);
71
- .make-grid(@grid-columns, sm, pull);
72
- .make-grid(@grid-columns, sm, push);
73
- .make-grid(@grid-columns, sm, offset);
65
+ .make-grid(sm);
74
66
  }
75
67
 
76
68
 
@@ -79,11 +71,7 @@
79
71
  // Columns, offsets, pushes, and pulls for the desktop device range.
80
72
 
81
73
  @media (min-width: @screen-md-min) {
82
- .make-grid-columns-float(md);
83
- .make-grid(@grid-columns, md, width);
84
- .make-grid(@grid-columns, md, pull);
85
- .make-grid(@grid-columns, md, push);
86
- .make-grid(@grid-columns, md, offset);
74
+ .make-grid(md);
87
75
  }
88
76
 
89
77
 
@@ -92,9 +80,5 @@
92
80
  // Columns, offsets, pushes, and pulls for the large desktop device range.
93
81
 
94
82
  @media (min-width: @screen-lg-min) {
95
- .make-grid-columns-float(lg);
96
- .make-grid(@grid-columns, lg, width);
97
- .make-grid(@grid-columns, lg, pull);
98
- .make-grid(@grid-columns, lg, push);
99
- .make-grid(@grid-columns, lg, offset);
83
+ .make-grid(lg);
100
84
  }
@@ -17,6 +17,11 @@
17
17
  }
18
18
 
19
19
  .form-control {
20
+ // Ensure that the input is always above the *appended* addon button for
21
+ // proper border colors.
22
+ position: relative;
23
+ z-index: 2;
24
+
20
25
  // IE9 fubars the placeholder attribute in text inputs and the arrows on
21
26
  // select elements in input groups. To fix it, we float the input. Details:
22
27
  // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855
@@ -54,8 +54,7 @@
54
54
 
55
55
  // Placeholder text
56
56
  .placeholder(@color: @input-color-placeholder) {
57
- &:-moz-placeholder { color: @color; } // Firefox 4-18
58
- &::-moz-placeholder { color: @color; // Firefox 19+
57
+ &::-moz-placeholder { color: @color; // Firefox
59
58
  opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
60
59
  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
61
60
  &::-webkit-input-placeholder { color: @color; } // Safari and Chrome
@@ -253,7 +252,6 @@
253
252
  -webkit-user-select: @select;
254
253
  -moz-user-select: @select;
255
254
  -ms-user-select: @select; // IE10+
256
- -o-user-select: @select;
257
255
  user-select: @select;
258
256
  }
259
257
 
@@ -629,10 +627,7 @@
629
627
  }
630
628
 
631
629
  .responsive-invisibility() {
632
- &,
633
- tr&,
634
- th&,
635
- td& { display: none !important; }
630
+ display: none !important;
636
631
  }
637
632
 
638
633
 
@@ -796,7 +791,7 @@
796
791
  .col(1); // kickstart it
797
792
  }
798
793
 
799
- .make-grid-columns-float(@class) {
794
+ .float-grid-columns(@class) {
800
795
  .col(@index) when (@index = 1) { // initial
801
796
  @item: ~".col-@{class}-@{index}";
802
797
  .col((@index + 1), @item);
@@ -813,34 +808,42 @@
813
808
  .col(1); // kickstart it
814
809
  }
815
810
 
816
- .calc-grid(@index, @class, @type) when (@type = width) and (@index > 0) {
811
+ .calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
817
812
  .col-@{class}-@{index} {
818
813
  width: percentage((@index / @grid-columns));
819
814
  }
820
815
  }
821
- .calc-grid(@index, @class, @type) when (@type = push) {
816
+ .calc-grid-column(@index, @class, @type) when (@type = push) {
822
817
  .col-@{class}-push-@{index} {
823
818
  left: percentage((@index / @grid-columns));
824
819
  }
825
820
  }
826
- .calc-grid(@index, @class, @type) when (@type = pull) {
821
+ .calc-grid-column(@index, @class, @type) when (@type = pull) {
827
822
  .col-@{class}-pull-@{index} {
828
823
  right: percentage((@index / @grid-columns));
829
824
  }
830
825
  }
831
- .calc-grid(@index, @class, @type) when (@type = offset) {
826
+ .calc-grid-column(@index, @class, @type) when (@type = offset) {
832
827
  .col-@{class}-offset-@{index} {
833
828
  margin-left: percentage((@index / @grid-columns));
834
829
  }
835
830
  }
836
831
 
837
832
  // Basic looping in LESS
838
- .make-grid(@index, @class, @type) when (@index >= 0) {
839
- .calc-grid(@index, @class, @type);
833
+ .loop-grid-columns(@index, @class, @type) when (@index >= 0) {
834
+ .calc-grid-column(@index, @class, @type);
840
835
  // next iteration
841
- .make-grid((@index - 1), @class, @type);
836
+ .loop-grid-columns((@index - 1), @class, @type);
842
837
  }
843
838
 
839
+ // Create grid for specific class
840
+ .make-grid(@class) {
841
+ .float-grid-columns(@class);
842
+ .loop-grid-columns(@grid-columns, @class, width);
843
+ .loop-grid-columns(@grid-columns, @class, pull);
844
+ .loop-grid-columns(@grid-columns, @class, push);
845
+ .loop-grid-columns(@grid-columns, @class, offset);
846
+ }
844
847
 
845
848
  // Form validation states
846
849
  //
@@ -121,7 +121,6 @@
121
121
 
122
122
  // Scale up the modal
123
123
  @media (min-width: @screen-sm-min) {
124
-
125
124
  // Automatically set modal's width for larger viewports
126
125
  .modal-dialog {
127
126
  width: @modal-md;
@@ -133,6 +132,8 @@
133
132
 
134
133
  // Modal sizes
135
134
  .modal-sm { width: @modal-sm; }
136
- .modal-lg { width: @modal-lg; }
135
+ }
137
136
 
137
+ @media (min-width: @screen-md-min) {
138
+ .modal-lg { width: @modal-lg; }
138
139
  }
@@ -155,7 +155,7 @@
155
155
  padding: @navbar-padding-vertical @navbar-padding-horizontal;
156
156
  font-size: @font-size-large;
157
157
  line-height: @line-height-computed;
158
- height: @line-height-computed;
158
+ height: @navbar-height;
159
159
 
160
160
  &:hover,
161
161
  &:focus {
@@ -18,6 +18,37 @@
18
18
  &:extend(.clearfix all);
19
19
  }
20
20
 
21
+ // Optional heading
22
+ .panel-heading {
23
+ padding: 10px 15px;
24
+ border-bottom: 1px solid transparent;
25
+ .border-top-radius((@panel-border-radius - 1));
26
+
27
+ > .dropdown .dropdown-toggle {
28
+ color: inherit;
29
+ }
30
+ }
31
+
32
+ // Within heading, strip any `h*` tag of its default margins for spacing.
33
+ .panel-title {
34
+ margin-top: 0;
35
+ margin-bottom: 0;
36
+ font-size: ceil((@font-size-base * 1.125));
37
+ color: inherit;
38
+
39
+ > a {
40
+ color: inherit;
41
+ }
42
+ }
43
+
44
+ // Optional footer (stays gray in every modifier class)
45
+ .panel-footer {
46
+ padding: 10px 15px;
47
+ background-color: @panel-footer-bg;
48
+ border-top: 1px solid @panel-inner-border;
49
+ .border-bottom-radius((@panel-border-radius - 1));
50
+ }
51
+
21
52
 
22
53
  // List groups in panels
23
54
  //
@@ -27,25 +58,23 @@
27
58
  .panel {
28
59
  > .list-group {
29
60
  margin-bottom: 0;
61
+
30
62
  .list-group-item {
31
63
  border-width: 1px 0;
32
64
  border-radius: 0;
33
- &:first-child {
34
- border-top: 0;
35
- }
36
- &:last-child {
37
- border-bottom: 0;
38
- }
39
65
  }
66
+
40
67
  // Add border top radius for first one
41
68
  &:first-child {
42
69
  .list-group-item:first-child {
70
+ border-top: 0;
43
71
  .border-top-radius((@panel-border-radius - 1));
44
72
  }
45
73
  }
46
74
  // Add border bottom radius for last one
47
75
  &:last-child {
48
76
  .list-group-item:last-child {
77
+ border-bottom: 0;
49
78
  .border-bottom-radius((@panel-border-radius - 1));
50
79
  }
51
80
  }
@@ -72,6 +101,8 @@
72
101
  // Add border top radius for first one
73
102
  > .table:first-child,
74
103
  > .table-responsive:first-child > .table:first-child {
104
+ .border-top-radius((@panel-border-radius - 1));
105
+
75
106
  > thead:first-child,
76
107
  > tbody:first-child {
77
108
  > tr:first-child {
@@ -89,6 +120,8 @@
89
120
  // Add border bottom radius for last one
90
121
  > .table:last-child,
91
122
  > .table-responsive:last-child > .table:last-child {
123
+ .border-bottom-radius((@panel-border-radius - 1));
124
+
92
125
  > tbody:last-child,
93
126
  > tfoot:last-child {
94
127
  > tr:last-child {
@@ -126,12 +159,22 @@
126
159
  > td:last-child {
127
160
  border-right: 0;
128
161
  }
129
- &:first-child > th,
130
- &:first-child > td {
131
- border-top: 0;
162
+ }
163
+ }
164
+ > thead,
165
+ > tbody {
166
+ > tr:first-child {
167
+ > td,
168
+ > th {
169
+ border-bottom: 0;
132
170
  }
133
- &:last-child > th,
134
- &:last-child > td {
171
+ }
172
+ }
173
+ > tbody,
174
+ > tfoot {
175
+ > tr:last-child {
176
+ > td,
177
+ > th {
135
178
  border-bottom: 0;
136
179
  }
137
180
  }
@@ -144,38 +187,6 @@
144
187
  }
145
188
 
146
189
 
147
- // Optional heading
148
- .panel-heading {
149
- padding: 10px 15px;
150
- border-bottom: 1px solid transparent;
151
- .border-top-radius((@panel-border-radius - 1));
152
-
153
- > .dropdown .dropdown-toggle {
154
- color: inherit;
155
- }
156
- }
157
-
158
- // Within heading, strip any `h*` tag of its default margins for spacing.
159
- .panel-title {
160
- margin-top: 0;
161
- margin-bottom: 0;
162
- font-size: ceil((@font-size-base * 1.125));
163
- color: inherit;
164
-
165
- > a {
166
- color: inherit;
167
- }
168
- }
169
-
170
- // Optional footer (stays gray in every modifier class)
171
- .panel-footer {
172
- padding: 10px 15px;
173
- background-color: @panel-footer-bg;
174
- border-top: 1px solid @panel-inner-border;
175
- .border-bottom-radius((@panel-border-radius - 1));
176
- }
177
-
178
-
179
190
  // Collapsable panels (aka, accordion)
180
191
  //
181
192
  // Wrap a series of panels in `.panel-group` to turn them into an accordion with
@@ -23,10 +23,10 @@
23
23
  white-space: normal;
24
24
 
25
25
  // Offset the popover to account for the popover arrow
26
- &.top { margin-top: -10px; }
27
- &.right { margin-left: 10px; }
28
- &.bottom { margin-top: 10px; }
29
- &.left { margin-left: -10px; }
26
+ &.top { margin-top: -@popover-arrow-width; }
27
+ &.right { margin-left: @popover-arrow-width; }
28
+ &.bottom { margin-top: @popover-arrow-width; }
29
+ &.left { margin-left: -@popover-arrow-width; }
30
30
  }
31
31
 
32
32
  .popover-title {
@@ -48,7 +48,7 @@
48
48
  //
49
49
  // .arrow is outer, .arrow:after is inner
50
50
 
51
- .popover .arrow {
51
+ .popover > .arrow {
52
52
  &,
53
53
  &:after {
54
54
  position: absolute;
@@ -59,16 +59,16 @@
59
59
  border-style: solid;
60
60
  }
61
61
  }
62
- .popover .arrow {
62
+ .popover > .arrow {
63
63
  border-width: @popover-arrow-outer-width;
64
64
  }
65
- .popover .arrow:after {
65
+ .popover > .arrow:after {
66
66
  border-width: @popover-arrow-width;
67
67
  content: "";
68
68
  }
69
69
 
70
70
  .popover {
71
- &.top .arrow {
71
+ &.top > .arrow {
72
72
  left: 50%;
73
73
  margin-left: -@popover-arrow-outer-width;
74
74
  border-bottom-width: 0;
@@ -83,7 +83,7 @@
83
83
  border-top-color: @popover-arrow-color;
84
84
  }
85
85
  }
86
- &.right .arrow {
86
+ &.right > .arrow {
87
87
  top: 50%;
88
88
  left: -@popover-arrow-outer-width;
89
89
  margin-top: -@popover-arrow-outer-width;
@@ -98,7 +98,7 @@
98
98
  border-right-color: @popover-arrow-color;
99
99
  }
100
100
  }
101
- &.bottom .arrow {
101
+ &.bottom > .arrow {
102
102
  left: 50%;
103
103
  margin-left: -@popover-arrow-outer-width;
104
104
  border-top-width: 0;
@@ -114,7 +114,7 @@
114
114
  }
115
115
  }
116
116
 
117
- &.left .arrow {
117
+ &.left > .arrow {
118
118
  top: 50%;
119
119
  right: -@popover-arrow-outer-width;
120
120
  margin-top: -@popover-arrow-outer-width;