twitter-bootstrap-rails 2.2.8 → 3.2.0

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 (181) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +82 -119
  3. data/Rakefile +4 -6
  4. data/app/assets/fonts/fontawesome-webfont.eot +0 -0
  5. data/app/assets/fonts/fontawesome-webfont.svg +471 -366
  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 -13
  13. data/app/assets/javascripts/twitter/bootstrap/affix.js +137 -0
  14. data/app/assets/javascripts/twitter/bootstrap/alert.js +88 -0
  15. data/app/assets/javascripts/twitter/bootstrap/button.js +107 -0
  16. data/app/assets/javascripts/twitter/bootstrap/carousel.js +205 -0
  17. data/app/assets/javascripts/twitter/bootstrap/collapse.js +170 -0
  18. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +147 -0
  19. data/app/assets/javascripts/twitter/bootstrap/modal.js +243 -0
  20. data/app/assets/javascripts/twitter/bootstrap/popover.js +110 -0
  21. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +153 -0
  22. data/app/assets/javascripts/twitter/bootstrap/tab.js +125 -0
  23. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +399 -0
  24. data/app/assets/javascripts/twitter/bootstrap/transition.js +48 -0
  25. data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +1 -890
  26. data/app/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +4 -787
  27. data/app/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +1 -146
  28. data/app/helpers/bootstrap_flash_helper.rb +7 -5
  29. data/app/helpers/form_errors_helper.rb +22 -0
  30. data/app/helpers/glyph_helper.rb +8 -6
  31. data/app/helpers/modal_helper.rb +29 -21
  32. data/app/helpers/navbar_helper.rb +42 -30
  33. data/app/helpers/twitter_breadcrumbs_helper.rb +3 -2
  34. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +4 -4
  35. data/lib/generators/bootstrap/install/install_generator.rb +3 -2
  36. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +7 -8
  37. data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +5 -0
  38. data/lib/generators/bootstrap/layout/layout_generator.rb +1 -4
  39. data/lib/generators/bootstrap/layout/templates/layout.html.erb +22 -43
  40. data/lib/generators/bootstrap/layout/templates/layout.html.haml +16 -31
  41. data/lib/generators/bootstrap/layout/templates/layout.html.slim +10 -25
  42. data/lib/generators/bootstrap/partial/templates/_login.html.erb +2 -3
  43. data/lib/generators/bootstrap/themed/templates/_form.html.erb +25 -8
  44. data/lib/generators/bootstrap/themed/templates/_form.html.haml +7 -7
  45. data/lib/generators/bootstrap/themed/templates/_form.html.slim +7 -7
  46. data/lib/generators/bootstrap/themed/templates/index.html.erb +2 -2
  47. data/lib/generators/bootstrap/themed/templates/index.html.haml +2 -2
  48. data/lib/generators/bootstrap/themed/templates/index.html.slim +2 -2
  49. data/lib/generators/bootstrap/themed/templates/show.html.erb +5 -7
  50. data/lib/generators/bootstrap/themed/templates/show.html.haml +4 -4
  51. data/lib/generators/bootstrap/themed/templates/show.html.slim +5 -6
  52. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +5 -5
  53. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +3 -3
  54. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +4 -4
  55. data/lib/generators/bootstrap/themed/themed_generator.rb +2 -2
  56. data/lib/twitter/bootstrap/rails/{twitter-bootstrap-breadcrumbs.rb → breadcrumbs.rb} +24 -8
  57. data/lib/twitter/bootstrap/rails/engine.rb +5 -2
  58. data/lib/twitter/bootstrap/rails/version.rb +2 -2
  59. data/spec/lib/breadcrumbs_spec.rb +74 -0
  60. data/spec/lib/twitter_bootstrap_rails/badge_label_helper_spec.rb +4 -2
  61. data/spec/lib/twitter_bootstrap_rails/modal_helper_spec.rb +15 -15
  62. data/spec/lib/twitter_bootstrap_rails/navbar_helper_spec.rb +157 -173
  63. data/spec/lib/twitter_bootstrap_rails/uri_state_spec.rb +18 -16
  64. data/spec/spec_helper.rb +7 -1
  65. data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5797 -0
  66. data/vendor/static-source/bootstrap.less +0 -1
  67. data/vendor/static-source/fontawesome.less +0 -1
  68. data/vendor/static-source/sprites.less +1 -1
  69. data/vendor/toolkit/fontawesome/bordered-pulled.less +16 -0
  70. data/vendor/toolkit/fontawesome/core.less +9 -126
  71. data/vendor/toolkit/fontawesome/fixed-width.less +6 -0
  72. data/vendor/toolkit/fontawesome/font-awesome.less +9 -25
  73. data/vendor/toolkit/fontawesome/icons.less +503 -378
  74. data/vendor/toolkit/fontawesome/larger.less +13 -0
  75. data/vendor/toolkit/fontawesome/list.less +19 -0
  76. data/vendor/toolkit/fontawesome/mixins.less +14 -42
  77. data/vendor/toolkit/fontawesome/path.less +1 -1
  78. data/vendor/toolkit/fontawesome/rotated-flipped.less +9 -0
  79. data/vendor/toolkit/fontawesome/spinning.less +32 -0
  80. data/vendor/toolkit/fontawesome/stacked.less +20 -0
  81. data/vendor/toolkit/fontawesome/variables.less +511 -731
  82. data/vendor/toolkit/twitter/bootstrap/alerts.less +47 -58
  83. data/vendor/toolkit/twitter/bootstrap/badges.less +55 -0
  84. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +27 -39
  85. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +11 -9
  86. data/vendor/toolkit/twitter/bootstrap/button-groups.less +168 -152
  87. data/vendor/toolkit/twitter/bootstrap/buttons.less +101 -170
  88. data/vendor/toolkit/twitter/bootstrap/carousel.less +150 -65
  89. data/vendor/toolkit/twitter/bootstrap/close.less +20 -19
  90. data/vendor/toolkit/twitter/bootstrap/code.less +38 -30
  91. data/vendor/toolkit/twitter/bootstrap/component-animations.less +12 -3
  92. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +115 -148
  93. data/vendor/toolkit/twitter/bootstrap/forms.less +401 -547
  94. data/vendor/toolkit/twitter/bootstrap/glyphicons.less +233 -0
  95. data/vendor/toolkit/twitter/bootstrap/grid.less +74 -11
  96. data/vendor/toolkit/twitter/bootstrap/input-groups.less +166 -0
  97. data/vendor/toolkit/twitter/bootstrap/jumbotron.less +48 -0
  98. data/vendor/toolkit/twitter/bootstrap/labels.less +64 -0
  99. data/vendor/toolkit/twitter/bootstrap/list-group.less +132 -0
  100. data/vendor/toolkit/twitter/bootstrap/media.less +8 -7
  101. data/vendor/toolkit/twitter/bootstrap/mixins.less +36 -699
  102. data/vendor/toolkit/twitter/bootstrap/mixins/alerts.less +14 -0
  103. data/vendor/toolkit/twitter/bootstrap/mixins/background-variant.less +8 -0
  104. data/vendor/toolkit/twitter/bootstrap/mixins/border-radius.less +18 -0
  105. data/vendor/toolkit/twitter/bootstrap/mixins/buttons.less +52 -0
  106. data/vendor/toolkit/twitter/bootstrap/mixins/center-block.less +7 -0
  107. data/vendor/toolkit/twitter/bootstrap/mixins/clearfix.less +22 -0
  108. data/vendor/toolkit/twitter/bootstrap/mixins/forms.less +85 -0
  109. data/vendor/toolkit/twitter/bootstrap/mixins/gradients.less +59 -0
  110. data/vendor/toolkit/twitter/bootstrap/mixins/grid-framework.less +91 -0
  111. data/vendor/toolkit/twitter/bootstrap/mixins/grid.less +122 -0
  112. data/vendor/toolkit/twitter/bootstrap/mixins/hide-text.less +21 -0
  113. data/vendor/toolkit/twitter/bootstrap/mixins/image.less +33 -0
  114. data/vendor/toolkit/twitter/bootstrap/mixins/labels.less +12 -0
  115. data/vendor/toolkit/twitter/bootstrap/mixins/list-group.less +29 -0
  116. data/vendor/toolkit/twitter/bootstrap/mixins/nav-divider.less +10 -0
  117. data/vendor/toolkit/twitter/bootstrap/mixins/nav-vertical-align.less +9 -0
  118. data/vendor/toolkit/twitter/bootstrap/mixins/opacity.less +8 -0
  119. data/vendor/toolkit/twitter/bootstrap/mixins/pagination.less +23 -0
  120. data/vendor/toolkit/twitter/bootstrap/mixins/panels.less +24 -0
  121. data/vendor/toolkit/twitter/bootstrap/mixins/progress-bar.less +10 -0
  122. data/vendor/toolkit/twitter/bootstrap/mixins/reset-filter.less +8 -0
  123. data/vendor/toolkit/twitter/bootstrap/mixins/resize.less +6 -0
  124. data/vendor/toolkit/twitter/bootstrap/mixins/responsive-visibility.less +15 -0
  125. data/vendor/toolkit/twitter/bootstrap/mixins/size.less +10 -0
  126. data/vendor/toolkit/twitter/bootstrap/mixins/tab-focus.less +9 -0
  127. data/vendor/toolkit/twitter/bootstrap/mixins/table-row.less +28 -0
  128. data/vendor/toolkit/twitter/bootstrap/mixins/text-emphasis.less +8 -0
  129. data/vendor/toolkit/twitter/bootstrap/mixins/text-overflow.less +8 -0
  130. data/vendor/toolkit/twitter/bootstrap/mixins/vendor-prefixes.less +224 -0
  131. data/vendor/toolkit/twitter/bootstrap/modals.less +109 -54
  132. data/vendor/toolkit/twitter/bootstrap/navbar.less +542 -384
  133. data/vendor/toolkit/twitter/bootstrap/navs.less +192 -359
  134. data/vendor/toolkit/twitter/bootstrap/normalize.less +425 -0
  135. data/vendor/toolkit/twitter/bootstrap/pager.less +46 -34
  136. data/vendor/toolkit/twitter/bootstrap/pagination.less +70 -105
  137. data/vendor/toolkit/twitter/bootstrap/panels.less +248 -0
  138. data/vendor/toolkit/twitter/bootstrap/popovers.less +61 -61
  139. data/vendor/toolkit/twitter/bootstrap/print.less +101 -0
  140. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +51 -73
  141. data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +34 -0
  142. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +177 -42
  143. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +120 -23
  144. data/vendor/toolkit/twitter/bootstrap/tables.less +171 -182
  145. data/vendor/toolkit/twitter/bootstrap/theme.less +260 -0
  146. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +26 -43
  147. data/vendor/toolkit/twitter/bootstrap/tooltip.less +49 -24
  148. data/vendor/toolkit/twitter/bootstrap/type.less +208 -147
  149. data/vendor/toolkit/twitter/bootstrap/utilities.less +33 -7
  150. data/vendor/toolkit/twitter/bootstrap/variables.less +761 -215
  151. data/vendor/toolkit/twitter/bootstrap/wells.less +7 -7
  152. metadata +128 -138
  153. data/app/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +0 -117
  154. data/app/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +0 -99
  155. data/app/assets/javascripts/twitter/bootstrap/bootstrap-button.js +0 -105
  156. data/app/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +0 -207
  157. data/app/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +0 -167
  158. data/app/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +0 -169
  159. data/app/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +0 -247
  160. data/app/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +0 -114
  161. data/app/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +0 -162
  162. data/app/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +0 -144
  163. data/app/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +0 -361
  164. data/app/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +0 -60
  165. data/app/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +0 -335
  166. data/test/lib/breadcrumbs_test.rb +0 -75
  167. data/test/test_helper.rb +0 -11
  168. data/vendor/toolkit/fontawesome/bootstrap.less +0 -84
  169. data/vendor/toolkit/fontawesome/extras.less +0 -93
  170. data/vendor/toolkit/fontawesome/font-awesome-ie7.less +0 -1953
  171. data/vendor/toolkit/twitter/bootstrap/accordion.less +0 -34
  172. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +0 -25
  173. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +0 -84
  174. data/vendor/toolkit/twitter/bootstrap/layouts.less +0 -16
  175. data/vendor/toolkit/twitter/bootstrap/reset.less +0 -216
  176. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +0 -28
  177. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +0 -193
  178. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +0 -19
  179. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +0 -189
  180. data/vendor/toolkit/twitter/bootstrap/responsive.less +0 -48
  181. data/vendor/toolkit/twitter/bootstrap/sprites.less +0 -197
