last minute changes

This commit is contained in:
Shelby Sturgis 2014-08-15 00:27:33 +03:00
parent a9e023307c
commit 88c0309fa2
11 changed files with 683 additions and 291 deletions

View file

@ -4,10 +4,10 @@
- **src/kibana/apps/dashboard/directives/grid.js**
- change this from event based to calling a method on dashboardApp [L68](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/dashboard/directives/grid.js#L68)
- **src/kibana/apps/discover/controllers/discover.js**
- Switch this to watching time.string when we implement it [L150](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L150)
- On array fields, negating does not negate the combination, rather all terms [L477](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L477)
- Move to utility class [L548](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L548)
- Move to utility class [L558](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L558)
- Switch this to watching time.string when we implement it [L151](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L151)
- On array fields, negating does not negate the combination, rather all terms [L480](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L480)
- Move to utility class [L551](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L551)
- Move to utility class [L561](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/discover/controllers/discover.js#L561)
- **src/kibana/apps/settings/sections/indices/_create.js**
- we should probably display a message of some kind [L111](https://github.com/elasticsearch/kibana4/blob/master/src/kibana/apps/settings/sections/indices/_create.js#L111)
- **src/kibana/apps/visualize/controllers/editor.js**

View file

@ -299,7 +299,7 @@ define(function (require) {
var validTypes = ['string', 'number', 'date', 'ip'];
if (!mapping.indexed) return false;
return _.contains(validTypes, mapping.type);
}
};
var $childScope = _.assign(childScopeFor(id), { row: row, showFilters: showFilters });
$compile($detailsTr)($childScope);

View file

@ -104,11 +104,8 @@
text-align: center;
background-color: #ffffff;
}
.discover-overlay .spinner {
position: absolute;
top: 70px;
left: 0;
right: 0;
.discover-overlay > div {
text-align: center;
}
.discover-hits {
background-color: #ecf0f1;

View file

@ -28,7 +28,7 @@ define(function (require) {
// Inherited functions
var color = vis.data.color;
var tooltip = vis.tooltip;
// var getYStackMax = vis.yStackMax;
var yStackMax = vis.yStackMax;
var yMax;
// var createSVG = vis.createSVG;
// var transformSVG = vis.transformSVG;
@ -68,7 +68,6 @@ define(function (require) {
var width;
var height;
var layers;
var yStackMax;
var xTicks;
var yTicks;
@ -85,7 +84,6 @@ define(function (require) {
});
}));
yStackMax = getYStackMax(layers);
// Get the width and height
width = elWidth - margin.left - margin.right;

View file

@ -1,7 +1,7 @@
define(function (require) {
return function LegendClassifyUtilService() {
return function (name) {
return 'c' + name.replace('/[#]/g', '');
return 'c' + name.replace(/[#]/g, '');
};
};
});

View file

@ -1,402 +1,347 @@
/* Stylings that will blow your mind! */
.arc path {
stroke: #fff;
/* stroke-width: 3px; */
stroke: #fff;
/* stroke-width: 3px; */
}
.arc path {
stroke: #fff;
/* stroke-width: 3px; */
stroke: #fff;
/* stroke-width: 3px; */
}
div.columns {
display: flex;
flex-direction: row;
flex: 1 1 100%;
margin: 0;
padding: 0;
display: flex;
flex-direction: row;
flex: 1 1 100%;
margin: 0;
padding: 0;
}
div.rows {
display: flex;
flex-direction: column;
flex: 1 1 100%;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
flex: 1 1 100%;
margin: 0;
padding: 0;
}
div.chart {
display: flex;
flex: 1 1;
flex-direction: column;
display: flex;
flex: 1 1;
flex-direction: column;
}
.row-labels, .column-labels {
margin: 0;
padding: 10;
.row-labels,
.column-labels {
margin: 0;
padding: 10;
}
visualize {
margin:0;
padding:0;
margin: 0;
padding: 0;
}
.visualize-chart {
display: flex;
flex: 1 1 100%;
display: flex;
flex: 1 1 100%;
}
.visualize-wrapper {
display: flex;
flex-direction: row;
display: flex;
flex-direction: row;
}
.y-axis-wrapper {
display: flex;
flex: 1 1;
flex-direction: column;
display: flex;
flex: 1 1;
flex-direction: column;
}
.y-axis-div {
flex: 5 1;
flex: 5 1;
}
.y-axis-filler-div {
flex: 1 1;
flex: 1 1;
}
/*.vis-wrapper {*/
/*display: flex;*/
/*flex: 5 1;*/
/*flex-direction: column;*/
/*display: flex;*/
/*flex: 5 1;*/
/*flex-direction: column;*/
/*}*/
.chart-wrapper {
flex: 5 1;
flex: 5 1;
}
.x-axis-div {
flex: 1 1;
flex: 1 1;
}
.legend-wrapper {
flex: 1 1;
flex: 1 1;
}
.chartwrapper {
display: flex;
flex: 1 1 100%;
margin: 0;
padding: 0;
overflow: hidden;
display: flex;
flex: 1 1 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
div.x-axis-label {
position: absolute;
width: 100%;
text-align: center;
bottom: 15px;
font-size: 7pt;
color: #848e96;
position: absolute;
width: 100%;
text-align: center;
bottom: 15px;
font-size: 7pt;
color: #848e96;
}
div.y-axis-label {
position: absolute;
left: -25px;
top: 42.5%;
font-size: 7pt;
color: #848e96;
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-o-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
position: absolute;
left: -25px;
top: 42.5%;
font-size: 7pt;
color: #848e96;
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-o-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
/* legends */
.legendwrapper {
flex: 0 0 auto;
margin: 0;
padding: 10px 10px 10px 0;
/*border: 1px solid #ddd;*/
/*position: absolute;*/
float: right;
/*width: 30px;*/
/*height: 25px;*/
/*top: 34px;*/
/*right: 10px;*/
z-index: 10;
overflow: hidden;
flex: 0 0 auto;
margin: 0;
padding: 10px 10px 10px 0;
/*border: 1px solid #ddd;*/
/*position: absolute;*/
float: right;
/*width: 30px;*/
/*height: 25px;*/
/*top: 34px;*/
/*right: 10px;*/
z-index: 10;
overflow: hidden;
}
.legendwrapper.legend-open {
width: auto;
width: auto;
}
.legendwrapper.legend-closed {
width: 40px;
width: 40px;
}
.header {
width: 100%;
height: 26px;
margin: 0 0 6px 0;
width: 100%;
height: 26px;
margin: 0 0 6px 0;
}
.legend-ul {
list-style: none;
margin: 0;
padding: 0;
width: 150px;
visibility: visible;
list-style: none;
margin: 0;
padding: 0;
width: 150px;
visibility: visible;
}
.legend-ul.hidden {
visibility: hidden;
visibility: hidden;
}
.legend-ul li {
display: block;
float: left;
width: 150px;
min-height: 22px;
margin: 0 18px 0 18px;
padding: 4px 0 4px 0;
text-align: left;
word-wrap: break-word;
font-size: 12px;
line-height: 13px;
list-style: none;
color: #666;
display: block;
float: left;
width: 150px;
min-height: 22px;
margin: 0 18px 0 18px;
padding: 4px 0 4px 0;
text-align: left;
word-wrap: break-word;
font-size: 12px;
line-height: 13px;
list-style: none;
color: #666;
}
li.legends {
cursor: pointer;
cursor: pointer;
}
.dots {
width: 10px;
height: 10px;
border-radius: 50%;
display: block;
float: left;
margin: 2px 0 0 -16px;
padding: 0;
width: 10px;
height: 10px;
border-radius: 50%;
display: block;
float: left;
margin: 2px 0 0 -16px;
padding: 0;
}
.legend-toggle {
position: relative;
float: right;
right: 2px;
top: 1px;
position: relative;
float: right;
right: 2px;
top: 1px;
}
.legend-open {
overflow: auto;
overflow: auto;
}
.column-labels {
color: #777;
font-size: 10pt;
font-weight: normal;
display: block;
margin: 0;
padding: 0;
padding-left: 1.0em;
line-height: 2.0em;
color: #777;
font-size: 10pt;
font-weight: normal;
display: block;
margin: 0;
padding: 0;
padding-left: 1.0em;
line-height: 2.0em;
}
/* histogram axis and label styles */
.vis-canvas {
/* background-color: #fff; */
/* background-color: #fff; */
}
.chart-bkgd {
fill: #ffffff;
/*fill: #eff3f4;*/
/*stroke: #ddd;*/
/*shape-rendering: crispEdges;*/
fill: #ffffff;
/*fill: #eff3f4;*/
/*stroke: #ddd;*/
/*shape-rendering: crispEdges;*/
}
/*.rows-label, .columns-label {
font-size: 10pt;
fill: #46525d;
text-align: center;
line-height: 1.5em;
}*/
p.rows-label, p.columns-label {
display: block;
background: #eff3f4;
padding: 0;
margin: 0;
font-size: 9pt;
fill: #46525d;
text-align: center;
line-height: 1.9em;
p.rows-label,
p.columns-label {
display: block;
background: #eff3f4;
padding: 0;
margin: 0;
font-size: 9pt;
fill: #46525d;
text-align: center;
line-height: 1.9em;
}
.charts-label {
font-size: 8pt;
fill: #848e96;
font-size: 8pt;
fill: #848e96;
}
.x-axis-label, .y-axis-label {
font-size: 7pt;
fill: #848e96;
.x-axis-label,
.y-axis-label {
font-size: 7pt;
fill: #848e96;
}
.tick text {
font-size: 7pt;
fill: #848e96;
/*cursor: pointer;*/
font-size: 7pt;
fill: #848e96;
/*cursor: pointer;*/
}
.axis {
shape-rendering: crispEdges;
stroke-width: 1px;
shape-rendering: crispEdges;
stroke-width: 1px;
}
.axis line, .axis path {
stroke: #ddd;
fill: none;
.axis line,
.axis path {
stroke: #ddd;
fill: none;
}
.legend-box {
fill: #ffffff;
fill: #ffffff;
}
.brush .extent {
stroke: #fff;
fill-opacity: .125;
shape-rendering: crispEdges;
stroke: #fff;
fill-opacity: .125;
shape-rendering: crispEdges;
}
.layer .rect:hover {
stroke: 3px;
stroke: 3px;
}
.k4tip {
line-height: 1;
font-size: 12px;
font-weight: normal;
padding: 8px;
background: rgba(70, 82, 93, 0.95);
color: #fff;
border-radius: 4px;
position: fixed;
z-index: 20;
visibility: hidden;
line-height: 1;
font-size: 12px;
font-weight: normal;
padding: 8px;
background: rgba(70, 82, 93, 0.95);
color: #fff;
border-radius: 4px;
position: fixed;
z-index: 20;
visibility: hidden;
}
.rect {
/*shape-rendering: crispEdges;*/
stroke: transparent;
stroke-width: 2;
/*shape-rendering: crispEdges;*/
stroke: transparent;
stroke-width: 2;
}
.rect.hover {
/*shape-rendering: crispEdges;*/
stroke: #333;
/*shape-rendering: crispEdges;*/
stroke: #333;
}
/* Flex Box Testing */
.vis-wrapper {
display: flex;
flex: 1 1 100%;
flex-direction: row;
margin: 10px;
display: flex;
flex: 1 1 100%;
flex-direction: row;
margin: 10px;
}
.y-axis-col-wrapper {
display: flex;
flex: 2 1;
flex-direction: column;
display: flex;
flex: 2 1;
flex-direction: column;
}
.y-axis-col {
display: flex;
flex: 25 1;
flex-direction: row;
display: flex;
flex: 25 1;
flex-direction: row;
}
.y-axis-div-wrapper {
display: flex;
flex: 25 1;
flex-direction: column;
display: flex;
flex: 25 1;
flex-direction: column;
}
.y-axis-title {
flex: 1 1;
flex: 1 1;
}
.y-axis-div {
flex: 1 1;
overflow: visible;
flex: 1 1;
overflow: visible;
}
.y-axis-spacer-block {
flex: 1 1;
flex: 1 1;
}
.vis-col-wrapper {
display: flex;
flex: 25 1;
flex-direction: column;
display: flex;
flex: 25 1;
flex-direction: column;
}
.chart-wrapper {
display: flex;
flex: 25 1;
display: flex;
flex: 25 1;
}
.chart-wrapper-column {
display: flex;
flex: 25 1;
flex-direction: row;
display: flex;
flex: 25 1;
flex-direction: row;
}
.chart-wrapper-row {
display: flex;
flex: 25 1;
flex-direction: column;
display: flex;
flex: 25 1;
flex-direction: column;
}
.chart-row {
flex: 1 1;
flex: 1 1;
}
.chart-column {
flex: 1 1;
flex: 1 1;
}
.x-axis-wrapper {
display: flex;
flex: 1 1;
flex-direction: column;
display: flex;
flex: 1 1;
flex-direction: column;
}
.x-axis-div-wrapper {
display: flex;
flex: 25 1;
flex-direction: row;
display: flex;
flex: 25 1;
flex-direction: row;
}
.x-axis-title {
flex: 5 1;
flex: 5 1;
}
.open-wrapper {
flex: 1 1 ;
flex: 1 1 ;
}
.x-axis-div {
flex: 1 1;
flex: 1 1;
}
.legend-col-wrapper {
flex: 1 1;
z-index: 10;
overflow: hidden;
flex: 1 1;
z-index: 10;
overflow: hidden;
}
.test-wrapper {
flex: 20 1;
flex: 20 1;
}
li.color {
list-style: none;
}
list-style: none;
}

View file

@ -0,0 +1,402 @@
/* Stylings that will blow your mind! */
.arc path {
stroke: #fff;
/* stroke-width: 3px; */
}
.arc path {
stroke: #fff;
/* stroke-width: 3px; */
}
div.columns {
display: flex;
flex-direction: row;
flex: 1 1 100%;
margin: 0;
padding: 0;
}
div.rows {
display: flex;
flex-direction: column;
flex: 1 1 100%;
margin: 0;
padding: 0;
}
div.chart {
display: flex;
flex: 1 1;
flex-direction: column;
}
.row-labels, .column-labels {
margin: 0;
padding: 10;
}
visualize {
margin:0;
padding:0;
}
.visualize-chart {
display: flex;
flex: 1 1 100%;
}
.visualize-wrapper {
display: flex;
flex-direction: row;
}
.y-axis-wrapper {
display: flex;
flex: 1 1;
flex-direction: column;
}
.y-axis-div {
flex: 5 1;
}
.y-axis-filler-div {
flex: 1 1;
}
/*.vis-wrapper {*/
/*display: flex;*/
/*flex: 5 1;*/
/*flex-direction: column;*/
/*}*/
.chart-wrapper {
flex: 5 1;
}
.x-axis-div {
flex: 1 1;
}
.legend-wrapper {
flex: 1 1;
}
.chartwrapper {
display: flex;
flex: 1 1 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
div.x-axis-label {
position: absolute;
width: 100%;
text-align: center;
bottom: 15px;
font-size: 7pt;
color: #848e96;
}
div.y-axis-label {
position: absolute;
left: -25px;
top: 42.5%;
font-size: 7pt;
color: #848e96;
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-o-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
/* legends */
.legendwrapper {
flex: 0 0 auto;
margin: 0;
padding: 10px 10px 10px 0;
/*border: 1px solid #ddd;*/
/*position: absolute;*/
float: right;
/*width: 30px;*/
/*height: 25px;*/
/*top: 34px;*/
/*right: 10px;*/
z-index: 10;
overflow: hidden;
}
.legendwrapper.legend-open {
width: auto;
}
.legendwrapper.legend-closed {
width: 40px;
}
.header {
width: 100%;
height: 26px;
margin: 0 0 6px 0;
}
.legend-ul {
list-style: none;
margin: 0;
padding: 0;
width: 150px;
visibility: visible;
}
.legend-ul.hidden {
visibility: hidden;
}
.legend-ul li {
display: block;
float: left;
width: 150px;
min-height: 22px;
margin: 0 18px 0 18px;
padding: 4px 0 4px 0;
text-align: left;
word-wrap: break-word;
font-size: 12px;
line-height: 13px;
list-style: none;
color: #666;
}
li.legends {
cursor: pointer;
}
.dots {
width: 10px;
height: 10px;
border-radius: 50%;
display: block;
float: left;
margin: 2px 0 0 -16px;
padding: 0;
}
.legend-toggle {
position: relative;
float: right;
right: 2px;
top: 1px;
}
.legend-open {
overflow: auto;
}
.column-labels {
color: #777;
font-size: 10pt;
font-weight: normal;
display: block;
margin: 0;
padding: 0;
padding-left: 1.0em;
line-height: 2.0em;
}
/* histogram axis and label styles */
.vis-canvas {
/* background-color: #fff; */
}
.chart-bkgd {
fill: #ffffff;
/*fill: #eff3f4;*/
/*stroke: #ddd;*/
/*shape-rendering: crispEdges;*/
}
/*.rows-label, .columns-label {
font-size: 10pt;
fill: #46525d;
text-align: center;
line-height: 1.5em;
}*/
p.rows-label, p.columns-label {
display: block;
background: #eff3f4;
padding: 0;
margin: 0;
font-size: 9pt;
fill: #46525d;
text-align: center;
line-height: 1.9em;
}
.charts-label {
font-size: 8pt;
fill: #848e96;
}
.x-axis-label, .y-axis-label {
font-size: 7pt;
fill: #848e96;
}
.tick text {
font-size: 7pt;
fill: #848e96;
/*cursor: pointer;*/
}
.axis {
shape-rendering: crispEdges;
stroke-width: 1px;
}
.axis line, .axis path {
stroke: #ddd;
fill: none;
}
.legend-box {
fill: #ffffff;
}
.brush .extent {
stroke: #fff;
fill-opacity: .125;
shape-rendering: crispEdges;
}
.layer .rect:hover {
stroke: 3px;
}
.k4tip {
line-height: 1;
font-size: 12px;
font-weight: normal;
padding: 8px;
background: rgba(70, 82, 93, 0.95);
color: #fff;
border-radius: 4px;
position: fixed;
z-index: 20;
visibility: hidden;
}
.rect {
/*shape-rendering: crispEdges;*/
stroke: transparent;
stroke-width: 2;
}
.rect.hover {
/*shape-rendering: crispEdges;*/
stroke: #333;
}
/* Flex Box Testing */
.vis-wrapper {
display: flex;
flex: 1 1 100%;
flex-direction: row;
margin: 10px;
}
.y-axis-col-wrapper {
display: flex;
flex: 2 1;
flex-direction: column;
}
.y-axis-col {
display: flex;
flex: 25 1;
flex-direction: row;
}
.y-axis-div-wrapper {
display: flex;
flex: 25 1;
flex-direction: column;
}
.y-axis-title {
flex: 1 1;
}
.y-axis-div {
flex: 1 1;
overflow: visible;
}
.y-axis-spacer-block {
flex: 1 1;
}
.vis-col-wrapper {
display: flex;
flex: 25 1;
flex-direction: column;
}
.chart-wrapper {
display: flex;
flex: 25 1;
}
.chart-wrapper-column {
display: flex;
flex: 25 1;
flex-direction: row;
}
.chart-wrapper-row {
display: flex;
flex: 25 1;
flex-direction: column;
}
.chart-row {
flex: 1 1;
}
.chart-column {
flex: 1 1;
}
.x-axis-wrapper {
display: flex;
flex: 1 1;
flex-direction: column;
}
.x-axis-div-wrapper {
display: flex;
flex: 25 1;
flex-direction: row;
}
.x-axis-title {
flex: 5 1;
}
.open-wrapper {
flex: 1 1 ;
}
.x-axis-div {
flex: 1 1;
}
.legend-col-wrapper {
flex: 1 1;
z-index: 10;
overflow: hidden;
}
.test-wrapper {
flex: 20 1;
}
li.color {
list-style: none;
}

View file

@ -13,6 +13,7 @@ define(function (require) {
ColumnChart.Super.apply(this, arguments);
this.chartEl = chartEl;
this.chartData = chartData;
this.yStackMax = vis.yAxis.yStackMax;
this._attr = _.defaults(vis.config || {}, {
'margin' : { top: 0, right: 0, bottom: 0, left: 0 },
'offset' : 'zero'

View file

@ -64,6 +64,16 @@ define(function (require) {
this.tooltip = new Tooltip('k4tip', tooltipFormatter);
}
if (!this.xAxis) {
this.xAxis = new XAxis(this.data);
this.xAxis.draw();
}
if (!this.yAxis) {
this.yAxis = new YAxis(this.data);
this.yAxis.draw();
}
if (!this.charts) {
var vis = this;
var charts = this.charts = [];
@ -77,16 +87,6 @@ define(function (require) {
});
}
if (!this.xAxis) {
this.xAxis = new XAxis(this.data);
this.xAxis.draw();
}
if (!this.yAxis) {
this.yAxis = new YAxis(this.data);
this.yAxis.draw();
}
this.checkSize('.chart');
};

View file

@ -7304,11 +7304,11 @@ ul.navbar-inline li {
position: relative;
z-index: 0;
}
.content .navbar {
.content > .navbar {
position: relative;
z-index: 1;
}
.content .application {
.content > .application {
position: relative;
z-index: 0;
}
@ -7456,6 +7456,17 @@ notifications {
padding: 10px 10px;
background-color: #ffffff;
}
.app-container > * {
position: relative;
z-index: 0;
}
.app-container > config {
z-index: 1;
}
.app-container > nav,
.app-container > navbar {
z-index: 2 !important;
}
kbn-table .table .table {
margin-bottom: 0px;
}
@ -7504,6 +7515,37 @@ kbn-table tr.even td {
word-break: normal;
word-wrap: normal;
}
.typeahead {
position: relative;
}
.typeahead .typeahead-items {
border: 1px solid rgba(0, 0, 0, 0.2);
color: #46525d;
background-color: #ffffff;
position: absolute;
z-index: 1020;
width: 100%;
}
.typeahead .typeahead-items .typeahead-item {
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
padding: 5px 15px;
}
.typeahead .typeahead-items .typeahead-item:last-child {
border-bottom: 0px;
}
.typeahead .typeahead-items .typeahead-item.active {
background-color: #ecf0f1;
}
.button-group .typeahead.visible .input-group > :first-child,
.inline-form .typeahead.visible .input-group > :first-child {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.button-group .typeahead.visible .input-group > :last-child,
.inline-form .typeahead.visible .input-group > :last-child {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.nav-condensed > li > a {
padding-top: 2px;
padding-bottom: 2px;
@ -7725,3 +7767,9 @@ filter-bar .bar .filter.negate {
filter-bar .bar .filter a {
color: #FFF;
}
filter-bar .bar .filter.disabled {
opacity: 0.8;
}
filter-bar .bar .filter.disabled span {
text-decoration: line-through;
}

View file

@ -10,6 +10,7 @@ module.exports = {
'<%= src %>/kibana/apps/visualize/styles/main.less',
'<%= src %>/kibana/apps/visualize/styles/visualization.less',
'<%= src %>/kibana/styles/main.less',
'<%= src %>/kibana/components/vislib/components/styles/main.less',
'<%= src %>/kibana/components/**/*.less'
],
expand: true,