@splunk/visualizations 26.0.0 → 26.1.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 (150) hide show
  1. package/Area.config.js +102 -18
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +618 -221
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +104 -20
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +624 -219
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +94 -20
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +606 -211
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +65 -14
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +550 -183
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +103 -18
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +637 -221
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +82 -17
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +425 -148
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +100 -18
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +752 -293
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +96 -27
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +759 -374
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +62 -18
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +419 -154
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +106 -22
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +631 -223
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +72 -22
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +632 -219
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +1082 -0
  46. package/Map.config.js +241 -97
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +1195 -595
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +70 -20
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +460 -195
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +79 -21
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +802 -411
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +72 -18
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +853 -484
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +75 -22
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +612 -212
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +81 -29
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +844 -379
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +85 -19
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +432 -152
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +84 -22
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +878 -342
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +96 -22
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +607 -212
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +94 -24
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +1182 -650
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +286 -225
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +92 -22
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +965 -506
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +99 -26
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +1167 -616
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +126 -67
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +73 -20
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +810 -322
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +107 -35
  103. package/common/Charting.js.map +1 -1
  104. package/common/ChartingApi.js +18 -7
  105. package/common/ChartingApi.js.map +1 -1
  106. package/common/EventsDoc.js +76 -22
  107. package/common/EventsDoc.js.map +1 -1
  108. package/common/GaugeMajorTicks.js +68 -58
  109. package/common/GaugeMajorTicks.js.map +1 -1
  110. package/common/GaugeValueMarker.js +43 -34
  111. package/common/GaugeValueMarker.js.map +1 -1
  112. package/common/OptionsDoc.js +156 -65
  113. package/common/OptionsDoc.js.map +1 -1
  114. package/common/OverviewDoc.js +33 -5
  115. package/common/OverviewDoc.js.map +1 -1
  116. package/common/SplunkVisualization.js +31 -4
  117. package/common/SplunkVisualization.js.map +1 -1
  118. package/common/SplunkVisualizationApi.js +8 -2
  119. package/common/SplunkVisualizationApi.js.map +1 -1
  120. package/common/ThemesDoc.js +27 -14
  121. package/common/ThemesDoc.js.map +1 -1
  122. package/common/chartingUtils.js +44 -12
  123. package/common/chartingUtils.js.map +1 -1
  124. package/common/docUtils.js +11 -1
  125. package/common/docUtils.js.map +1 -1
  126. package/common/gaugeUtils.js +173 -90
  127. package/common/gaugeUtils.js.map +1 -1
  128. package/common/shapeUtils.js +14 -2
  129. package/common/shapeUtils.js.map +1 -1
  130. package/common/utils/configUtils.js +49 -14
  131. package/common/utils/configUtils.js.map +1 -1
  132. package/common/utils/dataUtils.js +7 -2
  133. package/common/utils/dataUtils.js.map +1 -1
  134. package/common/utils/hocUtils.js +3 -1
  135. package/common/utils/hocUtils.js.map +1 -1
  136. package/common/utils/layoutUtils.js +1 -0
  137. package/common/utils/layoutUtils.js.map +1 -1
  138. package/common/utils/mapUtils.js +287 -127
  139. package/common/utils/mapUtils.js.map +1 -1
  140. package/common/utils/singleValueUtils.js +241 -196
  141. package/common/utils/singleValueUtils.js.map +1 -1
  142. package/common/utils/testHelper.js +9 -0
  143. package/common/utils/testHelper.js.map +1 -1
  144. package/common/utils/trellisUtils.js +61 -0
  145. package/common/utils/trellisUtils.js.map +1 -1
  146. package/common/utils/urlUtils.js +2 -0
  147. package/common/utils/urlUtils.js.map +1 -1
  148. package/common/withDashboardViz.js +274 -95
  149. package/common/withDashboardViz.js.map +1 -1
  150. package/package.json +16 -18
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"styled-components\"","webpack:///./src/common/GaugeMajorTicks.jsx","webpack:///external \"@babel/runtime/helpers/extends\""],"names":["DEFAULT_NUM_OF_TICKS","TICK_LENGTH_DELTA","TICK_LABEL_PADDING_FACTOR","MajorTickLine","styled","line","withConfig","displayName","componentId","props","majorTickStrokeColor","index","MajorTickLabel","text","majorTickFillColor","MajorTick","_ref","x1","y1","x2","y2","showLabels","label","labelX","labelY","React","createElement","x","y","isNumerial","formatNumber","useThousandSeparators","useTrendUnits","propTypes","T","number","bool","oneOfType","string","positionMajorTick","_ref2","width","height","startX","startY","orientation","numOfTicks","i","MajorTicks","_ref3","_extends","min","max","majorUnit","usePercentageRange","range","Number","isNaN","majorTicks","_positionMajorTick","concat","parseInt","push","key","isInteger","extraNumOfTicks","Math","ceil","_positionMajorTick2","_x","_y","_x2","_y2","_labelX","_labelY","id","defaultProps"],"mappings":"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","file":"GaugeMajorTicks.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 = 50);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"styled-components\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\n\nconst DEFAULT_NUM_OF_TICKS = 5;\nconst TICK_LENGTH_DELTA = 5;\nconst TICK_LABEL_PADDING_FACTOR = 3.2;\n\nconst MajorTickLine = styled.line`\n stroke: ${props => props.majorTickStrokeColor};\n stroke-width: 2px;\n stroke-dasharray: ${props => (props.index === 0 ? 0 : 3)};\n`;\n\nconst MajorTickLabel = styled.text`\n font-size: 12px;\n font-family: Splunk Platform Sans, sans-serif;\n line-height: 19px;\n fill: ${props => props.majorTickFillColor};\n text-anchor: middle;\n text-align: center;\n`;\n\nexport const MajorTick = ({\n index,\n x1,\n y1,\n x2,\n y2,\n showLabels,\n label,\n labelX,\n labelY,\n majorTickStrokeColor,\n majorTickFillColor,\n}) => (\n <g>\n <MajorTickLine\n index={index}\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n majorTickStrokeColor={majorTickStrokeColor}\n />\n {showLabels && (\n <MajorTickLabel x={labelX} y={labelY} majorTickFillColor={majorTickFillColor}>\n {isNumerial(label)\n ? formatNumber(label, 0, {\n useThousandSeparators: true,\n useTrendUnits: true,\n })\n : label}\n </MajorTickLabel>\n )}\n </g>\n);\n\nMajorTick.propTypes = {\n index: T.number,\n x1: T.number,\n y1: T.number,\n x2: T.number,\n y2: T.number,\n showLabels: T.bool,\n label: T.oneOfType([T.string, T.number]),\n labelX: T.number,\n labelY: T.number,\n majorTickStrokeColor: T.string,\n majorTickFillColor: T.string,\n};\n\n/**\n * calculate position for each major tick\n * @method positionMajorTick\n * @param {Object} input\n * @param {Number} input.width\n * @param {Number} input.height\n * @param {Number} input.startX start x for rendering the first major tick\n * @param {Number} input.startY start y for rendering the first major tick\n * @param {String} input.orientation\n * @param {Number} input.numOfTicks how many ticks need to render\n * @param {Number} input.i index of major tick\n * @return {Object} MajorTick positions\n */\nexport const positionMajorTick = ({ width, height, startX, startY, orientation, numOfTicks, i }) => {\n let x1 = startX;\n let y1 = startY;\n let x2 = startX;\n let y2 = startY;\n let labelX = startX;\n let labelY;\n\n if (orientation === 'vertical') {\n const y = (height / numOfTicks) * (numOfTicks - i) + startY;\n x1 -= TICK_LENGTH_DELTA;\n y1 = y;\n x2 += width + TICK_LENGTH_DELTA;\n y2 = y;\n labelX += width + TICK_LENGTH_DELTA * TICK_LABEL_PADDING_FACTOR;\n labelY = y;\n } else {\n const x = (width / numOfTicks) * i + startX;\n x1 = x;\n y1 -= TICK_LENGTH_DELTA;\n x2 = x;\n y2 += height + TICK_LENGTH_DELTA;\n labelX = x;\n labelY = y2 + 16;\n }\n\n return { x1, y1, x2, y2, labelX, labelY };\n};\n\nconst MajorTicks = ({ ...props }) => {\n const {\n width,\n height,\n startX,\n startY,\n min,\n max,\n majorUnit,\n orientation,\n showLabels,\n usePercentageRange,\n majorTickFillColor,\n majorTickStrokeColor,\n } = props;\n\n const range = max - min;\n const numOfTicks =\n majorUnit === 'auto' || Number.isNaN(Number(majorUnit)) || majorUnit <= 0\n ? DEFAULT_NUM_OF_TICKS\n : range / majorUnit;\n const majorTicks = [];\n\n for (let i = 0; i <= numOfTicks; i += 1) {\n const { x1, y1, x2, y2, labelX, labelY } = positionMajorTick({\n width,\n height,\n startX,\n startY,\n orientation,\n numOfTicks,\n i,\n });\n const label = usePercentageRange\n ? `${parseInt((i / numOfTicks - min / range) * 100, 10)}%`\n : parseInt(min + (range / numOfTicks) * i, 10);\n\n majorTicks.push(\n <MajorTick\n key={i}\n index={i}\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n showLabels={showLabels}\n label={label}\n labelX={labelX}\n labelY={labelY}\n majorTickFillColor={majorTickFillColor}\n majorTickStrokeColor={majorTickStrokeColor}\n />\n );\n }\n\n // if the gauge is not divided evenly, put the last tick at the end of the gauge\n if (!Number.isInteger(numOfTicks)) {\n const extraNumOfTicks = Math.ceil(numOfTicks);\n const { x1, y1, x2, y2, labelX, labelY } = positionMajorTick({\n width,\n height,\n startX,\n startY,\n orientation,\n numOfTicks: extraNumOfTicks,\n i: extraNumOfTicks,\n });\n\n majorTicks.push(\n <MajorTick\n key={extraNumOfTicks}\n id={extraNumOfTicks}\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n showLabels={showLabels}\n label={usePercentageRange ? '100%' : max}\n labelX={labelX}\n labelY={labelY}\n majorTickFillColor={majorTickFillColor}\n majorTickStrokeColor={majorTickStrokeColor}\n />\n );\n }\n\n return <g>{majorTicks}</g>;\n};\n\nMajorTicks.propTypes = {\n width: T.number,\n height: T.number,\n startX: T.number,\n startY: T.number,\n min: T.number,\n max: T.number,\n majorUnit: T.oneOfType([T.string, T.number]),\n orientation: T.string,\n showLabels: T.bool,\n usePercentageRange: T.bool,\n majorTickFillColor: T.string,\n majorTickStrokeColor: T.string,\n};\n\nMajorTicks.defaultProps = {\n min: 0,\n max: 100,\n majorUnit: 'auto',\n orientation: 'horizontal',\n showLabels: true,\n usePercentageRange: false,\n};\n\nexport default MajorTicks;\n","module.exports = require(\"@babel/runtime/helpers/extends\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"styled-components\"","webpack:///./src/common/GaugeMajorTicks.jsx","webpack:///external \"@babel/runtime/helpers/extends\""],"names":["DEFAULT_NUM_OF_TICKS","TICK_LENGTH_DELTA","TICK_LABEL_PADDING_FACTOR","MajorTickLine","styled","props","MajorTickLabel","MajorTick","index","x1","y1","x2","y2","showLabels","label","labelX","labelY","majorTickStrokeColor","majorTickFillColor","formatNumber","useThousandSeparators","useTrendUnits","T","string","positionMajorTick","width","height","startX","startY","orientation","numOfTicks","i","y","x","MajorTicks","min","max","majorUnit","usePercentageRange","range","Number","majorTicks","parseInt","extraNumOfTicks","Math"],"mappings":"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","file":"GaugeMajorTicks.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 = 50);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"styled-components\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\n\nconst DEFAULT_NUM_OF_TICKS = 5;\nconst TICK_LENGTH_DELTA = 5;\nconst TICK_LABEL_PADDING_FACTOR = 3.2;\n\nconst MajorTickLine = styled.line`\n stroke: ${props => props.majorTickStrokeColor};\n stroke-width: 2px;\n stroke-dasharray: ${props => (props.index === 0 ? 0 : 3)};\n`;\n\nconst MajorTickLabel = styled.text`\n font-size: 12px;\n font-family: Splunk Platform Sans, sans-serif;\n line-height: 19px;\n fill: ${props => props.majorTickFillColor};\n text-anchor: middle;\n text-align: center;\n`;\n\nexport const MajorTick = ({\n index,\n x1,\n y1,\n x2,\n y2,\n showLabels,\n label,\n labelX,\n labelY,\n majorTickStrokeColor,\n majorTickFillColor,\n}) => (\n <g>\n <MajorTickLine\n index={index}\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n majorTickStrokeColor={majorTickStrokeColor}\n />\n {showLabels && (\n <MajorTickLabel x={labelX} y={labelY} majorTickFillColor={majorTickFillColor}>\n {isNumerial(label)\n ? formatNumber(label, 0, {\n useThousandSeparators: true,\n useTrendUnits: true,\n })\n : label}\n </MajorTickLabel>\n )}\n </g>\n);\n\nMajorTick.propTypes = {\n index: T.number,\n x1: T.number,\n y1: T.number,\n x2: T.number,\n y2: T.number,\n showLabels: T.bool,\n label: T.oneOfType([T.string, T.number]),\n labelX: T.number,\n labelY: T.number,\n majorTickStrokeColor: T.string,\n majorTickFillColor: T.string,\n};\n\n/**\n * calculate position for each major tick\n * @method positionMajorTick\n * @param {Object} input\n * @param {Number} input.width\n * @param {Number} input.height\n * @param {Number} input.startX start x for rendering the first major tick\n * @param {Number} input.startY start y for rendering the first major tick\n * @param {String} input.orientation\n * @param {Number} input.numOfTicks how many ticks need to render\n * @param {Number} input.i index of major tick\n * @return {Object} MajorTick positions\n */\nexport const positionMajorTick = ({ width, height, startX, startY, orientation, numOfTicks, i }) => {\n let x1 = startX;\n let y1 = startY;\n let x2 = startX;\n let y2 = startY;\n let labelX = startX;\n let labelY;\n\n if (orientation === 'vertical') {\n const y = (height / numOfTicks) * (numOfTicks - i) + startY;\n x1 -= TICK_LENGTH_DELTA;\n y1 = y;\n x2 += width + TICK_LENGTH_DELTA;\n y2 = y;\n labelX += width + TICK_LENGTH_DELTA * TICK_LABEL_PADDING_FACTOR;\n labelY = y;\n } else {\n const x = (width / numOfTicks) * i + startX;\n x1 = x;\n y1 -= TICK_LENGTH_DELTA;\n x2 = x;\n y2 += height + TICK_LENGTH_DELTA;\n labelX = x;\n labelY = y2 + 16;\n }\n\n return { x1, y1, x2, y2, labelX, labelY };\n};\n\nconst MajorTicks = ({ ...props }) => {\n const {\n width,\n height,\n startX,\n startY,\n min,\n max,\n majorUnit,\n orientation,\n showLabels,\n usePercentageRange,\n majorTickFillColor,\n majorTickStrokeColor,\n } = props;\n\n const range = max - min;\n const numOfTicks =\n majorUnit === 'auto' || Number.isNaN(Number(majorUnit)) || majorUnit <= 0\n ? DEFAULT_NUM_OF_TICKS\n : range / majorUnit;\n const majorTicks = [];\n\n for (let i = 0; i <= numOfTicks; i += 1) {\n const { x1, y1, x2, y2, labelX, labelY } = positionMajorTick({\n width,\n height,\n startX,\n startY,\n orientation,\n numOfTicks,\n i,\n });\n const label = usePercentageRange\n ? `${parseInt((i / numOfTicks - min / range) * 100, 10)}%`\n : parseInt(min + (range / numOfTicks) * i, 10);\n\n majorTicks.push(\n <MajorTick\n key={i}\n index={i}\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n showLabels={showLabels}\n label={label}\n labelX={labelX}\n labelY={labelY}\n majorTickFillColor={majorTickFillColor}\n majorTickStrokeColor={majorTickStrokeColor}\n />\n );\n }\n\n // if the gauge is not divided evenly, put the last tick at the end of the gauge\n if (!Number.isInteger(numOfTicks)) {\n const extraNumOfTicks = Math.ceil(numOfTicks);\n const { x1, y1, x2, y2, labelX, labelY } = positionMajorTick({\n width,\n height,\n startX,\n startY,\n orientation,\n numOfTicks: extraNumOfTicks,\n i: extraNumOfTicks,\n });\n\n majorTicks.push(\n <MajorTick\n key={extraNumOfTicks}\n id={extraNumOfTicks}\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n showLabels={showLabels}\n label={usePercentageRange ? '100%' : max}\n labelX={labelX}\n labelY={labelY}\n majorTickFillColor={majorTickFillColor}\n majorTickStrokeColor={majorTickStrokeColor}\n />\n );\n }\n\n return <g>{majorTicks}</g>;\n};\n\nMajorTicks.propTypes = {\n width: T.number,\n height: T.number,\n startX: T.number,\n startY: T.number,\n min: T.number,\n max: T.number,\n majorUnit: T.oneOfType([T.string, T.number]),\n orientation: T.string,\n showLabels: T.bool,\n usePercentageRange: T.bool,\n majorTickFillColor: T.string,\n majorTickStrokeColor: T.string,\n};\n\nMajorTicks.defaultProps = {\n min: 0,\n max: 100,\n majorUnit: 'auto',\n orientation: 'horizontal',\n showLabels: true,\n usePercentageRange: false,\n};\n\nexport default MajorTicks;\n","module.exports = require(\"@babel/runtime/helpers/extends\");"],"sourceRoot":""}
@@ -166,7 +166,6 @@ var ValueMarkerLabel = styled_components__WEBPACK_IMPORTED_MODULE_3___default.a.
166
166
  })(["fill:", ";font-size:14px;font-family:Splunk Platform Sans,sans-serif;line-height:16px;text-anchor:middle;text-align:center;dominant-baseline:middle;"], function (props) {
167
167
  return props.valueMarkerLabelFillColor;
168
168
  });
