@splunk/visualizations 26.1.2 → 26.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/Area.config.js +2 -1
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +1562 -433
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +1 -0
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +1555 -430
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +1 -0
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +1580 -455
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +1 -0
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +1418 -351
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +2 -1
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +1564 -435
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +1 -0
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +1342 -297
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +4 -0
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +1503 -489
  28. package/Events.js.map +1 -1
  29. package/FEATUREFLAGS.md +3 -0
  30. package/FillerGauge.config.js +1 -0
  31. package/FillerGauge.config.js.map +1 -1
  32. package/FillerGauge.js +1406 -345
  33. package/FillerGauge.js.map +1 -1
  34. package/Image.config.js +1 -0
  35. package/Image.config.js.map +1 -1
  36. package/Image.js +2355 -1183
  37. package/Image.js.map +1 -1
  38. package/Line.config.js +2 -1
  39. package/Line.config.js.map +1 -1
  40. package/Line.js +1562 -433
  41. package/Line.js.map +1 -1
  42. package/LinkGraph.config.js +1 -0
  43. package/LinkGraph.config.js.map +1 -1
  44. package/LinkGraph.js +2013 -968
  45. package/LinkGraph.js.map +1 -1
  46. package/Map.config.js +1 -0
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +2556 -1527
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +1 -0
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +1952 -883
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +1 -0
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +4049 -2965
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +1 -0
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +3286 -2215
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +1 -0
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +2187 -1036
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +1 -0
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +3397 -2299
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +1 -0
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +2181 -1112
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +1 -0
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +3275 -2199
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +1 -0
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +3551 -2400
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +27 -0
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +5551 -4397
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +1227 -1209
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +27 -0
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +2850 -1696
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +1 -0
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +6334 -5215
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +96 -96
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +172 -7
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +3500 -2195
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +1009 -82
  103. package/common/Charting.js.map +1 -1
  104. package/common/ChartingApi.js +4 -4
  105. package/common/ChartingApi.js.map +1 -1
  106. package/common/DocExampleWithVizSandbox.js +54 -57
  107. package/common/DocExampleWithVizSandbox.js.map +1 -1
  108. package/common/EventsDoc.js +40 -40
  109. package/common/EventsDoc.js.map +1 -1
  110. package/common/GaugeMajorTicks.js +15 -13
  111. package/common/GaugeMajorTicks.js.map +1 -1
  112. package/common/GaugeValueMarker.js +12 -12
  113. package/common/GaugeValueMarker.js.map +1 -1
  114. package/common/OptionsDoc.js +34 -34
  115. package/common/OptionsDoc.js.map +1 -1
  116. package/common/OverviewDoc.js +124 -103
  117. package/common/OverviewDoc.js.map +1 -1
  118. package/common/SplunkVisualization.js +49 -49
  119. package/common/SplunkVisualization.js.map +1 -1
  120. package/common/SplunkVisualizationApi.js +4 -4
  121. package/common/SplunkVisualizationApi.js.map +1 -1
  122. package/common/ThemesDoc.js +31 -31
  123. package/common/ThemesDoc.js.map +1 -1
  124. package/common/chartingUtils.js +24 -8
  125. package/common/chartingUtils.js.map +1 -1
  126. package/common/docUtils.js +4 -4
  127. package/common/docUtils.js.map +1 -1
  128. package/common/gaugeUtils.js +16 -16
  129. package/common/gaugeUtils.js.map +1 -1
  130. package/common/shapeUtils.js +36 -36
  131. package/common/shapeUtils.js.map +1 -1
  132. package/common/utils/configUtils.js +48 -47
  133. package/common/utils/configUtils.js.map +1 -1
  134. package/common/utils/dataUtils.js +832 -6
  135. package/common/utils/dataUtils.js.map +1 -1
  136. package/common/utils/featureFlagUtils.js +139 -0
  137. package/common/utils/featureFlagUtils.js.map +1 -0
  138. package/common/utils/hocUtils.js +2 -2
  139. package/common/utils/hocUtils.js.map +1 -1
  140. package/common/utils/layoutUtils.js +2 -2
  141. package/common/utils/layoutUtils.js.map +1 -1
  142. package/common/utils/mapUtils.js +77 -54
  143. package/common/utils/mapUtils.js.map +1 -1
  144. package/common/utils/singleValueUtils.js +28 -19
  145. package/common/utils/singleValueUtils.js.map +1 -1
  146. package/common/utils/testHelper.js +10 -10
  147. package/common/utils/testHelper.js.map +1 -1
  148. package/common/utils/trellisUtils.js +6 -6
  149. package/common/utils/trellisUtils.js.map +1 -1
  150. package/common/utils/urlUtils.js +2 -2
  151. package/common/utils/urlUtils.js.map +1 -1
  152. package/common/withDashboardViz.js +1313 -235
  153. package/common/withDashboardViz.js.map +1 -1
  154. package/package.json +13 -12
  155. package/__mocks__/fileMock.js +0 -2
  156. package/__mocks__/styleMock.js +0 -2
  157. package/babel.config.js +0 -11
  158. package/jest.config.js +0 -8
  159. package/loki.config.js +0 -14
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/common/chartingUtils.ts"],"names":[],"mappings":"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","file":"chartingUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 77);\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///./src/common/chartingUtils.ts"],"names":[],"mappings":"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","file":"chartingUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 98);\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n\n// Note: we are making the assumption that attaching a range.select listener means the user wants to enable search zoom\n// This is because we don't know if the time range tokens being updated by the drilldown is used by the current viz.\n// In the future we are considering using a shared context to pass this information from UDF to Viz.\ninterface OptionsProps {\n events?: string[];\n selectedItemId?: string;\n [key: string]: unknown;\n}\ninterface EventHandler {\n type: string;\n options: OptionsProps;\n}\n\nexport const shouldEnableSearchZoom = (eventHandlers: EventHandler[] = [], xField = '') => {\n const rangeSelectEventHandler = eventHandlers.find(eventHandler =>\n eventHandler.options.events?.includes('range.select')\n );\n // Check if xField is _time. This is how splunk-charting distinguishes a time chart from categorical.\n // Note: search zoom will be buggy if the x axis uses timestamp values but is not _time\n const xAxisIsTime = xField === '_time';\n\n return !!rangeSelectEventHandler && xAxisIsTime;\n};\n"],"sourceRoot":""}
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 17);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 20);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -99,7 +99,7 @@ module.exports = require("react");
99
99
 
