bastion 0.1.14 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. checksums.yaml +8 -8
  2. data/app/assets/javascripts/bastion/bastion.module.js +7 -5
  3. data/app/assets/javascripts/bastion/components/bst-alert.directive.js +8 -37
  4. data/app/assets/javascripts/bastion/components/bst-alerts.directive.js +67 -0
  5. data/app/assets/javascripts/bastion/components/bst-container-scroll.directive.js +2 -7
  6. data/app/assets/javascripts/bastion/components/bst-table.directive.js +2 -2
  7. data/app/assets/javascripts/bastion/components/views/bst-alert.html +17 -5
  8. data/app/assets/javascripts/bastion/components/views/bst-alerts.html +6 -0
  9. data/app/assets/javascripts/bastion/components/views/bst-dropdown.html +1 -1
  10. data/app/assets/javascripts/bastion/components/views/bst-edit-add-item.html +1 -1
  11. data/app/assets/javascripts/bastion/components/views/bst-edit-add-remove-cancel.html +1 -1
  12. data/app/assets/javascripts/bastion/components/views/bst-edit-multiselect.html +1 -1
  13. data/app/assets/javascripts/bastion/components/views/bst-edit-save-cancel.html +1 -1
  14. data/app/assets/javascripts/bastion/components/views/bst-edit.html +2 -2
  15. data/app/assets/javascripts/bastion/components/views/bst-menu.html +1 -1
  16. data/app/assets/javascripts/bastion/components/views/bst-modal.html +1 -1
  17. data/app/assets/javascripts/bastion/components/views/bst-save-control.html +1 -1
  18. data/app/assets/javascripts/bastion/components/views/current-tasks.html +1 -1
  19. data/app/assets/javascripts/bastion/features/bst-feature-flag.directive.js +1 -1
  20. data/app/assets/javascripts/bastion/layouts/details-nutupane.html +4 -4
  21. data/app/assets/javascripts/bastion/layouts/nutupane.html +12 -8
  22. data/app/assets/stylesheets/bastion/bastion.less +6 -5
  23. data/app/assets/stylesheets/bastion/nutupane.less +14 -10
  24. data/app/assets/stylesheets/bastion/overrides.less +6 -2
  25. data/app/assets/stylesheets/bastion/variables.less +1 -0
  26. data/app/views/bastion/layouts/application.html.erb +5 -3
  27. data/bower.json +25 -20
  28. data/grunt/bower.js +2 -6
  29. data/lib/bastion/version.rb +1 -1
  30. data/test/components/bst-alert.directive.test.js +8 -40
  31. data/test/components/bst-alerts.directive.test.js +84 -0
  32. data/test/components/bst-container-scroll.directive.test.js +1 -14
  33. data/test/components/bst-edit.directive.test.js +1 -1
  34. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.eot +0 -0
  35. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.svg +47 -47
  36. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  37. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.woff +0 -0
  38. data/vendor/assets/fonts/bastion/font-awesome/FontAwesome.otf +0 -0
  39. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.eot +0 -0
  40. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.svg +471 -366
  41. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.ttf +0 -0
  42. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.woff +0 -0
  43. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Bold-webfont.eot +0 -0
  44. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Bold-webfont.svg +1830 -0
  45. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Bold-webfont.ttf +0 -0
  46. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Bold-webfont.woff +0 -0
  47. data/vendor/assets/fonts/bastion/patternfly/OpenSans-BoldItalic-webfont.eot +0 -0
  48. data/vendor/assets/fonts/bastion/patternfly/OpenSans-BoldItalic-webfont.svg +1830 -0
  49. data/vendor/assets/fonts/bastion/patternfly/OpenSans-BoldItalic-webfont.ttf +0 -0
  50. data/vendor/assets/fonts/bastion/patternfly/OpenSans-BoldItalic-webfont.woff +0 -0
  51. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBold-webfont.eot +0 -0
  52. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBold-webfont.svg +1830 -0
  53. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBold-webfont.ttf +0 -0
  54. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBold-webfont.woff +0 -0
  55. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  56. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBoldItalic-webfont.svg +1830 -0
  57. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  58. data/vendor/assets/fonts/bastion/patternfly/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  59. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Italic-webfont.eot +0 -0
  60. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Italic-webfont.svg +1830 -0
  61. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Italic-webfont.ttf +0 -0
  62. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Italic-webfont.woff +0 -0
  63. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Light-webfont.eot +0 -0
  64. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Light-webfont.svg +1831 -0
  65. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Light-webfont.ttf +0 -0
  66. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Light-webfont.woff +0 -0
  67. data/vendor/assets/fonts/bastion/patternfly/OpenSans-LightItalic-webfont.eot +0 -0
  68. data/vendor/assets/fonts/bastion/patternfly/OpenSans-LightItalic-webfont.svg +1835 -0
  69. data/vendor/assets/fonts/bastion/patternfly/OpenSans-LightItalic-webfont.ttf +0 -0
  70. data/vendor/assets/fonts/bastion/patternfly/OpenSans-LightItalic-webfont.woff +0 -0
  71. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Regular-webfont.eot +0 -0
  72. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Regular-webfont.svg +1831 -0
  73. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Regular-webfont.ttf +0 -0
  74. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Regular-webfont.woff +0 -0
  75. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Semibold-webfont.eot +0 -0
  76. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Semibold-webfont.svg +1830 -0
  77. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Semibold-webfont.ttf +0 -0
  78. data/vendor/assets/fonts/bastion/patternfly/OpenSans-Semibold-webfont.woff +0 -0
  79. data/vendor/assets/fonts/bastion/patternfly/OpenSans-SemiboldItalic-webfont.eot +0 -0
  80. data/vendor/assets/fonts/bastion/patternfly/OpenSans-SemiboldItalic-webfont.svg +1830 -0
  81. data/vendor/assets/fonts/bastion/patternfly/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  82. data/vendor/assets/fonts/bastion/patternfly/OpenSans-SemiboldItalic-webfont.woff +0 -0
  83. data/vendor/assets/fonts/bastion/patternfly/PatternFlyIcons-webfont.eot +0 -0
  84. data/vendor/assets/fonts/bastion/patternfly/PatternFlyIcons-webfont.svg +37 -0
  85. data/vendor/assets/fonts/bastion/patternfly/PatternFlyIcons-webfont.ttf +0 -0
  86. data/vendor/assets/fonts/bastion/patternfly/PatternFlyIcons-webfont.woff +0 -0
  87. data/vendor/assets/javascripts/bastion/ngUpload/ng-upload.js +20 -19
  88. data/vendor/assets/stylesheets/bastion/bootstrap/badges.less +4 -0
  89. data/vendor/assets/stylesheets/bastion/bootstrap/breadcrumbs.less +4 -1
  90. data/vendor/assets/stylesheets/bastion/bootstrap/button-groups.less +13 -14
  91. data/vendor/assets/stylesheets/bastion/bootstrap/buttons.less +14 -10
  92. data/vendor/assets/stylesheets/bastion/bootstrap/carousel.less +3 -3
  93. data/vendor/assets/stylesheets/bastion/bootstrap/code.less +10 -0
  94. data/vendor/assets/stylesheets/bastion/bootstrap/dropdowns.less +28 -2
  95. data/vendor/assets/stylesheets/bastion/bootstrap/forms.less +104 -41
  96. data/vendor/assets/stylesheets/bastion/bootstrap/glyphicons.less +1 -5
  97. data/vendor/assets/stylesheets/bastion/bootstrap/grid.less +30 -25
  98. data/vendor/assets/stylesheets/bastion/bootstrap/input-groups.less +44 -18
  99. data/vendor/assets/stylesheets/bastion/bootstrap/jumbotron.less +3 -5
  100. data/vendor/assets/stylesheets/bastion/bootstrap/list-group.less +25 -3
  101. data/vendor/assets/stylesheets/bastion/bootstrap/mixins.less +147 -63
  102. data/vendor/assets/stylesheets/bastion/bootstrap/modals.less +18 -8
  103. data/vendor/assets/stylesheets/bastion/bootstrap/navbar.less +24 -20
  104. data/vendor/assets/stylesheets/bastion/bootstrap/navs.less +2 -2
  105. data/vendor/assets/stylesheets/bastion/bootstrap/normalize.less +139 -122
  106. data/vendor/assets/stylesheets/bastion/bootstrap/pager.less +5 -5
  107. data/vendor/assets/stylesheets/bastion/bootstrap/pagination.less +6 -3
  108. data/vendor/assets/stylesheets/bastion/bootstrap/panels.less +106 -47
  109. data/vendor/assets/stylesheets/bastion/bootstrap/popovers.less +11 -11
  110. data/vendor/assets/stylesheets/bastion/bootstrap/print.less +0 -4
  111. data/vendor/assets/stylesheets/bastion/bootstrap/responsive-utilities.less +15 -132
  112. data/vendor/assets/stylesheets/bastion/bootstrap/scaffolding.less +17 -2
  113. data/vendor/assets/stylesheets/bastion/bootstrap/tables.less +3 -1
  114. data/vendor/assets/stylesheets/bastion/bootstrap/theme.less +1 -1
  115. data/vendor/assets/stylesheets/bastion/bootstrap/thumbnails.less +1 -1
  116. data/vendor/assets/stylesheets/bastion/bootstrap/tooltip.less +1 -1
  117. data/vendor/assets/stylesheets/bastion/bootstrap/type.less +79 -67
  118. data/vendor/assets/stylesheets/bastion/bootstrap/variables.less +364 -177
  119. data/vendor/assets/stylesheets/bastion/bootstrap/wells.less +1 -1
  120. data/vendor/assets/stylesheets/bastion/font-awesome/less/bordered-pulled.less +16 -0
  121. data/vendor/assets/stylesheets/bastion/font-awesome/less/core.less +8 -126
  122. data/vendor/assets/stylesheets/bastion/font-awesome/less/extras.less +2 -93
  123. data/vendor/assets/stylesheets/bastion/font-awesome/less/fixed-width.less +6 -0
  124. data/vendor/assets/stylesheets/bastion/font-awesome/less/font-awesome.less +9 -25
  125. data/vendor/assets/stylesheets/bastion/font-awesome/less/icons.less +549 -378
  126. data/vendor/assets/stylesheets/bastion/font-awesome/less/larger.less +13 -0
  127. data/vendor/assets/stylesheets/bastion/font-awesome/less/list.less +19 -0
  128. data/vendor/assets/stylesheets/bastion/font-awesome/less/mixins.less +16 -39
  129. data/vendor/assets/stylesheets/bastion/font-awesome/less/path.less +6 -6
  130. data/vendor/assets/stylesheets/bastion/font-awesome/less/rotated-flipped.less +20 -0
  131. data/vendor/assets/stylesheets/bastion/font-awesome/less/spinning.less +29 -0
  132. data/vendor/assets/stylesheets/bastion/font-awesome/less/stacked.less +20 -0
  133. data/vendor/assets/stylesheets/bastion/font-awesome/less/variables.less +557 -731
  134. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_bordered-pulled.scss +16 -0
  135. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_core.scss +8 -126
  136. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_extras.scss +9 -58
  137. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_fixed-width.scss +6 -0
  138. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_icons.scss +550 -379
  139. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_larger.scss +13 -0
  140. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_list.scss +19 -0
  141. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_mixins.scss +16 -39
  142. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_path.scss +6 -6
  143. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_rotated-flipped.scss +20 -0
  144. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_spinning.scss +29 -0
  145. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_stacked.scss +20 -0
  146. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_variables.scss +557 -730
  147. data/vendor/assets/stylesheets/bastion/font-awesome/scss/font-awesome.scss +9 -25
  148. data/vendor/assets/stylesheets/bastion/patternfly/alerts.less +29 -0
  149. data/vendor/assets/stylesheets/bastion/patternfly/badges.less +11 -0
  150. data/vendor/assets/stylesheets/bastion/patternfly/bootstrap-combobox.less +27 -0
  151. data/vendor/assets/stylesheets/bastion/patternfly/bootstrap-select.less +67 -0
  152. data/vendor/assets/stylesheets/bastion/patternfly/bootstrap-treeview.less +37 -0
  153. data/vendor/assets/stylesheets/bastion/patternfly/breadcrumbs.less +20 -0
  154. data/vendor/assets/stylesheets/bastion/{rcue → patternfly}/buttons.less +4 -0
  155. data/vendor/assets/stylesheets/bastion/patternfly/close.less +13 -0
  156. data/vendor/assets/stylesheets/bastion/patternfly/datatables.less +221 -0
  157. data/vendor/assets/stylesheets/bastion/patternfly/dropdowns.less +145 -0
  158. data/vendor/assets/stylesheets/bastion/{rcue → patternfly}/fonts.less +4 -2
  159. data/vendor/assets/stylesheets/bastion/{rcue → patternfly}/forms.less +7 -4
  160. data/vendor/assets/stylesheets/bastion/patternfly/icons.less +130 -0
  161. data/vendor/assets/stylesheets/bastion/patternfly/infotip.less +149 -0
  162. data/vendor/assets/stylesheets/bastion/patternfly/labels.less +12 -0
  163. data/vendor/assets/stylesheets/bastion/patternfly/list-group.less +18 -0
  164. data/vendor/assets/stylesheets/bastion/patternfly/login.less +121 -0
  165. data/vendor/assets/stylesheets/bastion/patternfly/mixins.less +81 -0
  166. data/vendor/assets/stylesheets/bastion/patternfly/modals.less +38 -0
  167. data/vendor/assets/stylesheets/bastion/patternfly/navbar.less +501 -0
  168. data/vendor/assets/stylesheets/bastion/patternfly/pager.less +72 -0
  169. data/vendor/assets/stylesheets/bastion/patternfly/pagination.less +64 -0
  170. data/vendor/assets/stylesheets/bastion/patternfly/panels.less +57 -0
  171. data/vendor/assets/stylesheets/bastion/patternfly/patternfly.less +42 -0
  172. data/vendor/assets/stylesheets/bastion/patternfly/popovers.less +32 -0
  173. data/vendor/assets/stylesheets/bastion/patternfly/progress-bars.less +87 -0
  174. data/vendor/assets/stylesheets/bastion/patternfly/search.less +65 -0
  175. data/vendor/assets/stylesheets/bastion/patternfly/sidebar.less +174 -0
  176. data/vendor/assets/stylesheets/bastion/patternfly/spinner.less +62 -0
  177. data/vendor/assets/stylesheets/bastion/patternfly/tables.less +74 -0
  178. data/vendor/assets/stylesheets/bastion/patternfly/tabs.less +118 -0
  179. data/vendor/assets/stylesheets/bastion/patternfly/tooltip.less +16 -0
  180. data/vendor/assets/stylesheets/bastion/patternfly/type.less +24 -0
  181. data/vendor/assets/stylesheets/bastion/patternfly/variables.less +219 -0
  182. metadata +98 -57
  183. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.eot +0 -0
  184. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.svg +0 -146
  185. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.ttf +0 -0
  186. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.woff +0 -0
  187. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.eot +0 -0
  188. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.svg +0 -146
  189. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.ttf +0 -0
  190. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.woff +0 -0
  191. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.eot +0 -0
  192. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.svg +0 -146
  193. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.ttf +0 -0
  194. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.woff +0 -0
  195. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  196. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.svg +0 -146
  197. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  198. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  199. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.eot +0 -0
  200. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.svg +0 -146
  201. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.ttf +0 -0
  202. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.woff +0 -0
  203. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.eot +0 -0
  204. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.svg +0 -146
  205. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.ttf +0 -0
  206. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.woff +0 -0
  207. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.eot +0 -0
  208. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.svg +0 -146
  209. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.ttf +0 -0
  210. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.woff +0 -0
  211. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.eot +0 -0
  212. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.svg +0 -146
  213. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.ttf +0 -0
  214. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.woff +0 -0
  215. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.eot +0 -0
  216. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.svg +0 -146
  217. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.ttf +0 -0
  218. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.woff +0 -0
  219. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.eot +0 -0
  220. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.svg +0 -146
  221. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  222. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.woff +0 -0
  223. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.eot +0 -0
  224. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.svg +0 -454
  225. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.ttf +0 -0
  226. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.woff +0 -0
  227. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.eot +0 -0
  228. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.svg +0 -454
  229. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.ttf +0 -0
  230. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.woff +0 -0
  231. data/vendor/assets/stylesheets/bastion/rcue/mixins.less +0 -50
  232. data/vendor/assets/stylesheets/bastion/rcue/navbar.less +0 -481
  233. data/vendor/assets/stylesheets/bastion/rcue/rcue.less +0 -15
  234. data/vendor/assets/stylesheets/bastion/rcue/variables.less +0 -47
