!function(e){function t(t){for(var n,r,s=t[0],o=t[1],a=0,l=[];a{if(e){var t;const n=e=>e.type?e:e.child?n(e.child):void 0;return null===(t=n(e))||void 0===t?void 0:t.type}},r=e=>{if(e){var t;const n=e=>e.child?n(e.child):e;return null===(t=n(e))||void 0===t?void 0:t.type}};function s(e,t){return e&&e[t]?Object.fromEntries(Object.entries(e[t]).map((([e,t])=>"ignore"===t?[e,void 0]:[e,t]))):{}}},function(e,t){e.exports=__kbnSharedDeps__.ReactDom},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i=(e,t,n)=>{if(!t)return{min:-1/0,max:1/0};const i=Math.min(...t.rows.map((t=>t[e.metric]))),r=Math.max(...t.rows.map((t=>t[e.metric])));if(!(e.max||e.breakdownBy||void 0===n&&1!==t.rows.length))return r<0?{min:2*r,max:0}:{min:0,max:2*r};const s=e.max?n?t.rows[n][e.max]:Math.max(...t.rows.map((t=>t[e.max]))):r;return{min:e.breakdownBy&&!e.max?i:0,max:e.breakdownBy?e.max?s:r:s}}},function(e,t,n){n.r(t);var i=__kbnBundles__.get("plugin/kibanaReact/public");Object.defineProperties(t,Object.getOwnPropertyDescriptors(i))},function(e,t){e.exports=__kbnSharedDeps__.KbnAnalytics},function(e,t){e.exports=__kbnSharedDeps__.React},function(e,t,n){n(16),__kbnBundles__.define("plugin/expressionMetricVis/public",n,17)},function(e,t,n){n.p=window.__kbnPublicPath__.expressionMetricVis},function(e,t,n){"use strict";n.r(t),n.d(t,"plugin",(function(){return M})),n.d(t,"getDataBoundsForPalette",(function(){return y.a})),n.d(t,"EXPRESSION_METRIC_NAME",(function(){return a.b})),n.d(t,"EXPRESSION_METRIC_TRENDLINE_NAME",(function(){return a.c}));var i=n(3),r=n(0),s=n(1),o=n(7),a=n(2);const c=()=>({name:a.b,type:"render",inputTypes:["datatable"],help:r.i18n.translate("expressionMetricVis.function.help",{defaultMessage:"Metric visualization"}),args:{metric:{types:["vis_dimension","string"],help:r.i18n.translate("expressionMetricVis.function.metric.help",{defaultMessage:"The primary metric."}),required:!0},secondaryMetric:{types:["vis_dimension","string"],help:r.i18n.translate("expressionMetricVis.function.secondaryMetric.help",{defaultMessage:"The secondary metric (shown above the primary)."})},max:{types:["vis_dimension","string"],help:r.i18n.translate("expressionMetricVis.function.max.help.",{defaultMessage:"The dimension containing the maximum value."})},breakdownBy:{types:["vis_dimension","string"],help:r.i18n.translate("expressionMetricVis.function.breakdownBy.help",{defaultMessage:"The dimension containing the labels for sub-categories."})},trendline:{types:[a.c],help:r.i18n.translate("expressionMetricVis.function.trendline.help",{defaultMessage:"An optional trendline configuration"})},subtitle:{types:["string"],help:r.i18n.translate("expressionMetricVis.function.subtitle.help",{defaultMessage:"The subtitle for a single metric. Overridden if breakdownBy is supplied."})},secondaryPrefix:{types:["string"],help:r.i18n.translate("expressionMetricVis.function.secondaryPrefix.help",{defaultMessage:"Optional text to be show before secondaryMetric."})},progressDirection:{types:["string"],options:[o.LayoutDirection.Vertical,o.LayoutDirection.Horizontal],default:o.LayoutDirection.Vertical,help:r.i18n.translate("expressionMetricVis.function.progressDirection.help",{defaultMessage:"The direction the progress bar should grow."}),strict:!0},color:{types:["string"],help:r.i18n.translate("expressionMetricVis.function.color.help",{defaultMessage:"Provides a static visualization color. Overridden by palette."})},icon:{types:["string"],help:r.i18n.translate("expressionMetricVis.function.icon.help",{defaultMessage:"Provides a static visualization icon."})},palette:{types:["palette"],help:r.i18n.translate("expressionMetricVis.function.palette.help",{defaultMessage:"Provides colors for the values, based on the bounds."})},maxCols:{types:["number"],help:r.i18n.translate("expressionMetricVis.function.numCols.help",{defaultMessage:"Specifies the max number of columns in the metric grid."}),default:5},minTiles:{types:["number"],help:r.i18n.translate("expressionMetricVis.function.minTiles.help",{defaultMessage:"Specifies the minimum number of tiles in the metric grid regardless of the input data."})},inspectorTableId:{types:["string"],help:r.i18n.translate("expressionMetricVis.function.inspectorTableId.help",{defaultMessage:"An ID for the inspector table"}),multi:!1,default:"default"}},fn(e,t,n){var i,o,c,l;if(Object(s.validateAccessor)(t.metric,e.columns),Object(s.validateAccessor)(t.secondaryMetric,e.columns),Object(s.validateAccessor)(t.max,e.columns),Object(s.validateAccessor)(t.breakdownBy,e.columns),null!=n&&null!==(i=n.inspectorAdapters)&&void 0!==i&&i.tables){var u;n.inspectorAdapters.tables.reset(),n.inspectorAdapters.tables.allowCsvExport=!0;const i=[[[t.metric],r.i18n.translate("expressionMetricVis.function.dimension.metric",{defaultMessage:"Metric"})]];t.secondaryMetric&&i.push([[t.secondaryMetric],r.i18n.translate("expressionMetricVis.function.dimension.secondaryMetric",{defaultMessage:"Secondary Metric"})]),t.breakdownBy&&i.push([[t.breakdownBy],r.i18n.translate("expressionMetricVis.function.dimension.splitGroup",{defaultMessage:"Split group"})]),t.max&&i.push([[t.max],r.i18n.translate("expressionMetricVis.function.dimension.maximum",{defaultMessage:"Maximum"})]);const o=Object(s.prepareLogTable)(e,i,!0);var d,p;n.inspectorAdapters.tables.logDatatable(t.inspectorTableId,o),null!==(u=t.trendline)&&void 0!==u&&u.inspectorTable&&t.trendline.inspectorTableId&&n.inspectorAdapters.tables.logDatatable(null===(d=t.trendline)||void 0===d?void 0:d.inspectorTableId,null===(p=t.trendline)||void 0===p?void 0:p.inspectorTable)}return{type:"render",as:a.b,value:{visData:e,visType:"metric",visConfig:{metric:{subtitle:t.subtitle,secondaryPrefix:t.secondaryPrefix,color:t.color,icon:t.icon,palette:null===(o=t.palette)||void 0===o?void 0:o.params,progressDirection:t.progressDirection,maxCols:t.maxCols,minTiles:t.minTiles,trends:null===(c=t.trendline)||void 0===c?void 0:c.trends},dimensions:{metric:t.metric,secondaryMetric:t.secondaryMetric,max:t.max,breakdownBy:t.breakdownBy}},overrides:null===(l=n.variables)||void 0===l?void 0:l.overrides}}}});var l=n(8),u=(n(14),n(10)),d=n(12),p=n(6),f=n(13),m=n(9),b={name:"16k86jb",styles:"height:100%;width:100%;display:flex;align-items:center;justify-content:center"};var h=n(4),g=n(5);const v=()=>({name:a.c,inputTypes:["datatable"],type:a.c,help:r.i18n.translate("expressionMetricVis.trendline.function.help",{defaultMessage:"Metric visualization"}),args:{metric:{types:["vis_dimension","string"],help:r.i18n.translate("expressionMetricVis.trendline.function.metric.help",{defaultMessage:"The primary metric."}),required:!0},timeField:{types:["vis_dimension","string"],help:r.i18n.translate("expressionMetricVis.trendline.function.timeField.help",{defaultMessage:"The time field for the trend line"}),required:!0},breakdownBy:{types:["vis_dimension","string"],help:r.i18n.translate("expressionMetricVis.trendline.function.breakdownBy.help",{defaultMessage:"The dimension containing the labels for sub-categories."})},table:{types:["datatable"],help:r.i18n.translate("expressionMetricVis.trendline.function.table.help",{defaultMessage:"A data table"}),multi:!1},inspectorTableId:{types:["string"],help:r.i18n.translate("expressionMetricVis.trendline.function.inspectorTableId.help",{defaultMessage:"An ID for the inspector table"}),multi:!1,default:"trendline"}},fn(e,t,n){var i,o;const c=t.table;Object(s.validateAccessor)(t.metric,c.columns),Object(s.validateAccessor)(t.timeField,c.columns),Object(s.validateAccessor)(t.breakdownBy,c.columns);const l=[[[t.metric],r.i18n.translate("expressionMetricVis.function.dimension.metric",{defaultMessage:"Metric"})],[[t.timeField],r.i18n.translate("expressionMetricVis.function.dimension.timeField",{defaultMessage:"Time field"})]];t.breakdownBy&&l.push([[t.breakdownBy],r.i18n.translate("expressionMetricVis.function.dimension.splitGroup",{defaultMessage:"Split group"})]);const u=Object(s.prepareLogTable)(c,l,!0),d=null===(i=Object(s.getColumnByAccessor)(t.metric,c.columns))||void 0===i?void 0:i.id,p=null===(o=Object(s.getColumnByAccessor)(t.timeField,c.columns))||void 0===o?void 0:o.id;if(!d||!p)throw new Error("Metric trendline - couldn't find metric or time column!");const f={};if(t.breakdownBy){var m;const e=null===(m=Object(s.getColumnByAccessor)(t.breakdownBy,c.columns))||void 0===m?void 0:m.id;if(!e)throw new Error("Metric trendline - couldn't find breakdown column!");const n={};c.rows.forEach((t=>{const i=t[e];i in n||(n[i]=[]),n[i].push(t)}));for(const e in n)n.hasOwnProperty(e)&&(f[e]=n[e].map((e=>({x:null!==e[p]?e[p]:NaN,y:null!==e[d]?e[d]:NaN}))))}else f[a.a]=c.rows.map((e=>({x:e[p],y:e[d]})));return{type:a.c,trends:f,inspectorTable:u,inspectorTableId:t.inspectorTableId}}});class plugin_ExpressionMetricPlugin{setup(e,{expressions:t,charts:r}){const o=Object(i.createStartServicesGetter)(e.getStartServices);var y;r.palettes.getPalettes().then((e=>{Object(l.e)(e)})),t.registerFunction(c),t.registerFunction(v),t.registerRenderer((y={getStartDeps:o},()=>({name:a.b,displayName:"metric visualization",reuseDomNode:!0,render:async(e,{visData:t,visConfig:i,overrides:r},o)=>{var a;const{core:c,plugins:l}=y.getStartDeps();o.onDestroy((()=>{Object(u.unmountComponentAtNode)(e)}));const h=!!t.rows.length&&await async function(e,t,n){var i;const r=Object(s.getColumnByAccessor)(null!==(i=e.breakdownBy)&&void 0!==i?i:e.metric,t.columns),o=t.columns.indexOf(r),a=r?t.rows[0][r.id]:void 0;return Boolean(await(null==n?void 0:n({name:"filter",data:{data:[{table:t,column:o,row:0,value:a}]}})))}(i.dimensions,t,null===(a=o.hasCompatibleActions)||void 0===a?void 0:a.bind(o)),{MetricVis:g}=await n.e(1).then(n.bind(null,23));Object(u.render)(Object(p.jsx)(d.KibanaThemeProvider,{theme$:c.theme.theme$},Object(p.jsx)("div",{"data-test-subj":"mtrVis",css:b},Object(p.jsx)(g,{data:t,config:i,renderComplete:()=>{const e=o.getExecutionContext(),t=Object(m.a)(e),n=Object(m.b)(e);var i;t&&n&&(null===(i=l.usageCollection)||void 0===i||i.reportUiCounter(t,f.METRIC_TYPE.COUNT,[`render_${n}_metric`])),o.done()},fireEvent:o.event,renderMode:o.getRenderMode(),filterable:h,overrides:r}))),e)}}))),Object(g.a)(e.uiSettings),Object(h.b)(r.theme)}start(e,{fieldFormats:t}){Object(l.d)(t)}}var y=n(11);function M(){return new plugin_ExpressionMetricPlugin}},function(e,t){e.exports=__kbnSharedDeps_npm__},function(e,t){e.exports=__kbnSharedDeps__.KbnUiTheme},function(e,t){e.exports=__kbnSharedDeps__.ElasticEui}]);