169
-
170
169
  /**
171
170
  * calculate the path of Value Marker shape
172
171
  * @method positionValueMarkerRect
@@ -177,13 +176,14 @@ var ValueMarkerLabel = styled_components__WEBPACK_IMPORTED_MODULE_3___default.a.
177
176
  * @param {Number} input.valueMarkerRectLength
178
177
  * @return {String} d containing a series of path commands that define the path to be
179
178
  */
179
+
180
180
  var positionValueMarkerRect = function positionValueMarkerRect(_ref) {
181
181
  var x = _ref.x,
182
- y = _ref.y,
183
- orientation = _ref.orientation,
184
- valueMarkerRectLength = _ref.valueMarkerRectLength,
185
- _ref$alignCenter = _ref.alignCenter,
186
- alignCenter = _ref$alignCenter === void 0 ? false : _ref$alignCenter;
182
+ y = _ref.y,
183
+ orientation = _ref.orientation,
184
+ valueMarkerRectLength = _ref.valueMarkerRectLength,
185
+ _ref$alignCenter = _ref.alignCenter,
186
+ alignCenter = _ref$alignCenter === void 0 ? false : _ref$alignCenter;
187
187
  var hLength = MARKER_THICKNESS;
188
188
  var vLength = valueMarkerRectLength;
189
189
  var markerStartX = alignCenter ? x - MARKER_THICKNESS / 2 : x - MARKER_THICKNESS;
@@ -192,6 +192,7 @@ var positionValueMarkerRect = function positionValueMarkerRect(_ref) {
192
192
  var innerVLength = MARKER_INNER_LENGTH;
193
193
  var innerStartX = markerStartX + innerHLength;
194
194
  var innerStartY = markerStartY + 7;
195
+
195
196
  if (orientation === 'vertical') {
196
197
  hLength = valueMarkerRectLength;
197
198
  vLength = MARKER_THICKNESS;
@@ -202,9 +203,9 @@ var positionValueMarkerRect = function positionValueMarkerRect(_ref) {
202
203
  innerStartX = markerStartX + 7;
203
204
  innerStartY = markerStartY + innerVLength;
204
205
  }
206
+
205
207
  return "M".concat(markerStartX, ",").concat(markerStartY, "h").concat(hLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(RADIUS, ",").concat(RADIUS, "v").concat(vLength - 2 * RADIUS, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(-RADIUS, ",").concat(RADIUS, "h").concat(-hLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(-RADIUS, ",").concat(-RADIUS, "v").concat(2 * RADIUS - vLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(RADIUS, ",").concat(-RADIUS, "z") + "M".concat(innerStartX, ",").concat(innerStartY, "v").concat(innerVLength - RADIUS, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(RADIUS, ",").concat(RADIUS, "h").concat(innerHLength - 2 * RADIUS, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(RADIUS, ",").concat(-RADIUS, "v").concat(RADIUS - innerVLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(-RADIUS, ",").concat(-RADIUS, "h").concat(2 * RADIUS - innerHLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(-RADIUS, ",").concat(RADIUS, "z");
206
208
  };
207
-
208
209
  /**
209
210
  * calculate the position of value marker label
210
211
  * @method positionLabel
@@ -219,20 +220,23 @@ var positionValueMarkerRect = function positionValueMarkerRect(_ref) {
219
220
  * @return {Number} positions.labelX x of value marker label text
220
221
  * @return {Number} positions.labelY y of value marker label text
221
222
  */
223
+
222
224
  var positionLabel = function positionLabel(_ref2) {
223
225
  var x = _ref2.x,
224
- y = _ref2.y,
225
- length = _ref2.length,
226
- orientation = _ref2.orientation,
227
- _ref2$alignCenter = _ref2.alignCenter,
228
- alignCenter = _ref2$alignCenter === void 0 ? false : _ref2$alignCenter;
229
- // for horizontal view
226
+ y = _ref2.y,
227
+ length = _ref2.length,
228
+ orientation = _ref2.orientation,
229
+ _ref2$alignCenter = _ref2.alignCenter,
230
+ alignCenter = _ref2$alignCenter === void 0 ? false : _ref2$alignCenter; // for horizontal view
231
+
230
232
  var labelRectX = alignCenter ? x - MARKER_LABEL_WIDTH / 2 : x - MARKER_THICKNESS / 2 - MARKER_LABEL_WIDTH / 2;
231
233
  var labelRectY = y + length;
234
+
232
235
  if (orientation === 'vertical') {
233
236
  labelRectX = x + length;
234
237
  labelRectY = alignCenter ? y - MARKER_LABEL_HEIGHT / 2 : y - (MARKER_LABEL_HEIGHT - MARKER_THICKNESS) / 2;
235
238
  }
239
+
236
240
  var labelX = labelRectX + MARKER_LABEL_WIDTH / 2;
237
241
  var labelY = labelRectY + MARKER_LABEL_HEIGHT / 2;
238
242
  return {
@@ -242,32 +246,36 @@ var positionLabel = function positionLabel(_ref2) {
242
246
  labelY: labelY
243
247
  };
244
248
  };
249
+
245
250
  var ValueMarker = function ValueMarker(_ref3) {
246
251
  var props = _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, _ref3);
252
+
247
253
  var x = props.x,
248
- y = props.y,
249
- length = props.length,
250
- min = props.min,
251
- max = props.max,
252
- value = props.value,
253
- orientation = props.orientation,
254
- showValue = props.showValue,
255
- usePercentageValue = props.usePercentageValue,
256
- valueMarkerFillColor = props.valueMarkerFillColor,
257
- valueMarkerLabelFillColor = props.valueMarkerLabelFillColor,
258
- alignCenter = props.alignCenter;
254
+ y = props.y,
255
+ length = props.length,
256
+ min = props.min,
257
+ max = props.max,
258
+ value = props.value,
259
+ orientation = props.orientation,
260
+ showValue = props.showValue,
261
+ usePercentageValue = props.usePercentageValue,
262
+ valueMarkerFillColor = props.valueMarkerFillColor,
263
+ valueMarkerLabelFillColor = props.valueMarkerLabelFillColor,
264
+ alignCenter = props.alignCenter;
259
265
  var valueMarkerRectLength = length + DELTA_LENGTH;
266
+
260
267
  var _positionLabel = positionLabel({
261
- x: x,
262
- y: y,
263
- length: length,
264
- orientation: orientation,
265
- alignCenter: alignCenter
266
- }),
267
- labelRectX = _positionLabel.labelRectX,
268
- labelRectY = _positionLabel.labelRectY,
269
- labelX = _positionLabel.labelX,
270
- labelY = _positionLabel.labelY;
268
+ x: x,
269
+ y: y,
270
+ length: length,
271
+ orientation: orientation,
272
+ alignCenter: alignCenter
273
+ }),
274
+ labelRectX = _positionLabel.labelRectX,
275
+ labelRectY = _positionLabel.labelRectY,
276
+ labelX = _positionLabel.labelX,
277
+ labelY = _positionLabel.labelY;
278
+
271
279
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("g", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ValueMarkerRect, {
272
280
  "data-test": "value-marker-rect",
273
281
  d: positionValueMarkerRect({
@@ -297,6 +305,7 @@ var ValueMarker = function ValueMarker(_ref3) {
297
305
  useTrendUnits: true
298
306
  }))));
299
307
  };
308
+
300
309
  ValueMarker.propTypes = {
301
310
  x: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
302
311
  y: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"styled-components\"","webpack:///./src/common/GaugeValueMarker.jsx","webpack:///external \"@babel/runtime/helpers/extends\""],"names":["MARKER_THICKNESS","MARKER_INNER_LENGTH","MARKER_LABEL_WIDTH","MARKER_LABEL_HEIGHT","RADIUS","DELTA_LENGTH","ValueMarkerRect","styled","path","withConfig","displayName","componentId","props","valueMarkerFillColor","ValueMarkerLabelRect","rect","ValueMarkerLabel","text","valueMarkerLabelFillColor","positionValueMarkerRect","_ref","x","y","orientation","valueMarkerRectLength","_ref$alignCenter","alignCenter","hLength","vLength","markerStartX","markerStartY","innerHLength","innerVLength","innerStartX","innerStartY","concat","positionLabel","_ref2","length","_ref2$alignCenter","labelRectX","labelRectY","labelX","labelY","ValueMarker","_ref3","_extends","min","max","value","showValue","usePercentageValue","_positionLabel","React","createElement","d","width","height","rx","ry","toFixed","formatNumber","useThousandSeparators","useTrendUnits","propTypes","T","number","string","bool","defaultProps"],"mappings":"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","file":"GaugeValueMarker.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 = 51);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"styled-components\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\n\nconst MARKER_THICKNESS = 15;\nconst MARKER_INNER_LENGTH = 30;\n\nconst MARKER_LABEL_WIDTH = 60;\nconst MARKER_LABEL_HEIGHT = 25;\nconst RADIUS = 2;\nconst DELTA_LENGTH = 12;\n\nconst ValueMarkerRect = styled.path`\n stroke-width: 2px;\n fill: ${props => props.valueMarkerFillColor};\n`;\n\nconst ValueMarkerLabelRect = styled.rect`\n fill: ${props => props.valueMarkerFillColor};\n`;\n\nconst ValueMarkerLabel = styled.text`\n fill: ${props => props.valueMarkerLabelFillColor};\n font-size: 14px;\n font-family: Splunk Platform Sans, sans-serif;\n line-height: 16px;\n text-anchor: middle;\n text-align: center;\n dominant-baseline: middle;\n`;\n\n/**\n * calculate the path of Value Marker shape\n * @method positionValueMarkerRect\n * @param {Object} input\n * @param {Number} input.x\n * @param {Number} input.y\n * @param {String} input.orientation\n * @param {Number} input.valueMarkerRectLength\n * @return {String} d containing a series of path commands that define the path to be\n */\nexport const positionValueMarkerRect = ({\n x,\n y,\n orientation,\n valueMarkerRectLength,\n alignCenter = false,\n}) => {\n let hLength = MARKER_THICKNESS;\n let vLength = valueMarkerRectLength;\n let markerStartX = alignCenter ? x - MARKER_THICKNESS / 2 : x - MARKER_THICKNESS;\n let markerStartY = y;\n\n let innerHLength = hLength / 3;\n let innerVLength = MARKER_INNER_LENGTH;\n let innerStartX = markerStartX + innerHLength;\n let innerStartY = markerStartY + 7;\n\n if (orientation === 'vertical') {\n hLength = valueMarkerRectLength;\n vLength = MARKER_THICKNESS;\n markerStartX = x;\n markerStartY = alignCenter ? y - MARKER_THICKNESS / 2 : y;\n\n innerHLength = MARKER_INNER_LENGTH;\n innerVLength = vLength / 3;\n innerStartX = markerStartX + 7;\n innerStartY = markerStartY + innerVLength;\n }\n\n return (\n `M${markerStartX},${markerStartY}h${hLength}a${RADIUS},${RADIUS} 0 0 1 ${RADIUS},${RADIUS}v${\n vLength - 2 * RADIUS\n }a${RADIUS},${RADIUS} 0 0 1 ${-RADIUS},${RADIUS}h${-hLength}a${RADIUS},${RADIUS} 0 0 1 ${-RADIUS},${-RADIUS}v${\n 2 * RADIUS - vLength\n }a${RADIUS},${RADIUS} 0 0 1 ${RADIUS},${-RADIUS}z` +\n `M${innerStartX},${innerStartY}v${\n innerVLength - RADIUS\n }a${RADIUS},${RADIUS} 0 0 0 ${RADIUS},${RADIUS}h${\n innerHLength - 2 * RADIUS\n }a${RADIUS},${RADIUS} 0 0 0 ${RADIUS},${-RADIUS}v${\n RADIUS - innerVLength\n }a${RADIUS},${RADIUS} 0 0 0 ${-RADIUS},${-RADIUS}h${\n 2 * RADIUS - innerHLength\n }a${RADIUS},${RADIUS} 0 0 0 ${-RADIUS},${RADIUS}z`\n );\n};\n\n/**\n * calculate the position of value marker label\n * @method positionLabel\n * @param {Object} input\n * @param {Number} input.x\n * @param {Number} input.y\n * @param {Number} input.length gauge thickness\n * @param {String} input.orientation\n * @return {Object} positions\n * @return {Number} positions.labelRectX x of value marker label rect\n * @return {Number} positions.labelRectY y of value marker label rect\n * @return {Number} positions.labelX x of value marker label text\n * @return {Number} positions.labelY y of value marker label text\n */\nexport const positionLabel = ({ x, y, length, orientation, alignCenter = false }) => {\n // for horizontal view\n let labelRectX = alignCenter\n ? x - MARKER_LABEL_WIDTH / 2\n : x - MARKER_THICKNESS / 2 - MARKER_LABEL_WIDTH / 2;\n let labelRectY = y + length;\n if (orientation === 'vertical') {\n labelRectX = x + length;\n labelRectY = alignCenter\n ? y - MARKER_LABEL_HEIGHT / 2\n : y - (MARKER_LABEL_HEIGHT - MARKER_THICKNESS) / 2;\n }\n const labelX = labelRectX + MARKER_LABEL_WIDTH / 2;\n const labelY = labelRectY + MARKER_LABEL_HEIGHT / 2;\n return { labelRectX, labelRectY, labelX, labelY };\n};\n\nconst ValueMarker = ({ ...props }) => {\n const {\n x,\n y,\n length,\n min,\n max,\n value,\n orientation,\n showValue,\n usePercentageValue,\n valueMarkerFillColor,\n valueMarkerLabelFillColor,\n alignCenter,\n } = props;\n\n const valueMarkerRectLength = length + DELTA_LENGTH;\n const { labelRectX, labelRectY, labelX, labelY } = positionLabel({\n x,\n y,\n length,\n orientation,\n alignCenter,\n });\n\n return (\n <g>\n <ValueMarkerRect\n data-test=\"value-marker-rect\"\n d={positionValueMarkerRect({ x, y, orientation, valueMarkerRectLength, alignCenter })}\n valueMarkerFillColor={valueMarkerFillColor}\n />\n {showValue && (\n <g>\n <ValueMarkerLabelRect\n data-test=\"value-marker-label-rect\"\n x={labelRectX}\n y={labelRectY}\n width={MARKER_LABEL_WIDTH}\n height={MARKER_LABEL_HEIGHT}\n rx={RADIUS}\n ry={RADIUS}\n valueMarkerFillColor={valueMarkerFillColor}\n />\n <ValueMarkerLabel\n data-test=\"value-marker-label\"\n x={labelX}\n y={labelY}\n valueMarkerLabelFillColor={valueMarkerLabelFillColor}\n >\n {usePercentageValue\n ? `${((value / (max - min)) * 100).toFixed(2)}%`\n : formatNumber(value, 0, {\n useThousandSeparators: true,\n useTrendUnits: true,\n })}\n </ValueMarkerLabel>\n </g>\n )}\n </g>\n );\n};\n\nValueMarker.propTypes = {\n x: T.number,\n y: T.number,\n length: T.number,\n min: T.number,\n max: T.number,\n value: T.number,\n orientation: T.string,\n showValue: T.bool,\n usePercentageValue: T.bool,\n valueMarkerFillColor: T.string,\n valueMarkerLabelFillColor: T.string,\n alignCenter: T.bool,\n};\n\nValueMarker.defaultProps = {\n min: 0,\n max: 100,\n orientation: 'horizontal',\n showValue: true,\n usePercentageValue: false,\n alignCenter: false,\n};\n\nexport default ValueMarker;\n","module.exports = require(\"@babel/runtime/helpers/extends\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"styled-components\"","webpack:///./src/common/GaugeValueMarker.jsx","webpack:///external \"@babel/runtime/helpers/extends\""],"names":["MARKER_THICKNESS","MARKER_INNER_LENGTH","MARKER_LABEL_WIDTH","MARKER_LABEL_HEIGHT","RADIUS","DELTA_LENGTH","ValueMarkerRect","styled","props","ValueMarkerLabelRect","ValueMarkerLabel","positionValueMarkerRect","x","y","orientation","valueMarkerRectLength","alignCenter","hLength","vLength","markerStartX","markerStartY","innerHLength","innerVLength","innerStartX","innerStartY","positionLabel","length","labelRectX","labelRectY","labelX","labelY","ValueMarker","min","max","value","showValue","usePercentageValue","valueMarkerFillColor","valueMarkerLabelFillColor","formatNumber","useThousandSeparators","useTrendUnits","T","bool"],"mappings":"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","file":"GaugeValueMarker.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 = 51);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"styled-components\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\n\nconst MARKER_THICKNESS = 15;\nconst MARKER_INNER_LENGTH = 30;\n\nconst MARKER_LABEL_WIDTH = 60;\nconst MARKER_LABEL_HEIGHT = 25;\nconst RADIUS = 2;\nconst DELTA_LENGTH = 12;\n\nconst ValueMarkerRect = styled.path`\n stroke-width: 2px;\n fill: ${props => props.valueMarkerFillColor};\n`;\n\nconst ValueMarkerLabelRect = styled.rect`\n fill: ${props => props.valueMarkerFillColor};\n`;\n\nconst ValueMarkerLabel = styled.text`\n fill: ${props => props.valueMarkerLabelFillColor};\n font-size: 14px;\n font-family: Splunk Platform Sans, sans-serif;\n line-height: 16px;\n text-anchor: middle;\n text-align: center;\n dominant-baseline: middle;\n`;\n\n/**\n * calculate the path of Value Marker shape\n * @method positionValueMarkerRect\n * @param {Object} input\n * @param {Number} input.x\n * @param {Number} input.y\n * @param {String} input.orientation\n * @param {Number} input.valueMarkerRectLength\n * @return {String} d containing a series of path commands that define the path to be\n */\nexport const positionValueMarkerRect = ({\n x,\n y,\n orientation,\n valueMarkerRectLength,\n alignCenter = false,\n}) => {\n let hLength = MARKER_THICKNESS;\n let vLength = valueMarkerRectLength;\n let markerStartX = alignCenter ? x - MARKER_THICKNESS / 2 : x - MARKER_THICKNESS;\n let markerStartY = y;\n\n let innerHLength = hLength / 3;\n let innerVLength = MARKER_INNER_LENGTH;\n let innerStartX = markerStartX + innerHLength;\n let innerStartY = markerStartY + 7;\n\n if (orientation === 'vertical') {\n hLength = valueMarkerRectLength;\n vLength = MARKER_THICKNESS;\n markerStartX = x;\n markerStartY = alignCenter ? y - MARKER_THICKNESS / 2 : y;\n\n innerHLength = MARKER_INNER_LENGTH;\n innerVLength = vLength / 3;\n innerStartX = markerStartX + 7;\n innerStartY = markerStartY + innerVLength;\n }\n\n return (\n `M${markerStartX},${markerStartY}h${hLength}a${RADIUS},${RADIUS} 0 0 1 ${RADIUS},${RADIUS}v${\n vLength - 2 * RADIUS\n }a${RADIUS},${RADIUS} 0 0 1 ${-RADIUS},${RADIUS}h${-hLength}a${RADIUS},${RADIUS} 0 0 1 ${-RADIUS},${-RADIUS}v${\n 2 * RADIUS - vLength\n }a${RADIUS},${RADIUS} 0 0 1 ${RADIUS},${-RADIUS}z` +\n `M${innerStartX},${innerStartY}v${\n innerVLength - RADIUS\n }a${RADIUS},${RADIUS} 0 0 0 ${RADIUS},${RADIUS}h${\n innerHLength - 2 * RADIUS\n }a${RADIUS},${RADIUS} 0 0 0 ${RADIUS},${-RADIUS}v${\n RADIUS - innerVLength\n }a${RADIUS},${RADIUS} 0 0 0 ${-RADIUS},${-RADIUS}h${\n 2 * RADIUS - innerHLength\n }a${RADIUS},${RADIUS} 0 0 0 ${-RADIUS},${RADIUS}z`\n );\n};\n\n/**\n * calculate the position of value marker label\n * @method positionLabel\n * @param {Object} input\n * @param {Number} input.x\n * @param {Number} input.y\n * @param {Number} input.length gauge thickness\n * @param {String} input.orientation\n * @return {Object} positions\n * @return {Number} positions.labelRectX x of value marker label rect\n * @return {Number} positions.labelRectY y of value marker label rect\n * @return {Number} positions.labelX x of value marker label text\n * @return {Number} positions.labelY y of value marker label text\n */\nexport const positionLabel = ({ x, y, length, orientation, alignCenter = false }) => {\n // for horizontal view\n let labelRectX = alignCenter\n ? x - MARKER_LABEL_WIDTH / 2\n : x - MARKER_THICKNESS / 2 - MARKER_LABEL_WIDTH / 2;\n let labelRectY = y + length;\n if (orientation === 'vertical') {\n labelRectX = x + length;\n labelRectY = alignCenter\n ? y - MARKER_LABEL_HEIGHT / 2\n : y - (MARKER_LABEL_HEIGHT - MARKER_THICKNESS) / 2;\n }\n const labelX = labelRectX + MARKER_LABEL_WIDTH / 2;\n const labelY = labelRectY + MARKER_LABEL_HEIGHT / 2;\n return { labelRectX, labelRectY, labelX, labelY };\n};\n\nconst ValueMarker = ({ ...props }) => {\n const {\n x,\n y,\n length,\n min,\n max,\n value,\n orientation,\n showValue,\n usePercentageValue,\n valueMarkerFillColor,\n valueMarkerLabelFillColor,\n alignCenter,\n } = props;\n\n const valueMarkerRectLength = length + DELTA_LENGTH;\n const { labelRectX, labelRectY, labelX, labelY } = positionLabel({\n x,\n y,\n length,\n orientation,\n alignCenter,\n });\n\n return (\n <g>\n <ValueMarkerRect\n data-test=\"value-marker-rect\"\n d={positionValueMarkerRect({ x, y, orientation, valueMarkerRectLength, alignCenter })}\n valueMarkerFillColor={valueMarkerFillColor}\n />\n {showValue && (\n <g>\n <ValueMarkerLabelRect\n data-test=\"value-marker-label-rect\"\n x={labelRectX}\n y={labelRectY}\n width={MARKER_LABEL_WIDTH}\n height={MARKER_LABEL_HEIGHT}\n rx={RADIUS}\n ry={RADIUS}\n valueMarkerFillColor={valueMarkerFillColor}\n />\n <ValueMarkerLabel\n data-test=\"value-marker-label\"\n x={labelX}\n y={labelY}\n valueMarkerLabelFillColor={valueMarkerLabelFillColor}\n >\n {usePercentageValue\n ? `${((value / (max - min)) * 100).toFixed(2)}%`\n : formatNumber(value, 0, {\n useThousandSeparators: true,\n useTrendUnits: true,\n })}\n </ValueMarkerLabel>\n </g>\n )}\n </g>\n );\n};\n\nValueMarker.propTypes = {\n x: T.number,\n y: T.number,\n length: T.number,\n min: T.number,\n max: T.number,\n value: T.number,\n orientation: T.string,\n showValue: T.bool,\n usePercentageValue: T.bool,\n valueMarkerFillColor: T.string,\n valueMarkerLabelFillColor: T.string,\n alignCenter: T.bool,\n};\n\nValueMarker.defaultProps = {\n min: 0,\n max: 100,\n orientation: 'horizontal',\n showValue: true,\n usePercentageValue: false,\n alignCenter: false,\n};\n\nexport default ValueMarker;\n","module.exports = require(\"@babel/runtime/helpers/extends\");"],"sourceRoot":""}