@@ -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;
@@ -50,10 +50,6 @@
50
50
  max-width: 100% !important;
51
51
  }
52
52
 
53
- @page {
54
- margin: 2cm .5cm;
55
- }
56
-
57
53
  p,
58
54
  h2,
59
55
  h3 {
@@ -23,187 +23,70 @@
23
23
 
24
24
 
25
25
  // Visibility utilities
26
+ .visible-xs,
27
+ .visible-sm,
28
+ .visible-md,
29
+ .visible-lg {
30
+ .responsive-invisibility();
31
+ }
26
32
 
27
33
  .visible-xs {
28
- .responsive-invisibility();
29
34
  @media (max-width: @screen-xs-max) {
30
35
  .responsive-visibility();
31
36
  }
32
- &.visible-sm {
33
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
34
- .responsive-visibility();
35
- }
36
- }
37
- &.visible-md {
38
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
39
- .responsive-visibility();
40
- }
41
- }
42
- &.visible-lg {
43
- @media (min-width: @screen-lg-min) {
44
- .responsive-visibility();
45
- }
46
- }
47
37
  }
48
38
  .visible-sm {
49
- .responsive-invisibility();
50
- &.visible-xs {
51
- @media (max-width: @screen-xs-max) {
52
- .responsive-visibility();
53
- }
54
- }
55
39
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
56
40
  .responsive-visibility();
57
41
  }