100
100
  /***/ }),
101
101
 
102
- /***/ 17:
102
+ /***/ 20:
103
103
  /***/ (function(module, exports, __webpack_require__) {
104
104
 
105
105
  "use strict";
@@ -112,7 +112,7 @@ exports.convertToDashboardJSON = exports.extractDataFromReactCode = exports.form
112
112
 
113
113
  var React = __webpack_require__(0);
114
114
 
115
- var UtilPage_1 = __webpack_require__(18);
115
+ var UtilPage_1 = __webpack_require__(21);
116
116
 
117
117
  var sharedSelectors = ['getField', 'getType', 'min', 'max'];
118
118
 
@@ -297,7 +297,7 @@ exports.convertToDashboardJSON = convertToDashboardJSON;
297
297
 
298
298
  /***/ }),
299
299
 
300
- /***/ 18:
300
+ /***/ 21:
301
301
  /***/ (function(module, exports) {
302
302
 
303
303
  module.exports = require("@splunk/react-docs/UtilPage");
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///./src/common/docUtils.tsx","webpack:///external \"@splunk/react-docs/UtilPage\""],"names":[],"mappings":"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","file":"docUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 17);\n","module.exports = require(\"react\");","import * as React from 'react';\nimport UtilPage from '@splunk/react-docs/UtilPage';\n\n// https://github.com/jsdoc2md/jsdoc-api#synopsis\ninterface JsDoc {\n access?: string;\n classdesc?: string;\n comment: string;\n kind: string;\n longname: string;\n meta: Record<string, unknown>;\n member: string;\n name: string;\n scope: string;\n}\n\nconst sharedSelectors = ['getField', 'getType', 'min', 'max'];\n\nconst formatSidebarItemName = (name: string, className: string): string => {\n return sharedSelectors.find(sharedSelector => name === sharedSelector) ? `${className}#${name}` : name;\n};\n\nconst removePrependedClassName = (longname = ''): string => longname.slice(longname.indexOf('#') + 1);\n\nconst formatDSLSelectorDocs = (docs: JsDoc[]): JsDoc[] =>\n docs.map(doc => ({\n ...doc,\n longname: removePrependedClassName(doc.longname),\n }));\n\nexport const getFormatterClassdesc = (\n formatterDocs: JsDoc[],\n name: string\n): { name: string; markdown: string } => ({\n name,\n markdown: `# ${name}\\n ${formatterDocs.find(doc => doc.name === name && doc.kind === 'class').classdesc}`,\n});\n\nexport const extractDocItems = (\n docs: JsDoc[],\n className: string\n): { name: string; component: (...args: any[]) => any }[] => {\n const classHeaderDoc = docs[0];\n const fileDoc = docs[docs.length - 1];\n const filteredDocs = formatDSLSelectorDocs(docs).filter(\n ({ access, comment }) => access === 'public' && comment\n );\n\n return filteredDocs\n .map(doc => ({\n name: formatSidebarItemName(doc.name, className),\n component: function UtilDoc() {\n // named function so linter doesnt raise react/display-name error\n return (\n <UtilPage\n title={`${className}#${doc.name}`}\n status={1}\n docs={[classHeaderDoc, doc, fileDoc]}\n />\n );\n },\n }))\n .sort((a, b) => a.name.localeCompare(b.name));\n};\n\nexport const formatCodeStringToObject = (codeString: string, regexMatch: RegExp): any => {\n const match = regexMatch.exec(codeString);\n if (!match) return null;\n\n const stringToParse = `{${match[1]}}`;\n\n // remove trailing commas\n const removedCommas = stringToParse.replace(/,(?!\\s*?[-{[\"'\\w])/g, '');\n\n // convert double quotes (which only occur inside strings) to back quotes\n const backQuotes = removedCommas.replace(/\"/g, '`');\n // replace single quotes with double quotes\n const doubleQuotes = backQuotes.replace(/'/g, '\"');\n // replace back quotes with single quotes\n const singleQuotes = doubleQuotes.replace(/`/g, \"'\");\n\n // add quotes around keys\n const quotesAroundKeys = singleQuotes.replace(/\\b(\\w+)\\s*:(?=\\s)/g, '\"$1\":');\n\n let retval = null;\n try {\n retval = JSON.parse(quotesAroundKeys);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n return retval;\n};\n\nexport const extractDataFromReactCode = (codeString: string): any => {\n const primaryRegex = /dataSources={{([\\s\\S]*?primary:[\\s\\S]*?)}}/;\n const { primary } = formatCodeStringToObject(codeString, primaryRegex) ?? {};\n\n const optionsRegex = /options={{([\\s\\S]*?)}}/;\n const options = formatCodeStringToObject(codeString, optionsRegex);\n\n const contextRegex = /context={{([\\s\\S]*?)}}/;\n const context = formatCodeStringToObject(codeString, contextRegex);\n\n return { primary, options, context };\n};\n\n// Takes a stringified react viz example and a viz type\n// Returns a dashboard definition object.\n// e.g. codeString: '<Area dataSources={{}} options={{}} />'\n// type: 'splunk.area'\nexport const convertToDashboardJSON = (codeString: string, type: string): any => {\n const { options, primary, context } = extractDataFromReactCode(codeString);\n\n return {\n visualizations: {\n test_viz: {\n type,\n ...(options ? { options } : {}),\n ...(primary ? { dataSources: { primary: 'primary' } } : {}),\n ...(context ? { context } : {}),\n },\n },\n ...(primary ? { dataSources: { primary: { type: 'ds.test', options: primary } } } : {}),\n defaults: {\n dataSources: {\n global: {\n options: {\n queryParameters: {\n latest: '$global_time.latest$',\n earliest: '$global_time.earliest$',\n },\n },\n },\n },\n },\n inputs: {\n input_global_trp: {\n type: 'input.timerange',\n options: {\n token: 'global_time',\n defaultValue: '-24h@h,now',\n },\n title: 'Global Time Range',\n },\n },\n layout: {\n type: 'absolute',\n options: {},\n structure: [\n {\n item: 'test_viz',\n type: 'block',\n position: {\n x: 0,\n y: 0,\n w: 800,\n h: 500,\n },\n },\n ],\n globalInputs: ['input_global_trp'],\n },\n };\n};\n","module.exports = require(\"@splunk/react-docs/UtilPage\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///./src/common/docUtils.tsx","webpack:///external \"@splunk/react-docs/UtilPage\""],"names":[],"mappings":"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","file":"docUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 20);\n","module.exports = require(\"react\");","import * as React from 'react';\nimport UtilPage from '@splunk/react-docs/UtilPage';\n\n// https://github.com/jsdoc2md/jsdoc-api#synopsis\ninterface JsDoc {\n access?: string;\n classdesc?: string;\n comment: string;\n kind: string;\n longname: string;\n meta: Record<string, unknown>;\n member: string;\n name: string;\n scope: string;\n}\n\nconst sharedSelectors = ['getField', 'getType', 'min', 'max'];\n\nconst formatSidebarItemName = (name: string, className: string): string => {\n return sharedSelectors.find(sharedSelector => name === sharedSelector) ? `${className}#${name}` : name;\n};\n\nconst removePrependedClassName = (longname = ''): string => longname.slice(longname.indexOf('#') + 1);\n\nconst formatDSLSelectorDocs = (docs: JsDoc[]): JsDoc[] =>\n docs.map(doc => ({\n ...doc,\n longname: removePrependedClassName(doc.longname),\n }));\n\nexport const getFormatterClassdesc = (\n formatterDocs: JsDoc[],\n name: string\n): { name: string; markdown: string } => ({\n name,\n markdown: `# ${name}\\n ${formatterDocs.find(doc => doc.name === name && doc.kind === 'class').classdesc}`,\n});\n\nexport const extractDocItems = (\n docs: JsDoc[],\n className: string\n): { name: string; component: (...args: any[]) => any }[] => {\n const classHeaderDoc = docs[0];\n const fileDoc = docs[docs.length - 1];\n const filteredDocs = formatDSLSelectorDocs(docs).filter(\n ({ access, comment }) => access === 'public' && comment\n );\n\n return filteredDocs\n .map(doc => ({\n name: formatSidebarItemName(doc.name, className),\n component: function UtilDoc() {\n // named function so linter doesnt raise react/display-name error\n return (\n <UtilPage\n title={`${className}#${doc.name}`}\n status={1}\n docs={[classHeaderDoc, doc, fileDoc]}\n />\n );\n },\n }))\n .sort((a, b) => a.name.localeCompare(b.name));\n};\n\nexport const formatCodeStringToObject = (codeString: string, regexMatch: RegExp): any => {\n const match = regexMatch.exec(codeString);\n if (!match) return null;\n\n const stringToParse = `{${match[1]}}`;\n\n // remove trailing commas\n const removedCommas = stringToParse.replace(/,(?!\\s*?[-{[\"'\\w])/g, '');\n\n // convert double quotes (which only occur inside strings) to back quotes\n const backQuotes = removedCommas.replace(/\"/g, '`');\n // replace single quotes with double quotes\n const doubleQuotes = backQuotes.replace(/'/g, '\"');\n // replace back quotes with single quotes\n const singleQuotes = doubleQuotes.replace(/`/g, \"'\");\n\n // add quotes around keys\n const quotesAroundKeys = singleQuotes.replace(/\\b(\\w+)\\s*:(?=\\s)/g, '\"$1\":');\n\n let retval = null;\n try {\n retval = JSON.parse(quotesAroundKeys);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n return retval;\n};\n\nexport const extractDataFromReactCode = (codeString: string): any => {\n const primaryRegex = /dataSources={{([\\s\\S]*?primary:[\\s\\S]*?)}}/;\n const { primary } = formatCodeStringToObject(codeString, primaryRegex) ?? {};\n\n const optionsRegex = /options={{([\\s\\S]*?)}}/;\n const options = formatCodeStringToObject(codeString, optionsRegex);\n\n const contextRegex = /context={{([\\s\\S]*?)}}/;\n const context = formatCodeStringToObject(codeString, contextRegex);\n\n return { primary, options, context };\n};\n\n// Takes a stringified react viz example and a viz type\n// Returns a dashboard definition object.\n// e.g. codeString: '<Area dataSources={{}} options={{}} />'\n// type: 'splunk.area'\nexport const convertToDashboardJSON = (codeString: string, type: string): any => {\n const { options, primary, context } = extractDataFromReactCode(codeString);\n\n return {\n visualizations: {\n test_viz: {\n type,\n ...(options ? { options } : {}),\n ...(primary ? { dataSources: { primary: 'primary' } } : {}),\n ...(context ? { context } : {}),\n },\n },\n ...(primary ? { dataSources: { primary: { type: 'ds.test', options: primary } } } : {}),\n defaults: {\n dataSources: {\n global: {\n options: {\n queryParameters: {\n latest: '$global_time.latest$',\n earliest: '$global_time.earliest$',\n },\n },\n },\n },\n },\n inputs: {\n input_global_trp: {\n type: 'input.timerange',\n options: {\n token: 'global_time',\n defaultValue: '-24h@h,now',\n },\n title: 'Global Time Range',\n },\n },\n layout: {\n type: 'absolute',\n options: {},\n structure: [\n {\n item: 'test_viz',\n type: 'block',\n position: {\n x: 0,\n y: 0,\n w: 800,\n h: 500,\n },\n },\n ],\n globalInputs: ['input_global_trp'],\n },\n };\n};\n","module.exports = require(\"@splunk/react-docs/UtilPage\");"],"sourceRoot":""}
@@ -87,39 +87,46 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 78);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 99);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
94
94
 
