Commit 24e624ba by Torkel Ödegaard

Merge branch 'master' of github.com:elasticsearch/kibana

Conflicts:
	docs/kibana/configuration/config.js.asciidoc
	src/app/directives/configModal.js
	src/app/directives/kibanaPanel.js
	src/app/panels/filtering/module.html
	src/app/panels/query/module.html
	src/app/panels/query/query.css
	src/app/panels/table/editor.html
	src/app/panels/table/module.js
	src/app/partials/dashLoader.html
	src/app/partials/dashboard.html
	src/app/services/querySrv.js
	src/css/bootstrap.dark.min.css
	src/index.html
	tasks/docs_task.js
parents 3f9cb803 a13f6e0e
......@@ -4,6 +4,18 @@
"selected_items":
[
[
"grap",
"graphiteSrv"
],
[
"pul",
"pulldown"
],
[
"pull",
"pulldowns"
],
[
"ser",
"seriesInfo"
],
......@@ -63,7 +75,7 @@
"file": "src/app/components/require.config.js",
"settings":
{
"buffer_size": 3852,
"buffer_size": 3549,
"line_ending": "Windows"
}
},
......@@ -74,12 +86,94 @@
"buffer_size": 1492,
"line_ending": "Windows"
}
},
{
"contents": "Searching 228 files for \"pulldowns\"\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\default.json:\n 73 \"failover\": false,\n 74 \"panel_hints\": true,\n 75: \"pulldowns\": [],\n 76 \"nav\": [\n 77 {\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\guided.json:\n 221 \"hide\": false\n 222 },\n 223: \"pulldowns\": [\n 224 {\n 225 \"type\": \"query\",\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\logstash.json:\n 160 \"style\": \"dark\",\n 161 \"panel_hints\": true,\n 162: \"pulldowns\": [\n 163 {\n 164 \"type\": \"query\",\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\noted.json:\n 110 \"hide\": false\n 111 },\n 112: \"pulldowns\": [\n 113 {\n 114 \"type\": \"query\",\n\nC:\\Dev\\oss\\grafana\\src\\app\\partials\\dashboard.html:\n 1 <!-- is there a better way to repeat without actually affecting the page? -->\n 2: <nil ng-repeat=\"pulldown in dashboard.current.pulldowns\" ng-controller=\"PulldownCtrl\" ng-show=\"pulldown.enable\">\n 3 <div class=\"top-row-open\" ng-hide=\"pulldown.collapse\">\n 4 <kibana-simple-panel type=\"pulldown.type\" ng-cloak></kibana-simple-panel>\n\nC:\\Dev\\oss\\grafana\\src\\app\\partials\\dasheditor.html:\n 114 <div class=\"editor-row\">\n 115 <div class=\"section\">\n 116: <h5>Pulldowns</h5>\n 117: <div class=\"editor-option\" ng-repeat=\"pulldown in dashboard.current.pulldowns\">\n 118 <label class=\"small\" style=\"text-transform:capitalize;\">{{pulldown.type}}</label><input type=\"checkbox\" ng-model=\"pulldown.enable\" ng-checked=\"pulldown.enable\">\n 119 </div>\n\nC:\\Dev\\oss\\grafana\\src\\app\\services\\dashboard.js:\n 27 panel_hints: true,\n 28 rows: [],\n 29: pulldowns: [\n 30 {\n 31 type: 'query',\n ..\n 176 // Set the available panels for the \"Add Panel\" drop down\n 177 self.availablePanels = _.difference(config.panel_names,\n 178: _.pluck(_.union(self.current.nav,self.current.pulldowns),'type'));\n 179 \n 180 // Take out any that we're not allowed to add from the gui.\n\n9 matches across 7 files\n\n\nSearching 226 files for \"'filter'\"\n\nC:\\Dev\\oss\\grafana\\src\\app\\panels\\filtering\\module.js:\n 27 _.defaults($scope.panel,_d);\n 28 \n 29: $scope.$on('filter', function() {\n 30 $scope.row.notice = true;\n 31 });\n\nC:\\Dev\\oss\\grafana\\src\\app\\services\\filterSrv.js:\n 89 },0);\n 90 }\n 91: $rootScope.$broadcast('filter');\n 92 return _r;\n 93 };\n ..\n 111 },0);\n 112 }\n 113: $rootScope.$broadcast('filter');\n 114 return _r;\n 115 };\n\nC:\\Dev\\oss\\grafana\\src\\vendor\\underscore.js:\n 241 _.where = function(obj, attrs, first) {\n 242 if (_.isEmpty(attrs)) return first ? void 0 : [];\n 243: return _[first ? 'find' : 'filter'](obj, function(value) {\n 244 for (var key in attrs) {\n 245 if (attrs[key] !== value[key]) return false;\n\nC:\\Dev\\oss\\grafana\\src\\vendor\\angular\\angular.js:\n 10727 $FilterProvider.$inject = ['$provide'];\n 10728 function $FilterProvider($provide) {\n 10729: var suffix = 'Filter';\n 10730 \n 10731 function register(name, factory) {\n .....\n 10744 register('currency', currencyFilter);\n 10745 register('date', dateFilter);\n 10746: register('filter', filterFilter);\n 10747 register('json', jsonFilter);\n 10748 register('limitTo', limitToFilter);\n\nC:\\Dev\\oss\\grafana\\src\\vendor\\elasticjs\\elastic.js:\n 237 \n 238 isFilter = function (obj) {\n 239: return (isEJSObject(obj) && obj._type() === 'filter');\n 240 };\n 241 \n ...\n 3550 */\n 3551 _type: function () {\n 3552: return 'filter';\n 3553 },\n 3554 \n ....\n 3777 */\n 3778 _type: function () {\n 3779: return 'filter';\n 3780 },\n 3781 \n ....\n 3870 */\n 3871 _type: function () {\n 3872: return 'filter';\n 3873 },\n 3874 \n ....\n 4084 */\n 4085 _type: function () {\n 4086: return 'filter';\n 4087 },\n 4088 \n ....\n 4345 */\n 4346 _type: function () {\n 4347: return 'filter';\n 4348 },\n 4349 \n ....\n 4739 */\n 4740 _type: function () {\n 4741: return 'filter';\n 4742 },\n 4743 \n ....\n 4926 */\n 4927 _type: function () {\n 4928: return 'filter';\n 4929 },\n 4930 \n ....\n 5156 */\n 5157 _type: function () {\n 5158: return 'filter';\n 5159 },\n 5160 \n ....\n 5356 */\n 5357 _type: function () {\n 5358: return 'filter';\n 5359 },\n 5360 \n ....\n 5540 */\n 5541 _type: function () {\n 5542: return 'filter';\n 5543 },\n 5544 \n ....\n 5678 */\n 5679 _type: function () {\n 5680: return 'filter';\n 5681 },\n 5682 \n ....\n 5828 */\n 5829 _type: function () {\n 5830: return 'filter';\n 5831 },\n 5832 \n ....\n 5907 */\n 5908 _type: function () {\n 5909: return 'filter';\n 5910 },\n 5911 \n ....\n 5963 */\n 5964 _type: function () {\n 5965: return 'filter';\n 5966 },\n 5967 \n ....\n 6086 */\n 6087 _type: function () {\n 6088: return 'filter';\n 6089 },\n 6090 \n ....\n 6300 */\n 6301 _type: function () {\n 6302: return 'filter';\n 6303 },\n 6304 \n ....\n 6431 */\n 6432 _type: function () {\n 6433: return 'filter';\n 6434 },\n 6435 \n ....\n 6728 */\n 6729 _type: function () {\n 6730: return 'filter';\n 6731 },\n 6732 \n ....\n 6885 */\n 6886 _type: function () {\n 6887: return 'filter';\n 6888 },\n 6889 \n ....\n 7032 */\n 7033 _type: function () {\n 7034: return 'filter';\n 7035 },\n 7036 \n ....\n 7170 */\n 7171 _type: function () {\n 7172: return 'filter';\n 7173 },\n 7174 \n ....\n 7431 */\n 7432 _type: function () {\n 7433: return 'filter';\n 7434 },\n 7435 \n ....\n 7625 */\n 7626 _type: function () {\n 7627: return 'filter';\n 7628 },\n 7629 \n ....\n 7782 */\n 7783 _type: function () {\n 7784: return 'filter';\n 7785 },\n 7786 \n ....\n 7934 */\n 7935 _type: function () {\n 7936: return 'filter';\n 7937 },\n 7938 \n ....\n 8243 */\n 8244 _type: function () {\n 8245: return 'filter';\n 8246 },\n 8247 \n ....\n 8319 */\n 8320 _type: function () {\n 8321: return 'filter';\n 8322 },\n 8323 \n ....\n 10104 @param {Object} qry A valid query object.\n 10105 @param {Object || Array} filters A single object or array of objects. Each\n 10106: object must have a 'filter' property and either a 'boost' or 'script'\n 10107 property.\n 10108 */\n .....\n 10180 <p>Sets the filters and their related boost or script scoring method.</p>\n 10181 \n 10182: <p>Takes an array of objects where each object has a 'filter' property\n 10183 and either a 'boost' or 'script' property. Pass a single object to\n 10184 add to the current list of filters or pass a list of objects to\n\n36 matches across 5 files\n\n\nSearching 227 files for \"timeField\"\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\default.json:\n 103 \"1d\"\n 104 ],\n 105: \"timefield\": \"@timestamp\",\n 106 \"enable\": true,\n 107 \"now\": true,\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\guided.json:\n 266 \"1d\"\n 267 ],\n 268: \"timefield\": \"@timestamp\"\n 269 }\n 270 ],\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\logstash.js:\n 14 *\n 15 * from :: Search this amount of time back, eg 15m, 1h, 2d. Default: 15m\n 16: * timefield :: The field containing the time to filter on, Default: @timestamp\n 17 *\n 18 * fields :: comma seperated list of fields to show in the table\n ..\n 91 from: \"now-\"+(ARGS.from||_d_timespan),\n 92 to: \"now\",\n 93: field: ARGS.timefield||\"@timestamp\",\n 94 type: \"time\",\n 95 active: true,\n ..\n 117 title: 'events over time',\n 118 type: 'histogram',\n 119: time_field: ARGS.timefield||\"@timestamp\",\n 120 auto_int: true,\n 121 span: 12\n ...\n 129 type: 'table',\n 130 fields: !_.isUndefined(ARGS.fields) ? ARGS.fields.split(',') : [],\n 131: sort: !_.isUndefined(ARGS.sort) ? ARGS.sort.split(',') : [ARGS.timefield||'@timestamp','desc'],\n 132 overflow: 'expand',\n 133 span: 12\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\logstash.json:\n 130 \"fields\": [],\n 131 \"localTime\": true,\n 132: \"timeField\": \"@timestamp\",\n 133 \"highlight\": [],\n 134 \"sortable\": true,\n ...\n 205 \"1d\"\n 206 ],\n 207: \"timefield\": \"@timestamp\",\n 208 \"now\": true,\n 209 \"filter_id\": 0\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\noted.json:\n 155 \"1d\"\n 156 ],\n 157: \"timefield\": \"@timestamp\"\n 158 }\n 159 ],\n\nC:\\Dev\\oss\\grafana\\src\\app\\panels\\timepicker\\editor.html:\n 10 <div class=\"span2\">\n 11 <label class=\"small\">Time Field</label>\n 12: <input type=\"text\" class=\"input-small\" ng-model=\"panel.timefield\">\n 13 </div>\n 14 </div>\n\nC:\\Dev\\oss\\grafana\\src\\app\\panels\\timepicker\\module.js:\n 7 * time_options :: An array of possible time options. Default: ['5m','15m','1h','6h','12h','24h','2d','7d','30d']\n 8 * timespan :: The default options selected for the relative view. Default: '15m'\n 9: * timefield :: The field in which time is stored in the document.\n 10 * refresh: Object containing refresh parameters\n 11 * enable :: true/false, enable auto refresh by default. Default: false\n ..\n 40 refresh_intervals : ['5s','10s','30s','1m','5m','15m','30m','1h','2h','1d'],\n 41 \n 42: timefield : '@timestamp'\n 43 };\n 44 _.defaults($scope.panel,_d);\n ..\n 130 \n 131 _filter.type = 'time';\n 132: _filter.field = $scope.panel.timefield;\n 133 \n 134 if($scope.panel.now) {\n ...\n 154 var _filter = {\n 155 type : 'time',\n 156: field : $scope.panel.timefield,\n 157 from : \"now-\"+timespan,\n 158 to: \"now\"\n\nC:\\Dev\\oss\\grafana\\src\\app\\services\\filterSrv.js:\n 202 \n 203 // TOFIX: Error handling when there is more than one field\n 204: this.timeField = function() {\n 205 return _.pluck(self.getByType('time'),'field');\n 206 };\n\nC:\\Users\\Torkel\\Downloads\\Grafana3-1388335099517:\n 397 \"1d\"\n 398 ],\n 399: \"timefield\": \"@timestamp\",\n 400 \"enable\": true,\n 401 \"now\": false,\n\n16 matches across 9 files\n\n\nSearching 226 files for \"bs-drop\"\n\n0 matches across 0 files\n\n\nSearching 226 files for \"bsdropd\"\n\nC:\\Dev\\oss\\grafana\\src\\vendor\\angular\\angular-strap.js:\n 380 ]);\n 381 'use strict';\n 382: angular.module('$strap.directives').directive('bsDropdown', [\n 383 '$parse',\n 384 '$compile',\n ...\n 406 scope: true,\n 407 link: function postLink(scope, iElement, iAttrs) {\n 408: var getter = $parse(iAttrs.bsDropdown), items = getter(scope);\n 409 $timeout(function () {\n 410 if (!angular.isArray(items)) {\n\n2 matches in 1 file\n\n\nSearching 226 files for \"'mandate'\"\n\nC:\\Dev\\oss\\grafana\\src\\app\\panels\\filtering\\module.js:\n 63 \n 64 $scope.show_key = function(key) {\n 65: return !_.contains(['type','id','alias','mandate','active','editing'],key);\n 66 };\n 67 \n\n1 match in 1 file\n\n\nSearching 226 files for \"mandate\"\n\nC:\\Dev\\oss\\grafana\\grafana.sublime-workspace:\n 239 \"D:\\\\Temp\\\\graphite-web-0.9.12\\\\graphite-web-0.9.12\",\n 240 \"\",\n 241: \" \\\"filter\\\": {\\n \\\"list\\\": {\\n \\\"0\\\": {\\n \\\"type\\\": \\\"time\\\",\\n \\\"field\\\": \\\"@timestamp\\\",\\n \\\"from\\\": \\\"now-1h\\\",\\n \\\"to\\\": \\\"now\\\",\\n \\\"mandate\\\": \\\"must\\\",\\n \\\"active\\\": true,\\n \\\"alias\\\": \\\"\\\",\\n \\\"id\\\": 0\\n }\\n },\\n \\\"ids\\\": [\\n 0\\n ]\\n\",\n 242: \" \\\"filter\\\": {\\n \\\"list\\\": {\\n \\\"0\\\": {\\n \\\"type\\\": \\\"time\\\",\\n \\\"field\\\": \\\"@timestamp\\\",\\n \\\"from\\\": \\\"now-1h\\\",\\n \\\"to\\\": \\\"now\\\",\\n \\\"mandate\\\": \\\"must\\\",\\n \\\"active\\\": true,\\n \\\"alias\\\": \\\"\\\",\\n \\\"id\\\": 0\\n }\\n },\\n \\\"ids\\\": [\\n 0\\n ]\\n \",\n 243 \"D:\\\\oss\\\\mongodb-metrics\\\\node_modules\\\\mongodb\",\n 244 \"D:\\\\ebay\\\\tradera\\\\Applications\\\\TouchWeb\",\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\default.json:\n 24 \"from\": \"now-1h\",\n 25 \"to\": \"now\",\n 26: \"mandate\": \"must\",\n 27 \"active\": true,\n 28 \"alias\": \"\",\n\nC:\\Dev\\oss\\grafana\\src\\app\\dashboards\\logstash.json:\n 24 \"from\": \"now-{{ARGS.from || '24h'}}\",\n 25 \"to\": \"now\",\n 26: \"mandate\": \"must\",\n 27 \"active\": true,\n 28 \"alias\": \"\",\n\nC:\\Dev\\oss\\grafana\\src\\app\\panels\\filtering\\module.html:\n 34 margin-left: 3px;\n 35 }\n 36: .filter-mandate {\n 37 text-decoration: underline;\n 38 cursor: pointer;\n ..\n 48 <h5>No filters available</h5>\n 49 </span>\n 50: <div ng-repeat=\"id in filterSrv.ids\" class=\"small filter-panel-filter filter-{{filterSrv.list[id].mandate}}\" ng-class=\"{'filter-deselected': !filterSrv.list[id].active}\">\n 51 <div>\n 52 <i class=\"filter-action pointer icon-remove\" bs-tooltip=\"'Remove'\" ng-click=\"remove(id)\"></i>\n\nC:\\Dev\\oss\\grafana\\src\\app\\panels\\filtering\\module.js:\n 63 \n 64 $scope.show_key = function(key) {\n 65: return !_.contains(['type','id','alias','mandate','active','editing'],key);\n 66 };\n 67 \n\nC:\\Dev\\oss\\grafana\\src\\app\\services\\filterSrv.js:\n 54 \n 55 _.defaults(filter,{\n 56: mandate:'must',\n 57 active: true\n 58 });\n ..\n 80 alias: '',\n 81 id: _id,\n 82: mandate: 'must'\n 83 };\n 84 _.defaults(filter,_filter);\n ..\n 144 added_a_filter = true;\n 145 \n 146: switch(self.list[id].mandate)\n 147 {\n 148 case 'mustNot':\n\n10 matches across 6 files\n\n\nSearching 226 files for \"bs-dropdown\"\n\nC:\\Dev\\oss\\grafana\\src\\app\\panels\\filtering\\module.html:\n 59 <li ng-if=\"filterSrv.list[id].name\">\n 60 {{filterSrv.list[id].name}} :\n 61: <a bs-dropdown=\"[{text: 'testing'}]\">All</a>\n 62 </li>\n 63 <li ng-repeat=\"(key,value) in filterSrv.list[id] track by $index\" ng-show=\"show_key(key)\">\n\n1 match in 1 file\n\n\nSearching 226 files for \"bspop\"\n\nC:\\Dev\\oss\\grafana\\src\\vendor\\angular\\angular-strap.js:\n 536 ]);\n 537 'use strict';\n 538: angular.module('$strap.directives').directive('bsPopover', [\n 539 '$parse',\n 540 '$compile',\n ...\n 556 scope: true,\n 557 link: function postLink(scope, element, attr, ctrl) {\n 558: var getter = $parse(attr.bsPopover), setter = getter.assign, value = getter(scope), options = {};\n 559 if (angular.isObject(value)) {\n 560 options = value;\n\n2 matches in 1 file\n",
"settings":
{
"buffer_size": 15575,
"line_ending": "Windows",
"name": "Find Results",
"scratch": true
}
},
{
"file": "src/vendor/angular/angular-strap.js",
"settings":
{
"buffer_size": 31514,
"line_ending": "Windows"
}
},
{
"file": "src/app/panels/timepicker/module.js",
"settings":
{
"buffer_size": 6147,
"line_ending": "Windows"
}
},
{
"file": "src/app/dashboards/guided.json",
"settings":
{
"buffer_size": 6721,
"line_ending": "Windows"
}
},
{
"file": "src/app/panels/filtering/module.html",
"settings":
{
"buffer_size": 2866,
"line_ending": "Windows"
}
},
{
"file": "src/app/panels/filtering/module.js",
"settings":
{
"buffer_size": 2288,
"line_ending": "Windows"
}
},
{
"file": "src/app/panels/graphite/module.js",
"settings":
{
"buffer_size": 23005,
"line_ending": "Windows"
}
},
{
"file": "src/app/services/filterSrv.js",
"settings":
{
"buffer_size": 6631,
"line_ending": "Windows"
}
},
{
"file": "src/app/services/graphite/graphiteSrv.js",
"settings":
{
"buffer_size": 2343,
"line_ending": "Windows"
}
},
{
"file": "src/app/controllers/graphiteTarget.js",
"settings":
{
"buffer_size": 6702,
"line_ending": "Windows"
}
}
],
"build_system": "",
"command_palette":
{
"height": 60.0,
"height": 362.0,
"selected_items":
[
[
......@@ -131,7 +225,7 @@
"Package Control: Remove Package"
]
],
"width": 498.0
"width": 594.0
},
"console":
{
......@@ -152,6 +246,10 @@
},
"file_history":
[
"/C/Dev/oss/grafana/src/app/services/filterSrv.js",
"/C/Dev/oss/grafana/src/app/panels/filtering/module.js",
"/C/Dev/oss/grafana/src/app/services/dashboard.js",
"/C/Users/Torkel/Downloads/Grafana3-1388335099517",
"/D/ebay/asimov-tradera/WinAgent.ConfigFiles/config.prod_manage.json",
"/C/Dev/oss/grafana/src/app/components/settings.js",
"/C/Dev/oss/grafana/src/app/controllers/zoom.js",
......@@ -228,7 +326,7 @@
],
"find":
{
"height": 41.0
"height": 60.0
},
"find_in_files":
{
......@@ -250,6 +348,26 @@
"case_sensitive": false,
"find_history":
[
"bspop",
"bs-dropdown",
"alias",
"mandate",
"'mandate'",
"show_key",
"bsdropd",
"bs-drop",
"set ",
"zoom",
"timeField",
"timeF",
"timefi",
"@times",
"field",
"queries",
"editing",
"'filter'",
"load",
"pulldowns",
".input-mini",
"keyCode == 27",
"esc",
......@@ -375,7 +493,7 @@
"groups":
[
{
"selected": 1,
"selected": 3,
"sheets":
[
{
......@@ -384,15 +502,15 @@
"semi_transient": false,
"settings":
{
"buffer_size": 3852,
"buffer_size": 3549,
"regions":
{
},
"selection":
[
[
1653,
1653
0,
0
]
],
"settings":
......@@ -420,8 +538,8 @@
"selection":
[
[
907,
907
910,
910
]
],
"settings":
......@@ -435,6 +553,617 @@
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 2,
"semi_transient": false,
"settings":
{
"buffer_size": 15575,
"regions":
{
"match":
{
"flags": 112,
"regions":
[
[
157,
166
],
[
303,
312
],
[
480,
489
],
[
635,
644
],
[
883,
892
],
[
1243,
1252
],
[
1341,
1350
],
[
1672,
1681
],
[
1941,
1950
],
[
2232,
2240
],
[
2431,
2439
],
[
2557,
2565
],
[
2799,
2807
],
[
3097,
3105
],
[
3275,
3283
],
[
3539,
3547
],
[
3654,
3662
],
[
3772,
3780
],
[
3890,
3898
],
[
4008,
4016
],
[
4126,
4134
],
[
4244,
4252
],
[
4362,
4370
],
[
4480,
4488
],
[
4598,
4606
],
[
4716,
4724
],
[
4834,
4842
],
[
4952,
4960
],
[
5070,
5078
],
[
5188,
5196
],
[
5306,
5314
],
[
5424,
5432
],
[
5542,
5550
],
[
5660,
5668
],
[
5778,
5786
],
[
5896,
5904
],
[
6014,
6022
],
[
6132,
6140
],
[
6250,
6258
],
[
6368,
6376
],
[
6486,
6494
],
[
6604,
6612
],
[
6722,
6730
],
[
6937,
6945
],
[
7210,
7218
],
[
7568,
7577
],
[
7751,
7760
],
[
7953,
7962
],
[
8219,
8228
],
[
8400,
8409
],
[
8656,
8665
],
[
8879,
8888
],
[
9030,
9039
],
[
9211,
9220
],
[
9472,
9481
],
[
9798,
9807
],
[
10118,
10127
],
[
10293,
10302
],
[
10449,
10458
],
[
10669,
10678
],
[
10870,
10879
],
[
11220,
11227
],
[
11413,
11420
],
[
11756,
11765
],
[
12200,
12207
],
[
12568,
12575
],
[
12985,
12992
],
[
13223,
13230
],
[
13425,
13432
],
[
13683,
13690
],
[
14047,
14054
],
[
14211,
14218
],
[
14355,
14362
],
[
14528,
14535
],
[
14839,
14850
],
[
15208,
15213
],
[
15401,
15406
]
],
"scope": ""
}
},
"selection":
[
[
15398,
15398
]
],
"settings":
{
"detect_indentation": false,
"line_numbers": false,
"output_tag": 9,
"result_base_dir": "",
"result_file_regex": "^([A-Za-z\\\\/<].*):$",
"result_line_regex": "^ +([0-9]+):",
"scroll_past_end": true,
"syntax": "Packages/Default/Find Results.hidden-tmLanguage",
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 18288.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 3,
"file": "src/vendor/angular/angular-strap.js",
"semi_transient": false,
"settings":
{
"buffer_size": 31514,
"regions":
{
},
"selection":
[
[
15185,
15185
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 14100.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 4,
"file": "src/app/panels/timepicker/module.js",
"semi_transient": false,
"settings":
{
"buffer_size": 6147,
"regions":
{
},
"selection":
[
[
2855,
2855
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 2742.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 5,
"file": "src/app/dashboards/guided.json",
"semi_transient": false,
"settings":
{
"buffer_size": 6721,
"regions":
{
},
"selection":
[
[
289,
289
]
],
"settings":
{
"syntax": "Packages/JavaScript/JSON.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 6,
"file": "src/app/panels/filtering/module.html",
"semi_transient": false,
"settings":
{
"buffer_size": 2866,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/HTML/HTML.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 1440.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 7,
"file": "src/app/panels/filtering/module.js",
"semi_transient": false,
"settings":
{
"buffer_size": 2288,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 1500.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 8,
"file": "src/app/panels/graphite/module.js",
"semi_transient": false,
"settings":
{
"buffer_size": 23005,
"regions":
{
},
"selection":
[
[
22424,
22424
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 25998.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 9,
"file": "src/app/services/filterSrv.js",
"semi_transient": false,
"settings":
{
"buffer_size": 6631,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 1296.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 10,
"file": "src/app/services/graphite/graphiteSrv.js",
"semi_transient": false,
"settings":
{
"buffer_size": 2343,
"regions":
{
},
"selection":
[
[
1504,
1505
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 1554.0,
"zoom_level": 1.0
},
"type": "text"
},
{
"buffer": 11,
"file": "src/app/controllers/graphiteTarget.js",
"semi_transient": false,
"settings":
{
"buffer_size": 6702,
"regions":
{
},
"selection":
[
[
2673,
2673
]
],
"settings":
{
"syntax": "Packages/JavaScript/JavaScript.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 3168.0,
"zoom_level": 1.0
},
"type": "text"
}
]
}
......@@ -486,6 +1215,26 @@
"selected_items":
[
[
"grapte",
"src\\app\\controllers\\graphiteTarget.js"
],
[
"fil",
"src\\app\\services\\filterSrv.js"
],
[
"mod",
"src\\app\\panels\\graphite\\module.js"
],
[
"filters",
"src\\app\\services\\filterSrv.js"
],
[
"dashb",
"src\\app\\services\\dashboard.js"
],
[
"graf",
"src\\vendor\\bootstrap\\less\\grafana.less"
],
......@@ -498,10 +1247,6 @@
"src\\vendor\\bootstrap\\less\\overrides.less"
],
[
"mod",
"src\\app\\panels\\graphite\\module.js"
],
[
"graphites",
"src\\app\\panels\\graphite\\graphiteSrv.js"
],
......
$HTTP["host"] =~ "kibana" {
server.document-root = "/var/ww/kibana/src"
auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/kibanapassword"
index-file.names = ( "index.html", "index.htm" )
auth.require = ( "/" => (
"method" => "basic",
"realm" => "Password Protected",
"require" => "valid-user"
)
)
$HTTP["url"] =~ "^/kibana-int/(dashboard/|temp).*$" {
proxy.balance = "hash"
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "9200" ) ) )
}
$HTTP["url"] =~ "^.*/_(mapping|search|nodes|aliases)$" {
proxy.balance = "hash"
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "9200" ) ) )
}
}
......@@ -77,7 +77,7 @@ function (angular, $, config, _) {
$rootScope.$emit('open-search', evt);
}, { inputDisabled: true });
keyboardManager.bind('ctrl+h', function(evt) {
keyboardManager.bind('ctrl+h', function() {
var current = dashboard.current.hideControls;
dashboard.current.hideControls = !current;
dashboard.current.panel_hints = !current;
......@@ -87,7 +87,7 @@ function (angular, $, config, _) {
$rootScope.$emit('save-dashboard', evt);
}, { inputDisabled: true });
keyboardManager.bind('ctrl+r', function(evt) {
keyboardManager.bind('ctrl+r', function() {
dashboard.refresh();
}, { inputDisabled: true });
......@@ -162,6 +162,12 @@ function (angular, $, config, _) {
}
};
$scope.pulldownTabStyle = function(i) {
var classes = ['bgPrimary','bgSuccess','bgWarning','bgDanger','bgInverse','bgInfo'];
i = i%classes.length;
return classes[i];
};
$scope.setEditorTabs = function(panelMeta) {
$scope.editorTabs = ['General','Panel'];
if(!_.isUndefined(panelMeta.editorTabs)) {
......
define([
'angular',
'underscore'
'underscore',
'moment'
],
function (angular, _) {
function (angular, _, moment) {
'use strict';
var module = angular.module('kibana.controllers');
......@@ -160,7 +161,6 @@ function (angular, _) {
type:'time',
from:moment.utc(_from).toDate(),
to:moment.utc(_to).toDate(),
field:"@timestamp"
});
};
......
......@@ -15,7 +15,6 @@ function (angular, _, config, graphiteFuncs, Parser) {
$scope.init = function() {
$scope.funcCategories = graphiteFuncs.getCategories();
parseTarget();
i = 10;
};
function parseTarget() {
......
define([
'angular',
'app',
'underscore'
],
function (angular) {
function (angular,_) {
'use strict';
angular
......@@ -11,6 +11,7 @@ function (angular) {
return {
restrict: 'A',
link: function(scope, elem) {
// create a new modal. Can't reuse one modal unforunately as the directive will not
// re-render on show.
elem.bind('click',function(){
......@@ -20,11 +21,23 @@ function (angular) {
return;
}
// Create a temp scope so we can discard changes to it if needed
var tmpScope = scope.$new();
tmpScope.panel = angular.copy(scope.panel);
tmpScope.editSave = function(panel) {
// Correctly set the top level properties of the panel object
_.each(panel,function(v,k) {
scope.panel[k] = panel[k];
});
};
var panelModal = $modal({
template: './app/partials/paneleditor.html',
persist: true,
show: false,
scope: scope,
scope: tmpScope,
keyboard: false
});
......
......@@ -30,9 +30,6 @@ function (angular) {
'onStop:\'panelMoveStop\''+
'}" ng-model="row.panels"><i class="icon-move"></i></span>'+
'</span>' +
'<span class="extra row-button" ng-show="panel.draggable == false">' +
'<span class="row-text">{{panel.type}}</span>'+
'</span>' +
'<span class="row-button extra" ng-show="panel.editable != false">' +
'<span config-modal class="pointer">'+
......@@ -51,7 +48,7 @@ function (angular) {
'</span>' +
'<span ng-if="panelMeta.menuItems" class="dropdown" ng-show="panel.title">' +
'<span class="pointer dropdown-toggle row-text row-button panel-title pointer" data-toggle="dropdown" tabindex="1">' +
'<span class="dropdown-toggle panel-text panel-title pointer" data-toggle="dropdown" tabindex="1">' +
'{{panel.title}}' +
'</span>' +
'<ul class="dropdown-menu" role="menu">' +
......@@ -59,7 +56,7 @@ function (angular) {
'</ul>' +
'</span>'+
'<span ng-if="!panelMeta.menuItems" class="row-button row-text panel-title pointer" ng-show="panel.title">' +
'<span ng-if="!panelMeta.menuItems" class="panel-text panel-title" ng-show="panel.title">' +
'{{panel.title}}' +
'</span>'+
......
......@@ -8,23 +8,14 @@
vertical-align: top;
width: 220px;
padding: 5px 5px 0px 5px;
border: #555 1px solid;
margin: 5px 5px 5px 0px;
color: #fff;
background-color: #444;
}
.filter-panel-filter ul {
margin-bottom: 3px;
}
.filter-must {
border-top: #7EB26D 3px solid;
}
.filter-mustNot {
border-top: #E24D42 3px solid;
}
.filter-either {
border-top: #EF843C 3px solid;
}
.filter-deselected {
opacity: 0.5;
}
......@@ -39,7 +30,6 @@
}
.filter-apply {
float:right;
margin-bottom: 5px;
}
</style>
......
......@@ -44,7 +44,7 @@ function (angular, app, _) {
dashboard.refresh();
};
$scope.add = function(query) {
$scope.add = function() {
filterSrv.set({
editing : true,
type : 'filter',
......@@ -74,6 +74,24 @@ function (angular, app, _) {
return !_.contains(['type','id','active','editing', 'name', 'query', 'value'],key);
};
$scope.getFilterClass = function(filter) {
if(filter.active !== true) {
return 'muted';
} else {
switch (filter.mandate)
{
case 'must':
return 'text-success';
case 'mustNot':
return 'text-error';
case 'either':
return 'text-warning';
default:
return 'text-info';
}
}
};
$scope.isEditable = function(filter) {
var uneditable = ['time'];
if(_.contains(uneditable,filter.type)) {
......
......@@ -35,8 +35,8 @@
</style>
<div>
<span ng-show='panel.options'>
<a class="link underline small" ng-show='panel.options' ng-click="options=!options">
<i ng-show="!options" class="icon-caret-right"></i><i ng-show="options" class="icon-caret-down"></i> View
<a class="link small" ng-show='panel.options' ng-click="options=!options">
View <i ng-show="!options" class="icon-caret-right"></i><i ng-show="options" class="icon-caret-down"></i>
</a> |&nbsp
</span>
<span ng-show='panel.zoomlinks && data'>
......
<div class="row-fluid">
<div class="span4">
<label class="small">Relative time options <small>comma seperated</small></label>
<input type="text" array-join class="input-large" ng-model="panel.time_options">
</div>
<div class="span4">
<label class="small">Auto-refresh options <small>comma seperated</small></label>
<input type="text" array-join class="input-large" ng-model="panel.refresh_intervals">
</div>
<div class="span2">
<label class="small">Time Field</label>
<input type="text" class="input-small" ng-model="panel.timefield">
<div class="editor-row">
<div class="section">
<div class="editor-option">
<label class="small">Relative time options <small>comma seperated</small></label>
<input type="text" array-join class="input-large" ng-model="panel.time_options">
</div>
<div class="editor-option">
<label class="small">Auto-refresh options <small>comma seperated</small></label>
<input type="text" array-join class="input-large" ng-model="panel.refresh_intervals">
</div>
<div class="editor-option">
<label class="small">Time Field</label>
<input type="text" class="input-small" ng-model="panel.timefield">
</div>
</div>
</div>
<!-- is there a better way to repeat without actually affecting the page? -->
<nil ng-repeat="pulldown in dashboard.current.pulldowns" ng-controller="PulldownCtrl" ng-show="pulldown.enable">
<div class="top-row-close pointer pull-left" ng-class="pulldownTabStyle($index)" ng-click="toggle_pulldown(pulldown);dismiss();" bs-tooltip="'Toggle '+pulldown.type" data-placement="bottom">
<span class="small">{{pulldown.type}}</span>
<i class="small" ng-class="{'icon-caret-left':pulldown.collapse,'icon-caret-right':!pulldown.collapse}"></i>
<i class="small icon-star" ng-show="row.notice && pulldown.collapse"></i>
</div>
<div class="clearfix bgNav" ng-hide="pulldown.collapse"></div>
<div class="top-row-open" ng-hide="pulldown.collapse">
<kibana-simple-panel type="pulldown.type" ng-cloak></kibana-simple-panel>
</div>
<div class="top-row-close pointer" ng-click="toggle_pulldown(pulldown);dismiss();" bs-tooltip="'Toggle '+pulldown.type" data-placement="bottom">
<span class="small row-text">{{pulldown.type}}</span>
<i class="small" ng-class="{'icon-caret-left':pulldown.collapse,'icon-caret-up':!pulldown.collapse}"></i>
<i class="small icon-star text-warning" ng-show="row.notice && pulldown.collapse"></i>
</div>
</nil>
<div class="clearfix bgNav" ></div>
<div class="container-fluid main" ng-class="{'grafana-dashboard-hide-controls': dashboard.current.hideControls}">
<div class="row-fluid">
<div class="row-fluid container" style="margin-top:10px; width:98%">
......@@ -21,32 +22,28 @@
<div class="row-fluid grafana-row" style="padding:0px;margin:0px;position:relative;">
<div class="row-close span12" ng-show="row.collapse" data-placement="bottom" >
<span class="row-button" bs-modal="'app/partials/roweditor.html'" class="pointer">
<span class="row-button bgWarning" bs-modal="'app/partials/roweditor.html'" class="pointer">
<i bs-tooltip="'Configure row'" data-placement="right" ng-show="row.editable" class="icon-cog pointer"></i>
</span>
<span class="row-button" ng-click="toggle_row(row)" ng-show="row.collapsable">
<i bs-tooltip="'Expand row'" data-placement="right" ng-show="row.editable" class="icon-caret-right pointer" ></i>
<span class="row-button bgPrimary" ng-click="toggle_row(row)" ng-show="row.collapsable">
<i bs-tooltip="'Expand row'" data-placement="right" ng-show="row.editable" class="icon-caret-left pointer" ></i>
</span>
<span class="row-button row-text" ng-click="toggle_row(row)" ng-class="{'pointer':row.collapsable}">{{row.title || 'Row '+$index}}</span>
</div>
<div style="text-align:center" class="row-open" ng-show="!row.collapse">
<span ng-show="row.collapsable">
<i bs-tooltip="'Hide row'" data-placement="right" class="icon-caret-up" ng-click="toggle_row(row)"></i>
<div ng-show="row.collapsable" class='row-tab bgPrimary' ng-click="toggle_row(row)">
<i bs-tooltip="'Hide row'" data-placement="right" class="icon-caret-right" ></i>
<br>
</span>
<span bs-modal="'app/partials/roweditor.html'" ng-show="row.editable">
</div>
<div bs-modal="'app/partials/roweditor.html'" class='row-tab bgWarning' ng-show="row.editable">
<i bs-tooltip="'Configure row'" data-placement="right" class="icon-cog pointer"></i>
<br>
</span>
<span ng-show="rowSpan(row) == 12 && row.editable">
<i bs-tooltip="'Row full. Create a new row to add more panels'" data-placement="right" class="icon-columns"></i>
<br>
</span>
<span ng-show="rowSpan(row) > 12">
<i bs-tooltip="'Total span > 12. This row may format poorly'" data-placement="right" class="icon-warning-sign text-warning"></i>
</div>
<div ng-show="rowSpan(row) > 12" class='row-tab bgDanger'>
<i bs-tooltip="'Total span > 12. This row may format poorly'" data-placement="right" class="icon-warning-sign"></i>
<br>
</span>
</div>
</div>
</div>
......
......@@ -35,7 +35,7 @@
<div class="row-fluid">
<div class="span8">
<h4>Rows</h4>
<table class="table table-condensed table-bordered">
<table class="table table-striped">
<thead>
<th width="1%"></th>
<th width="1%"></th>
......
......@@ -19,5 +19,6 @@
<div class="modal-footer">
<!-- close_edit() is provided here to allow for a scope to perform action on dismiss -->
<button type="button" class="btn btn-danger" ng-click="editor.index=0;close_edit();dismiss()">Close</button>
<button type="button" class="btn btn-success" ng-click="editor.index=0;editSave(panel);close_edit();dismiss()">Save</button>
<button type="button" class="btn btn-danger" ng-click="editor.index=0;dismiss()">Cancel</button>
</div>
\ No newline at end of file
......@@ -22,7 +22,7 @@
</div>
<div class="row-fluid" ng-if="editor.index == 1">
<div class="span12">
<h4>Panels <i class="icon-plus-sign link" bs-tooltip="'Add panel'" ng-click="editor.index = 2"></i></h4>
<h4>Panels</h4>
<table class="table table-condensed table-striped">
<thead>
<th>Title</th>
......@@ -60,6 +60,7 @@
</div>
</div>
<div class="modal-footer">
<button ng-show="panel.type &amp;&amp; editor.index == 2" ng-click="add_panel(row,panel); reset_panel(); editor.index == 1;" class="btn btn-success" ng-disabled="panel.loadingEditor">Add Panel</button>
<button ng-show="editor.index == 1" ng-click="editor.index = 2;" class="btn btn-success" ng-disabled="panel.loadingEditor">Add Panel</button>
<button ng-show="panel.type && editor.index == 2" ng-click="add_panel(row,panel); reset_panel(); editor.index = 1;" class="btn btn-success" ng-disabled="panel.loadingEditor">Add Panel</button>
<button type="button" class="btn btn-danger" ng-click="editor.index=0;dismiss();reset_panel();close_edit()">Close</button>
</div>
\ No newline at end of file
......@@ -115,7 +115,6 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
// as their default
if (Modernizr.localstorage) {
if(!(_.isUndefined(window.localStorage['dashboard'])) && window.localStorage['dashboard'] !== '') {
console.log(window.localStorage['dashboard']);
$location.path(config.default_route);
alertSrv.set('Saving to browser storage has been replaced',' with saving to Elasticsearch.'+
' Click <a href="#/dashboard/local/deprecated">here</a> to load your old dashboard anyway.');
......@@ -215,7 +214,6 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
};
this.set_default = function(route) {
console.log(route);
if (Modernizr.localstorage) {
// Purge any old dashboards
if(!_.isUndefined(window.localStorage['dashboard'])) {
......
......@@ -236,7 +236,9 @@ define([
var idCount = dashboard.current.services.filter.ids.length;
if(idCount > 0) {
// Make a sorted copy of the ids array
var ids = _.clone(dashboard.current.services.filter.ids).sort();
var ids = _.sortBy(_.clone(dashboard.current.services.filter.ids),function(num){
return num;
});
return kbn.smallestMissing(ids);
} else {
// No ids currently in list
......
......@@ -57,7 +57,7 @@ function (angular, _, $, config) {
};
});
});
}
};
function buildGraphitePostParams(options) {
......
......@@ -18,7 +18,7 @@ function (Settings) {
* The URL to your elasticsearch server. You almost certainly don't
* want +http://localhost:9200+ here. Even if Kibana and Elasticsearch are on
* the same host. By default this will attempt to reach ES at the same host you have
* elasticsearch installed on. You probably want to set it to the FQDN of your
* kibana installed on. You probably want to set it to the FQDN of your
* elasticsearch host
*/
elasticsearch: "http://"+window.location.hostname+":9200",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -22,6 +22,7 @@
<body ng-cloak>
<!--<link rel="stylesheet" ng-href="css/bootstrap.{{dashboard.current.style||'dark'}}.min.css">-->
<link rel="stylesheet" ng-href="css/bootstrap.{{dashboard.current.style||'dark'}}.min.css">
<link rel="stylesheet" href="css/bootstrap-responsive.min.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
......
// Slate 2.3.2
// Bootswatch
// -----------------------------------------------------
// KIBANA
.panelCont {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px 10px 10px 10px;
background: darken(@bodyBackground, 3%);
margin: 0px;
}
// TYPOGRAPHY
// -----------------------------------------------------
h1, h2, h3, h4, h5, h6 {
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
}
code, pre {
background-color: #F7F7F7;
border: 1px solid darken(@grayDarker, 5%);
text-shadow: none;
}
// SCAFFOLDING
// -----------------------------------------------------
legend, .page-header {
border-bottom: 1px solid @hrBorder;
}
hr {
border-bottom: none;
}
// NAVBAR
// -----------------------------------------------------
.navbar {
.navbar-inner {
#gradient > .vertical-three-colors(@grayDark, darken(@bodyBackground,3%), 70%, darken(@bodyBackground,3%));
}
.brand {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: none;
}
.navbar-text {
padding: 0 15px;
font-weight: bold;
}
.nav > li > a {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: 1px solid rgba(0, 0, 0, 0.2);
border-left: 1px solid rgba(255, 255, 255, 0.1);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
}
}
.nav > li.active > a,
.nav > li.active > a:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 2%), lighten(@grayDark, 2%), 0deg);
border-right: 1px solid darken(@gray, 15%);
}
.navbar-search .search-query {
border: 1px solid darken(@gray, 15%);
}
.btn,
.btn-group {
margin: 4px 0;
}
.divider-vertical {
background-color: transparent;
border-right: none;
}
.dropdown-menu::after {
border-bottom: 6px solid @grayDark;
}
&-inverse {
.navbar-inner {
#gradient > .vertical-three-colors(darken(@grayDarker, 3%), darken(@grayDarker, 8%), 70%, darken(@grayDarker, 8%));
}
.nav li > a {
background-image: none;
background-color: transparent;
}
.nav li > a:hover,
.nav li.active > a,
.nav li.active > a:hover {
#gradient > .directional(darken(@grayDarker, 10%), darken(@grayDarker, 5%), 280deg);
}
}
}
@media (max-width: @navbarCollapseWidth) {
.navbar .nav-collapse {
.nav li > a,
.nav li > a:hover,
.nav .active > a,
.nav .active > a:hover {
.box-shadow(none);
color: @grayLighter;
border: 1px solid transparent;
background-color: transparent;
background-image: none;
}
.nav li > a:hover,
.nav .active > a:hover {
background-color: @grayDarker;
}
.navbar-form,
.navbar-search {
border-color: transparent;
.box-shadow(none);
}
.nav-header {
color: @grayLight;
}
}
.navbar-inverse .nav-collapse {
.nav li > a:hover,
.nav .active > a:hover {
background-color: @grayDarker !important;
}
}
}
.nav-tabs {
.active > a, .active a:hover {
border-bottom: 1px solid darken(@grayDark, 5%);;
}
}
div.subnav {
margin: 0 1px;
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
border: 1px solid transparent;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
.nav > li > a {
color: @grayLighter;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
&:hover {
color: @grayLighter;
background-color: @grayDark;
//#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
}
}
.nav > li.active > a,
.nav > li.active > a:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-right: 1px solid darken(@gray, 15%);
}
.nav > li:first-child > a,
.nav > li:first-child > a:hover {
border-left: 1px solid transparent;
}
.nav > li.active:last-child > a,
.nav > li:last-child > a:hover {
border-right: 1px solid darken(@gray, 15%);
}
.open .dropdown-toggle {
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
}
&.subnav-fixed {
top: @navbarHeight;
margin: 0;
.box-shadow(none);
.nav > li.active:first-child > a,
.nav > li:first-child > a:hover {
border-left: 1px solid darken(@gray, 15%);
}
}
}
// NAV
// -----------------------------------------------------
.nav {
.nav-header {
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
}
& > li > a {
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
border: none;
color: @grayLight;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
li.active > a,
li.active > a:hover {
background-color: transparent;
color: @white;
}
& > li.disabled > a,
& > li.disabled > a:hover {
color: @gray;
}
li > a:hover {
background-color: transparent;
color: @grayLighter;
}
}
.breadcrumb {
border: 1px solid transparent;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
a {
color: @grayLighter;
font-weight: bold;
}
li {
color: @grayLight;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
}
.pagination {
ul {
.box-shadow(none);
}
ul > li > a,
ul > li > span {
border-left: 1px solid @gray;
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
color: @grayLighter;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
}
}
ul > .active > a,
ul > .active > a:hover,
ul > .active > span,
ul > .active > span:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-left: 1px solid transparent;
}
ul > .disabled > a,
ul > .disabled > a:hover,
ul > .disabled > span,
ul > .disabled > span:hover {
border-left: 1px solid @gray;
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@grayLight, @gray, 70%, @gray);
}
}
.pager {
li > a,
li > span {
border: 1px solid transparent;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border: 1px solid transparent;
}
}
.disabled a,
.disabled a:hover {
background-color: transparent;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
}
}
// BUTTONS
// -----------------------------------------------------
.btn {
.buttonBackground(@gray, darken(@gray, 10%));
.border-radius(3px);
border: 1px solid @grayDarker;
}
.btn, .btn:hover {
color: @white;
font-weight: bold;
text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.3);
}
.btn-primary {
.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));
color: @grayDark;
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.3);
}
.btn-warning {
.buttonBackground(lighten(@orange, 15%), @orange);
}
.btn-danger {
.buttonBackground(@red, #bd362f);
}
.btn-success {
.buttonBackground(@green, #51a351);
}
.btn-info {
.buttonBackground(@blue, #2f96b4);
}
.btn-inverse {
.buttonBackground(@gray, @grayDarker);
}
.caret {
border-top-color: @white;
}
// TABLES
// -----------------------------------------------------
.table {
tbody tr.success td {
background-color: @successText;
}
tbody tr.error td {
background-color: @errorText;
}
tbody tr.info td {
background-color: @infoText;
}
}
// FORMS
// -----------------------------------------------------
label, input, button, select, textarea, legend {
color: @textColor;
}
legend, label {
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
}
.input-prepend .add-on,
.input-append .add-on {
vertical-align: top;
background-color: @gray;
border-top: 1px solid @grayLight;
border-left: 1px solid @grayLight;
border-bottom: 1px solid @grayDark;
border-right: 1px solid @grayDark;
text-shadow: none;
}
.input-append .btn,
.input-prepend .btn {
margin-top: -1px;
padding: 5px 14px;
}
.uneditable-input,
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
color: @gray;
background: @grayDarker;
}
.form-actions {
border-top: none;
}
// DROPDOWNS
// -----------------------------------------------------
.dropdown-menu {
.box-shadow(0 5px 5px rgba(0, 0, 0, 0.2));
}
.dropdown.open .dropdown-toggle {
background-color: @grayDark;
color: @grayLighter;
}
.dropdown-submenu > a::after {
border-left-color: @white;
}
// ALERTS, LABELS, BADGES
// -----------------------------------------------------
.label, .alert {
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
.box-shadow(1px 1px 1px rgba(0, 0, 0, 0.3));
}
.alert {
background-color: @orange;
border-color: @orange;
.alert-heading {
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.4);
}
}
.alert-success {
background-color: @successText;
border-color: @successText;
}
.alert-error {
background-color: @errorText;
border-color: @errorText;
}
.alert-info {
background-color: @infoText;
border-color: @infoText;
}
// MISC
// -----------------------------------------------------
.well, .hero-unit {
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5));
}
.thumbnail,
a.thumbnail:hover {
border: 1px solid darken(@grayDarker, 5%);
}
.progress {
background-color: darken(@grayDarker, 3%);
#gradient > .vertical(darken(@grayDarker, 3%), darken(@grayDarker, 3%));
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5));
}
.footer {
border-top: 1px solid darken(@grayDarker, 5%);
p {
color: @textColor;
}
}
.modal {
background-color: darken(@grayDark, 5%);
&-header {
border-bottom: none;
}
&-body {
border-bottom: 1px solid #1C1E22;
}
&-footer {
border-top: none;
background-color: @grayDarker;
.box-shadow(none);
}
}
// MEDIA QUERIES
// -----------------------------------------------------
@media (max-width: 979px) {
.navbar .brand {
border-right: none;
}
}
@media (max-width: 768px) {
div.subnav .nav > li + li > a {
border-top: 1px solid transparent;
}
}
\ No newline at end of file
// Slate 2.3.2
// Variables
// --------------------------------------------------
// Global values
// --------------------------------------------------
// Grays
// -------------------------
@black: #000;
@grayDarker: #272B30;
@grayDark: #3A3F44;
@gray: #52575C;
@grayLight: #7A8288;
@grayLighter: #BBBFC2;
@white: #fff;
// Accent colors
// -------------------------
@blue: #5bc0de;
@blueDark: #108CBB;
@green: #62c462;
@red: #ee5f5b;
@yellow: #F6D30D;
@orange: #f89406;
@pink: #c3325f;
@purple: #7a43b6;
// Scaffolding
// -------------------------
@bodyBackground: @grayDarker;
@textColor: #C8C8C8;
// Links
// -------------------------
@linkColor: @white;
@linkColorHover: @white;
// Typography
// -------------------------
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
@baseFontSize: 14px;
@baseFontFamily: @sansFontFamily;
@baseLineHeight: 21px;
@altFontFamily: @serifFontFamily;
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
// Component sizing
// -------------------------
// Based on 14px font-size and 20px line-height
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 11px 19px; // 44px
@paddingSmall: 2px 10px; // 26px
@paddingMini: 0px 6px; // 22px
@baseBorderRadius: 4px;
@borderRadiusLarge: 6px;
@borderRadiusSmall: 3px;
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: darken(@grayDark, 5%); // for striping
@tableBackgroundHover: @grayDark; // for hover
@tableBorder: lighten(@grayDark, 2%); // table and cell border
// Buttons
// -------------------------
@btnBackground: @gray;
@btnBackgroundHighlight: darken(@gray, 10%);
@btnBorder: darken(@gray, 20%);
@btnPrimaryBackground: @grayLight;
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%);
@btnInfoBackground: @blue;
@btnInfoBackgroundHighlight: #2f96b4;
@btnSuccessBackground: @green;
@btnSuccessBackgroundHighlight: #51a351;
@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;
@btnDangerBackground: @red;
@btnDangerBackgroundHighlight: #bd362f;
@btnInverseBackground: @gray;
@btnInverseBackgroundHighlight: @grayDarker;
// Forms
// -------------------------
@inputText: @white;
@inputBackground: @gray;
@inputBorder: @grayLight;
@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: darken(@grayDarker, 3%);
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns
// -------------------------
@dropdownBackground: @grayDark;
@dropdownBorder: rgba(0,0,0,.2);
@dropdownDividerTop: transparent;
@dropdownDividerBottom: darken(@grayDarker, 5%);
@dropdownLinkColor: @grayLight;
@dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @grayDarker;
@dropdownLinkBackgroundHover: @grayDarker;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1030;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;
// Sprite icons path
// -------------------------
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;
// Hr border color
// -------------------------
@hrBorder: darken(@grayDarker, 5%);
// Horizontal forms & lists
// -------------------------
@horizontalComponentOffset: 180px;
// Wells
// -------------------------
@wellBackground: darken(@grayDarker, 3%);
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarBackground: @grayDarker;
@navbarBackgroundHighlight: @grayDark;
@navbarBorder: darken(@navbarBackground, 12%);
@navbarText: @textColor;
@navbarLinkColor: @textColor;
@navbarLinkColorHover: @white;
@navbarLinkColorActive: @navbarLinkColorHover;
@navbarLinkBackgroundHover: @grayDark;
@navbarLinkBackgroundActive: @navbarBackground;
@navbarBrandColor: @grayLighter;
// Inverted navbar
@navbarInverseBackground: darken(@grayDarker, 10%);
@navbarInverseBackgroundHighlight: @grayDarker;
@navbarInverseBorder: #252525;
@navbarInverseText: @grayLight;
@navbarInverseLinkColor: @grayLight;
@navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: transparent;
@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #fff;
@paginationBorder: #ddd;
@paginationActiveBackground: #f5f5f5;
// Hero unit
// -------------------------
@heroUnitBackground: darken(@grayDarker, 3%);
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;
// Form states and alerts
// -------------------------
@warningText: #c09853;
@warningBackground: #fcf8e3;
@warningBorder: darken(spin(@warningBackground, -10), 3%);
@errorText: #b94a48;
@errorBackground: #f2dede;
@errorBorder: darken(spin(@errorBackground, -10), 3%);
@successText: #468847;
@successBackground: #dff0d8;
@successBorder: darken(spin(@successBackground, -10), 5%);
@infoText: #3a87ad;
@infoBackground: #d9edf7;
@infoBorder: darken(spin(@infoBackground, -10), 7%);
// Tooltips and popovers
// -------------------------
@tooltipColor: #fff;
@tooltipBackground: @dropdownBackground;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: @dropdownBackground;
@popoverArrowWidth: 10px;
@popoverArrowColor: @dropdownBackground;
@popoverTitleBackground: lighten(@popoverBackground, 3%);
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
@popoverArrowOuterColor: rgba(0,0,0,.25);
// GRID
// --------------------------------------------------
// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 10px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 10px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 10px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
// Slate 2.3.2
// Cyborg 2.3.2
// Bootswatch
// -----------------------------------------------------
// KIBANA
.panelCont {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px 10px 10px 10px;
background: darken(@bodyBackground, 3%);
margin: 0px;
}
// TYPOGRAPHY
// -----------------------------------------------------
h1, h2, h3, h4, h5, h6 {
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
label, input, button, select, textarea,
.navbar .search-query:-moz-placeholder,
.navbar .search-query::-webkit-input-placeholder {
font-family: 'Droid Sans', sans-serif;
color: @gray;
}
code, pre {
background-color: #F7F7F7;
border: 1px solid darken(@grayDarker, 5%);
text-shadow: none;
blockquote {
border-left: 5px solid @grayDark;
&.pull-right {
border-right: 5px solid @grayDark;
}
}
// SCAFFOLDING
// -----------------------------------------------------
legend, .page-header {
border-bottom: 1px solid @hrBorder;
html {
min-height: 100%;
}
body {
min-height: 100%;
//#gradient > .vertical (@bodyBackground, #252A30);
//background: @bodyBackground;
background: @bodyBackground;
// url('../img/cubes.png') repeat right top;
}
.page-header {
border-bottom: 1px solid @grayDark
}
hr {
......@@ -42,73 +51,60 @@ hr {
.navbar {
.navbar-inner {
#gradient > .vertical-three-colors(@grayDark, darken(@bodyBackground,3%), 70%, darken(@bodyBackground,3%));
.border-radius(0);
.box-shadow(none);
border-bottom: 0px solid @grayDark;
}
.brand {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: none;
}
.navbar-text {
padding: 0 15px;
font-weight: bold;
padding: 15px 20px 15px;
color: @grayLighter;
font-weight: normal;
text-shadow: none;
}
.nav > li > a {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: 1px solid rgba(0, 0, 0, 0.2);
border-left: 1px solid rgba(255, 255, 255, 0.1);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
}
.nav > li > a {
padding: 15px 15px 14px;
border-bottom: 1px solid transparent;
}
.nav > li.active > a,
.nav > li.active > a:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 2%), lighten(@grayDark, 2%), 0deg);
border-right: 1px solid darken(@gray, 15%);
.nav > li > a:hover,
.nav > .active > a,
.nav > .active > a:hover {
border-bottom: 1px solid @blue;
}
.navbar-search .search-query {
border: 1px solid darken(@gray, 15%);
.nav > .active > a,
.nav > .active > a:hover,
.nav > .active > a:focus {
.box-shadow(none);
}
.btn,
.btn-group {
margin: 4px 0;
.navbar-text {
margin-bottom: 1px;
padding: 15px 15px 14px;
line-height: inherit;
}
.divider-vertical {
background-color: transparent;
border-right: none;
margin: 0;
border-left: 1px solid @grayDark;
border-right-width: 0;
}
.dropdown-menu::after {
border-bottom: 6px solid @grayDark;
.search-query,
.search-query:focus,
.search-query.focused {
.border-radius(1px);
background-color: @grayDark;
line-height: normal;
color: @grayLight;
text-shadow: none;
.placeholder(@gray);
}
&-inverse {
.navbar-inner {
#gradient > .vertical-three-colors(darken(@grayDarker, 3%), darken(@grayDarker, 8%), 70%, darken(@grayDarker, 8%));
}
.nav li > a {
background-image: none;
background-color: transparent;
}
.nav li > a:hover,
.nav li.active > a,
.nav li.active > a:hover {
#gradient > .directional(darken(@grayDarker, 10%), darken(@grayDarker, 5%), 280deg);
}
}
}
......@@ -116,155 +112,207 @@ hr {
.navbar .nav-collapse {
.nav li > a,
.nav li > a:hover,
.nav .active > a,
.nav .active > a:hover {
.box-shadow(none);
.nav li > a {
border: none;
color: @grayLighter;
border: 1px solid transparent;
background-color: transparent;
background-image: none;
font-weight: normal;
text-shadow: none;
&:hover {
border: none;
background-color: @blue;
}
}
.nav li > a:hover,
.nav .active > a:hover {
background-color: @grayDarker;
.nav .active > a {
border: none;
background-color: @blue;
}
.dropdown-menu a:hover {
background-color: @blue;
}
.navbar-form,
.navbar-search {
border-color: transparent;
.box-shadow(none);
border-top: none;
border-bottom: none;
}
.nav-header {
color: @grayLight;
color: rgba(128, 128, 128, 0.6);
}
}
.navbar-inverse .nav-collapse {
.nav li > a:hover,
.nav .active > a:hover {
background-color: @grayDarker !important;
.nav li > a:hover {
background-color: #111;
}
.nav .active > a {
background-color: #111;
}
.nav li.dropdown.open > .dropdown-toggle,
.nav li.dropdown.active > .dropdown-toggle,
.nav li.dropdown.open.active > .dropdown-toggle {
background-color: #111;
}
}
}
.nav-tabs {
.active > a, .active a:hover {
border-bottom: 1px solid darken(@grayDark, 5%);;
}
.dropdown-menu {
.border-radius(0);
}
div.subnav {
margin: 0 1px;
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
border: 1px solid transparent;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
.nav > li > a {
color: @grayLighter;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
background-color: @grayDarker;
background-image: none;
border: none;
border-bottom: 1px solid @grayDark;
&:hover {
color: @grayLighter;
background-color: @grayDark;
//#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
}
.nav > li > a,
.nav > li:first-child > a,
.nav > li:first-child > a:hover {
padding: 11px 12px;
border: none;
background-color: @grayDarker;
color: @grayLight;
}
.nav > li > a:hover,
.nav > li.active > a,
.nav > li.active > a:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-right: 1px solid darken(@gray, 15%);
}
.nav > li:first-child > a,
.nav > li.active > a:hover,
.nav > li:first-child > a:hover {
border-left: 1px solid transparent;
padding: 11px 12px;
background: transparent;
border: none;
border-bottom: 1px solid @blue;
color: @white;
}
.nav > li.active:last-child > a,
.nav > li:last-child > a:hover {
border-right: 1px solid darken(@gray, 15%);
.nav li.nav-header {
text-shadow: none;
}
.open .dropdown-toggle {
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
}
&.subnav-fixed {
&-fixed {
top: @navbarHeight;
margin: 0;
.box-shadow(none);
.nav > li.active:first-child > a,
.nav > li:first-child > a:hover {
border-left: 1px solid darken(@gray, 15%);
}
}
}
// NAV
// -----------------------------------------------------
.nav {
.nav-tabs {
.nav-header {
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
}
border-bottom: 1px solid @grayDark;
& > li > a {
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
border: none;
color: @grayLight;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
.border-radius(0);
}
li > a:hover,
li.active > a,
li.active > a:hover {
background-color: transparent;
border-color: transparent;
background-color: @blue;
color: @white;
}
li.disabled > a {
color: @textColor;
}
.open .dropdown-toggle {
background-color: #060606;
border-color: transparent;
}
}
.nav-pills {
li > a:hover {
background-color: @blue;
color: @white;
}
& > li.disabled > a,
& > li.disabled > a:hover {
color: @gray;
li.disabled > a {
color: @textColor;
}
.open .dropdown-toggle {
background-color: #060606;
}
.dropdown-menu li > a:hover {
border: none;
}
}
.nav-list {
li > a {
text-shadow: none;
}
li > a:hover {
background-color: @blue;
color: @white;
}
.nav-header {
text-shadow: none;
}
.divider {
background-color: transparent;
color: @grayLighter;
border-bottom: 1px solid @grayDark;
}
}
.nav-stacked {
li > a {
border: 1px solid @grayDark !important;
}
li > a:hover,
li.active > a {
background-color: @blue;
color: @white;
}
}
.tabbable {
.nav-tabs,
.nav-tabs li.active > a {
border-color: @grayDark;
}
}
.breadcrumb {
border: 1px solid transparent;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
a {
color: @grayLighter;
font-weight: bold;
}
background-color: transparent;
background-image: none;
border-width: 0;
.box-shadow(none);
font-size: 14px;
li {
color: @grayLight;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
text-shadow: none;
}
li > a {
color: @blue;
text-shadow: none;
}
}
......@@ -274,43 +322,17 @@ div.subnav {
.box-shadow(none);
}
ul > li > a,
ul > li > span {
border-left: 1px solid @gray;
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
color: @grayLighter;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
}
}
ul > li > a:hover,
ul > .active > a,
ul > .active > a:hover,
ul > .active > span,
ul > .active > span:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-left: 1px solid transparent;
ul > .active > span {
// color: @white;
}
ul > .disabled > a,
ul > .disabled > a:hover,
ul > .disabled > span,
ul > .disabled > span:hover {
border-left: 1px solid @gray;
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@grayLight, @gray, 70%, @gray);
background-color: rgba(0, 0, 0, 0.2);
}
}
......@@ -318,67 +340,108 @@ div.subnav {
li > a,
li > span {
border: 1px solid transparent;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
background-color: @bodyBackground;
border: none;
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border: 1px solid transparent;
background-color: @blue;
}
}
.disabled a,
.disabled a:hover {
background-color: transparent;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
background-color: @bodyBackground;
}
}
// BUTTONS
// -----------------------------------------------------
.btn {
.buttonBackground(@gray, darken(@gray, 10%));
.border-radius(3px);
border: 1px solid @grayDarker;
padding: 5px 12px;
background-image: none;
.box-shadow(none);
border: none;
.border-radius(0);
text-shadow: none;
&.disabled {
box-shadow: inset 0 2px 4px rgba(0,0,0,.15),~" "0 1px 2px rgba(0,0,0,.05);
}
}
.btn-large {
padding: 22px 30px;
}
.btn-small {
padding: 2px 10px;
}
.btn, .btn:hover {
color: @white;
font-weight: bold;
text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.3);
.btn-mini {
padding: 2px 6px;
}
.btn-group {
& > .btn:first-child,
& > .btn:last-child,
& > .dropdown-toggle {
.border-radius(0);
}
& > .btn + .dropdown-toggle {
.box-shadow(none);
}
}
.btn-primary {
.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));
color: @grayDark;
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.3);
// FORMS
// -----------------------------------------------------
input, textarea, select {
border-width: 2px;
.border-radius(1px);
}
.btn-warning {
.buttonBackground(lighten(@orange, 15%), @orange);
select, textarea,
input[type="text"], input[type="password"], input[type="datetime"],
input[type="datetime-local"], input[type="date"], input[type="month"],
input[type="time"], input[type="week"], input[type="number"],
input[type="email"], input[type="url"], input[type="search"],
input[type="tel"], input[type="color"], .uneditable-input {
color: @grayLight;
}
.btn-danger {
.buttonBackground(@red, #bd362f);
input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly], .uneditable-input {
border-color: #444;
}
.btn-success {
.buttonBackground(@green, #51a351);
input:focus,
textarea:focus,
input.focused,
textarea.focused {
border-color: rgba(82,168,236,1);
outline: 0;
outline: thin dotted \9; /* IE6-9 */
}
.btn-info {
.buttonBackground(@blue, #2f96b4);
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
select:focus {
.box-shadow(none); // override for file inputs
.tab-focus();
}
.btn-inverse {
.buttonBackground(@gray, @grayDarker);
legend, label {
color: @textColor;
border-bottom: 0px solid #222;
}
.caret {
border-top-color: @white;
.form-actions {
border-top: 1px solid #222;
}
// TABLES
......@@ -386,170 +449,129 @@ div.subnav {
.table {
.border-radius(1px);
tbody tr.success td {
background-color: @successText;
background-color: @green;
color: @white;
}
tbody tr.error td {
background-color: @errorText;
background-color: @red;
color: @white;
}
tbody tr.info td {
background-color: @infoText;
background-color: @blue;
color: @white;
}
}
// FORMS
// ALERTS, LABELS, BADGES
// -----------------------------------------------------
label, input, button, select, textarea, legend {
color: @textColor;
}
legend, label {
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
}
.input-prepend .add-on,
.input-append .add-on {
vertical-align: top;
background-color: @gray;
border-top: 1px solid @grayLight;
border-left: 1px solid @grayLight;
border-bottom: 1px solid @grayDark;
border-right: 1px solid @grayDark;
text-shadow: none;
.alert,
.alert .alert-heading,
.alert-success,
.alert-success .alert-heading,
.alert-danger,
.alert-error,
.alert-danger .alert-heading,
.alert-error .alert-heading,
.alert-info,
.alert-info .alert-heading {
color: @grayLighter;
text-shadow: none;
border: none;
}
.label {
color: @grayLighter;
}
.input-append .btn,
.input-prepend .btn {
margin-top: -1px;
padding: 5px 14px;
.badge {
border-radius: 0;
font-weight: 200;
}
.uneditable-input,
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
color: @gray;
background: @grayDarker;
}
.label, .alert { background-color: darken(@gray, 20%); }
.form-actions {
border-top: none;
}
.label:hover { background-color: darken(@gray, 30%); }
// DROPDOWNS
// -----------------------------------------------------
.label-important,
.alert-danger,
.alert-error { background-color: @red; }
.dropdown-menu {
.box-shadow(0 5px 5px rgba(0, 0, 0, 0.2));
}
.label-important:hover { background-color: darken(@red, 10%); }
.dropdown.open .dropdown-toggle {
background-color: @grayDark;
color: @grayLighter;
}
.label-warning { background-color: darken(@orange, 10%); }
.dropdown-submenu > a::after {
border-left-color: @white;
}
.label-warning:hover { background-color: darken(@orange, 20%); }
// ALERTS, LABELS, BADGES
// -----------------------------------------------------
.label-success, .alert-success { background-color: darken(@green, 3%); }
.label, .alert {
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
.box-shadow(1px 1px 1px rgba(0, 0, 0, 0.3));
}
.label-success:hover { background-color: darken(@green, 13%); }
.alert {
background-color: @orange;
border-color: @orange;
.label-info, .alert-info { background-color: darken(@blueDark, 10%); }
.alert-heading {
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.4);
}
}
.label-info:hover { background-color: darken(@blueDark, 20%); }
.alert-success {
background-color: @successText;
border-color: @successText;
}
// MISC
// -----------------------------------------------------
.alert-error {
background-color: @errorText;
border-color: @errorText;
a:hover {
text-decoration: none;
}
.alert-info {
background-color: @infoText;
border-color: @infoText;
.well, .hero-unit {
.border-radius(0px);
}
// MISC
// -----------------------------------------------------
.well, .hero-unit {
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5));
border-top: solid 1px lighten(@grayDark, 5%);
.box-shadow(0 2px 4px rgba(0,0,0,.8));
}
.thumbnail,
a.thumbnail:hover {
border: 1px solid darken(@grayDarker, 5%);
.thumbnail {
border-color: @grayDark;
}
.progress {
background-color: darken(@grayDarker, 3%);
#gradient > .vertical(darken(@grayDarker, 3%), darken(@grayDarker, 3%));
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5));
background-color: #060606;
background-image: none;
.border-radius(0);
}
.footer {
border-top: 1px solid darken(@grayDarker, 5%);
.modal {
.border-radius(1px);
border-top: solid 1px lighten(@grayDark, 5%);
background-color: @grayDark;
}
p {
color: @textColor;
}
.modal-header {
border-bottom: 1px solid @grayDark;
}
.modal {
.modal-footer {
background-color: @grayDark;
border-top: 1px solid @grayDark;
.border-radius(0 0 0px 0px);
.box-shadow(none);
}
background-color: darken(@grayDark, 5%);
.popover {
.border-radius(0);
&-header {
&-title {
border-bottom: none;
color: @white;
}
&-body {
border-bottom: 1px solid #1C1E22;
}
}
&-footer {
border-top: none;
background-color: @grayDarker;
.box-shadow(none);
}
.footer {
border-top: 1px solid @grayDark;
}
// MEDIA QUERIES
// -----------------------------------------------------
@media (max-width: 979px) {
.navbar .brand {
border-right: none;
}
}
@media (max-width: 768px) {
div.subnav .nav > li + li > a {
border-top: 1px solid transparent;
}
}
\ No newline at end of file
// Cosmo 2.3.2
// Bootswatch
// -----------------------------------------------------
// KIBANA
.panelCont {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px 10px 10px 10px;
background: darken(@bodyBackground, 5%);
margin: 0px;
// TYPOGRAPHY
// -----------------------------------------------------
body {
font-weight: 300;
background: @bodyBackground;
//url('../img/light.png') repeat right top;
}
h1 {
font-size: 50px;
}
h2, h3 {
font-size: 26px;
}
h4 {
font-size: 14px;
}
h5, h6 {
font-size: 11px;
}
blockquote {
padding: 10px 15px;
background-color: @grayLighter;
border-left-color: @gray;
&.pull-right {
padding: 10px 15px;
border-right-color: @gray;
}
small {
color: @gray;
}
}
.muted {
color: @gray;
}
.text-warning { color: @orange; }
a.text-warning:hover { color: darken(@orange, 10%); }
.text-error { color: @red; }
a.text-error:hover { color: darken(@red, 10%); }
.text-info { color: @purple; }
a.text-info:hover { color: darken(@purple, 10%); }
.text-success { color: @green; }
a.text-success:hover { color: darken(@green, 10%); }
// SCAFFOLDING
// -----------------------------------------------------
// NAVBAR
// -----------------------------------------------------
.navbar {
.navbar-inner {
background-image: none;
.box-shadow(none);
.border-radius(0);
}
.brand {
&:hover {
color: @navbarLinkColorHover;
}
}
.nav > .active > a,
.nav > .active > a:hover,
.nav > .active > a:focus {
.box-shadow(none);
background-color: @navbarLinkBackgroundHover;
}
.nav li.dropdown.open > .dropdown-toggle,
.nav li.dropdown.active > .dropdown-toggle,
.nav li.dropdown.open.active > .dropdown-toggle {
color: @white;
&:hover {
color: @grayLighter;
}
}
.navbar-search .search-query {
line-height: normal;
}
&-inverse {
.brand,
.nav > li > a {
text-shadow: none;
}
.brand:hover,
.nav > .active > a,
.nav > .active > a:hover,
.nav > .active > a:focus {
background-color: @navbarInverseLinkBackgroundHover;
.box-shadow(none);
color: @white;
}
.navbar-search .search-query {
color: @grayDarker;
}
}
}
div.subnav {
margin: 0 1px;
background: @grayLight none;
.box-shadow(none);
border: none;
.border-radius(0);
.nav {
background-color: transparent;
}
.nav > li > a {
border-color: transparent;
}
.nav > .active > a,
.nav > .active > a:hover {
border-color: transparent;
background-color: @black;
color: @white;
.box-shadow(none);
}
&-fixed {
top: @navbarHeight + 1;
margin: 0;
}
}
// NAV
// -----------------------------------------------------
.nav {
.open .dropdown-toggle,
& > li.dropdown.open.active > a:hover {
color: @blue;
}
}
.nav-tabs {
& > li > a {
.border-radius(0);
}
li > a:hover,
li.active > a,
li.active > a:hover {
border-color: transparent;
background-color: @blue;
color: @white;
}
li.disabled > a {
color: @textColor;
}
.open .dropdown-toggle {
background-color: #060606;
border-color: transparent;
}
}
.tabs-below,
.tabs-left,
.tabs-right {
& > .nav-tabs > li > a{
.border-radius(0);
border: 0px;
}
}
.nav-pills {
& > li > a {
//background-color: @grayLight;
.border-radius(0);
color: @black;
&:hover {
background-color: @black;
color: @white;
}
}
& > .disabled > a,
& > .disabled > a:hover {
background-color: @grayLighter;
color: @grayDark;
}
}
.nav-list {
& > li > a {
color: @grayDarker;
&:hover {
background-color: @blue;
color: @white;
text-shadow: none;
}
}
.nav-header {
color: @grayDarker;
}
.divider {
background-color: @gray;
border-bottom: none;
}
}
.pagination {
ul {
.box-shadow(none);
& > li > a,
& > li > span {
margin-right: 6px;
color: @grayDarker;
&:hover {
background-color: @grayDarker;
color: @white;
}
}
& > li:last-child > a,
& > li:last-child > span {
margin-right: 0;
}
& > .active > a,
& > .active > span {
color: @white;
}
& > .disabled > span,
& > .disabled > a,
& > .disabled > a:hover {
background-color: @grayLighter;
color: @grayDark;
}
}
}
.pager {
li > a,
li > span {
background-color: @grayLight;
border: none;
.border-radius(0);
color: @grayDarker;
&:hover {
background-color: @grayDarker;
color: @white;
}
}
.disabled > a,
.disabled > a:hover,
.disabled > span {
background-color: @grayLighter;
color: @grayDark;
}
}
.breadcrumb {
background-color: @grayLight;
li {
text-shadow: none;
}
.divider,
.active {
color: @grayDarker;
text-shadow: none;
}
}
// BUTTONS
// -----------------------------------------------------
.btn {
padding: 5px 12px;
background-image: none;
.box-shadow(none);
border: none;
.border-radius(0);
text-shadow: none;
&.disabled {
box-shadow: inset 0 2px 4px rgba(0,0,0,.15),~" "0 1px 2px rgba(0,0,0,.05);
}
}
.btn-large {
padding: 22px 30px;
}
.btn-small {
padding: 2px 10px;
}
.btn-mini {
padding: 2px 6px;
}
.btn-group {
& > .btn:first-child,
& > .btn:last-child,
& > .dropdown-toggle {
.border-radius(0);
}
& > .btn + .dropdown-toggle {
.box-shadow(none);
}
}
// TABLES
// -----------------------------------------------------
.table {
tbody tr.success td {
color: @white;
}
tbody tr.error td {
color: @white;
}
tbody tr.info td {
color: @white;
}
&-bordered {
.border-radius(0);
thead:first-child tr:first-child th:first-child,
tbody:first-child tr:first-child td:first-child {
.border-radius(0);
}
thead:last-child tr:last-child th:first-child,
tbody:last-child tr:last-child td:first-child,
tfoot:last-child tr:last-child td:first-child {
.border-radius(0);
}
}
}
// FORMS
// -----------------------------------------------------
select, textarea, input[type="text"], input[type="password"], input[type="datetime"],
input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"],
input[type="week"], input[type="number"], input[type="email"], input[type="url"],
input[type="search"], input[type="tel"], input[type="color"] {
color: @grayDarker;
}
.control-group {
&.warning {
.control-label,
.help-block,
.help-inline {
color: @orange;
}
input,
select,
textarea {
border-color: @orange;
color: @grayDarker;
}
}
&.error {
.control-label,
.help-block,
.help-inline {
color: @red;
}
input,
select,
textarea {
border-color: @red;
color: @grayDarker;
}
}
&.success {
.control-label,
.help-block,
.help-inline {
color: @green;
}
input,
select,
textarea {
border-color: @green;
color: @grayDarker;
}
}
}
legend {
border-bottom: none;
color: @grayDarker;
}
.form-actions {
border-top: none;
background-color: @grayLighter;
}
// DROPDOWNS
// -----------------------------------------------------
.dropdown-menu {
.border-radius(0);
}
// ALERTS, LABELS, BADGES
// -----------------------------------------------------
.alert {
.border-radius(0);
text-shadow: none;
&-heading, h1, h2, h3, h4, h5, h6 {
color: @white;
}
}
.label {
min-width: 80px;
min-height: 80px;
.border-radius(0);
font-weight: 300;
text-shadow: none;
&-success {
background-color: @green;
}
&-important {
background-color: @red;
}
&-info {
background-color: @purple;
}
&-inverse {
background-color: @black;
}
}
.badge {
.border-radius(0);
font-weight: 300;
text-shadow: none;
color: @black;
&-success {
background-color: @green;
}
&-important {
background-color: @red;
}
&-info {
background-color: @purple;
}
&-inverse {
background-color: @black;
}
}
// MISC
// -----------------------------------------------------
a:hover {
text-decoration: none;
}
.hero-unit {
border: none;
.border-radius(0);
.box-shadow(none);
}
.well {
border: none;
.border-radius(0);
.box-shadow(none);
}
[class^="icon-"], [class*=" icon-"] {
margin: 0 2px;
vertical-align: -2px;
}
a.thumbnail {
background-color: @grayLight;
&:hover {
background-color: @gray;
border-color: transparent;
}
}
.progress {
background-color: @grayLighter;
background-image: none;
.border-radius(0);
}
.modal {
.border-radius(0);
&-header {
border-bottom: none;
}
&-footer {
border-top: none;
background-color: transparent;
}
}
.popover {
.border-radius(0);
&-title {
border-bottom: none;
color: @white;
}
}
// MEDIA QUERIES
// -----------------------------------------------------
......@@ -53,7 +53,7 @@
.modal-body {
position: relative;
overflow-y: auto;
max-height: 700px;
//max-height: 700px;
padding: 15px;
}
// Remove bottom margin if need be
......
// Containers
// ---------------------
.container-fluid {
padding-left: 0px;
padding-right: 0px;
}
// Backgrounds
// ---------------------
.bgNav {
background: @navbarBackground;
}
.bgPrimary {
background: @btnPrimaryBackground;
color: rgba(255,255,255,.90);
}
.bgInfo {
background: @btnInfoBackground;
color: rgba(255,255,255,.90);
}
.bgSuccess {
background: @btnSuccessBackground;
color: rgba(255,255,255,.90);
}
.bgWarning {
background: @btnWarningBackground;
color: rgba(255,255,255,.90);
}
.bgDanger {
background: @btnDangerBackground;
color: rgba(255,255,255,.90);
}
.bgInverse {
background: @btnInverseBackground;
color: rgba(255,255,255,.90);
}
code, pre {
background-color: @grayLighter;
}
// KIBANA
.panelCont {
padding: 0px 10px 10px 10px;
background: @kibanaPanelBackground;
//box-shadow: 0px 0px 8px rgba(30, 30, 30, 0.75);
margin: 0px;
border: 1px solid rgba(100, 100, 100, 0.25);
}
div.editor-row {
vertical-align: top;
}
div.editor-row div.section {
margin-right: 20px;
vertical-align: top;
......@@ -73,63 +137,66 @@ form input.ng-invalid {
.navbar-inner {
border-width: 0 0 0px;
padding-left: 0px;
padding-right: 0px;
}
.kibana-row {
margin-bottom: 10px;
}
.row-tab {
padding: 0px;
cursor: pointer;
width: 30px;
height: 30px;
line-height: 30px;
vertical-align: middle;
}
.row-button {
border-left: 1px solid lighten(@bodyBackground, 10%);
border-right: 1px solid darken(@bodyBackground, 10%);
padding: 2px 7px 0px 7px;
width: 30px;
text-align: center;
float: left;
cursor: pointer;
}
.row-text {
white-space: nowrap;
text-transform: uppercase;
font-weight: bold;
font-size: 0.9em;
margin: 0px 10px;
}
.row-close {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px;
margin: 0px;
min-height: 24px !important;
line-height: 24px;
background: darken(@bodyBackground, 3%);
}
.row-open {
text-align: right;
left:-18px;
position: absolute;
font-size: 13pt;
font-weight: 200;
min-height: 30px !important;
line-height: 30px;
background: @kibanaPanelBackground;
}
.top-row-open {
background: darken(@bodyBackground, 3%);
background: @navbarBackground;
padding: 5px 25px 5px 25px;
}
.top-row-close {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px;
margin: 1px 0px 0px 0px;
text-align: center;
padding: 5px 10px;
text-transform: uppercase;
margin: 0px;
text-align: left;
min-height: 16px !important;
line-height: 16px;
background: darken(@bodyBackground, 3%);
}
.row-open i {
font-size: 10pt;
.row-open {
left:-34px;
position: absolute;
z-index: 100;
}
.row-open:hover {
left:-12px;
}
.odd {
......@@ -165,11 +232,13 @@ form input.ng-invalid {
.panel-title {
border: 0px;
margin-left: -11px;
text-transform: uppercase;
font-weight: bold;
}
.panel div.panel-extra div.panel-extra-container {
margin-right: -11px;
margin-right: 0px;
margin-top: 7px;
}
.panel div.panel-extra {
......@@ -179,7 +248,7 @@ form input.ng-invalid {
.panel div.panel-extra .extra {
float:right !important;
border-bottom: 1px solid lighten(@bodyBackground, 5%);
//border-bottom: 1px solid lighten(@bodyBackground, 5%);
}
.dragInProgress {
......@@ -196,11 +265,6 @@ form input.ng-invalid {
color: @linkColorHover;
}
.pointer:hover {
color: @linkColorHover;
}
.pointer {
cursor: pointer;
}
......@@ -279,12 +343,12 @@ div.flot-text {
margin-left:0px;
padding:3px 0px 3px 0px;
width:100%;
color: @textColor;
padding-left:20px;
color: @white;
}
.panel-error {
color: @textColor;
color: @white;
padding: 3px 10px 0px 10px;
}
......
// Slate 2.3.2
// Variables
// --------------------------------------------------
// Global values
// --------------------------------------------------
......@@ -10,35 +5,40 @@
// Grays
// -------------------------
@black: #000;
@grayDarker: #272B30;
@grayDark: #3A3F44;
@gray: #52575C;
@grayLight: #7A8288;
@grayLighter: #BBBFC2;
@gray: #bbb;
@grayDark: #333;
@grayDarker: #1f1f1f;
@grayLight: #ADAFAE;
@grayLighter: #eee;
@white: #fff;
// Accent colors
// -------------------------
@blue: #5bc0de;
@blueDark: #108CBB;
@green: #62c462;
@red: #ee5f5b;
@yellow: #F6D30D;
@orange: #f89406;
@pink: #c3325f;
@purple: #7a43b6;
@blue: #33B5E5;
@blueDark: #0099CC;
@green: #669900;
@red: #CC0000;
@yellow: #ECBB13;
@orange: #FF8800;
@pink: #FF4444;
@purple: #9933CC;
// Kibana Variables
// -------------------------
@kibanaPanelBackground: @grayDarker;
// Scaffolding
// -------------------------
@bodyBackground: @grayDarker;
@textColor: #C8C8C8;
@bodyBackground: @grayDark;
@textColor: @grayLighter;
// Links
// -------------------------
@linkColor: @white;
@linkColor: darken(@white,5%);
@linkColorHover: @white;
......@@ -46,17 +46,17 @@
// -------------------------
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
@monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace;
@baseFontSize: 14px;
@baseFontFamily: @sansFontFamily;
@baseLineHeight: 21px;
@baseLineHeight: 20px;
@altFontFamily: @serifFontFamily;
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
@headingsColor: @white; // empty to use BS default, @textColor
@inputText: @black;
// Component sizing
// -------------------------
......@@ -70,66 +70,68 @@
@paddingSmall: 2px 10px; // 26px
@paddingMini: 0px 6px; // 22px
@baseBorderRadius: 4px;
@borderRadiusLarge: 6px;
@borderRadiusSmall: 3px;
@baseBorderRadius: 3px;
@borderRadiusLarge: 4px;
@borderRadiusSmall: 2px;
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: darken(@grayDark, 5%); // for striping
@tableBackgroundAccent: rgba(100, 100, 100, 0.3); // for striping
@tableBackgroundHover: @grayDark; // for hover
@tableBorder: lighten(@grayDark, 2%); // table and cell border
@tableBorder: @grayDark; // table and cell border
// Buttons
// -------------------------
@btnBackground: @gray;
@btnBackgroundHighlight: darken(@gray, 10%);
@btnBorder: darken(@gray, 20%);
@btnBackground: @grayLight;
@btnBackgroundHighlight: darken(@grayLight, 15%);
@btnBorder: #bbb;
@btnPrimaryBackground: @grayLight;
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%);
@btnPrimaryBackground: lighten(@blue, 5%);
@btnPrimaryBackgroundHighlight: darken(@blue, 5%);
@btnInfoBackground: @blue;
@btnInfoBackgroundHighlight: #2f96b4;
@btnInfoBackground: lighten(@purple, 5%);
@btnInfoBackgroundHighlight: darken(@purple, 5%);
@btnSuccessBackground: @green;
@btnSuccessBackgroundHighlight: #51a351;
@btnSuccessBackground: lighten(@green, 5%);
@btnSuccessBackgroundHighlight: darken(@green, 5%);
@btnWarningBackground: lighten(@orange, 5%);
@btnWarningBackgroundHighlight: darken(@orange, 5%);
@btnDangerBackground: lighten(@red, 5%);
@btnDangerBackgroundHighlight: darken(@red, 5%);
@btnInverseBackground: lighten(@black, 5%);
@btnInverseBackgroundHighlight: darken(@black, 5%);
@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;
@btnDangerBackground: @red;
@btnDangerBackgroundHighlight: #bd362f;
@btnInverseBackground: @gray;
@btnInverseBackgroundHighlight: @grayDarker;
// Forms
// -------------------------
@inputText: @white;
@inputBackground: @gray;
@inputBorder: @grayLight;
@inputBackground: lighten(@grayDark,10%);
@inputBorder: lighten(@grayDark,20%);
@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: darken(@grayDarker, 3%);
@inputDisabledBackground: #555;
@formActionsBackground: transparent;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns
// -------------------------
@dropdownBackground: @grayDark;
@dropdownBackground: @heroUnitBackground;
@dropdownBorder: rgba(0,0,0,.2);
@dropdownDividerTop: transparent;
@dropdownDividerBottom: darken(@grayDarker, 5%);
@dropdownDividerBottom: #222;
@dropdownLinkColor: @grayLight;
@dropdownLinkColor: @textColor;
@dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @grayDarker;
@dropdownLinkBackgroundHover: @grayDarker;
@dropdownLinkBackgroundActive: @linkColor;
@dropdownLinkBackgroundHover: @blue;
......@@ -143,7 +145,7 @@
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1030;
@zindexTooltip: 1020;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;
......@@ -162,7 +164,7 @@
// Hr border color
// -------------------------
@hrBorder: darken(@grayDarker, 5%);
@hrBorder: @grayDark;
// Horizontal forms & lists
......@@ -172,92 +174,92 @@
// Wells
// -------------------------
@wellBackground: darken(@grayDarker, 3%);
@wellBackground: #131517;
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarHeight: 50px;
@navbarBackgroundHighlight: @grayDarker;
@navbarBackground: @grayDarker;
@navbarBackgroundHighlight: @grayDark;
@navbarBorder: darken(@navbarBackground, 12%);
@navbarText: @textColor;
@navbarLinkColor: @textColor;
@navbarText: @grayLight;
@navbarLinkColor: @grayLight;
@navbarLinkColorHover: @white;
@navbarLinkColorActive: @navbarLinkColorHover;
@navbarLinkBackgroundHover: @grayDark;
@navbarLinkBackgroundHover: transparent;
@navbarLinkBackgroundActive: @navbarBackground;
@navbarBrandColor: @grayLighter;
@navbarBrandColor: @navbarLinkColor;
// Inverted navbar
@navbarInverseBackground: darken(@grayDarker, 10%);
@navbarInverseBackgroundHighlight: @grayDarker;
@navbarInverseBorder: #252525;
@navbarInverseBackground: #252A30;
@navbarInverseBackgroundHighlight: #252A30;
@navbarInverseBorder: transparent;
@navbarInverseText: @grayLight;
@navbarInverseLinkColor: @grayLight;
@navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: transparent;
@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseLinkBackgroundHover: #242A31;
@navbarInverseLinkBackgroundActive: @navbarInverseLinkBackgroundHover;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc;
@navbarInverseSearchPlaceholderColor: @white;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #fff;
@paginationBorder: #ddd;
@paginationActiveBackground: #f5f5f5;
@paginationBackground: @bodyBackground;
@paginationBorder: transparent;
@paginationActiveBackground: @blue;
// Hero unit
// -------------------------
@heroUnitBackground: darken(@grayDarker, 3%);
@heroUnitBackground: @grayDark;
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;
// Form states and alerts
// -------------------------
@warningText: #c09853;
@warningBackground: #fcf8e3;
@warningBorder: darken(spin(@warningBackground, -10), 3%);
@warningText: darken(#c09853, 10%);
@warningBackground: @grayLighter;
@warningBorder: transparent;
@errorText: #b94a48;
@errorBackground: #f2dede;
@errorBackground: @grayLighter;
@errorBorder: darken(spin(@errorBackground, -10), 3%);
@successText: #468847;
@successBackground: #dff0d8;
@successBackground: @grayLighter;
@successBorder: darken(spin(@successBackground, -10), 5%);
@infoText: #3a87ad;
@infoBackground: #d9edf7;
@infoText: @blueDark;
@infoBackground: @grayLighter;
@infoBorder: darken(spin(@infoBackground, -10), 7%);
// Tooltips and popovers
// -------------------------
@tooltipColor: #fff;
@tooltipBackground: @dropdownBackground;
@tooltipBackground: @heroUnitBackground;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: @dropdownBackground;
@popoverBackground: @heroUnitBackground;
@popoverArrowWidth: 10px;
@popoverArrowColor: @dropdownBackground;
@popoverTitleBackground: lighten(@popoverBackground, 3%);
@popoverArrowColor: @popoverBackground;
@popoverTitleBackground: @popoverBackground;
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
......@@ -273,32 +275,29 @@
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 10px;
@gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 10px;
@gridGutterWidth1200: 30px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 10px;
@gridGutterWidth768: 20px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
//
// Cosmo 2.3.2
// Variables
// --------------------------------------------------
......@@ -10,43 +10,46 @@
// Grays
// -------------------------
@black: #000;
@grayDarker: #222;
@grayDark: #333;
@gray: #555;
@grayLight: #999;
@grayDarker: #080808;
@grayDark: #999;
@gray: #bbb;
@grayLight: #dfdfdf;
@grayLighter: #eee;
@white: #fff;
// Accent colors
// -------------------------
@blue: #049cdb;
@blueDark: #0064cd;
@green: #46a546;
@red: #9d261d;
@yellow: #ffc40d;
@orange: #f89406;
@pink: #c3325f;
@purple: #7a43b6;
@blue: #007FFF;
@blueDark: #1F26B6;
@green: #3FB618;
@red: #FF0039;
@yellow: #FFA500;
@orange: #FF7518;
@pink: #E671B8;
@purple: #9954BB;
// Kibana Variables
// -------------------------
@kibanaPanelBackground: @white;
// Scaffolding
// -------------------------
@bodyBackground: #ffffff;
@textColor: @grayDark;
@bodyBackground: @grayLighter;
@textColor: #555;
// Links
// -------------------------
@linkColor: #08c;
@linkColorHover: lighten(@linkColor, 15%);
@linkColor: @blue;
@linkColorHover: darken(@linkColor, 10%);
// Typography
// -------------------------
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
@monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace;
@baseFontSize: 14px;
@baseFontFamily: @sansFontFamily;
......@@ -55,7 +58,7 @@
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
@headingsColor: @grayDarker; // empty to use BS default, @textColor
// Component sizing
......@@ -66,57 +69,56 @@
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 11px 19px; // 44px
@paddingLarge: 22px 30px; // 66px
@paddingSmall: 2px 10px; // 26px
@paddingMini: 0 6px; // 22px
@paddingMini: 2px 6px; // 24px
@baseBorderRadius: 4px;
@borderRadiusLarge: 6px;
@borderRadiusSmall: 3px;
@baseBorderRadius: 3px;
@borderRadiusLarge: 4px;
@borderRadiusSmall: 2px;
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: #f9f9f9; // for striping
@tableBackgroundHover: #f5f5f5; // for hover
@tableBackgroundHover: #E8F8FD; // for hover
@tableBorder: #ddd; // table and cell border
// Buttons
// -------------------------
@btnBackground: @white;
@btnBackgroundHighlight: darken(@white, 10%);
@btnBorder: #ccc;
@btnBackground: @grayLighter;
@btnBackgroundHighlight: darken(@grayLighter, 15%);
@btnBorder: #bbb;
@btnPrimaryBackground: @linkColor;
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 20%);
@btnPrimaryBackground: lighten(@blue, 5%);
@btnPrimaryBackgroundHighlight: darken(@blue, 5%);
@btnInfoBackground: #5bc0de;
@btnInfoBackgroundHighlight: #2f96b4;
@btnInfoBackground: lighten(@purple, 5%);
@btnInfoBackgroundHighlight: darken(@purple, 5%);
@btnSuccessBackground: #62c462;
@btnSuccessBackgroundHighlight: #51a351;
@btnSuccessBackground: lighten(@green, 5%);
@btnSuccessBackgroundHighlight: darken(@green, 5%);
@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;
@btnWarningBackground: lighten(@orange, 5%);
@btnWarningBackgroundHighlight: darken(@orange, 5%);
@btnDangerBackground: #ee5f5b;
@btnDangerBackgroundHighlight: #bd362f;
@btnDangerBackground: lighten(@red, 5%);
@btnDangerBackgroundHighlight: darken(@red, 5%);
@btnInverseBackground: #444;
@btnInverseBackgroundHighlight: @grayDarker;
@btnInverseBackground: lighten(@black, 5%);
@btnInverseBackgroundHighlight: darken(@black, 5%);
// Forms
// -------------------------
@inputBackground: @white;
@inputBorder: #ccc;
@inputBorder: @gray;
@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: #f5f5f5;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
@inputText: @grayDarker;
@inputText: #020202;
// Dropdowns
// -------------------------
......@@ -129,7 +131,7 @@
@dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @linkColor;
@dropdownLinkBackgroundActive: @blue;
@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
......@@ -158,7 +160,7 @@
// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;
@placeholderText: @gray;
// Hr border color
......@@ -173,52 +175,53 @@
// Wells
// -------------------------
@wellBackground: #f5f5f5;
@wellBackground: @grayLighter;
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarHeight: 50px;
@navbarBackgroundHighlight: @grayDarker;
@navbarBackground: @grayDarker;
@navbarBackgroundHighlight: @grayDark;
@navbarBorder: darken(@navbarBackground, 12%);
@navbarBorder: transparent;
@navbarText: @white;
@navbarLinkColor: @white;
@navbarLinkColorHover: @white;
@navbarLinkColorActive: @navbarLinkColorHover;
@navbarLinkBackgroundHover: @grayDark;
@navbarLinkBackgroundActive: @navbarBackground;
@navbarLinkColorHover: @gray;
@navbarLinkColorActive: @white;
@navbarLinkBackgroundHover: rgba(0, 0, 0, 0.05);
@navbarLinkBackgroundActive: transparent;
@navbarBrandColor: @grayLighter;
@navbarBrandColor: @navbarLinkColor;
// Inverted navbar
@navbarInverseBackground: #111111;
@navbarInverseBackgroundHighlight: #222222;
@navbarInverseBorder: #252525;
@navbarInverseBackground: @blue;
@navbarInverseBackgroundHighlight: @navbarInverseBackground;
@navbarInverseBorder: transparent;
@navbarInverseText: @grayLight;
@navbarInverseLinkColor: @grayLight;
@navbarInverseText: @white;
@navbarInverseLinkColor: @white;
@navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: transparent;
@navbarInverseLinkBackgroundHover: rgba(0, 0, 0, 0.05);
@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc;
@navbarInverseSearchPlaceholderColor: @grayDark;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #fff;
@paginationBorder: #ddd;
@paginationActiveBackground: #f5f5f5;
@paginationBackground: @grayLight;
@paginationBorder: transparent;
@paginationActiveBackground: @blue;
// Hero unit
......@@ -230,21 +233,21 @@
// Form states and alerts
// -------------------------
@warningText: #c09853;
@warningBackground: #fcf8e3;
@warningBorder: darken(spin(@warningBackground, -10), 3%);
@warningText: lighten(@orange, 10%);
@warningBackground: @orange;
@warningBorder: transparent;
@errorText: #b94a48;
@errorBackground: #f2dede;
@errorBorder: darken(spin(@errorBackground, -10), 3%);
@errorText: lighten(@red, 10%);
@errorBackground: @red;
@errorBorder: transparent;
@successText: #468847;
@successBackground: #dff0d8;
@successBorder: darken(spin(@successBackground, -10), 5%);
@successText: lighten(@green, 10%);
@successBackground: @green;
@successBorder: transparent;
@infoText: #3a87ad;
@infoBackground: #d9edf7;
@infoBorder: darken(spin(@infoBackground, -10), 7%);
@infoText: lighten(@purple,10%);
@infoBackground: @purple;
@infoBorder: transparent;
// Tooltips and popovers
......@@ -254,10 +257,10 @@
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: #fff;
@popoverArrowWidth: 10px;
@popoverArrowColor: #fff;
@popoverTitleBackground: darken(@popoverBackground, 3%);
@popoverBackground: @white;
@popoverArrowWidth: 15px;
@popoverArrowColor: @white;
@popoverTitleBackground: @white;
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment