twitter-bootstrap-rails 2.2.3 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +460 -185
  3. data/Rakefile +7 -1
  4. data/app/assets/fonts/fontawesome-webfont.eot +0 -0
  5. data/app/assets/fonts/fontawesome-webfont.svg +640 -0
  6. data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
  7. data/app/assets/fonts/fontawesome-webfont.woff +0 -0
  8. data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  9. data/app/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  10. data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  11. data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  12. data/app/assets/javascripts/twitter/bootstrap.js +12 -0
  13. data/app/assets/javascripts/twitter/bootstrap/affix.js +142 -0
  14. data/app/assets/javascripts/twitter/bootstrap/alert.js +92 -0
  15. data/app/assets/javascripts/twitter/bootstrap/button.js +110 -0
  16. data/app/assets/javascripts/twitter/bootstrap/carousel.js +223 -0
  17. data/app/assets/javascripts/twitter/bootstrap/collapse.js +170 -0
  18. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +151 -0
  19. data/app/assets/javascripts/twitter/bootstrap/modal.js +280 -0
  20. data/app/assets/javascripts/twitter/bootstrap/popover.js +113 -0
  21. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +170 -0
  22. data/app/assets/javascripts/twitter/bootstrap/tab.js +128 -0
  23. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +457 -0
  24. data/app/assets/javascripts/twitter/bootstrap/transition.js +59 -0
  25. data/{vendor → app}/assets/javascripts/twitter/bootstrap_ujs.js +0 -0
  26. data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +1 -0
  27. data/app/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +2026 -0
  28. data/app/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +1 -0
  29. data/app/helpers/badge_label_helper.rb +16 -0
  30. data/app/helpers/bootstrap_flash_helper.rb +20 -6
  31. data/app/helpers/form_errors_helper.rb +22 -0
  32. data/app/helpers/glyph_helper.rb +13 -5
  33. data/app/helpers/modal_helper.rb +37 -20
  34. data/app/helpers/navbar_helper.rb +209 -0
  35. data/app/helpers/twitter_breadcrumbs_helper.rb +11 -2
  36. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +9 -9
  37. data/lib/generators/bootstrap/install/install_generator.rb +13 -8
  38. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +2 -3
  39. data/lib/generators/bootstrap/install/templates/bootstrap.js +2 -3
  40. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +14 -13
  41. data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +11 -5
  42. data/lib/generators/bootstrap/layout/layout_generator.rb +1 -4
  43. data/lib/generators/bootstrap/layout/templates/layout.html.erb +34 -58
  44. data/lib/generators/bootstrap/layout/templates/layout.html.haml +25 -44
  45. data/lib/generators/bootstrap/layout/templates/layout.html.slim +20 -39
  46. data/lib/generators/bootstrap/partial/templates/_login.html.erb +2 -3
  47. data/lib/generators/bootstrap/themed/templates/_form.html.erb +30 -10
  48. data/lib/generators/bootstrap/themed/templates/_form.html.haml +10 -8
  49. data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -9
  50. data/lib/generators/bootstrap/themed/templates/edit.html.erb +1 -2
  51. data/lib/generators/bootstrap/themed/templates/edit.html.haml +1 -1
  52. data/lib/generators/bootstrap/themed/templates/edit.html.slim +2 -2
  53. data/lib/generators/bootstrap/themed/templates/index.html.erb +3 -3
  54. data/lib/generators/bootstrap/themed/templates/index.html.haml +3 -3
  55. data/lib/generators/bootstrap/themed/templates/index.html.slim +5 -6
  56. data/lib/generators/bootstrap/themed/templates/new.html.erb +1 -2
  57. data/lib/generators/bootstrap/themed/templates/new.html.haml +1 -1
  58. data/lib/generators/bootstrap/themed/templates/new.html.slim +2 -2
  59. data/lib/generators/bootstrap/themed/templates/show.html.erb +6 -8
  60. data/lib/generators/bootstrap/themed/templates/show.html.haml +5 -5
  61. data/lib/generators/bootstrap/themed/templates/show.html.slim +7 -8
  62. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +5 -5
  63. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +3 -3
  64. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +4 -4
  65. data/lib/generators/bootstrap/themed/themed_generator.rb +4 -4
  66. data/lib/twitter-bootstrap-rails.rb +4 -4
  67. data/lib/twitter/bootstrap/rails/breadcrumbs.rb +69 -0
  68. data/lib/twitter/bootstrap/rails/engine.rb +17 -7
  69. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  70. data/spec/lib/breadcrumbs_spec.rb +99 -0
  71. data/spec/lib/twitter_bootstrap_rails/badge_label_helper_spec.rb +30 -0
  72. data/spec/lib/twitter_bootstrap_rails/bootstrap_flash_helper_spec.rb +128 -0
  73. data/spec/lib/twitter_bootstrap_rails/form_errors_helper_spec.rb +148 -0
  74. data/spec/lib/twitter_bootstrap_rails/glyph_helper_spec.rb +24 -0
  75. data/spec/lib/twitter_bootstrap_rails/modal_helper_spec.rb +62 -0
  76. data/spec/lib/twitter_bootstrap_rails/navbar_helper_spec.rb +396 -0
  77. data/spec/lib/twitter_bootstrap_rails/uri_state_spec.rb +49 -0
  78. data/spec/spec_helper.rb +21 -0
  79. data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5990 -195
  80. data/vendor/static-source/bootstrap.less +0 -1
  81. data/vendor/static-source/fontawesome.less +7 -6
  82. data/vendor/static-source/sprites.less +3 -3
  83. data/vendor/toolkit/fontawesome/bordered-pulled.less +16 -0
  84. data/vendor/toolkit/fontawesome/core.less +11 -0
  85. data/vendor/toolkit/fontawesome/fixed-width.less +6 -0
  86. data/vendor/toolkit/fontawesome/font-awesome.less +17 -0
  87. data/vendor/toolkit/fontawesome/icons.less +552 -0
  88. data/vendor/toolkit/fontawesome/larger.less +13 -0
  89. data/vendor/toolkit/fontawesome/list.less +19 -0
  90. data/vendor/toolkit/fontawesome/mixins.less +25 -0
  91. data/vendor/toolkit/fontawesome/path.less +14 -0
  92. data/vendor/toolkit/fontawesome/rotated-flipped.less +20 -0
  93. data/vendor/toolkit/fontawesome/spinning.less +29 -0
  94. data/vendor/toolkit/fontawesome/stacked.less +20 -0
  95. data/vendor/toolkit/fontawesome/variables.less +561 -0
  96. data/vendor/toolkit/twitter/bootstrap/alerts.less +47 -58
  97. data/vendor/toolkit/twitter/bootstrap/badges.less +55 -0
  98. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +26 -39
  99. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +11 -9
  100. data/vendor/toolkit/twitter/bootstrap/button-groups.less +168 -152
  101. data/vendor/toolkit/twitter/bootstrap/buttons.less +101 -170
  102. data/vendor/toolkit/twitter/bootstrap/carousel.less +150 -65
  103. data/vendor/toolkit/twitter/bootstrap/close.less +20 -19
  104. data/vendor/toolkit/twitter/bootstrap/code.less +38 -30
  105. data/vendor/toolkit/twitter/bootstrap/component-animations.less +12 -3
  106. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +124 -146
  107. data/vendor/toolkit/twitter/bootstrap/forms.less +401 -547
  108. data/vendor/toolkit/twitter/bootstrap/glyphicons.less +234 -0
  109. data/vendor/toolkit/twitter/bootstrap/grid.less +74 -11
  110. data/vendor/toolkit/twitter/bootstrap/input-groups.less +166 -0
  111. data/vendor/toolkit/twitter/bootstrap/jumbotron.less +48 -0
  112. data/vendor/toolkit/twitter/bootstrap/labels.less +64 -0
  113. data/vendor/toolkit/twitter/bootstrap/list-group.less +132 -0
  114. data/vendor/toolkit/twitter/bootstrap/media.less +8 -7
  115. data/vendor/toolkit/twitter/bootstrap/mixins.less +36 -699
  116. data/vendor/toolkit/twitter/bootstrap/mixins/alerts.less +14 -0
  117. data/vendor/toolkit/twitter/bootstrap/mixins/background-variant.less +8 -0
  118. data/vendor/toolkit/twitter/bootstrap/mixins/border-radius.less +18 -0
  119. data/vendor/toolkit/twitter/bootstrap/mixins/buttons.less +52 -0
  120. data/vendor/toolkit/twitter/bootstrap/mixins/center-block.less +7 -0
  121. data/vendor/toolkit/twitter/bootstrap/mixins/clearfix.less +22 -0
  122. data/vendor/toolkit/twitter/bootstrap/mixins/forms.less +85 -0
  123. data/vendor/toolkit/twitter/bootstrap/mixins/gradients.less +59 -0
  124. data/vendor/toolkit/twitter/bootstrap/mixins/grid-framework.less +91 -0
  125. data/vendor/toolkit/twitter/bootstrap/mixins/grid.less +122 -0
  126. data/vendor/toolkit/twitter/bootstrap/mixins/hide-text.less +21 -0
  127. data/vendor/toolkit/twitter/bootstrap/mixins/image.less +33 -0
  128. data/vendor/toolkit/twitter/bootstrap/mixins/labels.less +12 -0
  129. data/vendor/toolkit/twitter/bootstrap/mixins/list-group.less +29 -0
  130. data/vendor/toolkit/twitter/bootstrap/mixins/nav-divider.less +10 -0
  131. data/vendor/toolkit/twitter/bootstrap/mixins/nav-vertical-align.less +9 -0
  132. data/vendor/toolkit/twitter/bootstrap/mixins/opacity.less +8 -0
  133. data/vendor/toolkit/twitter/bootstrap/mixins/pagination.less +23 -0
  134. data/vendor/toolkit/twitter/bootstrap/mixins/panels.less +24 -0
  135. data/vendor/toolkit/twitter/bootstrap/mixins/progress-bar.less +10 -0
  136. data/vendor/toolkit/twitter/bootstrap/mixins/reset-filter.less +8 -0
  137. data/vendor/toolkit/twitter/bootstrap/mixins/resize.less +6 -0
  138. data/vendor/toolkit/twitter/bootstrap/mixins/responsive-visibility.less +15 -0
  139. data/vendor/toolkit/twitter/bootstrap/mixins/size.less +10 -0
  140. data/vendor/toolkit/twitter/bootstrap/mixins/tab-focus.less +9 -0
  141. data/vendor/toolkit/twitter/bootstrap/mixins/table-row.less +28 -0
  142. data/vendor/toolkit/twitter/bootstrap/mixins/text-emphasis.less +8 -0
  143. data/vendor/toolkit/twitter/bootstrap/mixins/text-overflow.less +8 -0
  144. data/vendor/toolkit/twitter/bootstrap/mixins/vendor-prefixes.less +224 -0
  145. data/vendor/toolkit/twitter/bootstrap/modals.less +109 -54
  146. data/vendor/toolkit/twitter/bootstrap/navbar.less +542 -384
  147. data/vendor/toolkit/twitter/bootstrap/navs.less +192 -359
  148. data/vendor/toolkit/twitter/bootstrap/normalize.less +425 -0
  149. data/vendor/toolkit/twitter/bootstrap/pager.less +46 -34
  150. data/vendor/toolkit/twitter/bootstrap/pagination.less +70 -105
  151. data/vendor/toolkit/twitter/bootstrap/panels.less +248 -0
  152. data/vendor/toolkit/twitter/bootstrap/popovers.less +61 -61
  153. data/vendor/toolkit/twitter/bootstrap/print.less +101 -0
  154. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +51 -73
  155. data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +34 -0
  156. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +177 -42
  157. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +120 -23
  158. data/vendor/toolkit/twitter/bootstrap/tables.less +171 -182
  159. data/vendor/toolkit/twitter/bootstrap/theme.less +260 -0
  160. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +26 -43
  161. data/vendor/toolkit/twitter/bootstrap/tooltip.less +49 -24
  162. data/vendor/toolkit/twitter/bootstrap/type.less +208 -147
  163. data/vendor/toolkit/twitter/bootstrap/utilities.less +33 -7
  164. data/vendor/toolkit/twitter/bootstrap/variables.less +761 -215
  165. data/vendor/toolkit/twitter/bootstrap/wells.less +7 -7
  166. metadata +199 -92
  167. data/lib/generators/bootstrap/partial/templates/_navbar.html.erb +0 -13
  168. data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +0 -42
  169. data/test/lib/breadcrumbs_test.rb +0 -75
  170. data/test/test_helper.rb +0 -8
  171. data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
  172. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  173. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  174. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  175. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  176. data/vendor/assets/javascripts/twitter/bootstrap.js +0 -13
  177. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +0 -117
  178. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +0 -99
  179. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +0 -105
  180. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +0 -207
  181. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +0 -167
  182. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +0 -165
  183. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +0 -247
  184. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +0 -114
  185. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +0 -162
  186. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +0 -144
  187. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +0 -353
  188. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +0 -60
  189. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +0 -335
  190. data/vendor/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +0 -531
  191. data/vendor/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +0 -146
  192. data/vendor/toolkit/fontawesome-ie7.less +0 -350
  193. data/vendor/toolkit/fontawesome.less +0 -532
  194. data/vendor/toolkit/twitter/bootstrap/accordion.less +0 -34
  195. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +0 -25
  196. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +0 -84
  197. data/vendor/toolkit/twitter/bootstrap/layouts.less +0 -16
  198. data/vendor/toolkit/twitter/bootstrap/reset.less +0 -216
  199. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +0 -28
  200. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +0 -193
  201. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +0 -19
  202. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +0 -189
  203. data/vendor/toolkit/twitter/bootstrap/responsive.less +0 -48
  204. data/vendor/toolkit/twitter/bootstrap/sprites.less +0 -197