58
- &.visible-md {
59
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
60
- .responsive-visibility();
61
- }
62
- }
63
- &.visible-lg {
64
- @media (min-width: @screen-lg-min) {
65
- .responsive-visibility();
66
- }
67
- }
68
42
  }
69
43
  .visible-md {
70
- .responsive-invisibility();
71
- &.visible-xs {
72
- @media (max-width: @screen-xs-max) {
73
- .responsive-visibility();
74
- }
75
- }
76
- &.visible-sm {
77
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
78
- .responsive-visibility();
79
- }
80
- }
81
44
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
82
45
  .responsive-visibility();
83
46
  }
84
- &.visible-lg {
85
- @media (min-width: @screen-lg-min) {
86
- .responsive-visibility();
87
- }
88
- }
89
47
  }
90
48
  .visible-lg {
91
- .responsive-invisibility();
92
- &.visible-xs {
93
- @media (max-width: @screen-xs-max) {
94
- .responsive-visibility();
95
- }
96
- }
97
- &.visible-sm {
98
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
99
- .responsive-visibility();
100
- }
101
- }
102
- &.visible-md {
103
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
104
- .responsive-visibility();
105
- }
106
- }
107
49
  @media (min-width: @screen-lg-min) {
108
50
  .responsive-visibility();
109
51
  }
