/*!
 * Copyright © 2024 Splunk Inc.
 * SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
 * in part without a valid written license from Splunk Inc. is PROHIBITED.
 */
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 55);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {

module.exports = require("@splunk/ui-utils/i18n");

/***/ }),
/* 1 */
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/toConsumableArray");

/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.VizBehavior = void 0;
var VizBehavior;

(function (VizBehavior) {
  /**
   * Dynamic Options Behavior.
   * This allows visualization options to be powered by data
   *
   * **Example**
   *
   * sparklineValues: ">primary|seriesByIndex(0)"
   * would configure sparklineValues with an array of data points
   * coming from the first series in the primary datasource
   *
   */
  VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
  VizBehavior["EVENTS"] = "events";
  VizBehavior["DOWNSAMPLING"] = "downsampling";
  /**
   * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
   * missing.
   * @type {string}
   */

  VizBehavior["PLACEHOLDER"] = "placeholder";
  VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
  VizBehavior["TRELLIS"] = "trellis";
})(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));

/***/ }),
/* 3 */
/***/ (function(module, exports) {

module.exports = require("@splunk/visualizations-shared/schemaUtils");

/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _toConsumableArray = __webpack_require__(1);

var _defineProperty = __webpack_require__(7);

var __rest = this && this.__rest || function (s, e) {
  var t = {};

  for (var p in s) {
    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
  }

  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
  }
  return t;
};

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;

var lodash_1 = __webpack_require__(6);

var schemaUtils_1 = __webpack_require__(3);

var VizBehavior_1 = __webpack_require__(2);

var dynamicOptionsDSLType = {
  type: 'string',
  pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
};
/**
 * Helper function to extend an options schema with dynamic options DSL
 * @param optionsSchema a visualization's options schema
 * @returns an updated options schema that additionally allows strings starting with > for each option
 */

function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
  var enhancedOptionsSchema = {};
  Object.keys(optionsSchema).forEach(function (key) {
    var _a = optionsSchema[key],
        title = _a.title,
        description = _a.description,
        readOnly = _a.readOnly,
        writeOnly = _a.writeOnly,
        examples = _a.examples,
        defaultValue = _a.default,
        type = _a.type,
        properties = _a.properties,
        patternProperties = _a.patternProperties,
        remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);

    var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
      title: title
    }), description !== undefined && {
      description: description
    }), readOnly !== undefined && {
      readOnly: readOnly
    }), writeOnly !== undefined && {
      writeOnly: writeOnly
    }), examples !== undefined && {
      examples: examples
    }), defaultValue !== undefined && {
      default: defaultValue
    });

    if (type === 'object') {
      enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
        type: type
      }), properties && {
        properties: enhanceOptionsSchemaWithDynamicOptions(properties)
      });

      if (patternProperties) {
        var enhancedPatternProperties = {};
        Object.keys(patternProperties).forEach(function (opt) {
          enhancedPatternProperties = Object.assign(Object.assign({}, enhancedPatternProperties), enhanceOptionsSchemaWithDynamicOptions(_defineProperty({}, opt, patternProperties[opt])));
        });
        enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;
      }
    } else {
      enhancedOptionsSchema[key] = Object.assign(Object.assign({}, annotations), {
        anyOf: [Object.assign(Object.assign({}, type !== undefined && {
          type: type
        }), remainingSchemaEntry), dynamicOptionsDSLType]
      });
    }
  });
  return enhancedOptionsSchema;
}

exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
/**
 * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
 * this function also collapse all editor panels
 * @param vizConfig a Visualization Config
 * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
 * and containing `open: false` for all editor panels in editorConfig
 */

function enhanceConfig(vizConfig) {
  var enhancedConfig = Object.assign({}, vizConfig);

  if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
    enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
  }

  enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
    return Object.assign(Object.assign({}, config), {
      open: config.open || false
    });
  });
  return enhancedConfig;
}

exports.enhanceConfig = enhanceConfig;
/**
 * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
 * Created for editor unit tests
 * @param vizConfig a Visualization Config
 * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
 */

function uncollapseEditorConfig(vizConfig) {
  var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
  editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
    return Object.assign(Object.assign({}, config), {
      open: true
    });
  });
  return editorPanelUncollapsedConfig;
}

exports.uncollapseEditorConfig = uncollapseEditorConfig;

function isDynamicOption(option) {
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
}

exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset

/**
 * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
 * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset
 * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext
 * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up
 *
 * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
 */

function hasCompatibleContexts(vizContext, presetContext) {
  var presetContextKeys = Object.keys(presetContext);
  return presetContextKeys.every(function (contextKey) {
    return presetContext[contextKey] === undefined && vizContext[contextKey] === undefined || presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined;
  });
}
/**
 * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
 */


function hasCompatibleOptions(vizOptions, presetOptions) {
  var presetOptionKeys = Object.keys(presetOptions);
  return presetOptionKeys.every(function (optionKey) {
    return isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey]);
  });
}
/**
 * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions
 * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure
 *
 * @param {Object} vizContext - the current vizContext definition
 * @param {Object} vizOptions - the current vizOptions definition
 * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
 */


function getInitialPreset(vizContext, vizOptions, presets) {
  return presets.find(function (preset) {
    var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
    var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
    var presetContextKeys = Object.keys(presetContext);
    var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
    // if not, then the preset is invalid in config.ts

    if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
    return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
  });
}

exports.getInitialPreset = getInitialPreset;
/**
 * generates number precision values for a Select editor
 *
 * @param {Number} numPrecisionValues - number of integer precision values to generate
 * @returns {{ label: string; value; string  }[]} array of { label, value } tuples
 */

function generatePrecisionValues(numPrecisionValues) {
  return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
    return {
      label: "".concat(i, " (0").concat(i > 0 ? '.' : '').concat('0'.repeat(i), ")"),
      value: i
    };
  });
}

exports.generatePrecisionValues = generatePrecisionValues;
/**
 * insert layout in layout array, return a new layout array instead of updating the original
 *
 * @param {EditorLayoutConfig[][]} layout - editor layout
 * @param {Number} index - the index to insert layout item(s)
 * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
 * @returns {EditorLayoutConfig[][]} new editor layout with insertion
 */

var insertLayout = function insertLayout(layout, index) {
  for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
    layoutItems[_key - 2] = arguments[_key];
  }

  return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
};

exports.insertLayout = insertLayout;

/***/ }),
/* 5 */,
/* 6 */
/***/ (function(module, exports) {

module.exports = require("lodash");

/***/ }),
/* 7 */
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/defineProperty");

/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.VizCategory = void 0;
var VizCategory;

(function (VizCategory) {
  VizCategory["SINGLE_VALUE"] = "Single Value";
  VizCategory["TRENDS"] = "Trends";
  VizCategory["COMPARISONS"] = "Comparisons";
  VizCategory["TABLE"] = "Table";
  VizCategory["GAUGE"] = "Gauge";
  VizCategory["DISTRIBUTIONS"] = "Distributions";
  VizCategory["CHOROPLETH"] = "Choropleth Maps";
  VizCategory["SHAPES"] = "Shapes";
  VizCategory["MISC"] = "misc";
  VizCategory["FLOW"] = "Flow";
  VizCategory["CORRELATION"] = "Correlation";
  VizCategory["SPATIAL"] = "Spatial";
})(VizCategory = exports.VizCategory || (exports.VizCategory = {}));

/***/ }),
/* 9 */
/***/ (function(module, exports) {

module.exports = require("@splunk/themes/pick");

/***/ }),
/* 10 */
/***/ (function(module, exports) {

module.exports = require("@splunk/themes/variables");

/***/ }),
/* 11 */
/***/ (function(module, exports) {

module.exports = require("@splunk/visualization-icons/placeholders");

/***/ }),
/* 12 */
/***/ (function(module, exports) {

module.exports = require("@splunk/visualization-icons");

/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var i18n_1 = __webpack_require__(0);

var background = function background(_ref) {
  var label = _ref.label,
      themes = _ref.themes,
      labelPosition = _ref.labelPosition;
  return [{
    label: (0, i18n_1._)(label || 'Background'),
    option: 'backgroundColor',
    editor: 'editor.color',
    editorProps: {
      labelPosition: labelPosition || 'top',
      themes: themes
    }
  }];
};

exports.default = background;

/***/ }),
/* 14 */
/***/ (function(module, exports) {

module.exports = require("@splunk/visualization-color-palettes");

/***/ }),
/* 15 */,
/* 16 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _toConsumableArray = __webpack_require__(1);

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.AxesChartDataConfigAreaColumnLine = exports.AxesChartDataConfigBubble = exports.AxesChartDataConfigScatter = exports.AxesChartDataConfigBar = void 0;

var i18n_1 = __webpack_require__(0);

var configUtils_1 = __webpack_require__(4);

var AxesChartDataConfig = {
  label: (0, i18n_1._)('Data configurations'),
  layout: [[{
    label: (0, i18n_1._)('X'),
    option: 'x',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'primary',
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }], [{
    label: (0, i18n_1._)('Y'),
    option: 'y',
    editor: 'editor.columnMultiSelector',
    editorProps: {
      dataSourceKey: 'primary',
      filterByTypes: ['number'],
      supportsDSL: true,
      expectedDataPrimitive: ['series', 'frame']
    }
  }], [{
    label: (0, i18n_1._)('Result limit'),
    option: 'resultLimit',
    editor: 'editor.number',
    editorProps: {
      dataSourceKey: 'primary'
    }
  }]]
};
exports.AxesChartDataConfigBar = {
  label: AxesChartDataConfig.label,
  // insert Y2 after Y
  layout: (0, configUtils_1.insertLayout)(AxesChartDataConfig.layout, 2, [{
    label: (0, i18n_1._)('Y2'),
    option: 'y2',
    editor: 'editor.columnMultiSelector',
    editorProps: {
      dataSourceKey: 'primary',
      filterByTypes: ['number'],
      supportsDSL: true,
      expectedDataPrimitive: ['series', 'frame']
    }
  }])
};
exports.AxesChartDataConfigScatter = {
  label: AxesChartDataConfig.label,
  layout: [[{
    label: (0, i18n_1._)('X'),
    option: 'x',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'primary',
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }], [{
    label: (0, i18n_1._)('Y'),
    option: 'y',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'primary',
      filterByTypes: ['number'],
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }], [{
    label: (0, i18n_1._)('Category'),
    option: 'category',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'primary',
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }], [{
    label: (0, i18n_1._)('Result limit'),
    option: 'resultLimit',
    editor: 'editor.number',
    editorProps: {
      dataSourceKey: 'primary'
    }
  }]]
};
exports.AxesChartDataConfigBubble = {
  label: exports.AxesChartDataConfigScatter.label,
  // layout: insert Size after Category
  layout: (0, configUtils_1.insertLayout)(exports.AxesChartDataConfigScatter.layout, 3, [{
    label: (0, i18n_1._)('Size'),
    option: 'size',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'primary',
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }])
};
exports.AxesChartDataConfigAreaColumnLine = {
  label: exports.AxesChartDataConfigBar.label,
  layout: [].concat(_toConsumableArray(exports.AxesChartDataConfigBar.layout), [[{
    label: (0, i18n_1._)('Annotation x'),
    option: 'annotationX',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'annotation',
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }], [{
    label: (0, i18n_1._)('Annotation labels'),
    option: 'annotationLabel',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'annotation',
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }]])
};
exports.default = AxesChartDataConfig;

/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var i18n_1 = __webpack_require__(0);

var pick_1 = __webpack_require__(9);

var variables_1 = __webpack_require__(10);

var BackgroundColor_1 = __webpack_require__(13);

var themes = {
  defaultBackgroundColor: function defaultBackgroundColor(props) {
    return (0, pick_1.default)({
      enterprise: {
        dark: variables_1.default.black(props),
        light: variables_1.default.backgroundColor(props)
      },
      prisma: variables_1.default.backgroundColorSidebar(props)
    })(props);
  }
};
var AxesChartColorAndStyle = {
  label: (0, i18n_1._)('Color and style'),
  layout: [(0, BackgroundColor_1.default)({
    themes: themes
  }), [{
    label: (0, i18n_1._)('Series colors'),
    option: 'seriesColors',
    editor: 'editor.seriesColors'
  }], [{
    label: (0, i18n_1._)('Series colors by field name'),
    option: 'seriesColorsByField',
    editor: 'editor.seriesColorsByField'
  }]]
};
exports.default = AxesChartColorAndStyle;

/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var i18n_1 = __webpack_require__(0);

var AxesChartLegend = {
  label: (0, i18n_1._)('Legend'),
  layout: [[{
    label: (0, i18n_1._)('Legend display'),
    option: 'legendDisplay',
    editor: 'editor.select',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Right'),
        value: 'right'
      }, {
        label: (0, i18n_1._)('Left'),
        value: 'left'
      }, {
        label: (0, i18n_1._)('Top'),
        value: 'top'
      }, {
        label: (0, i18n_1._)('Bottom'),
        value: 'bottom'
      }, {
        label: (0, i18n_1._)('Off'),
        value: 'off'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Legend truncation'),
    option: 'legendTruncation',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('A...'),
        value: 'ellipsisEnd'
      }, {
        label: (0, i18n_1._)('A...Z'),
        value: 'ellipsisMiddle'
      }, {
        label: (0, i18n_1._)('...Z'),
        value: 'ellipsisStart'
      }, {
        label: (0, i18n_1._)('Off'),
        value: 'ellipsisOff'
      }]
    },
    showEditor: function showEditor(_ref) {
      var options = _ref.options;
      return options.legendDisplay === 'left' || options.legendDisplay === 'right' || options.legendDisplay === 'top' || options.legendDisplay === 'bottom' || options.legendDisplay === undefined;
    }
  }]]
};
exports.default = AxesChartLegend;

/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _toConsumableArray = __webpack_require__(1);

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.AxesChartXGridAndLabelsBubbleScatter = exports.AxesChartXGridAndLabelsCommon = void 0;

var i18n_1 = __webpack_require__(0);

var configUtils_1 = __webpack_require__(4);

exports.AxesChartXGridAndLabelsCommon = {
  label: (0, i18n_1._)('X-axis grid and labels'),
  layout: [[{
    label: (0, i18n_1._)('Axis title'),
    option: 'xAxisTitleVisibility',
    editor: 'editor.toggle'
  }], [{
    label: (0, i18n_1._)('Axis title text'),
    option: 'xAxisTitleText',
    editor: 'editor.text',
    showEditor: function showEditor(_ref) {
      var options = _ref.options;
      return options.xAxisTitleVisibility === 'show' || options.xAxisTitleVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Label visibility'),
    option: 'xAxisLabelVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }]]
};
var AxesChartXGridAndLabels = {
  label: exports.AxesChartXGridAndLabelsCommon.label,
  layout: [].concat(_toConsumableArray(exports.AxesChartXGridAndLabelsCommon.layout), [[{
    label: (0, i18n_1._)('Label rotation'),
    option: 'xAxisLabelRotation',
    editor: 'editor.select',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('-90'),
        value: -90
      }, {
        label: (0, i18n_1._)('-45'),
        value: -45
      }, {
        label: (0, i18n_1._)('0'),
        value: 0
      }, {
        label: (0, i18n_1._)('45'),
        value: 45
      }, {
        label: (0, i18n_1._)('90'),
        value: 90
      }]
    },
    showEditor: function showEditor(_ref2) {
      var options = _ref2.options;
      return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Number of time label parts'),
    option: 'xAxisMaxLabelParts',
    editor: 'editor.number',
    editorProps: {
      min: 1,
      max: 3
    },
    showEditor: function showEditor(_ref3) {
      var options = _ref3.options;
      return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Axis line visibility'),
    option: 'xAxisLineVisibility',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Major gridlines'),
    option: 'showXMajorGridLines',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Major tick visibility'),
    option: 'xAxisMajorTickVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Major tick size (px)'),
    option: 'xAxisMajorTickSize',
    editor: 'editor.slider',
    editorProps: {
      min: 0,
      max: 10,
      step: 1
    },
    showEditor: function showEditor(_ref4) {
      var options = _ref4.options;
      return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
    }
  }]])
};
exports.AxesChartXGridAndLabelsBubbleScatter = {
  label: exports.AxesChartXGridAndLabelsCommon.label,
  layout: [].concat(_toConsumableArray((0, configUtils_1.insertLayout)(exports.AxesChartXGridAndLabelsCommon.layout, 2, [{
    label: (0, i18n_1._)('Axis scale'),
    option: 'xAxisScale',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Linear'),
        value: 'linear'
      }, {
        label: (0, i18n_1._)('Log'),
        value: 'log'
      }]
    }
  }])), [[{
    label: (0, i18n_1._)('Label rotation'),
    option: 'xAxisLabelRotation',
    editor: 'editor.select',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('-90'),
        value: -90
      }, {
        label: (0, i18n_1._)('-45'),
        value: -45
      }, {
        label: (0, i18n_1._)('0'),
        value: 0
      }, {
        label: (0, i18n_1._)('45'),
        value: 45
      }, {
        label: (0, i18n_1._)('90'),
        value: 90
      }]
    },
    showEditor: function showEditor(_ref5) {
      var options = _ref5.options;
      return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Round axis labels'),
    option: 'showRoundedXAxisLabels',
    editor: 'editor.checkbox',
    showEditor: function showEditor(_ref6) {
      var options = _ref6.options;
      return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('SI prefix abbreviation for labels'),
    option: 'xAxisAbbreviation',
    editor: 'editor.checkbox',
    showEditor: function showEditor(_ref7) {
      var options = _ref7.options;
      return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Include zero'),
    option: 'showXAxisWithZero',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Extend to whole grid'),
    option: 'showXAxisExtendedRange',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Minimum axis value'),
    option: 'xAxisMin',
    editor: 'editor.number'
  }, {
    label: (0, i18n_1._)('Maximum axis value'),
    option: 'xAxisMax',
    editor: 'editor.number'
  }], [{
    label: (0, i18n_1._)('Axis line visibility'),
    option: 'xAxisLineVisibility',
    editor: 'editor.checkbox'
  }], // this option is disabled for bubble and scatter
  // [
  //     {
  //         label: _('Major gridlines'),
  //         option: 'showXMajorGridLines',
  //         editor: 'editor.checkbox',
  //     },
  // ],
  [{
    label: (0, i18n_1._)('Major tick visibility'),
    option: 'xAxisMajorTickVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Major tick size (px)'),
    option: 'xAxisMajorTickSize',
    editor: 'editor.slider',
    editorProps: {
      min: 0,
      max: 10,
      step: 1
    },
    showEditor: function showEditor(_ref8) {
      var options = _ref8.options;
      return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Major tick interval spacing'),
    option: 'xAxisMajorTickInterval',
    editor: 'editor.number',
    showEditor: function showEditor(_ref9) {
      var options = _ref9.options;
      return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Minor gridlines'),
    option: 'showXMinorGridLines',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Minor tick visibility'),
    option: 'xAxisMinorTickVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Minor tick size (px)'),
    option: 'xAxisMinorTickSize',
    editor: 'editor.slider',
    editorProps: {
      min: 0,
      max: 10,
      step: 1
    },
    showEditor: function showEditor(_ref10) {
      var options = _ref10.options;
      return options.xAxisMinorTickVisibility === 'show' || options.xAxisMinorTickVisibility === 'auto' || options.xAxisMinorTickVisibility === undefined;
    }
  }]])
};
exports.default = AxesChartXGridAndLabels;

/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var i18n_1 = __webpack_require__(0);

var AxesChartYGridAndLabels = {
  label: (0, i18n_1._)('Y-axis grid and labels'),
  layout: [[{
    label: (0, i18n_1._)('Axis title'),
    option: 'yAxisTitleVisibility',
    editor: 'editor.toggle'
  }], [{
    label: (0, i18n_1._)('Axis title text'),
    option: 'yAxisTitleText',
    editor: 'editor.text',
    showEditor: function showEditor(_ref) {
      var options = _ref.options;
      return options.yAxisTitleVisibility === 'show' || options.yAxisTitleVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Scale'),
    option: 'yAxisScale',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Linear'),
        value: 'linear'
      }, {
        label: (0, i18n_1._)('Log'),
        value: 'log'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Label visibility'),
    option: 'yAxisLabelVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('SI prefix abbreviation for labels'),
    option: 'yAxisAbbreviation',
    editor: 'editor.checkbox',
    showEditor: function showEditor(_ref2) {
      var options = _ref2.options;
      return options.yAxisLabelVisibility === 'show' || options.yAxisLabelVisibility === 'auto' || options.yAxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Include zero'),
    option: 'showYAxisWithZero',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Extend to whole grid'),
    option: 'showYAxisExtendedRange',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Minimum axis value'),
    option: 'yAxisMin',
    editor: 'editor.number'
  }, {
    label: (0, i18n_1._)('Maximum axis value'),
    option: 'yAxisMax',
    editor: 'editor.number'
  }], [{
    label: (0, i18n_1._)('Axis line visibility'),
    option: 'yAxisLineVisibility',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Major gridlines'),
    option: 'showYMajorGridLines',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Major tick visibility'),
    option: 'yAxisMajorTickVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Major tick size (px)'),
    option: 'yAxisMajorTickSize',
    editor: 'editor.slider',
    editorProps: {
      min: 0,
      max: 10,
      step: 1
    },
    showEditor: function showEditor(_ref3) {
      var options = _ref3.options;
      return options.yAxisMajorTickVisibility === 'show' || options.yAxisMajorTickVisibility === 'auto' || options.yAxisMajorTickVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Major tick interval spacing'),
    option: 'yAxisMajorTickInterval',
    editor: 'editor.number',
    showEditor: function showEditor(_ref4) {
      var options = _ref4.options;
      return options.yAxisMajorTickVisibility === 'show' || options.yAxisMajorTickVisibility === 'auto' || options.yAxisMajorTickVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Minor gridlines'),
    option: 'showYMinorGridLines',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Minor tick visibility'),
    option: 'yAxisMinorTickVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Minor tick size (px)'),
    option: 'yAxisMinorTickSize',
    editor: 'editor.slider',
    editorProps: {
      min: 0,
      max: 10,
      step: 1
    },
    showEditor: function showEditor(_ref5) {
      var options = _ref5.options;
      return options.yAxisMinorTickVisibility === 'show' || options.yAxisMinorTickVisibility === 'auto' || options.yAxisMinorTickVisibility === undefined;
    }
  }]]
};
exports.default = AxesChartYGridAndLabels;

/***/ }),
/* 21 */,
/* 22 */,
/* 23 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _toConsumableArray = __webpack_require__(1);

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.AxesChartDataDisplayColumn = exports.AxesChartDataDisplayBar = exports.AxesChartDataDisplayLine = void 0;

var i18n_1 = __webpack_require__(0);

var lodash_1 = __webpack_require__(6);

var configUtils_1 = __webpack_require__(4);

exports.AxesChartDataDisplayLine = {
  label: (0, i18n_1._)('Data display'),
  layout: [[{
    label: (0, i18n_1._)('Null value display'),
    option: 'nullValueDisplay',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Gaps'),
        value: 'gaps'
      }, {
        label: (0, i18n_1._)('Zero'),
        value: 'zero'
      }, {
        label: (0, i18n_1._)('Connect'),
        value: 'connect'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Data value display'),
    option: 'dataValuesDisplay',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Off'),
        value: 'off'
      }, {
        label: (0, i18n_1._)('All'),
        value: 'all'
      }, {
        label: (0, i18n_1._)('Min/Max'),
        value: 'minmax'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Overlay fields'),
    option: 'overlayFields',
    editor: 'editor.columnMultiSelectionByFieldNameEditor',
    editorProps: {
      filterByTypes: ['number']
    }
  }], [{
    label: (0, i18n_1._)('Split series'),
    option: 'showSplitSeries',
    editor: 'editor.toggle'
  }], [{
    label: (0, i18n_1._)('Independent y-axis for split series'),
    option: 'showIndependentYRanges',
    editor: 'editor.checkbox',
    showEditor: function showEditor(_ref) {
      var options = _ref.options;
      return options.showSplitSeries;
    }
  }]]
};
var AxesChartDataDisplay = {
  label: exports.AxesChartDataDisplayLine.label,
  layout: [[{
    label: (0, i18n_1._)('Stack mode'),
    option: 'stackMode',
    editor: 'editor.select',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Not stacked'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Stacked'),
        value: 'stacked'
      }, {
        label: (0, i18n_1._)('Stacked 100%'),
        value: 'stacked100'
      }]
    }
  }]].concat(_toConsumableArray(exports.AxesChartDataDisplayLine.layout))
};
exports.AxesChartDataDisplayBar = {
  label: exports.AxesChartDataDisplayLine.label,
  layout: [[{
    label: (0, i18n_1._)('Stack mode'),
    option: 'stackMode',
    editor: 'editor.select',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Not stacked'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Stacked'),
        value: 'stacked'
      }, {
        label: (0, i18n_1._)('Stacked 100%'),
        value: 'stacked100'
      }]
    }
  }]].concat(_toConsumableArray((0, lodash_1.drop)(exports.AxesChartDataDisplayLine.layout)))
};
exports.AxesChartDataDisplayColumn = {
  label: exports.AxesChartDataDisplayBar.label,
  layout: [].concat(_toConsumableArray((0, configUtils_1.insertLayout)(exports.AxesChartDataDisplayBar.layout, 2, [{
    label: (0, i18n_1._)('Show tooltip on hover'),
    option: 'showTooltip',
    editor: 'editor.checkbox'
  }])), [[{
    label: (0, i18n_1._)('Column grouping mode'),
    option: 'columnGrouping',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Overlay'),
        value: 'overlay'
      }]
    }
  }]])
};
exports.default = AxesChartDataDisplay;

/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var i18n_1 = __webpack_require__(0);

var axesChartY2GridAndLabels = {
  label: (0, i18n_1._)('Y2-axis grid and labels'),
  layout: [[{
    label: (0, i18n_1._)('Axis title'),
    option: 'y2AxisTitleVisibility',
    editor: 'editor.toggle'
  }], [{
    label: (0, i18n_1._)('Axis title'),
    option: 'y2AxisTitleText',
    editor: 'editor.text',
    showEditor: function showEditor(_ref) {
      var options = _ref.options;
      return options.y2AxisTitleVisibility === 'show' || options.y2AxisTitleVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Show overlays on the y2-axis'),
    option: 'showOverlayY2Axis',
    editor: 'editor.checkbox',
    showEditor: function showEditor(_ref2) {
      var options = _ref2.options;
      return Array.isArray(options.overlayFields) && options.overlayFields.length > 0;
    }
  }], [{
    label: (0, i18n_1._)('Scale'),
    option: 'y2AxisScale',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Linear'),
        value: 'linear'
      }, {
        label: (0, i18n_1._)('Log'),
        value: 'log'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Label visibility'),
    option: 'y2AxisLabelVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Round axis labels'),
    option: 'showRoundedY2AxisLabels',
    editor: 'editor.checkbox',
    showEditor: function showEditor(_ref3) {
      var options = _ref3.options;
      return options.y2AxisLabelVisibility === 'show' || options.y2AxisLabelVisibility === 'auto' || options.y2AxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('SI prefix abbreviation for labels'),
    option: 'y2AxisAbbreviation',
    editor: 'editor.checkbox',
    showEditor: function showEditor(_ref4) {
      var options = _ref4.options;
      return options.y2AxisLabelVisibility === 'show' || options.y2AxisLabelVisibility === 'auto' || options.y2AxisLabelVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Include zero'),
    option: 'showY2AxisWithZero',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Minimum axis value'),
    option: 'y2AxisMin',
    editor: 'editor.number'
  }, {
    label: (0, i18n_1._)('Maximum axis value'),
    option: 'y2AxisMax',
    editor: 'editor.number'
  }], [{
    label: (0, i18n_1._)('Axis line visibility'),
    option: 'y2AxisLineVisibility',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Major gridlines'),
    option: 'showY2MajorGridLines',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Major tick visibility'),
    option: 'y2AxisMajorTickVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Major tick size (px)'),
    option: 'y2AxisMajorTickSize',
    editor: 'editor.slider',
    editorProps: {
      min: 0,
      max: 10,
      step: 1
    },
    showEditor: function showEditor(_ref5) {
      var options = _ref5.options;
      return options.y2AxisMajorTickVisibility === 'show' || options.y2AxisMajorTickVisibility === 'auto' || options.y2AxisMajorTickVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Major tick interval spacing'),
    option: 'y2AxisMajorTickInterval',
    editor: 'editor.number',
    showEditor: function showEditor(_ref6) {
      var options = _ref6.options;
      return options.y2AxisMajorTickVisibility === 'show' || options.y2AxisMajorTickVisibility === 'auto' || options.y2AxisMajorTickVisibility === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Minor gridlines'),
    option: 'showY2MinorGridLines',
    editor: 'editor.checkbox'
  }], [{
    label: (0, i18n_1._)('Minor tick visibility'),
    option: 'y2AxisMinorTickVisibility',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Auto'),
        value: 'auto'
      }, {
        label: (0, i18n_1._)('Show'),
        value: 'show'
      }, {
        label: (0, i18n_1._)('Hide'),
        value: 'hide'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Minor tick size (px)'),
    option: 'y2AxisMinorTickSize',
    editor: 'editor.slider',
    editorProps: {
      min: 0,
      max: 10,
      step: 1
    },
    showEditor: function showEditor(_ref7) {
      var options = _ref7.options;
      return options.y2AxisMinorTickVisibility === 'show' || options.y2AxisMinorTickVisibility === 'auto' || options.y2AxisMinorTickVisibility === undefined;
    }
  }]]
};
exports.default = axesChartY2GridAndLabels;

/***/ }),
/* 25 */,
/* 26 */,
/* 27 */,
/* 28 */,
/* 29 */,
/* 30 */,
/* 31 */,
/* 32 */,
/* 33 */,
/* 34 */,
/* 35 */,
/* 36 */,
/* 37 */,
/* 38 */,
/* 39 */,
/* 40 */,
/* 41 */,
/* 42 */,
/* 43 */,
/* 44 */,
/* 45 */,
/* 46 */,
/* 47 */,
/* 48 */,
/* 49 */,
/* 50 */,
/* 51 */,
/* 52 */,
/* 53 */,
/* 54 */,
/* 55 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _toConsumableArray = __webpack_require__(1);

Object.defineProperty(exports, "__esModule", {
  value: true
});

var schemaUtils_1 = __webpack_require__(3);

var visualization_color_palettes_1 = __webpack_require__(14);

var visualization_icons_1 = __webpack_require__(12);

var placeholders_1 = __webpack_require__(11);

var i18n_1 = __webpack_require__(0);

var pick_1 = __webpack_require__(9);

var variables_1 = __webpack_require__(10);

var AxesChartDataConfig_1 = __webpack_require__(16);

var AxesChartDataDisplay_1 = __webpack_require__(23);

var AxesChartColorAndStyle_1 = __webpack_require__(17);

var AxesChartLegend_1 = __webpack_require__(18);

var AxesChartXGridAndLabels_1 = __webpack_require__(19);

var AxesChartYGridAndLabels_1 = __webpack_require__(20);

var AxesChartY2GridAndLabels_1 = __webpack_require__(24);

var VizBehavior_1 = __webpack_require__(2);

var VizCategory_1 = __webpack_require__(8);

var configUtils_1 = __webpack_require__(4);

var dataContract = {
  requiredDataSources: [{
    name: 'primary',
    description: 'DataSource that powers the visualization'
  }],
  optionalDataSources: [{
    name: 'annotation',
    description: 'DataSource that populates event annotations'
  }],
  initialRequestParams: {
    primary: {
      offset: 0,
      count: 10000
    },
    annotation: {
      offset: 0,
      count: 10000
    }
  }
};
var size = {
  initialWidth: 300,
  initialHeight: 300
};
var defaultContext = {};
var optionsSchema = {
  x: {
    default: '> primary | seriesByIndex(0)',
    description: 'Specify the dataSource applied to the x-axis.',
    type: 'array',
    items: {
      type: ['string', 'number']
    }
  },
  y: {
    default: '> primary | frameBySeriesIndexRange(1)',
    description: 'Specify the dataSource applied to the y-axis.',
    type: 'array',
    items: {
      type: ['string', 'number']
    }
  },
  y2: {
    description: 'Specify the dataSource applied to the y2-axis',
    type: 'array',
    items: {
      type: ['string', 'number']
    }
  },
  xField: {
    default: '> x | getField()',
    description: 'Specify the field that should be mapped to the x-axis.',
    type: 'string'
  },
  yFields: {
    default: '> y | getField()',
    description: 'Specify the field that should be mapped to the y-axis.',
    type: 'string'
  },
  annotationColor: {
    description: "Specify the annotation colors. You may use a dataSource to apply the color. For example, [\u201C#FF0000\u201D, \u201C#0000FF\", \u201C#008000\u201D].",
    type: 'array',
    items: {
      type: 'string'
    }
  },
  annotationLabel: {
    description: "Specify a list of labels used for the annotations. You may use a dataSource to apply the labels. For example, [\u201Chouston, we have a problem\u201D, \u201Cjust close the jira\u201D, \u201Clooking good now\u201D].",
    type: 'array',
    items: {
      type: 'string'
    }
  },
  annotationX: {
    description: 'Specify the dataSource field applied to the event annotation on the x-axis.',
    type: 'array',
    items: {
      type: ['string', 'number']
    }
  },
  backgroundColor: {
    default: '> themes.defaultBackgroundColor',
    description: 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is "#ffffff". The default for enterprise dark is "#000000". The default for prisma dark is "#0b0c0e".',
    pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
    type: 'string'
  },
  dataValuesDisplay: {
    default: 'off',
    description: 'Specify whether chart should display no labels, all labels, or only the min and max labels.',
    pattern: (0, schemaUtils_1.getPattern)(['off', 'all', 'minmax']),
    type: 'string'
  },
  legendDisplay: {
    default: 'right',
    description: 'Specify the location of the legend on the panel. You must select the Standard legend mode to make this change.',
    pattern: (0, schemaUtils_1.getPattern)(['right', 'left', 'top', 'bottom', 'off']),
    type: 'string'
  },
  legendLabels: {
    description: "Specify a list of labels to pre-populate the legend. For example, [\"percent\", \"count\"].",
    type: 'array',
    items: {
      type: 'string'
    }
  },
  legendMode: {
    default: 'standard',
    description: 'Specify visual and behavioral settings for the tooltip and legend. "seriesCompare" is useful when comparing series.',
    pattern: (0, schemaUtils_1.getPattern)(['standard', 'seriesCompare']),
    type: 'string'
  },
  legendTruncation: {
    default: 'ellipsisEnd',
    description: 'Specify how to display legend labels when they overflow the layout boundaries by replacing overflow text with an ellipsis.',
    pattern: (0, schemaUtils_1.getPattern)(['ellipsisEnd', 'ellipsisMiddle', 'ellipsisStart', 'ellipsisOff']),
    type: 'string'
  },
  lineDashStyle: {
    default: 'solid',
    description: 'Specify a dash style for all line series in the chart.',
    pattern: (0, schemaUtils_1.getPattern)(['solid', 'shortDash', 'shortDot', 'shortDashDot', 'shortDashDotDot', 'dot', 'dash', 'longDash', 'dashDot', 'longDashDot', 'longDashDotDot']),
    type: 'string'
  },
  lineDashStylesByField: {
    description: "Specify a dash style to use for each field. For example, {\"count\": \"longDashDot\", \"percent\": \"longDashDotDot\"}.\n        Valid values: \"solid\", \"shortDash\", \"shortDot\", \"shortDashDot\", \"shortDashDotDot\", \"dot\", \"dash\",\n        \"longDash\", \"dashDot\", \"longDashDot\", \"longDashDotDot\".",
    type: 'object'
  },
  lineWidth: {
    default: 2,
    description: 'Specify the line width (px), for all line series.',
    type: 'number'
  },
  markerDisplay: {
    default: 'off',
    description: "Specify the marker display style for data points.",
    pattern: (0, schemaUtils_1.getPattern)(['off', 'filled', 'outlined']),
    enum: ['off', 'filled', 'outlined'],
    type: 'string'
  },
  nullValueDisplay: {
    default: 'gaps',
    description: 'Specify how area and line charts handle null values.',
    pattern: (0, schemaUtils_1.getPattern)(['gaps', 'zero', 'connect']),
    type: 'string'
  },
  resultLimit: {
    default: 50000,
    description: 'Specify the number of data points rendered in a chart.',
    type: 'number'
  },
  seriesColors: {
    default: visualization_color_palettes_1.VIZ_CATEGORICAL,
    description: 'Specify the colors used for a series. For example, ["#FF0000", "#0000FF", "#008000"].',
    type: 'array',
    items: {
      type: 'string'
    }
  },
  seriesColorsByField: {
    description: 'Specify the colors used for specific fields in a series. For example, {“count”: “#008000”, “percent”: “#FFA500”}.',
    type: 'object'
  },
  showLineSmoothing: {
    default: false,
    description: 'Specify whether lines are straight or smoothed using curves.',
    type: 'boolean'
  },
  showIndependentYRanges: {
    default: false,
    description: 'Specify whether split series charts have independent y-ranges.',
    type: 'boolean'
  },
  showSplitSeries: {
    default: false,
    description: 'Set to "true" to split a multi-series chart into separate charts that are stacked from top to bottom; one for each series.',
    type: 'boolean'
  },
  showXMajorGridLines: {
    default: false,
    description: 'Specify whether major grid lines are visible on the x-axis.',
    type: 'boolean'
  },
  showYMajorGridLines: {
    default: true,
    description: 'Specify whether major grid lines are visible on the y-axis.',
    type: 'boolean'
  },
  showY2MajorGridLines: {
    default: false,
    description: 'Specify whether major grid lines are visible on the y2-axis.',
    type: 'boolean'
  },
  showYMinorGridLines: {
    default: false,
    description: 'Specify whether minor grid lines are visible on the y-axis.',
    type: 'boolean'
  },
  showY2MinorGridLines: {
    default: false,
    description: 'Specify whether minor grid lines are visible on y2-axis.',
    type: 'boolean'
  },
  showYAxisExtendedRange: {
    default: true,
    description: 'Specify whether the y-axis should be extended to include whole major tick marks.',
    type: 'boolean'
  },
  showYAxisWithZero: {
    default: false,
    description: 'Specify whether the y-axis range includes zero.',
    type: 'boolean'
  },
  showY2AxisWithZero: {
    default: false,
    description: 'Specify whether the y2-axis range includes zero.',
    type: 'boolean'
  },
  xAxisLabelRotation: {
    default: 0,
    description: 'Specify the rotation of the x-axis label in degrees.',
    enum: [-90, -45, 0, 45, 90],
    type: 'number'
  },
  xAxisLabelVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide labels on the x-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  yAxisLabelVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide labels on the y-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  y2AxisLabelVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide labels on the y2-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  xAxisLineVisibility: {
    default: 'hide',
    enum: ['hide', 'show'],
    description: 'Specify whether to show or hide the x-axis line.',
    pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
    type: 'string'
  },
  yAxisLineVisibility: {
    default: 'hide',
    description: 'Specify whether to show or hide the y-axis line.',
    enum: ['hide', 'show'],
    pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
    type: 'string'
  },
  y2AxisLineVisibility: {
    default: 'hide',
    description: 'Specify whether to show or hide the y2-axis line.',
    enum: ['hide', 'show'],
    pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
    type: 'string'
  },
  xAxisMajorTickSize: {
    default: 6,
    description: 'Specify the size, in pixels, of major tick marks on the x-axis.',
    type: 'number'
  },
  yAxisMajorTickSize: {
    default: 6,
    description: 'Specify the size, in pixels, of major tick marks on the y-axis.',
    type: 'number'
  },
  y2AxisMajorTickSize: {
    default: 6,
    description: 'Specify the size, in pixels, of major tick marks on the y2-axis.',
    type: 'number'
  },
  yAxisMinorTickSize: {
    default: 6,
    description: 'Specify the size, in pixels, of minor tick marks on the y-axis.',
    type: 'number'
  },
  y2AxisMinorTickSize: {
    default: 6,
    description: 'Specify the size, in pixels, of minor tick marks on the y2-axis.',
    type: 'number'
  },
  xAxisMajorTickVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide major tick marks on the x-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  yAxisMajorTickVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide major tick marks on the y-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  y2AxisMajorTickVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide major tick marks on the y2-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  yAxisMinorTickVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide minor tick marks on the y-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  y2AxisMinorTickVisibility: {
    default: 'auto',
    description: 'Specify whether to show or hide minor tick marks on the y2-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
    type: 'string'
  },
  xAxisMaxLabelParts: {
    default: 3,
    minimum: 1,
    maximum: 3,
    description: 'Specify the maximum number of time-parts for a tick label. The 3 possible parts are year, month, and time. Values can range from 1 to 3.',
    type: 'number'
  },
  xAxisTitleText: {
    description: 'Specify the title of the x-axis.',
    type: 'string'
  },
  yAxisTitleText: {
    description: 'Specify the title of the y-axis.',
    type: 'string'
  },
  y2AxisTitleText: {
    description: 'Specify the title of the y2-axis.',
    type: 'string'
  },
  xAxisTitleVisibility: {
    default: 'show',
    description: 'Specify whether to show or hide the title of the x-axis.',
    enum: ['hide', 'show'],
    pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
    type: 'string'
  },
  yAxisTitleVisibility: {
    default: 'show',
    description: 'Specify whether to show or hide the title of the y-axis.',
    enum: ['hide', 'show'],
    pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
    type: 'string'
  },
  y2AxisTitleVisibility: {
    default: 'show',
    description: 'Specify whether to show or hide the title of the y2-axis.',
    enum: ['hide', 'show'],
    pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
    type: 'string'
  },
  yAxisAbbreviation: {
    default: 'auto',
    description: 'Specify whether to abbreviate large y-axis values with the closest SI prefix.',
    enum: ['off', 'auto'],
    pattern: (0, schemaUtils_1.getPattern)(['off', 'auto']),
    type: 'string'
  },
  y2AxisAbbreviation: {
    default: 'auto',
    description: 'Specify whether to abbreviate large y2-axis values with the closest SI prefix.',
    enum: ['off', 'auto'],
    pattern: (0, schemaUtils_1.getPattern)(['off', 'auto']),
    type: 'string'
  },
  yAxisMajorTickInterval: {
    default: 'auto',
    description: 'Specify the spacing unit between major tick marks along the numeric y-axis.',
    type: ['string', 'number']
  },
  y2AxisMajorTickInterval: {
    default: 'auto',
    description: 'Specify the spacing unit between major tick marks along the numeric y2-axis.',
    type: ['string', 'number']
  },
  // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation
  yAxisMax: {
    default: 'auto',
    description: 'Specify the maximum number for the visible y-axis range.',
    type: ['string', 'number']
  },
  // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation
  y2AxisMax: {
    default: 'auto',
    description: 'Specify the maximum number for the visible y2-axis range.',
    type: ['string', 'number']
  },
  // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation
  yAxisMin: {
    default: 'auto',
    description: 'Specify the minimum number for the visible y-axis range.',
    type: ['string', 'number']
  },
  // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation
  y2AxisMin: {
    default: 'auto',
    description: 'Specify the minimum number for the visible y2-axis range.',
    type: ['string', 'number']
  },
  yAxisScale: {
    default: 'linear',
    description: 'Specify the type of scale that applies to a numerical y-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['linear', 'log']),
    type: 'string'
  },
  y2AxisScale: {
    default: 'linear',
    description: 'Specify the type of scale that applies to a numerical y2-axis.',
    pattern: (0, schemaUtils_1.getPattern)(['linear', 'log']),
    type: 'string'
  },
  // TODO: Figure out a way to explicitly support string value in addition to an array of strings
  // as UDF won't allow users to proceed if a string value is entered due to schema validation
  overlayFields: {
    description: 'Specify field(s) that should be differentiated on the chart and displayed as chart overlays.',
    type: ['array', 'string'],
    items: {
      type: 'string'
    }
  },
  showOverlayY2Axis: {
    default: false,
    description: 'Enable a y2-axis for chart overlays. All overlay fields will be mapped to a second y-axis.',
    type: 'boolean'
  },
  showRoundedY2AxisLabels: {
    default: true,
    description: 'Specify whether to round y2-axis values to the nearest integer.',
    type: 'boolean'
  },
  y2Fields: {
    default: '> y2 | getField()',
    description: 'Specify field(s) that should be mapped to a second y-axis.',
    type: ['array', 'string'],
    items: {
      type: 'string'
    }
  }
};
var themes = {
  defaultBackgroundColor: function defaultBackgroundColor(props) {
    return (0, pick_1.default)({
      enterprise: {
        dark: variables_1.default.black(props),
        light: variables_1.default.backgroundColor(props)
      },
      prisma: variables_1.default.backgroundColorSidebar(props)
    })(props);
  }
};
var editorConfig = [AxesChartDataConfig_1.AxesChartDataConfigAreaColumnLine, AxesChartDataDisplay_1.AxesChartDataDisplayLine, {
  label: AxesChartColorAndStyle_1.default.label,
  layout: [].concat(_toConsumableArray(AxesChartColorAndStyle_1.default.layout), [// [
  //     {
  //         label: _('Line dash style'),
  //         option: 'lineDashStyle',
  //         editor: 'editor.seriesLineTypes',
  //     },
  // ],
  // [
  //     {
  //         label: _('Line dash styles by field name'),
  //         option: 'lineDashStylesByField',
  //         editor: 'editor.seriesLineTypesByField',
  //     },
  // ],
  [{
    label: (0, i18n_1._)('Line width (px)'),
    option: 'lineWidth',
    editor: 'editor.slider',
    editorProps: {
      min: 0.5,
      max: 8.0,
      step: 0.5
    }
  }], [{
    label: (0, i18n_1._)('Line smoothing'),
    option: 'showLineSmoothing',
    editor: 'editor.toggle'
  }], [{
    label: (0, i18n_1._)('Marker display'),
    option: 'markerDisplay',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Off'),
        value: 'off'
      }, {
        label: (0, i18n_1._)('Filled'),
        value: 'filled'
      }, {
        label: (0, i18n_1._)('Outlined'),
        value: 'outlined'
      }]
    }
  }], [{
    label: (0, i18n_1._)('Annotation colors'),
    option: 'annotationColor',
    editor: 'editor.columnSelector',
    editorProps: {
      dataSourceKey: 'annotation',
      supportsDSL: true,
      expectedDataPrimitive: ['series']
    }
  }]])
}, {
  label: AxesChartLegend_1.default.label,
  layout: [[{
    label: (0, i18n_1._)('Legend display'),
    option: 'legendDisplay',
    editor: 'editor.select',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Right'),
        value: 'right'
      }, {
        label: (0, i18n_1._)('Left'),
        value: 'left'
      }, {
        label: (0, i18n_1._)('Top'),
        value: 'top'
      }, {
        label: (0, i18n_1._)('Bottom'),
        value: 'bottom'
      }, {
        label: (0, i18n_1._)('Off'),
        value: 'off'
      }],
      tooltip: (0, i18n_1._)('Legend mode must be "Standard" to configure legend display')
    },
    isDisabled: function isDisabled(_ref) {
      var options = _ref.options;
      return options.legendMode === 'seriesCompare';
    }
  }], [{
    label: (0, i18n_1._)('Legend truncation'),
    option: 'legendTruncation',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('A...'),
        value: 'ellipsisEnd'
      }, {
        label: (0, i18n_1._)('A...Z'),
        value: 'ellipsisMiddle'
      }, {
        label: (0, i18n_1._)('...Z'),
        value: 'ellipsisStart'
      }, {
        label: (0, i18n_1._)('Off'),
        value: 'ellipsisOff'
      }]
    },
    showEditor: function showEditor(_ref2) {
      var options = _ref2.options;
      return options.legendDisplay === 'left' || options.legendDisplay === 'right' || options.legendDisplay === 'top' || options.legendDisplay === 'bottom' || options.legendDisplay === undefined;
    }
  }], [{
    label: (0, i18n_1._)('Legend mode'),
    option: 'legendMode',
    editor: 'editor.radioBar',
    editorProps: {
      values: [{
        label: (0, i18n_1._)('Standard'),
        value: 'standard'
      }, {
        label: (0, i18n_1._)('Compare series'),
        value: 'seriesCompare'
      }]
    }
  }]]
}, AxesChartXGridAndLabels_1.default, AxesChartYGridAndLabels_1.default, AxesChartY2GridAndLabels_1.default];
/**
 * visualization configuration
 */

var config = {
  /**
   * unique viz key
   */
  key: 'splunk.line',

  /**
   * viz name
   */
  name: (0, i18n_1._)('Line'),
  category: VizCategory_1.VizCategory.TRENDS,

  /**
   * viz icon
   */
  icon: visualization_icons_1.Line,
  placeholderIcon: placeholders_1.Line,
  dataContract: dataContract,
  size: size,
  defaultContext: defaultContext,
  optionsSchema: optionsSchema,
  editorConfig: editorConfig,
  events: {
    'legend.click': {
      description: 'triggered when user clicks on chart legend'
    },
    'point.click': {
      description: 'triggered when user clicks on a point in the line chart'
    },
    'range.select': {
      description: 'triggered when user makes a selection'
    },
    'point.mouseover': {
      description: 'triggered when user hovers over a data point'
    },
    'point.mouseout': {
      description: 'triggered when user moves out of a data point'
    }
  },
  supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.PLACEHOLDER, VizBehavior_1.VizBehavior.DOWNSAMPLING],
  themes: themes
};
exports.default = (0, configUtils_1.enhanceConfig)(config);

/***/ })
/******/ ]);
//# sourceMappingURL=Line.config.js.map