@@ -0,0 +1,21 @@
1
+ // CSS image replacement
2
+ //
3
+ // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
4
+ // mixins being reused as classes with the same name, this doesn't hold up. As
5
+ // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
6
+ //
7
+ // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8
+
9
+ // Deprecated as of v3.0.1 (will be removed in v4)
10
+ .hide-text() {
11
+ font: ~"0/0" a;
12
+ color: transparent;
13
+ text-shadow: none;
14
+ background-color: transparent;
15
+ border: 0;
16
+ }
17
+
18
+ // New mixin to use as of v3.0.1
19
+ .text-hide() {
20
+ .hide-text();
21
+ }
@@ -0,0 +1,33 @@
1
+ // Image Mixins
2
+ // - Responsive image
3
+ // - Retina image
4
+
5
+
6
+ // Responsive image
7
+ //
8
+ // Keep images from scaling beyond the width of their parents.
9
+ .img-responsive(@display: block) {
10
+ display: @display;
11
+ max-width: 100%; // Part 1: Set a maximum relative to the parent
12
+ height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
13
+ }
14
+
15
+
16
+ // Retina image
17
+ //
18
+ // Short retina mixin for setting background-image and -size. Note that the
19
+ // spelling of `min--moz-device-pixel-ratio` is intentional.
20
+ .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
21
+ background-image: url("@{file-1x}");
22
+
23
+ @media
24
+ only screen and (-webkit-min-device-pixel-ratio: 2),
25
+ only screen and ( min--moz-device-pixel-ratio: 2),
26
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
27
+ only screen and ( min-device-pixel-ratio: 2),
28
+ only screen and ( min-resolution: 192dpi),
29
+ only screen and ( min-resolution: 2dppx) {
30
+ background-image: url("@{file-2x}");
31
+ background-size: @width-1x @height-1x;
32
+ }
33
+ }
@@ -0,0 +1,12 @@
1
+ // Labels
2
+
3
+ .label-variant(@color) {
4
+ background-color: @color;
5
+
6
+ &[href] {
7
+ &:hover,
8
+ &:focus {
9
+ background-color: darken(@color, 10%);
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,29 @@
1
+ // List Groups
2
+
3
+ .list-group-item-variant(@state; @background; @color) {
4
+ .list-group-item-@{state} {
5
+ color: @color;
6
+ background-color: @background;
7
+
8
+ a& {
9
+ color: @color;
10
+
11
+ .list-group-item-heading {
12
+ color: inherit;
13
+ }
14
+
15
+ &:hover,
16
+ &:focus {
17
+ color: @color;
18
+ background-color: darken(@background, 5%);
19
+ }
20
+ &.active,
21
+ &.active:hover,
22
+ &.active:focus {
23
+ color: #fff;
24
+ background-color: @color;
25
+ border-color: @color;
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,10 @@
1
+ // Horizontal dividers
2
+ //
3
+ // Dividers (basically an hr) within dropdowns and nav lists
4
+
5
+ .nav-divider(@color: #e5e5e5) {
6
+ height: 1px;
7
+ margin: ((@line-height-computed / 2) - 1) 0;
8
+ overflow: hidden;
9
+ background-color: @color;
10
+ }
@@ -0,0 +1,9 @@
1
+ // Navbar vertical align
2
+ //
3
+ // Vertically center elements in the navbar.
4
+ // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
5
+
6
+ .navbar-vertical-align(@element-height) {
7
+ margin-top: ((@navbar-height - @element-height) / 2);
8
+ margin-bottom: ((@navbar-height - @element-height) / 2);
9
+ }
@@ -0,0 +1,8 @@
1
+ // Opacity
2
+
3
+ .opacity(@opacity) {
4
+ opacity: @opacity;
5
+ // IE8 filter
6
+ @opacity-ie: (@opacity * 100);
7
+ filter: ~"alpha(opacity=@{opacity-ie})";
8
+ }
@@ -0,0 +1,23 @@
1
+ // Pagination
2
+
3
+ .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {
4
+ > li {
5
+ > a,
6
+ > span {
7
+ padding: @padding-vertical @padding-horizontal;
8
+ font-size: @font-size;
9
+ }
10
+ &:first-child {
11
+ > a,
12
+ > span {
13
+ .border-left-radius(@border-radius);
14
+ }
15
+ }
16
+ &:last-child {
17
+ > a,
18
+ > span {
19
+ .border-right-radius(@border-radius);
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,24 @@
1
+ // Panels
2
+
3
+ .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
4
+ border-color: @border;
5
+
6
+ & > .panel-heading {
7
+ color: @heading-text-color;
8
+ background-color: @heading-bg-color;
9
+ border-color: @heading-border;
10
+
11
+ + .panel-collapse > .panel-body {
12
+ border-top-color: @border;
13
+ }
14
+ .badge {
15
+ color: @heading-bg-color;
16
+ background-color: @heading-text-color;
17
+ }
18
+ }
19
+ & > .panel-footer {
20
+ + .panel-collapse > .panel-body {
21
+ border-bottom-color: @border;
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,10 @@
1
+ // Progress bars
2
+
3
+ .progress-bar-variant(@color) {
4
+ background-color: @color;
5
+
6
+ // Deprecated parent class requirement as of v3.2.0
7
+ .progress-striped & {
8
+ #gradient > .striped();
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ // Reset filters for IE
2
+ //
3
+ // When you need to remove a gradient background, do not forget to use this to reset
4
+ // the IE filter for IE9 and below.
5
+
6
+ .reset-filter() {
7
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
8
+ }
@@ -0,0 +1,6 @@
1
+ // Resize anything
2
+
3
+ .resizable(@direction) {
4
+ resize: @direction; // Options: horizontal, vertical, both
5
+ overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
6
+ }
@@ -0,0 +1,15 @@
1
+ // Responsive utilities
2
+
3
+ //
4
+ // More easily include all the states for responsive-utilities.less.
5
+ .responsive-visibility() {
6
+ display: block !important;
7
+ table& { display: table; }
8
+ tr& { display: table-row !important; }
9
+ th&,
10
+ td& { display: table-cell !important; }
11
+ }
12
+
13
+ .responsive-invisibility() {
14
+ display: none !important;
15
+ }
@@ -0,0 +1,10 @@
1
+ // Sizing shortcuts
2
+
3
+ .size(@width; @height) {
4
+ width: @width;
5
+ height: @height;
6
+ }
7
+
8
+ .square(@size) {
9
+ .size(@size; @size);
10
+ }
@@ -0,0 +1,9 @@
1
+ // WebKit-style focus
2
+
3
+ .tab-focus() {
4
+ // Default
5
+ outline: thin dotted;
6
+ // WebKit
7
+ outline: 5px auto -webkit-focus-ring-color;
8
+ outline-offset: -2px;
9
+ }
@@ -0,0 +1,28 @@
1
+ // Tables
2
+
3
+ .table-row-variant(@state; @background) {
4
+ // Exact selectors below required to override `.table-striped` and prevent
5
+ // inheritance to nested tables.
6
+ .table > thead > tr,
7
+ .table > tbody > tr,
8
+ .table > tfoot > tr {
9
+ > td.@{state},
10
+ > th.@{state},
11
+ &.@{state} > td,
12
+ &.@{state} > th {
13
+ background-color: @background;
14
+ }
15
+ }
16
+
17
+ // Hover states for `.table-hover`
18
+ // Note: this is not available for cells or rows within `thead` or `tfoot`.
19
+ .table-hover > tbody > tr {
20
+ > td.@{state}:hover,
21
+ > th.@{state}:hover,
22
+ &.@{state}:hover > td,
23
+ &:hover > .@{state},
24
+ &.@{state}:hover > th {
25
+ background-color: darken(@background, 5%);
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,8 @@
1
+ // Typography
2
+
3
+ .text-emphasis-variant(@color) {
4
+ color: @color;
5
+ a&:hover {
6
+ color: darken(@color, 10%);
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ // Text overflow
2
+ // Requires inline-block or block for proper styling
3
+
4
+ .text-overflow() {
5
+ overflow: hidden;
6
+ text-overflow: ellipsis;
7
+ white-space: nowrap;
8
+ }
@@ -0,0 +1,224 @@
1
+ // Vendor Prefixes
2
+ //
3
+ // All vendor mixins are deprecated as of v3.2.0 due to the introduction of
4
+ // Autoprefixer in our Gruntfile. They will be removed in v4.
5
+
6
+ // - Animations
7
+ // - Backface visibility
8
+ // - Box shadow
9
+ // - Box sizing
10
+ // - Content columns
11
+ // - Hyphens
12
+ // - Placeholder text
13
+ // - Transformations
14
+ // - Transitions
15
+ // - User Select
16
+
17
+
18
+ // Animations
19
+ .animation(@animation) {
20
+ -webkit-animation: @animation;
21
+ -o-animation: @animation;
22
+ animation: @animation;
23
+ }
24
+ .animation-name(@name) {
25
+ -webkit-animation-name: @name;
26
+ animation-name: @name;
27
+ }
28
+ .animation-duration(@duration) {
29
+ -webkit-animation-duration: @duration;
30
+ animation-duration: @duration;
31
+ }
32
+ .animation-timing-function(@timing-function) {
33
+ -webkit-animation-timing-function: @timing-function;
34
+ animation-timing-function: @timing-function;
35
+ }
36
+ .animation-delay(@delay) {
37
+ -webkit-animation-delay: @delay;
38
+ animation-delay: @delay;
39
+ }
40
+ .animation-iteration-count(@iteration-count) {
41
+ -webkit-animation-iteration-count: @iteration-count;
42
+ animation-iteration-count: @iteration-count;
43
+ }
44
+ .animation-direction(@direction) {
45
+ -webkit-animation-direction: @direction;
46
+ animation-direction: @direction;
47
+ }
48
+ .animation-fill-mode(@fill-mode) {
49
+ -webkit-animation-fill-mode: @fill-mode;
50
+ animation-fill-mode: @fill-mode;
51
+ }
52
+
53
+ // Backface visibility
54
+ // Prevent browsers from flickering when using CSS 3D transforms.
55
+ // Default value is `visible`, but can be changed to `hidden`
56
+
57
+ .backface-visibility(@visibility){
58
+ -webkit-backface-visibility: @visibility;
59
+ -moz-backface-visibility: @visibility;
60
+ backface-visibility: @visibility;
61
+ }
62
+
63
+ // Drop shadows
64
+ //
65
+ // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
66
+ // supported browsers that have box shadow capabilities now support it.
67
+
68
+ .box-shadow(@shadow) {
69
+ -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
70
+ box-shadow: @shadow;
71
+ }
72
+
73
+ // Box sizing
74
+ .box-sizing(@boxmodel) {
75
+ -webkit-box-sizing: @boxmodel;
76
+ -moz-box-sizing: @boxmodel;
77
+ box-sizing: @boxmodel;
78
+ }
79
+
80
+ // CSS3 Content Columns
81
+ .content-columns(@column-count; @column-gap: @grid-gutter-width) {
82
+ -webkit-column-count: @column-count;
83
+ -moz-column-count: @column-count;
84
+ column-count: @column-count;
85
+ -webkit-column-gap: @column-gap;
86
+ -moz-column-gap: @column-gap;
87
+ column-gap: @column-gap;
88
+ }
89
+
90
+ // Optional hyphenation
91
+ .hyphens(@mode: auto) {
92
+ word-wrap: break-word;
93
+ -webkit-hyphens: @mode;
94
+ -moz-hyphens: @mode;
95
+ -ms-hyphens: @mode; // IE10+
96
+ -o-hyphens: @mode;
97
+ hyphens: @mode;
98
+ }
99
+
100
+ // Placeholder text
101
+ .placeholder(@color: @input-color-placeholder) {
102
+ &::-moz-placeholder { color: @color; // Firefox
103
+ opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
104
+ &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
105
+ &::-webkit-input-placeholder { color: @color; } // Safari and Chrome
106
+ }
107
+
108
+ // Transformations
109
+ .scale(@ratio) {
110
+ -webkit-transform: scale(@ratio);
111
+ -ms-transform: scale(@ratio); // IE9 only
112
+ -o-transform: scale(@ratio);
113
+ transform: scale(@ratio);
114
+ }
115
+ .scale(@ratioX; @ratioY) {
116
+ -webkit-transform: scale(@ratioX, @ratioY);
117
+ -ms-transform: scale(@ratioX, @ratioY); // IE9 only
118
+ -o-transform: scale(@ratioX, @ratioY);
119
+ transform: scale(@ratioX, @ratioY);
120
+ }
121
+ .scaleX(@ratio) {
122
+ -webkit-transform: scaleX(@ratio);
123
+ -ms-transform: scaleX(@ratio); // IE9 only
124
+ -o-transform: scaleX(@ratio);
125
+ transform: scaleX(@ratio);
126
+ }
127
+ .scaleY(@ratio) {
128
+ -webkit-transform: scaleY(@ratio);
129
+ -ms-transform: scaleY(@ratio); // IE9 only
130
+ -o-transform: scaleY(@ratio);
131
+ transform: scaleY(@ratio);
132
+ }
133
+ .skew(@x; @y) {
134
+ -webkit-transform: skewX(@x) skewY(@y);
135
+ -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
136
+ -o-transform: skewX(@x) skewY(@y);
137
+ transform: skewX(@x) skewY(@y);
138
+ }
139
+ .translate(@x; @y) {
140
+ -webkit-transform: translate(@x, @y);
141
+ -ms-transform: translate(@x, @y); // IE9 only
142
+ -o-transform: translate(@x, @y);
143
+ transform: translate(@x, @y);
144
+ }
145
+ .translate3d(@x; @y; @z) {
146
+ -webkit-transform: translate3d(@x, @y, @z);
147
+ transform: translate3d(@x, @y, @z);
148
+ }
149
+ .rotate(@degrees) {
150
+ -webkit-transform: rotate(@degrees);
151
+ -ms-transform: rotate(@degrees); // IE9 only
152
+ -o-transform: rotate(@degrees);
153
+ transform: rotate(@degrees);
154
+ }
155
+ .rotateX(@degrees) {
156
+ -webkit-transform: rotateX(@degrees);
157
+ -ms-transform: rotateX(@degrees); // IE9 only
158
+ -o-transform: rotateX(@degrees);
159
+ transform: rotateX(@degrees);
160
+ }
161
+ .rotateY(@degrees) {
162
+ -webkit-transform: rotateY(@degrees);
163
+ -ms-transform: rotateY(@degrees); // IE9 only
164
+ -o-transform: rotateY(@degrees);
165
+ transform: rotateY(@degrees);
166
+ }
167
+ .perspective(@perspective) {
168
+ -webkit-perspective: @perspective;
169
+ -moz-perspective: @perspective;
170
+ perspective: @perspective;
171
+ }
172
+ .perspective-origin(@perspective) {
173
+ -webkit-perspective-origin: @perspective;
174
+ -moz-perspective-origin: @perspective;
175
+ perspective-origin: @perspective;
176
+ }
177
+ .transform-origin(@origin) {
178
+ -webkit-transform-origin: @origin;
179
+ -moz-transform-origin: @origin;
180
+ -ms-transform-origin: @origin; // IE9 only
181
+ transform-origin: @origin;
182
+ }
183
+
184
+
185
+ // Transitions
186
+
187
+ .transition(@transition) {
188
+ -webkit-transition: @transition;
189
+ -o-transition: @transition;
190
+ transition: @transition;
191
+ }
192
+ .transition-property(@transition-property) {
193
+ -webkit-transition-property: @transition-property;
194
+ transition-property: @transition-property;
195
+ }
196
+ .transition-delay(@transition-delay) {
197
+ -webkit-transition-delay: @transition-delay;
198
+ transition-delay: @transition-delay;
199
+ }
200
+ .transition-duration(@transition-duration) {
201
+ -webkit-transition-duration: @transition-duration;
202
+ transition-duration: @transition-duration;
203
+ }
204
+ .transition-timing-function(@timing-function) {
205
+ -webkit-transition-timing-function: @timing-function;
206
+ transition-timing-function: @timing-function;
207
+ }
208
+ .transition-transform(@transition) {
209
+ -webkit-transition: -webkit-transform @transition;
210
+ -moz-transition: -moz-transform @transition;
211
+ -o-transition: -o-transform @transition;
212
+ transition: transform @transition;
213
+ }
214
+
215
+
216
+ // User select
217
+ // For selecting text on the page
218
+
219
+ .user-select(@select) {
220
+ -webkit-user-select: @select;
221
+ -moz-user-select: @select;
222
+ -ms-user-select: @select; // IE10+
223
+ user-select: @select;
224
+ }