95
- /***/ 3:
95
+ /***/ 100:
96
96
  /***/ (function(module, exports) {
97
97
 
98
- module.exports = require("lodash");
98
+ module.exports = require("@splunk/visualizations-shared/colorConstants");
99
99
 
100
100
  /***/ }),
101
101
 
102
- /***/ 37:
102
+ /***/ 22:
103
103
  /***/ (function(module, exports) {
104
104
 
105
105
  module.exports = require("@babel/runtime/helpers/toConsumableArray");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 4:
109
+ /***/ 3:
110
+ /***/ (function(module, exports) {
111
+
112
+ module.exports = require("lodash");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 5:
110
117
  /***/ (function(module, exports) {
111
118
 
112
119
  module.exports = require("@splunk/ui-utils/i18n");
113
120
 
114
121
  /***/ }),
115
122
 
116
- /***/ 78:
123
+ /***/ 99:
117
124
  /***/ (function(module, exports, __webpack_require__) {
118
125
 
119
126
  "use strict";
120
127
 
121
128
 
122
- var _toConsumableArray = __webpack_require__(37);
129
+ var _toConsumableArray = __webpack_require__(22);
123
130
 
124
131
  Object.defineProperty(exports, "__esModule", {
125
132
  value: true
@@ -128,9 +135,9 @@ exports.convertToGaugeProperties = exports.mapValueLabelDisplay = exports.mapToO
128
135
 
129
136
  var lodash_1 = __webpack_require__(3);
130
137
 
131
- var colorConstants_1 = __webpack_require__(79);
138
+ var colorConstants_1 = __webpack_require__(100);
132
139
 
133
- var i18n_1 = __webpack_require__(4);
140
+ var i18n_1 = __webpack_require__(5);
134
141
 
135
142
  exports.GAUGE_THICKNESS = 50;
136
143
  exports.FILL_THICKNESS = 38;
@@ -880,13 +887,6 @@ var convertToGaugeProperties = function convertToGaugeProperties(originalOptions
880
887
 
881
888
  exports.convertToGaugeProperties = convertToGaugeProperties;
882
889
 
883
- /***/ }),
884
-
885
- /***/ 79:
886
- /***/ (function(module, exports) {
887
-
888
- module.exports = require("@splunk/visualizations-shared/colorConstants");
889
-
890
890
  /***/ })
891
891
 
892
892
  /******/ });
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/gaugeUtils.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\""],"names":[],"mappings":"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","file":"gaugeUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 78);\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/ui-utils/i18n\");","import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({ containerWidth, containerHeight, orientation });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n if (value >= max) {\n return gaugeLength;\n }\n\n if (value < min) {\n return 0;\n }\n\n return (gaugeLength * (value - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/gaugeUtils.ts"],"names":[],"mappings":"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","file":"gaugeUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 99);\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({ containerWidth, containerHeight, orientation });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n if (value >= max) {\n return gaugeLength;\n }\n\n if (value < min) {\n return 0;\n }\n\n return (gaugeLength * (value - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n"],"sourceRoot":""}
@@ -87,46 +87,18 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 80);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 101);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
94
94
 
