kibana-sinatra 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/kibana-sinatra.gemspec +24 -0
  8. data/lib/kibana/assets/app/app.js +140 -0
  9. data/lib/kibana/assets/app/components/extend-jquery.js +46 -0
  10. data/lib/kibana/assets/app/components/kbn.js +332 -0
  11. data/lib/kibana/assets/app/components/require.config.js +90 -0
  12. data/lib/kibana/assets/app/components/settings.js +27 -0
  13. data/lib/kibana/assets/app/components/underscore.extended.js +32 -0
  14. data/lib/kibana/assets/app/controllers/all.js +5 -0
  15. data/lib/kibana/assets/app/controllers/dash.js +91 -0
  16. data/lib/kibana/assets/app/controllers/dashLoader.js +123 -0
  17. data/lib/kibana/assets/app/controllers/row.js +76 -0
  18. data/lib/kibana/assets/app/dashboards/blank.json +42 -0
  19. data/lib/kibana/assets/app/dashboards/default.json +89 -0
  20. data/lib/kibana/assets/app/dashboards/guided.json +274 -0
  21. data/lib/kibana/assets/app/dashboards/logstash.js +181 -0
  22. data/lib/kibana/assets/app/dashboards/logstash.json +222 -0
  23. data/lib/kibana/assets/app/dashboards/noted.json +202 -0
  24. data/lib/kibana/assets/app/directives/addPanel.js +30 -0
  25. data/lib/kibana/assets/app/directives/all.js +10 -0
  26. data/lib/kibana/assets/app/directives/arrayJoin.js +34 -0
  27. data/lib/kibana/assets/app/directives/confirmClick.js +26 -0
  28. data/lib/kibana/assets/app/directives/dashUpload.js +37 -0
  29. data/lib/kibana/assets/app/directives/kibanaPanel.js +103 -0
  30. data/lib/kibana/assets/app/directives/ngBlur.js +20 -0
  31. data/lib/kibana/assets/app/directives/ngModelOnBlur.js +25 -0
  32. data/lib/kibana/assets/app/directives/tip.js +20 -0
  33. data/lib/kibana/assets/app/filters/all.js +110 -0
  34. data/lib/kibana/assets/app/panels/bettermap/editor.html +17 -0
  35. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers-2x.png +0 -0
  36. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers.png +0 -0
  37. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon-2x.png +0 -0
  38. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon.png +0 -0
  39. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-shadow.png +0 -0
  40. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet-src.js +8724 -0
  41. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.css +463 -0
  42. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.ie.css +51 -0
  43. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.js +8 -0
  44. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.css +75 -0
  45. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.js +16 -0
  46. data/lib/kibana/assets/app/panels/bettermap/module.css +4 -0
  47. data/lib/kibana/assets/app/panels/bettermap/module.html +6 -0
  48. data/lib/kibana/assets/app/panels/bettermap/module.js +232 -0
  49. data/lib/kibana/assets/app/panels/column/editor.html +36 -0
  50. data/lib/kibana/assets/app/panels/column/module.html +16 -0
  51. data/lib/kibana/assets/app/panels/column/module.js +105 -0
  52. data/lib/kibana/assets/app/panels/column/panelgeneral.html +11 -0
  53. data/lib/kibana/assets/app/panels/dashcontrol/editor.html +44 -0
  54. data/lib/kibana/assets/app/panels/dashcontrol/load.html +40 -0
  55. data/lib/kibana/assets/app/panels/dashcontrol/module.html +6 -0
  56. data/lib/kibana/assets/app/panels/dashcontrol/module.js +198 -0
  57. data/lib/kibana/assets/app/panels/dashcontrol/save.html +30 -0
  58. data/lib/kibana/assets/app/panels/dashcontrol/share.html +11 -0
  59. data/lib/kibana/assets/app/panels/derivequeries/editor.html +23 -0
  60. data/lib/kibana/assets/app/panels/derivequeries/module.html +33 -0
  61. data/lib/kibana/assets/app/panels/derivequeries/module.js +160 -0
  62. data/lib/kibana/assets/app/panels/fields/editor.html +10 -0
  63. data/lib/kibana/assets/app/panels/fields/micropanel.html +25 -0
  64. data/lib/kibana/assets/app/panels/fields/module.html +3 -0
  65. data/lib/kibana/assets/app/panels/fields/module.js +37 -0
  66. data/lib/kibana/assets/app/panels/filtering/editor.html +7 -0
  67. data/lib/kibana/assets/app/panels/filtering/meta.html +15 -0
  68. data/lib/kibana/assets/app/panels/filtering/module.html +78 -0
  69. data/lib/kibana/assets/app/panels/filtering/module.js +66 -0
  70. data/lib/kibana/assets/app/panels/histogram/editor.html +74 -0
  71. data/lib/kibana/assets/app/panels/histogram/interval.js +57 -0
  72. data/lib/kibana/assets/app/panels/histogram/module.html +91 -0
  73. data/lib/kibana/assets/app/panels/histogram/module.js +511 -0
  74. data/lib/kibana/assets/app/panels/histogram/timeSeries.js +179 -0
  75. data/lib/kibana/assets/app/panels/hits/editor.html +29 -0
  76. data/lib/kibana/assets/app/panels/hits/module.html +44 -0
  77. data/lib/kibana/assets/app/panels/hits/module.js +270 -0
  78. data/lib/kibana/assets/app/panels/map/editor.html +15 -0
  79. data/lib/kibana/assets/app/panels/map/lib/jquery.jvectormap.min.js +8 -0
  80. data/lib/kibana/assets/app/panels/map/lib/map.europe.js +1 -0
  81. data/lib/kibana/assets/app/panels/map/lib/map.usa.js +1 -0
  82. data/lib/kibana/assets/app/panels/map/lib/map.world.js +1 -0
  83. data/lib/kibana/assets/app/panels/map/module.html +63 -0
  84. data/lib/kibana/assets/app/panels/map/module.js +185 -0
  85. data/lib/kibana/assets/app/panels/pie/editor.html +49 -0
  86. data/lib/kibana/assets/app/panels/pie/module.html +12 -0
  87. data/lib/kibana/assets/app/panels/pie/module.js +297 -0
  88. data/lib/kibana/assets/app/panels/query/editor.html +7 -0
  89. data/lib/kibana/assets/app/panels/query/meta.html +21 -0
  90. data/lib/kibana/assets/app/panels/query/module.html +25 -0
  91. data/lib/kibana/assets/app/panels/query/module.js +69 -0
  92. data/lib/kibana/assets/app/panels/query/query.css +39 -0
  93. data/lib/kibana/assets/app/panels/table/editor.html +48 -0
  94. data/lib/kibana/assets/app/panels/table/micropanel.html +44 -0
  95. data/lib/kibana/assets/app/panels/table/module.html +104 -0
  96. data/lib/kibana/assets/app/panels/table/module.js +389 -0
  97. data/lib/kibana/assets/app/panels/table/pagination.html +27 -0
  98. data/lib/kibana/assets/app/panels/terms/editor.html +51 -0
  99. data/lib/kibana/assets/app/panels/terms/module.html +55 -0
  100. data/lib/kibana/assets/app/panels/terms/module.js +307 -0
  101. data/lib/kibana/assets/app/panels/text/editor.html +16 -0
  102. data/lib/kibana/assets/app/panels/text/lib/showdown.js +1454 -0
  103. data/lib/kibana/assets/app/panels/text/module.html +10 -0
  104. data/lib/kibana/assets/app/panels/text/module.js +85 -0
  105. data/lib/kibana/assets/app/panels/timepicker/editor.html +34 -0
  106. data/lib/kibana/assets/app/panels/timepicker/module.html +73 -0
  107. data/lib/kibana/assets/app/panels/timepicker/module.js +268 -0
  108. data/lib/kibana/assets/app/panels/timepicker/refreshctrl.html +5 -0
  109. data/lib/kibana/assets/app/panels/trends/editor.html +20 -0
  110. data/lib/kibana/assets/app/panels/trends/module.html +11 -0
  111. data/lib/kibana/assets/app/panels/trends/module.js +232 -0
  112. data/lib/kibana/assets/app/partials/dashLoader.html +78 -0
  113. data/lib/kibana/assets/app/partials/dashLoaderShare.html +11 -0
  114. data/lib/kibana/assets/app/partials/dashboard.html +77 -0
  115. data/lib/kibana/assets/app/partials/dasheditor.html +151 -0
  116. data/lib/kibana/assets/app/partials/inspector.html +15 -0
  117. data/lib/kibana/assets/app/partials/load.html +4 -0
  118. data/lib/kibana/assets/app/partials/modal.html +12 -0
  119. data/lib/kibana/assets/app/partials/paneladd.html +6 -0
  120. data/lib/kibana/assets/app/partials/paneleditor.html +23 -0
  121. data/lib/kibana/assets/app/partials/panelgeneral.html +22 -0
  122. data/lib/kibana/assets/app/partials/querySelect.html +24 -0
  123. data/lib/kibana/assets/app/partials/roweditor.html +65 -0
  124. data/lib/kibana/assets/app/services/alertSrv.js +49 -0
  125. data/lib/kibana/assets/app/services/all.js +11 -0
  126. data/lib/kibana/assets/app/services/dashboard.js +417 -0
  127. data/lib/kibana/assets/app/services/fields.js +96 -0
  128. data/lib/kibana/assets/app/services/filterSrv.js +200 -0
  129. data/lib/kibana/assets/app/services/kbnIndex.js +101 -0
  130. data/lib/kibana/assets/app/services/panelMove.js +83 -0
  131. data/lib/kibana/assets/app/services/querySrv.js +147 -0
  132. data/lib/kibana/assets/app/services/timer.js +34 -0
  133. data/lib/kibana/assets/css/animate.min.css +3270 -0
  134. data/lib/kibana/assets/css/bootstrap-responsive.min.css +9 -0
  135. data/lib/kibana/assets/css/bootstrap.dark.min.css +9 -0
  136. data/lib/kibana/assets/css/bootstrap.light.min.css +9 -0
  137. data/lib/kibana/assets/css/font-awesome.min.css +403 -0
  138. data/lib/kibana/assets/css/main.css +193 -0
  139. data/lib/kibana/assets/css/normalize.min.css +1 -0
  140. data/lib/kibana/assets/css/timepicker.css +423 -0
  141. data/lib/kibana/assets/font/FontAwesome.otf +0 -0
  142. data/lib/kibana/assets/font/fontawesome-webfont.eot +0 -0
  143. data/lib/kibana/assets/font/fontawesome-webfont.svg +399 -0
  144. data/lib/kibana/assets/font/fontawesome-webfont.ttf +0 -0
  145. data/lib/kibana/assets/font/fontawesome-webfont.woff +0 -0
  146. data/lib/kibana/assets/img/glyphicons-halflings-white.png +0 -0
  147. data/lib/kibana/assets/img/glyphicons-halflings.png +0 -0
  148. data/lib/kibana/assets/img/kibana.png +0 -0
  149. data/lib/kibana/assets/img/load.gif +0 -0
  150. data/lib/kibana/assets/img/load_big.gif +0 -0
  151. data/lib/kibana/assets/index.html +49 -0
  152. data/lib/kibana/assets/vendor/angular/angular-dragdrop.js +304 -0
  153. data/lib/kibana/assets/vendor/angular/angular-sanitize.js +556 -0
  154. data/lib/kibana/assets/vendor/angular/angular-strap.js +875 -0
  155. data/lib/kibana/assets/vendor/angular/angular.js +15158 -0
  156. data/lib/kibana/assets/vendor/angular/datepicker.js +1046 -0
  157. data/lib/kibana/assets/vendor/angular/timepicker.js +888 -0
  158. data/lib/kibana/assets/vendor/bootstrap/bootstrap.js +2280 -0
  159. data/lib/kibana/assets/vendor/bootstrap/less/accordion.less +34 -0
  160. data/lib/kibana/assets/vendor/bootstrap/less/alerts.less +79 -0
  161. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.dark.less +4 -0
  162. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.less +63 -0
  163. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.light.less +4 -0
  164. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.dark.less +554 -0
  165. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.light.less +9 -0
  166. data/lib/kibana/assets/vendor/bootstrap/less/breadcrumbs.less +24 -0
  167. data/lib/kibana/assets/vendor/bootstrap/less/button-groups.less +229 -0
  168. data/lib/kibana/assets/vendor/bootstrap/less/buttons.less +228 -0
  169. data/lib/kibana/assets/vendor/bootstrap/less/carousel.less +158 -0
  170. data/lib/kibana/assets/vendor/bootstrap/less/close.less +32 -0
  171. data/lib/kibana/assets/vendor/bootstrap/less/code.less +61 -0
  172. data/lib/kibana/assets/vendor/bootstrap/less/component-animations.less +22 -0
  173. data/lib/kibana/assets/vendor/bootstrap/less/dropdowns.less +248 -0
  174. data/lib/kibana/assets/vendor/bootstrap/less/forms.less +690 -0
  175. data/lib/kibana/assets/vendor/bootstrap/less/grid.less +21 -0
  176. data/lib/kibana/assets/vendor/bootstrap/less/hero-unit.less +25 -0
  177. data/lib/kibana/assets/vendor/bootstrap/less/labels-badges.less +84 -0
  178. data/lib/kibana/assets/vendor/bootstrap/less/layouts.less +16 -0
  179. data/lib/kibana/assets/vendor/bootstrap/less/media.less +55 -0
  180. data/lib/kibana/assets/vendor/bootstrap/less/mixins.less +702 -0
  181. data/lib/kibana/assets/vendor/bootstrap/less/modals.less +95 -0
  182. data/lib/kibana/assets/vendor/bootstrap/less/navbar.less +497 -0
  183. data/lib/kibana/assets/vendor/bootstrap/less/navs.less +409 -0
  184. data/lib/kibana/assets/vendor/bootstrap/less/overrides.less +237 -0
  185. data/lib/kibana/assets/vendor/bootstrap/less/pager.less +43 -0
  186. data/lib/kibana/assets/vendor/bootstrap/less/pagination.less +123 -0
  187. data/lib/kibana/assets/vendor/bootstrap/less/popovers.less +133 -0
  188. data/lib/kibana/assets/vendor/bootstrap/less/progress-bars.less +122 -0
  189. data/lib/kibana/assets/vendor/bootstrap/less/reset.less +216 -0
  190. data/lib/kibana/assets/vendor/bootstrap/less/responsive-1200px-min.less +28 -0
  191. data/lib/kibana/assets/vendor/bootstrap/less/responsive-767px-max.less +193 -0
  192. data/lib/kibana/assets/vendor/bootstrap/less/responsive-768px-979px.less +19 -0
  193. data/lib/kibana/assets/vendor/bootstrap/less/responsive-navbar.less +189 -0
  194. data/lib/kibana/assets/vendor/bootstrap/less/responsive-utilities.less +59 -0
  195. data/lib/kibana/assets/vendor/bootstrap/less/responsive.less +48 -0
  196. data/lib/kibana/assets/vendor/bootstrap/less/scaffolding.less +53 -0
  197. data/lib/kibana/assets/vendor/bootstrap/less/sprites.less +197 -0
  198. data/lib/kibana/assets/vendor/bootstrap/less/tables.less +244 -0
  199. data/lib/kibana/assets/vendor/bootstrap/less/tests/buttons.html +139 -0
  200. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.css +150 -0
  201. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.html +1399 -0
  202. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms-responsive.html +71 -0
  203. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms.html +179 -0
  204. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-fixed-top.html +104 -0
  205. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-static-top.html +107 -0
  206. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar.html +107 -0
  207. data/lib/kibana/assets/vendor/bootstrap/less/thumbnails.less +53 -0
  208. data/lib/kibana/assets/vendor/bootstrap/less/tooltip.less +70 -0
  209. data/lib/kibana/assets/vendor/bootstrap/less/type.less +247 -0
  210. data/lib/kibana/assets/vendor/bootstrap/less/utilities.less +30 -0
  211. data/lib/kibana/assets/vendor/bootstrap/less/variables.dark.less +304 -0
  212. data/lib/kibana/assets/vendor/bootstrap/less/variables.less +301 -0
  213. data/lib/kibana/assets/vendor/bootstrap/less/variables.light.less +301 -0
  214. data/lib/kibana/assets/vendor/bootstrap/less/wells.less +29 -0
  215. data/lib/kibana/assets/vendor/elasticjs/elastic-angular-client.js +81 -0
  216. data/lib/kibana/assets/vendor/elasticjs/elastic.js +19993 -0
  217. data/lib/kibana/assets/vendor/filesaver.js +216 -0
  218. data/lib/kibana/assets/vendor/jquery/jquery-1.8.0.js +2 -0
  219. data/lib/kibana/assets/vendor/jquery/jquery-ui-1.10.3.js +5253 -0
  220. data/lib/kibana/assets/vendor/jquery/jquery.flot.js +3060 -0
  221. data/lib/kibana/assets/vendor/jquery/jquery.flot.pie.js +817 -0
  222. data/lib/kibana/assets/vendor/jquery/jquery.flot.selection.js +360 -0
  223. data/lib/kibana/assets/vendor/jquery/jquery.flot.stack.js +188 -0
  224. data/lib/kibana/assets/vendor/jquery/jquery.flot.stackpercent.js +126 -0
  225. data/lib/kibana/assets/vendor/jquery/jquery.flot.time.js +431 -0
  226. data/lib/kibana/assets/vendor/modernizr-2.6.1.js +4 -0
  227. data/lib/kibana/assets/vendor/moment.js +1662 -0
  228. data/lib/kibana/assets/vendor/require/css-build.js +78 -0
  229. data/lib/kibana/assets/vendor/require/css.js +23 -0
  230. data/lib/kibana/assets/vendor/require/require.js +2024 -0
  231. data/lib/kibana/assets/vendor/require/text.js +386 -0
  232. data/lib/kibana/assets/vendor/require/tmpl.js +17 -0
  233. data/lib/kibana/assets/vendor/timezone.js +993 -0
  234. data/lib/kibana/assets/vendor/underscore.js +1246 -0
  235. data/lib/kibana/sinatra.rb +3 -0
  236. data/lib/kibana/sinatra/version.rb +5 -0
  237. data/lib/kibana/sinatra/web.rb +28 -0
  238. data/lib/kibana/views/config.erb +54 -0
  239. metadata +325 -0