110
52
  }
111
53
 
112
54
  .hidden-xs {
113
- .responsive-visibility();
114
55
  @media (max-width: @screen-xs-max) {
115
56
  .responsive-invisibility();
116
57
  }
117
- &.hidden-sm {
118
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
119
- .responsive-invisibility();
120
- }
121
- }
122
- &.hidden-md {
123
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
124
- .responsive-invisibility();
125
- }
126
- }
127
- &.hidden-lg {
128
- @media (min-width: @screen-lg-min) {
129
- .responsive-invisibility();
130
- }
131
- }
132
58
  }
133
59
  .hidden-sm {
134
- .responsive-visibility();
135
- &.hidden-xs {
136
- @media (max-width: @screen-xs-max) {
137
- .responsive-invisibility();
138
- }
139
- }
140
60
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
141
61
  .responsive-invisibility();
142
62
  }
143
- &.hidden-md {
144
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
145
- .responsive-invisibility();
146
- }
147
- }
148
- &.hidden-lg {
149
- @media (min-width: @screen-lg-min) {
150
- .responsive-invisibility();
151
- }
152
- }
153
63
  }
154
64
  .hidden-md {
155
- .responsive-visibility();
156
- &.hidden-xs {
157
- @media (max-width: @screen-xs-max) {
158
- .responsive-invisibility();
159
- }
160
- }
161
- &.hidden-sm {
162
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
163
- .responsive-invisibility();
164
- }
165
- }
166
65
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
167
66
  .responsive-invisibility();
