@splunk/visualizations 25.13.1 → 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 +318 -234
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +1131 -766
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +317 -233
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +1007 -594
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +234 -160
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +912 -509
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +80 -29
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +691 -319
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +308 -223
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +1011 -587
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +127 -62
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +576 -286
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +111 -29
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +998 -527
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +142 -73
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +962 -572
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +70 -26
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +524 -253
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +326 -242
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +1022 -606
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +99 -49
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +1184 -762
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +1082 -0
  46. package/Map.config.js +311 -167
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +1479 -873
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +93 -43
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +603 -332
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +163 -105
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +1025 -628
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +95 -41
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +993 -622
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +99 -46
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +847 -442
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +114 -62
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +1097 -633
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +131 -65
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +580 -288
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +103 -41
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +1128 -586
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +231 -157
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +904 -504
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +212 -142
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +1506 -956
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +294 -233
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +208 -138
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +1375 -914
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +252 -137
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +2194 -1069
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +172 -83
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +123 -70
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +1094 -590
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +147 -75
  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 +91 -36
  107. package/common/EventsDoc.js.map +1 -1
  108. package/common/GaugeMajorTicks.js +70 -60
  109. package/common/GaugeMajorTicks.js.map +1 -1
  110. package/common/GaugeValueMarker.js +45 -36
  111. package/common/GaugeValueMarker.js.map +1 -1
  112. package/common/OptionsDoc.js +177 -86
  113. package/common/OptionsDoc.js.map +1 -1
  114. package/common/OverviewDoc.js +65 -32
  115. package/common/OverviewDoc.js.map +1 -1
  116. package/common/SplunkVisualization.js +34 -7
  117. package/common/SplunkVisualization.js.map +1 -1
  118. package/common/SplunkVisualizationApi.js +10 -4
  119. package/common/SplunkVisualizationApi.js.map +1 -1
  120. package/common/ThemesDoc.js +41 -28
  121. package/common/ThemesDoc.js.map +1 -1
  122. package/common/chartingUtils.js +56 -24
  123. package/common/chartingUtils.js.map +1 -1
  124. package/common/docUtils.js +15 -5
  125. package/common/docUtils.js.map +1 -1
  126. package/common/gaugeUtils.js +238 -155
  127. package/common/gaugeUtils.js.map +1 -1
  128. package/common/shapeUtils.js +34 -16
  129. package/common/shapeUtils.js.map +1 -1
  130. package/common/utils/configUtils.js +59 -23
  131. package/common/utils/configUtils.js.map +1 -1
  132. package/common/utils/dataUtils.js +9 -4
  133. package/common/utils/dataUtils.js.map +1 -1
  134. package/common/utils/hocUtils.js +5 -3
  135. package/common/utils/hocUtils.js.map +1 -1
  136. package/common/utils/layoutUtils.js +3 -2
  137. package/common/utils/layoutUtils.js.map +1 -1
  138. package/common/utils/mapUtils.js +370 -206
  139. package/common/utils/mapUtils.js.map +1 -1
  140. package/common/utils/singleValueUtils.js +243 -198
  141. package/common/utils/singleValueUtils.js.map +1 -1
  142. package/common/utils/testHelper.js +36 -9
  143. package/common/utils/testHelper.js.map +1 -1
  144. package/common/utils/trellisUtils.js +87 -26
  145. package/common/utils/trellisUtils.js.map +1 -1
  146. package/common/utils/urlUtils.js +4 -2
  147. package/common/utils/urlUtils.js.map +1 -1
  148. package/common/withDashboardViz.js +375 -193
  149. package/common/withDashboardViz.js.map +1 -1
  150. package/package.json +25 -27
@@ -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 = 49);\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":""}
@@ -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 = 50);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 51);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -120,7 +120,7 @@ module.exports = require("styled-components");
120
120
 
121
121
  /***/ }),
122
122
 
123
- /***/ 50:
123
+ /***/ 51:
124
124
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
125
125
 
126
126
  "use strict";