@@ -0,0 +1,14 @@
1
+ // Alerts
2
+
3
+ .alert-variant(@background; @border; @text-color) {
4
+ background-color: @background;
5
+ border-color: @border;
6
+ color: @text-color;
7
+
8
+ hr {
9
+ border-top-color: darken(@border, 5%);
10
+ }
11
+ .alert-link {
12
+ color: darken(@text-color, 10%);
13
+ }
14
+ }
@@ -0,0 +1,8 @@
1
+ // Contextual backgrounds
2
+
3
+ .bg-variant(@color) {
4
+ background-color: @color;
5
+ a&:hover {
6
+ background-color: darken(@color, 10%);
7
+ }
8
+ }
@@ -0,0 +1,18 @@
1
+ // Single side border-radius
2
+
3
+ .border-top-radius(@radius) {
4
+ border-top-right-radius: @radius;
5
+ border-top-left-radius: @radius;
6
+ }
7
+ .border-right-radius(@radius) {
8
+ border-bottom-right-radius: @radius;
9
+ border-top-right-radius: @radius;
10
+ }
11
+ .border-bottom-radius(@radius) {
12
+ border-bottom-right-radius: @radius;
13
+ border-bottom-left-radius: @radius;
14
+ }
15
+ .border-left-radius(@radius) {
16
+ border-bottom-left-radius: @radius;
17
+ border-top-left-radius: @radius;
18
+ }
@@ -0,0 +1,52 @@
1
+ // Button variants
2
+ //
3
+ // Easily pump out default styles, as well as :hover, :focus, :active,
4
+ // and disabled options for all buttons
5
+
6
+ .button-variant(@color; @background; @border) {
7
+ color: @color;
8
+ background-color: @background;
9
+ border-color: @border;
10
+
11
+ &:hover,
12
+ &:focus,
13
+ &.focus,
14
+ &:active,
15
+ &.active,
16
+ .open > .dropdown-toggle& {
17
+ color: @color;
18
+ background-color: darken(@background, 10%);
19
+ border-color: darken(@border, 12%);
20
+ }
21
+ &:active,
22
+ &.active,
23
+ .open > .dropdown-toggle& {
24
+ background-image: none;
25
+ }
26
+ &.disabled,
27
+ &[disabled],
28
+ fieldset[disabled] & {
29
+ &,
30
+ &:hover,
31
+ &:focus,
32
+ &.focus,
33
+ &:active,
34
+ &.active {
35
+ background-color: @background;
36
+ border-color: @border;
37
+ }
38
+ }
39
+
40
+ .badge {
41
+ color: @background;
42
+ background-color: @color;
43
+ }
44
+ }
45
+
46
+ // Button sizes
47
+ .button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
48
+ padding: @padding-vertical @padding-horizontal;
49
+ font-size: @font-size;
50
+ line-height: @line-height;
51
+ border-radius: @border-radius;
52
+ }
@@ -0,0 +1,7 @@
1
+ // Center-align a block level element
2
+
3
+ .center-block() {
4
+ display: block;
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+ }
@@ -0,0 +1,22 @@
1
+ // Clearfix
2
+ //
3
+ // For modern browsers
4
+ // 1. The space content is one way to avoid an Opera bug when the
5
+ // contenteditable attribute is included anywhere else in the document.
6
+ // Otherwise it causes space to appear at the top and bottom of elements
7
+ // that are clearfixed.
8
+ // 2. The use of `table` rather than `block` is only necessary if using
9
+ // `:before` to contain the top-margins of child elements.
10
+ //
11
+ // Source: http://nicolasgallagher.com/micro-clearfix-hack/
12
+
13
+ .clearfix() {
14
+ &:before,
15
+ &:after {
16
+ content: " "; // 1
17
+ display: table; // 2
18
+ }
19
+ &:after {
20
+ clear: both;
21
+ }
22
+ }
@@ -0,0 +1,85 @@
1
+ // Form validation states
2
+ //
3
+ // Used in forms.less to generate the form validation CSS for warnings, errors,
4
+ // and successes.
5
+
6
+ .form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {
7
+ // Color the label and help text
8
+ .help-block,
9
+ .control-label,
10
+ .radio,
11
+ .checkbox,
12
+ .radio-inline,
13
+ .checkbox-inline,
14
+ &.radio label,
15
+ &.checkbox label,
16
+ &.radio-inline label,
17
+ &.checkbox-inline label {
18
+ color: @text-color;
19
+ }
20
+ // Set the border and box shadow on specific inputs to match
21
+ .form-control {
22
+ border-color: @border-color;
23
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
24
+ &:focus {
25
+ border-color: darken(@border-color, 10%);
26
+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
27
+ .box-shadow(@shadow);
28
+ }
29
+ }
30
+ // Set validation states also for addons
31
+ .input-group-addon {
32
+ color: @text-color;
33
+ border-color: @border-color;
34
+ background-color: @background-color;
35
+ }
36
+ // Optional feedback icon
37
+ .form-control-feedback {
38
+ color: @text-color;
39
+ }
40
+ }
41
+
42
+
43
+ // Form control focus state
44
+ //
45
+ // Generate a customized focus state and for any input with the specified color,
46
+ // which defaults to the `@input-border-focus` variable.
47
+ //
48
+ // We highly encourage you to not customize the default value, but instead use
49
+ // this to tweak colors on an as-needed basis. This aesthetic change is based on
50
+ // WebKit's default styles, but applicable to a wider range of browsers. Its
51
+ // usability and accessibility should be taken into account with any change.
52
+ //
53
+ // Example usage: change the default blue border and shadow to white for better
54
+ // contrast against a dark gray background.
55
+ .form-control-focus(@color: @input-border-focus) {
56
+ @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
57
+ &:focus {
58
+ border-color: @color;
59
+ outline: 0;
60
+ .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
61
+ }
62
+ }
63
+
64
+ // Form control sizing
65
+ //
66
+ // Relative text size, padding, and border-radii changes for form controls. For
67
+ // horizontal sizing, wrap controls in the predefined grid classes. `<select>`
68
+ // element gets special love because it's special, and that's a fact!
69
+ .input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
70
+ height: @input-height;
71
+ padding: @padding-vertical @padding-horizontal;
72
+ font-size: @font-size;
73
+ line-height: @line-height;
74
+ border-radius: @border-radius;
75
+
76
+ select& {
77
+ height: @input-height;
78
+ line-height: @input-height;
79
+ }
80
+
81
+ textarea&,
82
+ select[multiple]& {
83
+ height: auto;
84
+ }
85
+ }
@@ -0,0 +1,59 @@
1
+ // Gradients
2
+
3
+ #gradient {
4
+
5
+ // Horizontal gradient, from left to right
6
+ //
7
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
8
+ // Color stops are not available in IE9 and below.
9
+ .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
10
+ background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
11
+ background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12
12
+ background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
13
+ background-repeat: repeat-x;
14
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
15
+ }
16
+
17
+ // Vertical gradient, from top to bottom
18
+ //
19
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
20
+ // Color stops are not available in IE9 and below.
21
+ .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
22
+ background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
23
+ background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12
24
+ background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
25
+ background-repeat: repeat-x;
26
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
27
+ }
28
+
29
+ .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
30
+ background-repeat: repeat-x;
31
+ background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+
32
+ background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12
33
+ background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
34
+ }
35
+ .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
36
+ background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
37
+ background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
38
+ background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
39
+ background-repeat: no-repeat;
40
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
41
+ }
42
+ .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
43
+ background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
44
+ background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
45
+ background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);
46
+ background-repeat: no-repeat;
47
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
48
+ }
49
+ .radial(@inner-color: #555; @outer-color: #333) {
50
+ background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);
51
+ background-image: radial-gradient(circle, @inner-color, @outer-color);
52
+ background-repeat: no-repeat;
53
+ }
54
+ .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {
55
+ background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
56
+ background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
57
+ background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
58
+ }
59
+ }
@@ -0,0 +1,91 @@
1
+ // Framework grid generation
2
+ //
3
+ // Used only by Bootstrap to generate the correct number of grid classes given
4
+ // any value of `@grid-columns`.
5
+
6
+ .make-grid-columns() {
7
+ // Common styles for all sizes of grid columns, widths 1-12
8
+ .col(@index) when (@index = 1) { // initial
9
+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
10
+ .col((@index + 1), @item);
11
+ }
12
+ .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
13
+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
14
+ .col((@index + 1), ~"@{list}, @{item}");
15
+ }
16
+ .col(@index, @list) when (@index > @grid-columns) { // terminal
17
+ @{list} {
18
+ position: relative;
19
+ // Prevent columns from collapsing when empty
20
+ min-height: 1px;
21
+ // Inner gutter via padding
22
+ padding-left: (@grid-gutter-width / 2);
23
+ padding-right: (@grid-gutter-width / 2);
24
+ }
25
+ }
26
+ .col(1); // kickstart it
27
+ }
28
+
29
+ .float-grid-columns(@class) {
30
+ .col(@index) when (@index = 1) { // initial
31
+ @item: ~".col-@{class}-@{index}";
32
+ .col((@index + 1), @item);
33
+ }
34
+ .col(@index, @list) when (@index =< @grid-columns) { // general
35
+ @item: ~".col-@{class}-@{index}";
36
+ .col((@index + 1), ~"@{list}, @{item}");
37
+ }
38
+ .col(@index, @list) when (@index > @grid-columns) { // terminal
39
+ @{list} {
40
+ float: left;
41
+ }
42
+ }
43
+ .col(1); // kickstart it
44
+ }
45
+
46
+ .calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
47
+ .col-@{class}-@{index} {
48
+ width: percentage((@index / @grid-columns));
49
+ }
50
+ }
51
+ .calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {
52
+ .col-@{class}-push-@{index} {
53
+ left: percentage((@index / @grid-columns));
54
+ }
55
+ }
56
+ .calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {
57
+ .col-@{class}-push-0 {
58
+ left: auto;
59
+ }
60
+ }
61
+ .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {
62
+ .col-@{class}-pull-@{index} {
63
+ right: percentage((@index / @grid-columns));
64
+ }
65
+ }
66
+ .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {
67
+ .col-@{class}-pull-0 {
68
+ right: auto;
69
+ }
70
+ }
71
+ .calc-grid-column(@index, @class, @type) when (@type = offset) {
72
+ .col-@{class}-offset-@{index} {
73
+ margin-left: percentage((@index / @grid-columns));
74
+ }
75
+ }
76
+
77
+ // Basic looping in LESS
78
+ .loop-grid-columns(@index, @class, @type) when (@index >= 0) {
79
+ .calc-grid-column(@index, @class, @type);
80
+ // next iteration
81
+ .loop-grid-columns((@index - 1), @class, @type);
82
+ }
83
+
84
+ // Create grid for specific class
85
+ .make-grid(@class) {
86
+ .float-grid-columns(@class);
87
+ .loop-grid-columns(@grid-columns, @class, width);
88
+ .loop-grid-columns(@grid-columns, @class, pull);
89
+ .loop-grid-columns(@grid-columns, @class, push);
90
+ .loop-grid-columns(@grid-columns, @class, offset);
91
+ }
@@ -0,0 +1,122 @@
1
+ // Grid system
2
+ //
3
+ // Generate semantic grid columns with these mixins.
4
+
5
+ // Centered container element
6
+ .container-fixed(@gutter: @grid-gutter-width) {
7
+ margin-right: auto;
8
+ margin-left: auto;
9
+ padding-left: (@gutter / 2);
10
+ padding-right: (@gutter / 2);
11
+ &:extend(.clearfix all);
12
+ }
13
+
14
+ // Creates a wrapper for a series of columns
15
+ .make-row(@gutter: @grid-gutter-width) {
16
+ margin-left: (@gutter / -2);
17
+ margin-right: (@gutter / -2);
18
+ &:extend(.clearfix all);
19
+ }
20
+
21
+ // Generate the extra small columns
22
+ .make-xs-column(@columns; @gutter: @grid-gutter-width) {
23
+ position: relative;
24
+ float: left;
25
+ width: percentage((@columns / @grid-columns));
26
+ min-height: 1px;
27
+ padding-left: (@gutter / 2);
28
+ padding-right: (@gutter / 2);
29
+ }
30
+ .make-xs-column-offset(@columns) {
31
+ margin-left: percentage((@columns / @grid-columns));
32
+ }
33
+ .make-xs-column-push(@columns) {
34
+ left: percentage((@columns / @grid-columns));
35
+ }
36
+ .make-xs-column-pull(@columns) {
37
+ right: percentage((@columns / @grid-columns));
38
+ }
39
+
40
+ // Generate the small columns
41
+ .make-sm-column(@columns; @gutter: @grid-gutter-width) {
42
+ position: relative;
43
+ min-height: 1px;
44
+ padding-left: (@gutter / 2);
45
+ padding-right: (@gutter / 2);
46
+
47
+ @media (min-width: @screen-sm-min) {
48
+ float: left;
49
+ width: percentage((@columns / @grid-columns));
50
+ }
51
+ }
52
+ .make-sm-column-offset(@columns) {
53
+ @media (min-width: @screen-sm-min) {
54
+ margin-left: percentage((@columns / @grid-columns));
55
+ }
56
+ }
57
+ .make-sm-column-push(@columns) {
58
+ @media (min-width: @screen-sm-min) {
59
+ left: percentage((@columns / @grid-columns));
60
+ }
61
+ }
62
+ .make-sm-column-pull(@columns) {
63
+ @media (min-width: @screen-sm-min) {
64
+ right: percentage((@columns / @grid-columns));
65
+ }
66
+ }
67
+
68
+ // Generate the medium columns
69
+ .make-md-column(@columns; @gutter: @grid-gutter-width) {
70
+ position: relative;
71
+ min-height: 1px;
72
+ padding-left: (@gutter / 2);
73
+ padding-right: (@gutter / 2);
74
+
75
+ @media (min-width: @screen-md-min) {
76
+ float: left;
77
+ width: percentage((@columns / @grid-columns));
78
+ }
79
+ }
80
+ .make-md-column-offset(@columns) {
81
+ @media (min-width: @screen-md-min) {
82
+ margin-left: percentage((@columns / @grid-columns));
83
+ }
84
+ }
85
+ .make-md-column-push(@columns) {
86
+ @media (min-width: @screen-md-min) {
87
+ left: percentage((@columns / @grid-columns));
88
+ }
89
+ }
90
+ .make-md-column-pull(@columns) {
91
+ @media (min-width: @screen-md-min) {
92
+ right: percentage((@columns / @grid-columns));
93
+ }
94
+ }
95
+
96
+ // Generate the large columns
97
+ .make-lg-column(@columns; @gutter: @grid-gutter-width) {
98
+ position: relative;
99
+ min-height: 1px;
100
+ padding-left: (@gutter / 2);
101
+ padding-right: (@gutter / 2);
102
+
103
+ @media (min-width: @screen-lg-min) {
104
+ float: left;
105
+ width: percentage((@columns / @grid-columns));
106
+ }
107
+ }
108
+ .make-lg-column-offset(@columns) {
109
+ @media (min-width: @screen-lg-min) {
110
+ margin-left: percentage((@columns / @grid-columns));
111
+ }
112
+ }
113
+ .make-lg-column-push(@columns) {
114
+ @media (min-width: @screen-lg-min) {
115
+ left: percentage((@columns / @grid-columns));
116
+ }
117
+ }
118
+ .make-lg-column-pull(@columns) {
119
+ @media (min-width: @screen-lg-min) {
120
+ right: percentage((@columns / @grid-columns));
121
+ }
122
+ }