168
67
  }
169
- &.hidden-lg {
170
- @media (min-width: @screen-lg-min) {
171
- .responsive-invisibility();
172
- }
173
- }
174
68
  }
175
69
  .hidden-lg {
176
- .responsive-visibility();
177
- &.hidden-xs {
178
- @media (max-width: @screen-xs-max) {
179
- .responsive-invisibility();
180
- }
181
- }
182
- &.hidden-sm {
183
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
184
- .responsive-invisibility();
185
- }
186
- }
187
- &.hidden-md {
188
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
189
- .responsive-invisibility();
190
- }
191
- }
192
70
  @media (min-width: @screen-lg-min) {
193
71
  .responsive-invisibility();
194
72
  }
195
73
  }
196
74
 
75
+
197
76
  // Print utilities
77
+ //
78
+ // Media queries are placed on the inside to be mixin-friendly.
79
+
198
80
  .visible-print {
199
81
  .responsive-invisibility();
200
- }
201
82
 
202
- @media print {
203
- .visible-print {
83
+ @media print {
204
84
  .responsive-visibility();
205
85
  }
206
- .hidden-print {
86
+ }
87
+
88
+ .hidden-print {
89
+ @media print {
207
90
  .responsive-invisibility();
208
91
  }
209
92
  }
@@ -4,8 +4,13 @@
4
4
 
5
5
 
6
6
  // Reset the box-sizing
7
-
8
- *,
7
+ //
8
+ // Heads up! This reset may cause conflicts with some third-party widgets.
9
+ // For recommendations on resolving such conflicts, see
10
+ // http://getbootstrap.com/getting-started/#third-box-sizing
11
+ * {
12
+ .box-sizing(border-box);
13
+ }
9
14
  *:before,
10
15
  *:after {
11
16
  .box-sizing(border-box);
@@ -56,6 +61,16 @@ a {
56
61
  }
57
62
 
58
63
 
64
+ // Figures
65
+ //
66
+ // We reset this here because previously Normalize had no `figure` margins. This
67
+ // ensures we don't break anyone's use of the element.
68
+
69
+ figure {
70
+ margin: 0;
71
+ }
72
+
73
+
59
74
  // Images
60
75
 
61
76
  img {
@@ -141,6 +141,7 @@ table {
141
141
  td,
142
142
  th {
143
143
  &[class*="col-"] {
144
+ position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
144
145
  float: none;
145
146
  display: table-cell;
146
147
  }
@@ -156,8 +157,9 @@ table {
156
157
  // Generate the contextual variants
157
158
  .table-row-variant(active; @table-bg-active);
158
159
  .table-row-variant(success; @state-success-bg);
159
- .table-row-variant(danger; @state-danger-bg);
160
+ .table-row-variant(info; @state-info-bg);
160
161
  .table-row-variant(warning; @state-warning-bg);
162
+ .table-row-variant(danger; @state-danger-bg);
161
163
 
162
164
 
163
165
  // Responsive tables
@@ -63,9 +63,9 @@
63
63
  .btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
64
64
  .btn-primary { .btn-styles(@btn-primary-bg); }
65
65
  .btn-success { .btn-styles(@btn-success-bg); }
66
+ .btn-info { .btn-styles(@btn-info-bg); }
66
67
  .btn-warning { .btn-styles(@btn-warning-bg); }
67
68
  .btn-danger { .btn-styles(@btn-danger-bg); }
68
- .btn-info { .btn-styles(@btn-info-bg); }
69
69
 
70
70
 
71
71
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  > img,
18
18
  a > img {
19
- .img-responsive();
19
+ &:extend(.img-responsive);
20
20
  margin-left: auto;
21
21
  margin-right: auto;
22
22
  }
@@ -13,7 +13,7 @@
13
13
  line-height: 1.4;
14
14
  .opacity(0);
15
15
 
16
- &.in { .opacity(.9); }
16
+ &.in { .opacity(@tooltip-opacity); }
17
17
  &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }
18
18
  &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }
19
19
  &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }
@@ -21,9 +21,9 @@ h1, h2, h3, h4, h5, h6,
21
21
  }
22
22
  }
23
23
 
24
- h1,
25
- h2,
26
- h3 {
24
+ h1, .h1,
25
+ h2, .h2,
26
+ h3, .h3 {
27
27
  margin-top: @line-height-computed;
28
28
  margin-bottom: (@line-height-computed / 2);
29
29
 
@@ -32,9 +32,9 @@ h3 {
32
32
  font-size: 65%;
33
33
  }
34
34
  }
35
- h4,
36
- h5,
37
- h6 {
35
+ h4, .h4,
36
+ h5, .h5,
37
+ h6, .h6 {
38
38
  margin-top: (@line-height-computed / 2);
39
39
  margin-bottom: (@line-height-computed / 2);
40
40
 
@@ -61,7 +61,7 @@ p {
61
61
 
62
62
  .lead {
63
63
  margin-bottom: @line-height-computed;
64
- font-size: floor(@font-size-base * 1.15);
64
+ font-size: floor((@font-size-base * 1.15));
65
65
  font-weight: 200;
66
66
  line-height: 1.4;
67
67
 
@@ -81,45 +81,53 @@ small,
81
81
  // Undo browser default styling
82
82
  cite { font-style: normal; }
83
83
 
84
- // Contextual emphasis
84
+ // Alignment
85
+ .text-left { text-align: left; }
86
+ .text-right { text-align: right; }
87
+ .text-center { text-align: center; }
88
+ .text-justify { text-align: justify; }
89
+
90
+ // Contextual colors
85
91
  .text-muted {
86
92
  color: @text-muted;
87
93
  }
88
94
  .text-primary {
89
- color: @brand-primary;
90
- &:hover {
91
- color: darken(@brand-primary, 10%);
92
- }
95
+ .text-emphasis-variant(@brand-primary);
96
+ }
97
+ .text-success {
98
+ .text-emphasis-variant(@state-success-text);
99
+ }
100
+ .text-info {
101
+ .text-emphasis-variant(@state-info-text);
93
102
  }
94
103
  .text-warning {
95
- color: @state-warning-text;
96
- &:hover {
97
- color: darken(@state-warning-text, 10%);
98
- }
104
+ .text-emphasis-variant(@state-warning-text);
99
105
  }
100
106
  .text-danger {
101
- color: @state-danger-text;
102
- &:hover {
103
- color: darken(@state-danger-text, 10%);
104
- }
107
+ .text-emphasis-variant(@state-danger-text);
105
108
  }
106
- .text-success {
107
- color: @state-success-text;
108
- &:hover {
109
- color: darken(@state-success-text, 10%);
110
- }
109
+
110
+ // Contextual backgrounds
111
+ // For now we'll leave these alongside the text classes until v4 when we can
112
+ // safely shift things around (per SemVer rules).
113
+ .bg-primary {
114
+ // Given the contrast here, this is the only class to have its color inverted
115
+ // automatically.
116
+ color: #fff;
117
+ .bg-variant(@brand-primary);
111
118
  }
112
- .text-info {
113
- color: @state-info-text;
114
- &:hover {
115
- color: darken(@state-info-text, 10%);
116
- }
119
+ .bg-success {
120
+ .bg-variant(@state-success-bg);
121
+ }
122
+ .bg-info {
123
+ .bg-variant(@state-info-bg);
124
+ }
125
+ .bg-warning {
126
+ .bg-variant(@state-warning-bg);
127
+ }
128
+ .bg-danger {
129
+ .bg-variant(@state-danger-bg);
117
130
  }
118
-
119
- // Alignment
120
- .text-left { text-align: left; }
121
- .text-right { text-align: right; }
122
- .text-center { text-align: center; }
123
131
 
124
132
 
125
133
  // Page header
@@ -157,15 +165,12 @@ ol {
157
165
  // Inline turns list items into inline-block
158
166
  .list-inline {
159
167
  .list-unstyled();
168
+ margin-left: -5px;
160
169
 
161
170
  > li {
162
171
  display: inline-block;
163
172
  padding-left: 5px;
164
173
  padding-right: 5px;
165
-
166
- &:first-child {
167
- padding-left: 0;
168
- }
169
174
  }
170
175
  }
171
176
 
@@ -201,7 +206,7 @@ dd {
201
206
  }
202
207
  dd {
203
208
  margin-left: @component-offset-horizontal;
204
- .clearfix(); // Clear the floated `dt` if an empty `dd` is present
209
+ &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
205
210
  }
206
211
  }
207
212
  }
@@ -225,44 +230,51 @@ abbr[data-original-title] {
225
230
  blockquote {
226
231
  padding: (@line-height-computed / 2) @line-height-computed;
227
232
  margin: 0 0 @line-height-computed;
233
+ font-size: @blockquote-font-size;
228
234
  border-left: 5px solid @blockquote-border-color;
229
- p {
230
- font-size: (@font-size-base * 1.25);
231
- font-weight: 300;
232
- line-height: 1.25;
233
- }
234
- p:last-child {
235
- margin-bottom: 0;
235
+
236
+ p,
237
+ ul,
238
+ ol {
239
+ &:last-child {
240
+ margin-bottom: 0;
241
+ }
236
242
  }
243
+
244
+ // Note: Deprecated small and .small as of v3.1.0
245
+ // Context: https://github.com/twbs/bootstrap/issues/11660
246
+ footer,
237
247
  small,
238
248
  .small {
239
249
  display: block;
250
+ font-size: 80%; // back to default font-size
240
251
  line-height: @line-height-base;
241
252
  color: @blockquote-small-color;
253
+
242
254
  &:before {
243
- content: '\2014 \00A0'; // EM DASH, NBSP
255
+ content: '\2014 \00A0'; // em dash, nbsp
244
256
  }
245
257
  }
258
+ }
246
259
 
247
- // Float right with text-align: right
248
- &.pull-right {
249
- padding-right: 15px;
250
- padding-left: 0;
251
- border-right: 5px solid @blockquote-border-color;
252
- border-left: 0;
253
- p,
254
- small,
255
- .small {
256
- text-align: right;
257
- }
258
- small,
259
- .small {
260
- &:before {
261
- content: '';
262
- }
263
- &:after {
264
- content: '\00A0 \2014'; // NBSP, EM DASH
265
- }
260
+ // Opposite alignment of blockquote
261
+ //
262
+ // Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.
263
+ .blockquote-reverse,
264
+ blockquote.pull-right {
265
+ padding-right: 15px;
266
+ padding-left: 0;
267
+ border-right: 5px solid @blockquote-border-color;
268
+ border-left: 0;
269
+ text-align: right;
270
+
271
+ // Account for citation
272
+ footer,
273
+ small,
274
+ .small {
275
+ &:before { content: ''; }
276
+ &:after {
277
+ content: '\00A0 \2014'; // nbsp, em dash
266
278
  }
267
279
  }
268
280
  }