@@ -0,0 +1,9 @@
1
+
2
+ // KIBANA
3
+ .panelCont {
4
+ outline: 1px solid darken(@bodyBackground, 10%);
5
+ border-top: 1px solid lighten(@bodyBackground, 10%);
6
+ padding: 0px 10px 10px 10px;
7
+ background: darken(@bodyBackground, 5%);
8
+ margin: 0px;
9
+ }
@@ -0,0 +1,24 @@
1
+ //
2
+ // Breadcrumbs
3
+ // --------------------------------------------------
4
+
5
+
6
+ .breadcrumb {
7
+ padding: 8px 15px;
8
+ margin: 0 0 @baseLineHeight;
9
+ list-style: none;
10
+ background-color: #f5f5f5;
11
+ .border-radius(@baseBorderRadius);
12
+ > li {
13
+ display: inline-block;
14
+ .ie7-inline-block();
15
+ text-shadow: 0 1px 0 @white;
16
+ > .divider {
17
+ padding: 0 5px;
18
+ color: #ccc;
19
+ }
20
+ }
21
+ > .active {
22
+ color: @grayLight;
23
+ }
24
+ }
@@ -0,0 +1,229 @@
1
+ //
2
+ // Button groups
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Make the div behave like a button
7
+ .btn-group {
8
+ position: relative;
9
+ display: inline-block;
10
+ .ie7-inline-block();
11
+ font-size: 0; // remove as part 1 of font-size inline-block hack
12
+ vertical-align: middle; // match .btn alignment given font-size hack above
13
+ white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
14
+ .ie7-restore-left-whitespace();
15
+ }
16
+
17
+ // Space out series of button groups
18
+ .btn-group + .btn-group {
19
+ margin-left: 5px;
20
+ }
21
+
22
+ // Optional: Group multiple button groups together for a toolbar
23
+ .btn-toolbar {
24
+ font-size: 0; // Hack to remove whitespace that results from using inline-block
25
+ margin-top: @baseLineHeight / 2;
26
+ margin-bottom: @baseLineHeight / 2;
27
+ > .btn + .btn,
28
+ > .btn-group + .btn,
29
+ > .btn + .btn-group {
30
+ margin-left: 5px;
31
+ }
32
+ }
33
+
34
+ // Float them, remove border radius, then re-add to first and last elements
35
+ .btn-group > .btn {
36
+ position: relative;
37
+ .border-radius(0);
38
+ }
39
+ .btn-group > .btn + .btn {
40
+ margin-left: -1px;
41
+ }
42
+ .btn-group > .btn,
43
+ .btn-group > .dropdown-menu,
44
+ .btn-group > .popover {
45
+ font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
46
+ }
47
+
48
+ // Reset fonts for other sizes
49
+ .btn-group > .btn-mini {
50
+ font-size: @fontSizeMini;
51
+ }
52
+ .btn-group > .btn-small {
53
+ font-size: @fontSizeSmall;
54
+ }
55
+ .btn-group > .btn-large {
56
+ font-size: @fontSizeLarge;
57
+ }
58
+
59
+ // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
60
+ .btn-group > .btn:first-child {
61
+ margin-left: 0;
62
+ .border-top-left-radius(@baseBorderRadius);
63
+ .border-bottom-left-radius(@baseBorderRadius);
64
+ }
65
+ // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
66
+ .btn-group > .btn:last-child,
67
+ .btn-group > .dropdown-toggle {
68
+ .border-top-right-radius(@baseBorderRadius);
69
+ .border-bottom-right-radius(@baseBorderRadius);
70
+ }
71
+ // Reset corners for large buttons
72
+ .btn-group > .btn.large:first-child {
73
+ margin-left: 0;
74
+ .border-top-left-radius(@borderRadiusLarge);
75
+ .border-bottom-left-radius(@borderRadiusLarge);
76
+ }
77
+ .btn-group > .btn.large:last-child,
78
+ .btn-group > .large.dropdown-toggle {
79
+ .border-top-right-radius(@borderRadiusLarge);
80
+ .border-bottom-right-radius(@borderRadiusLarge);
81
+ }
82
+
83
+ // On hover/focus/active, bring the proper btn to front
84
+ .btn-group > .btn:hover,
85
+ .btn-group > .btn:focus,
86
+ .btn-group > .btn:active,
87
+ .btn-group > .btn.active {
88
+ z-index: 2;
89
+ }
90
+
91
+ // On active and open, don't show outline
92
+ .btn-group .dropdown-toggle:active,
93
+ .btn-group.open .dropdown-toggle {
94
+ outline: 0;
95
+ }
96
+
97
+
98
+
99
+ // Split button dropdowns
100
+ // ----------------------
101
+
102
+ // Give the line between buttons some depth
103
+ .btn-group > .btn + .dropdown-toggle {
104
+ padding-left: 8px;
105
+ padding-right: 8px;
106
+ .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
107
+ *padding-top: 5px;
108
+ *padding-bottom: 5px;
109
+ }
110
+ .btn-group > .btn-mini + .dropdown-toggle {
111
+ padding-left: 5px;
112
+ padding-right: 5px;
113
+ *padding-top: 2px;
114
+ *padding-bottom: 2px;
115
+ }
116
+ .btn-group > .btn-small + .dropdown-toggle {
117
+ *padding-top: 5px;
118
+ *padding-bottom: 4px;
119
+ }
120
+ .btn-group > .btn-large + .dropdown-toggle {
121
+ padding-left: 12px;
122
+ padding-right: 12px;
123
+ *padding-top: 7px;
124
+ *padding-bottom: 7px;
125
+ }
126
+
127
+ .btn-group.open {
128
+
129
+ // The clickable button for toggling the menu
130
+ // Remove the gradient and set the same inset shadow as the :active state
131
+ .dropdown-toggle {
132
+ background-image: none;
133
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
134
+ }
135
+
136
+ // Keep the hover's background when dropdown is open
137
+ .btn.dropdown-toggle {
138
+ background-color: @btnBackgroundHighlight;
139
+ }
140
+ .btn-primary.dropdown-toggle {
141
+ background-color: @btnPrimaryBackgroundHighlight;
142
+ }
143
+ .btn-warning.dropdown-toggle {
144
+ background-color: @btnWarningBackgroundHighlight;
145
+ }
146
+ .btn-danger.dropdown-toggle {
147
+ background-color: @btnDangerBackgroundHighlight;
148
+ }
149
+ .btn-success.dropdown-toggle {
150
+ background-color: @btnSuccessBackgroundHighlight;
151
+ }
152
+ .btn-info.dropdown-toggle {
153
+ background-color: @btnInfoBackgroundHighlight;
154
+ }
155
+ .btn-inverse.dropdown-toggle {
156
+ background-color: @btnInverseBackgroundHighlight;
157
+ }
158
+ }
159
+
160
+
161
+ // Reposition the caret
162
+ .btn .caret {
163
+ margin-top: 8px;
164
+ margin-left: 0;
165
+ }
166
+ // Carets in other button sizes
167
+ .btn-large .caret {
168
+ margin-top: 6px;
169
+ }
170
+ .btn-large .caret {
171
+ border-left-width: 5px;
172
+ border-right-width: 5px;
173
+ border-top-width: 5px;
174
+ }
175
+ .btn-mini .caret,
176
+ .btn-small .caret {
177
+ margin-top: 8px;
178
+ }
179
+ // Upside down carets for .dropup
180
+ .dropup .btn-large .caret {
181
+ border-bottom-width: 5px;
182
+ }
183
+
184
+
185
+
186
+ // Account for other colors
187
+ .btn-primary,
188
+ .btn-warning,
189
+ .btn-danger,
190
+ .btn-info,
191
+ .btn-success,
192
+ .btn-inverse {
193
+ .caret {
194
+ border-top-color: @white;
195
+ border-bottom-color: @white;
196
+ }
197
+ }
198
+
199
+
200
+
201
+ // Vertical button groups
202
+ // ----------------------
203
+
204
+ .btn-group-vertical {
205
+ display: inline-block; // makes buttons only take up the width they need
206
+ .ie7-inline-block();
207
+ }
208
+ .btn-group-vertical > .btn {
209
+ display: block;
210
+ float: none;
211
+ max-width: 100%;
212
+ .border-radius(0);
213
+ }
214
+ .btn-group-vertical > .btn + .btn {
215
+ margin-left: 0;
216
+ margin-top: -1px;
217
+ }
218
+ .btn-group-vertical > .btn:first-child {
219
+ .border-radius(@baseBorderRadius @baseBorderRadius 0 0);
220
+ }
221
+ .btn-group-vertical > .btn:last-child {
222
+ .border-radius(0 0 @baseBorderRadius @baseBorderRadius);
223
+ }
224
+ .btn-group-vertical > .btn-large:first-child {
225
+ .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0);
226
+ }
227
+ .btn-group-vertical > .btn-large:last-child {
228
+ .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge);
229
+ }
@@ -0,0 +1,228 @@
1
+ //
2
+ // Buttons
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base styles
7
+ // --------------------------------------------------
8
+
9
+ // Core
10
+ .btn {
11
+ display: inline-block;
12
+ .ie7-inline-block();
13
+ padding: 4px 12px;
14
+ margin-bottom: 0; // For input.btn
15
+ font-size: @baseFontSize;
16
+ line-height: @baseLineHeight;
17
+ text-align: center;
18
+ vertical-align: middle;
19
+ cursor: pointer;
20
+ .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
21
+ border: 1px solid @btnBorder;
22
+ *border: 0; // Remove the border to prevent IE7's black border on input:focus
23
+ border-bottom-color: darken(@btnBorder, 10%);
24
+ .border-radius(@baseBorderRadius);
25
+ .ie7-restore-left-whitespace(); // Give IE7 some love
26
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
27
+
28
+ // Hover/focus state
29
+ &:hover,
30
+ &:focus {
31
+ color: @grayDark;
32
+ text-decoration: none;
33
+ background-position: 0 -15px;
34
+
35
+ // transition is only when going to hover/focus, otherwise the background
36
+ // behind the gradient (there for IE<=9 fallback) gets mismatched
37
+ .transition(background-position .1s linear);
38
+ }
39
+
40
+ // Focus state for keyboard and accessibility
41
+ &:focus {
42
+ .tab-focus();
43
+ }
44
+
45
+ // Active state
46
+ &.active,
47
+ &:active {
48
+ background-image: none;
49
+ outline: 0;
50
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
51
+ }
52
+
53
+ // Disabled state
54
+ &.disabled,
55
+ &[disabled] {
56
+ cursor: default;
57
+ background-image: none;
58
+ .opacity(65);
59
+ .box-shadow(none);
60
+ }
61
+
62
+ }
63
+
64
+
65
+
66
+ // Button Sizes
67
+ // --------------------------------------------------
68
+
69
+ // Large
70
+ .btn-large {
71
+ padding: @paddingLarge;
72
+ font-size: @fontSizeLarge;
73
+ .border-radius(@borderRadiusLarge);
74
+ }
75
+ .btn-large [class^="icon-"],
76
+ .btn-large [class*=" icon-"] {
77
+ margin-top: 4px;
78
+ }
79
+
80
+ // Small
81
+ .btn-small {
82
+ padding: @paddingSmall;
83
+ font-size: @fontSizeSmall;
84
+ .border-radius(@borderRadiusSmall);
85
+ }
86
+ .btn-small [class^="icon-"],
87
+ .btn-small [class*=" icon-"] {
88
+ margin-top: 0;
89
+ }
90
+ .btn-mini [class^="icon-"],
91
+ .btn-mini [class*=" icon-"] {
92
+ margin-top: -1px;
93
+ }
94
+
95
+ // Mini
96
+ .btn-mini {
97
+ padding: @paddingMini;
98
+ font-size: @fontSizeMini;
99
+ .border-radius(@borderRadiusSmall);
100
+ }
101
+
102
+
103
+ // Block button
104
+ // -------------------------
105
+
106
+ .btn-block {
107
+ display: block;
108
+ width: 100%;
109
+ padding-left: 0;
110
+ padding-right: 0;
111
+ .box-sizing(border-box);
112
+ }
113
+
114
+ // Vertically space out multiple block buttons
115
+ .btn-block + .btn-block {
116
+ margin-top: 5px;
117
+ }
118
+
119
+ // Specificity overrides
120
+ input[type="submit"],
121
+ input[type="reset"],
122
+ input[type="button"] {
123
+ &.btn-block {
124
+ width: 100%;
125
+ }
126
+ }
127
+
128
+
129
+
130
+ // Alternate buttons
131
+ // --------------------------------------------------
132
+
133
+ // Provide *some* extra contrast for those who can get it
134
+ .btn-primary.active,
135
+ .btn-warning.active,
136
+ .btn-danger.active,
137
+ .btn-success.active,
138
+ .btn-info.active,
139
+ .btn-inverse.active {
140
+ color: rgba(255,255,255,.75);
141
+ }
142
+
143
+ // Set the backgrounds
144
+ // -------------------------
145
+ .btn-primary {
146
+ .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
147
+ }
148
+ // Warning appears are orange
149
+ .btn-warning {
150
+ .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
151
+ }
152
+ // Danger and error appear as red
153
+ .btn-danger {
154
+ .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
155
+ }
156
+ // Success appears as green
157
+ .btn-success {
158
+ .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
159
+ }
160
+ // Info appears as a neutral blue
161
+ .btn-info {
162
+ .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
163
+ }
164
+ // Inverse appears as dark gray
165
+ .btn-inverse {
166
+ .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
167
+ }
168
+
169
+
170
+ // Cross-browser Jank
171
+ // --------------------------------------------------
172
+
173
+ button.btn,
174
+ input[type="submit"].btn {
175
+
176
+ // Firefox 3.6 only I believe
177
+ &::-moz-focus-inner {
178
+ padding: 0;
179
+ border: 0;
180
+ }
181
+
182
+ // IE7 has some default padding on button controls
183
+ *padding-top: 3px;
184
+ *padding-bottom: 3px;
185
+
186
+ &.btn-large {
187
+ *padding-top: 7px;
188
+ *padding-bottom: 7px;
189
+ }
190
+ &.btn-small {
191
+ *padding-top: 3px;
192
+ *padding-bottom: 3px;
193
+ }
194
+ &.btn-mini {
195
+ *padding-top: 1px;
196
+ *padding-bottom: 1px;
197
+ }
198
+ }
199
+
200
+
201
+ // Link buttons
202
+ // --------------------------------------------------
203
+
204
+ // Make a button look and behave like a link
205
+ .btn-link,
206
+ .btn-link:active,
207
+ .btn-link[disabled] {
208
+ background-color: transparent;
209
+ background-image: none;
210
+ .box-shadow(none);
211
+ }
212
+ .btn-link {
213
+ border-color: transparent;
214
+ cursor: pointer;
215
+ color: @linkColor;
216
+ .border-radius(0);
217
+ }
218
+ .btn-link:hover,
219
+ .btn-link:focus {
220
+ color: @linkColorHover;
221
+ text-decoration: underline;
222
+ background-color: transparent;
223
+ }
224
+ .btn-link[disabled]:hover,
225
+ .btn-link[disabled]:focus {
226
+ color: @grayDark;
227
+ text-decoration: none;
228
+ }