@@ -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 = 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 { 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":";;;;;;;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,kC;;;;;;;ACAA,uC;;;;;;;ACAA,sE;;;;;;;ACAA,8C;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AAEA,IAAMA,gBAAgB,GAAtB;AACA,IAAMC,mBAAmB,GAAzB;AAEA,IAAMC,kBAAkB,GAAxB;AACA,IAAMC,mBAAmB,GAAzB;AACA,IAAMC,MAAM,GAAZ;AACA,IAAMC,YAAY,GAAlB;AAEA,IAAMC,eAAe,GAAGC,wDAAM,CAAT,IAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,+BAAGA,EAEZ,iBAAK;AAAA,SAAIC,KAAK,CAAT;AAFjB,CAAwBD,CAAxB;AAKA,IAAME,oBAAoB,GAAGF,wDAAM,CAAT,IAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,cAAGA,EACjB,iBAAK;AAAA,SAAIC,KAAK,CAAT;AADjB,CAA6BD,CAA7B;AAIA,IAAMG,gBAAgB,GAAGH,wDAAM,CAAT,IAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,wJAAGA,EACb,iBAAK;AAAA,SAAIC,KAAK,CAAT;AADjB,CAAyBD,CAAzB;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B,OAMjC;AAAA,MALFC,CAKE,QALFA,CAKE;AAAA,MAJFC,CAIE,QAJFA,CAIE;AAAA,MAHFC,WAGE,QAHFA,WAGE;AAAA,MAFFC,qBAEE,QAFFA,qBAEE;AAAA,8BADFC,WACE;AAAA,MADFA,WACE,iCADY,KACZ;AACF,MAAIC,OAAO,GAAX;AACA,MAAIC,OAAO,GAAX;AACA,MAAIC,YAAY,GAAGH,WAAW,GAAGJ,CAAC,GAAGZ,gBAAgB,GAAvB,IAA8BY,CAAC,GAA7D;AACA,MAAIQ,YAAY,GAAhB;AAEA,MAAIC,YAAY,GAAGJ,OAAO,GAA1B;AACA,MAAIK,YAAY,GAAhB;AACA,MAAIC,WAAW,GAAGJ,YAAY,GAA9B;AACA,MAAIK,WAAW,GAAGJ,YAAY,GAA9B;;AAEA,MAAIN,WAAW,KAAf,YAAgC;AAC5BG,WAAO,GAAPA;AACAC,WAAO,GAAPA;AACAC,gBAAY,GAAZA;AACAC,gBAAY,GAAGJ,WAAW,GAAGH,CAAC,GAAGb,gBAAgB,GAAvB,IAA1BoB;AAEAC,gBAAY,GAAZA;AACAC,gBAAY,GAAGJ,OAAO,GAAtBI;AACAC,eAAW,GAAGJ,YAAY,GAA1BI;AACAC,eAAW,GAAGJ,YAAY,GAA1BI;AACH;;AAED,SACI,0KACIN,OAAO,GAAG,IADd,kEAE8B,CAF9B,wCAEmD,CAFnD,mEAEyF,CAFzF,oBAEoG,CAFpG,oBAGI,aAHJ,uFAIwC,CAJxC,4EAMII,YAAY,GANhB,0GAQID,YAAY,GAAG,IARnB,sFASwC,CATxC,oBAUIjB,MAAM,GAVV,wEAW8B,CAX9B,oBAWyC,CAXzC,oBAYI,aAZJ,wEAa8B,CAb9B,4BADJ,GACI,CADJ;AA7BG;AA+CP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMqB,aAAa,GAAG,SAAhBA,aAAgB,QAAwD;AAAA,MAArDb,CAAqD,SAArDA,CAAqD;AAAA,MAAlDC,CAAkD,SAAlDA,CAAkD;AAAA,MAA/Ca,MAA+C,SAA/CA,MAA+C;AAAA,MAAvCZ,WAAuC,SAAvCA,WAAuC;AAAA,gCAA1BE,WAA0B;AAAA,MAA1BA,WAA0B,kCAAZ,KAAY,sBACjF;;AACA,MAAIW,UAAU,GAAGX,WAAW,GACtBJ,CAAC,GAAGV,kBAAkB,GADA,IAEtBU,CAAC,GAAGZ,gBAAgB,GAApBY,IAA2BV,kBAAkB,GAFnD;AAGA,MAAI0B,UAAU,GAAGf,CAAC,GAAlB;;AACA,MAAIC,WAAW,KAAf,YAAgC;AAC5Ba,cAAU,GAAGf,CAAC,GAAde;AACAC,cAAU,GAAGZ,WAAW,GAClBH,CAAC,GAAGV,mBAAmB,GADL,IAElBU,CAAC,GAAG,CAACV,mBAAmB,GAApB,oBAFVyB;AAGH;;AACD,MAAMC,MAAM,GAAGF,UAAU,GAAGzB,kBAAkB,GAA9C;AACA,MAAM4B,MAAM,GAAGF,UAAU,GAAGzB,mBAAmB,GAA/C;AACA,SAAO;AAAEwB,cAAU,EAAZ;AAAcC,cAAU,EAAxB;AAA0BC,UAAM,EAAhC;AAAkCC,UAAM,EAANA;AAAlC,GAAP;AAdG;;AAiBP,IAAMC,WAAW,GAAG,SAAdA,WAAc,QAAkB;AAAA,MAAZvB,KAAY;;AAAA,MAE9BI,CAF8B,GAc9BJ,KAd8B;AAAA,MAG9BK,CAH8B,GAc9BL,KAd8B;AAAA,MAI9BkB,MAJ8B,GAc9BlB,KAd8B;AAAA,MAK9BwB,GAL8B,GAc9BxB,KAd8B;AAAA,MAM9ByB,GAN8B,GAc9BzB,KAd8B;AAAA,MAO9B0B,KAP8B,GAc9B1B,KAd8B;AAAA,MAQ9BM,WAR8B,GAc9BN,KAd8B;AAAA,MAS9B2B,SAT8B,GAc9B3B,KAd8B;AAAA,MAU9B4B,kBAV8B,GAc9B5B,KAd8B;AAAA,MAW9B6B,oBAX8B,GAc9B7B,KAd8B;AAAA,MAY9B8B,yBAZ8B,GAc9B9B,KAd8B;AAAA,MAa9BQ,WAb8B,GAc9BR,KAd8B;AAgBlC,MAAMO,qBAAqB,GAAGW,MAAM,GAApC;;AAhBkC,uBAiBiBD,aAAa,CAAC;AAC7Db,KAAC,EAD4D;AAE7DC,KAAC,EAF4D;AAG7Da,UAAM,EAHuD;AAI7DZ,eAAW,EAJkD;AAK7DE,eAAW,EAAXA;AAL6D,GAAD,CAjB9B;AAAA,MAiB1BW,UAjB0B;AAAA,MAiBdC,UAjBc;AAAA,MAiBFC,MAjBE;AAAA,MAiBMC,MAjBN;;AAyBlC,sBACI,mFACI;AACI,iBADJ;AAEI,KAAC,EAAEnB,uBAAuB,CAAC;AAAEC,OAAC,EAAH;AAAKC,OAAC,EAAN;AAAQC,iBAAW,EAAnB;AAAqBC,2BAAqB,EAA1C;AAA4CC,iBAAW,EAAXA;AAA5C,KAAD,CAF9B;AAGI,wBAAoB,EAAEqB;AAH1B,IADJ,EAMKF,SAAS,iBACN,mFACI;AACI,iBADJ;AAEI,KAAC,EAFL;AAGI,KAAC,EAHL;AAII,SAAK,EAJT;AAKI,UAAM,EALV;AAMI,MAAE,EANN;AAOI,MAAE,EAPN;AAQI,wBAAoB,EAAEE;AAR1B,IADJ,eAWI;AACI,iBADJ;AAEI,KAAC,EAFL;AAGI,KAAC,EAHL;AAII,6BAAyB,EAAEC;AAJ/B,KAMKF,kBAAkB,aACV,CAAEF,KAAK,IAAID,GAAG,GAAb,GAAM,CAALC,GAAF,aADU,CACV,CADU,SAEbK,8FAAY,WAAW;AACnBC,yBAAqB,EADF;AAEnBC,iBAAa,EAAE;AAFI,GAAX,CARtB,CAXJ,CAPR,CADJ;AAzBJ;;AA+DAV,WAAW,CAAXA,YAAwB;AACpBnB,GAAC,EAAE8B,iDAAC,CADgB;AAEpB7B,GAAC,EAAE6B,iDAAC,CAFgB;AAGpBhB,QAAM,EAAEgB,iDAAC,CAHW;AAIpBV,KAAG,EAAEU,iDAAC,CAJc;AAKpBT,KAAG,EAAES,iDAAC,CALc;AAMpBR,OAAK,EAAEQ,iDAAC,CANY;AAOpB5B,aAAW,EAAE4B,iDAAC,CAPM;AAQpBP,WAAS,EAAEO,iDAAC,CARQ;AASpBN,oBAAkB,EAAEM,iDAAC,CATD;AAUpBL,sBAAoB,EAAEK,iDAAC,CAVH;AAWpBJ,2BAAyB,EAAEI,iDAAC,CAXR;AAYpB1B,aAAW,EAAE0B,iDAAC,CAACC;AAZK,CAAxBZ;AAeAA,WAAW,CAAXA,eAA2B;AACvBC,KAAG,EADoB;AAEvBC,KAAG,EAFoB;AAGvBnB,aAAW,EAHY;AAIvBqB,WAAS,EAJc;AAKvBC,oBAAkB,EALK;AAMvBpB,aAAW,EAAE;AANU,CAA3Be;AASA,4E;;;;;;;AC/MA,2D","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":""}