95
- /***/ 2:
96
- /***/ (function(module, exports) {
97
-
98
- module.exports = require("styled-components");
99
-
100
- /***/ }),
101
-
102
- /***/ 3:
103
- /***/ (function(module, exports) {
104
-
105
- module.exports = require("lodash");
106
-
107
- /***/ }),
108
-
109
- /***/ 34:
110
- /***/ (function(module, exports) {
111
-
112
- module.exports = require("@babel/runtime/helpers/taggedTemplateLiteral");
113
-
114
- /***/ }),
115
-
116
- /***/ 38:
117
- /***/ (function(module, exports) {
118
-
119
- module.exports = require("@splunk/themes/variables");
120
-
121
- /***/ }),
122
-
123
- /***/ 80:
95
+ /***/ 101:
124
96
  /***/ (function(module, exports, __webpack_require__) {
125
97
 
126
98
  "use strict";
127
99
 
128
100
 
129
- var _taggedTemplateLiteral = __webpack_require__(34);
101
+ var _taggedTemplateLiteral = __webpack_require__(57);
130
102
 
131
103
  var _templateObject;
132
104
 
@@ -139,11 +111,11 @@ var lodash_1 = __webpack_require__(3);
139
111
 
140
112
  var styled_components_1 = __webpack_require__(2);
141
113
 
142
- var pick_1 = __webpack_require__(81);
114
+ var pick_1 = __webpack_require__(102);
143
115
 
144
- var variables_1 = __webpack_require__(38);
116
+ var variables_1 = __webpack_require__(59);
145
117
 
146
- var propUtils_1 = __webpack_require__(82); // map for new options names to old option names
118
+ var propUtils_1 = __webpack_require__(103); // map for new options names to old option names
147
119
 
148
120
 
149
121
  var shapeOptionsMapping = {
@@ -198,18 +170,46 @@ exports.getStyledShape = getStyledShape;
198
170
 
199
171
  /***/ }),
200
172
 
201
- /***/ 81:
173
+ /***/ 102:
202
174
  /***/ (function(module, exports) {
203
175
 
204
176
  module.exports = require("@splunk/themes/pick");
205
177
 
206
178
  /***/ }),
207
179
 
208
- /***/ 82:
180
+ /***/ 103:
209
181
  /***/ (function(module, exports) {
210
182
 
211
183
  module.exports = require("@splunk/visualizations-shared/propUtils");
212
184
 
185
+ /***/ }),
186
+
187
+ /***/ 2:
188
+ /***/ (function(module, exports) {
189
+
190
+ module.exports = require("styled-components");
191
+
192
+ /***/ }),
193
+
194
+ /***/ 3:
195
+ /***/ (function(module, exports) {
196
+
197
+ module.exports = require("lodash");
198
+
199
+ /***/ }),
200
+
201
+ /***/ 57:
202
+ /***/ (function(module, exports) {
203
+
204
+ module.exports = require("@babel/runtime/helpers/taggedTemplateLiteral");
205
+
206
+ /***/ }),
207
+
208
+ /***/ 59:
209
+ /***/ (function(module, exports) {
210
+
211
+ module.exports = require("@splunk/themes/variables");
212
+
213
213
  /***/ })
214
214
 
215
215
  /******/ });
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///external \"@splunk/themes/variables\"","webpack:///./src/common/shapeUtils.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualizations-shared/propUtils\""],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,8C;;;;;;;ACAA,mC;;;;;;;ACAA,yE;;;;;;;ACAA,qD;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA,0C,CAMA;;;AACA,IAAM,mBAAmB,GAAG;AACxB,WAAS,EAAE,MADa;AAExB,aAAW,EAAE,QAFW;AAGxB,iBAAe,EAAE,iBAHO;AAIxB,iBAAe,EAAE;AAJO,CAA5B;AAOA;;;;;AAKG;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,OAAD;AAAA,SACvB,sBAAQ,OAAR,EAAiB,UAAC,GAAD,EAAM,GAAN;AAAA,WAAe,mBAAmB,CAAC,GAAD,CAAnB,GAA2B,mBAAmB,CAAC,GAAD,CAA9C,GAAsD,GAArE;AAAA,GAAjB,CADuB;AAAA,CAApB;;AAAM,sBAAW,WAAX;AAKb;;;;AAIG;;AACI,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,KAAD;AAAA,SAAkB,iCAAO,KAAP,CAAlB,+HAClB,eAAK;AAAA,WACR,KAAK,CAAC,IAAN,IAAc,6BAAY,KAAK,CAAC,IAAlB,CAAf,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,aAAK,EAAE,oBAAU,MADT;AAER,YAAI,EAAE,oBAAU;AAFR,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFS;AAAA,GADa,EAUhB,eAAK;AAAA,WACV,KAAK,CAAC,MAAN,IAAgB,6BAAY,KAAK,CAAC,MAAlB,CAAjB,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,oBAAU,MADR;AAER,aAAK,EAAE,oBAAU;AAFT,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFW;AAAA,GAVW,EAmBhB,eAAK;AAAA,WAAK,KAAK,CAAC,OAAN,GAAgB,SAAhB,GAA4B,SAAjC;AAAA,GAnBW;AAAA,CAAvB;;AAAM,yBAAc,cAAd,C;;;;;;;AClCb,gD;;;;;;;ACAA,oE","file":"shapeUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 80);\n","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","module.exports = require(\"@splunk/themes/variables\");","import { mapKeys } from 'lodash';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\n\ninterface ShapeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst shapeOptionsMapping = {\n fillColor: 'fill',\n strokeColor: 'stroke',\n strokeDashStyle: 'strokeDasharray',\n strokeJoinStyle: 'strokeLinejoin',\n};\n\n/**\n * Helper method to update the option names to old option names\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: ShapeOptions): ShapeOptions =>\n mapKeys(options, (val, key) => (shapeOptionsMapping[key] ? shapeOptionsMapping[key] : key));\n\ntype Shape = 'ellipse' | 'rect';\n\n/**\n * Helper method to get styled component for ellipse or rectangle\n * @method mapToOldKey\n * @param {Shape} shape\n */\nexport const getStyledShape = (shape: Shape) => styled(shape)`\n fill: ${props =>\n (props.fill && formatColor(props.fill)) ||\n pick({\n enterprise: {\n light: variables.gray80,\n dark: variables.gray25,\n },\n prisma: variables.backgroundColorSidebar,\n })(props)};\n stroke: ${props =>\n (props.stroke && formatColor(props.stroke)) ||\n pick({\n enterprise: {\n dark: variables.gray80,\n light: variables.textColor,\n },\n prisma: variables.neutral500,\n })(props)};\n cursor: ${props => (props.onClick ? 'pointer' : 'inherit')};\n`;\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/shapeUtils.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;AClFA;;AACA;;AACA;;AACA;;AACA,2C,CAMA;;;AACA,IAAM,mBAAmB,GAAG;AACxB,WAAS,EAAE,MADa;AAExB,aAAW,EAAE,QAFW;AAGxB,iBAAe,EAAE,iBAHO;AAIxB,iBAAe,EAAE;AAJO,CAA5B;AAOA;;;;;AAKG;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,OAAD;AAAA,SACvB,sBAAQ,OAAR,EAAiB,UAAC,GAAD,EAAM,GAAN;AAAA,WAAe,mBAAmB,CAAC,GAAD,CAAnB,GAA2B,mBAAmB,CAAC,GAAD,CAA9C,GAAsD,GAArE;AAAA,GAAjB,CADuB;AAAA,CAApB;;AAAM,sBAAW,WAAX;AAKb;;;;AAIG;;AACI,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,KAAD;AAAA,SAAkB,iCAAO,KAAP,CAAlB,+HAClB,eAAK;AAAA,WACR,KAAK,CAAC,IAAN,IAAc,6BAAY,KAAK,CAAC,IAAlB,CAAf,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,aAAK,EAAE,oBAAU,MADT;AAER,YAAI,EAAE,oBAAU;AAFR,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFS;AAAA,GADa,EAUhB,eAAK;AAAA,WACV,KAAK,CAAC,MAAN,IAAgB,6BAAY,KAAK,CAAC,MAAlB,CAAjB,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,oBAAU,MADR;AAER,aAAK,EAAE,oBAAU;AAFT,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFW;AAAA,GAVW,EAmBhB,eAAK;AAAA,WAAK,KAAK,CAAC,OAAN,GAAgB,SAAhB,GAA4B,SAAjC;AAAA,GAnBW;AAAA,CAAvB;;AAAM,yBAAc,cAAd,C;;;;;;;AClCb,gD;;;;;;;ACAA,oE;;;;;;;ACAA,8C;;;;;;;ACAA,mC;;;;;;;ACAA,yE;;;;;;;ACAA,qD","file":"shapeUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 101);\n","import { mapKeys } from 'lodash';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\n\ninterface ShapeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst shapeOptionsMapping = {\n fillColor: 'fill',\n strokeColor: 'stroke',\n strokeDashStyle: 'strokeDasharray',\n strokeJoinStyle: 'strokeLinejoin',\n};\n\n/**\n * Helper method to update the option names to old option names\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: ShapeOptions): ShapeOptions =>\n mapKeys(options, (val, key) => (shapeOptionsMapping[key] ? shapeOptionsMapping[key] : key));\n\ntype Shape = 'ellipse' | 'rect';\n\n/**\n * Helper method to get styled component for ellipse or rectangle\n * @method mapToOldKey\n * @param {Shape} shape\n */\nexport const getStyledShape = (shape: Shape) => styled(shape)`\n fill: ${props =>\n (props.fill && formatColor(props.fill)) ||\n pick({\n enterprise: {\n light: variables.gray80,\n dark: variables.gray25,\n },\n prisma: variables.backgroundColorSidebar,\n })(props)};\n stroke: ${props =>\n (props.stroke && formatColor(props.stroke)) ||\n pick({\n enterprise: {\n dark: variables.gray80,\n light: variables.textColor,\n },\n prisma: variables.neutral500,\n })(props)};\n cursor: ${props => (props.onClick ? 'pointer' : 'inherit')};\n`;\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","module.exports = require(\"@splunk/themes/variables\");"],"sourceRoot":""}