@splunk/react-visualizations 24.1.0 → 24.3.1

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 (70) hide show
  1. package/.loki/reference/chrome_docker_FillerGauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
  2. package/.loki/reference/chrome_docker_FillerGauge_Too_Small_to_Render.png +0 -0
  3. package/.loki/reference/chrome_docker_MarkerGauge_Invalid_ranges_duplicate_entries_from.png +0 -0
  4. package/.loki/reference/chrome_docker_MarkerGauge_Invalid_ranges_duplicate_entries_to.png +0 -0
  5. package/.loki/reference/chrome_docker_MarkerGauge_Invalid_ranges_invalid_entries_discontinuous_ranges.png +0 -0
  6. package/.loki/reference/chrome_docker_MarkerGauge_Invalid_ranges_invalid_entries_from_equals_to_to.png +0 -0
  7. package/.loki/reference/chrome_docker_MarkerGauge_Invalid_ranges_invalid_entries_from_is_larger_than_to.png +0 -0
  8. package/.loki/reference/chrome_docker_MarkerGauge_Invalid_ranges_missing_entries.png +0 -0
  9. package/.loki/reference/chrome_docker_MarkerGauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
  10. package/.loki/reference/chrome_docker_MarkerGauge_Too_Small_to_Render.png +0 -0
  11. package/.loki/reference/chrome_docker_SingleValueRadial_100_height_and_width.png +0 -0
  12. package/.loki/reference/chrome_docker_SingleValueRadial_Background_color_flamenco.png +0 -0
  13. package/.loki/reference/chrome_docker_SingleValueRadial_Background_color_is_white.png +0 -0
  14. package/.loki/reference/chrome_docker_SingleValueRadial_Number_Precision_2.png +0 -0
  15. package/.loki/reference/chrome_docker_SingleValueRadial_Radial_Background_Color_pink.png +0 -0
  16. package/.loki/reference/chrome_docker_SingleValueRadial_Radial_Stroke_Color_valencia.png +0 -0
  17. package/.loki/reference/chrome_docker_SingleValueRadial_Thousand_Separators_disabled.png +0 -0
  18. package/.loki/reference/chrome_docker_SingleValueRadial_Thousand_Separators_enabled_default.png +0 -0
  19. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Display_Mode_absolute_default.png +0 -0
  20. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Display_Mode_percent.png +0 -0
  21. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Indicator_Position_below.png +0 -0
  22. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Indicator_Position_outside.png +0 -0
  23. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Indicator_Position_pushed_below_value_does_not_feet_inside_of_radial.png +0 -0
  24. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Indicator_Position_standard_default.png +0 -0
  25. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Indicator_disabled.png +0 -0
  26. package/.loki/reference/chrome_docker_SingleValueRadial_Trend_Indicator_enabled_default.png +0 -0
  27. package/.loki/reference/chrome_docker_SingleValueRadial_Under_label_specified.png +0 -0
  28. package/.loki/reference/chrome_docker_SingleValueRadial_Unit_specified_Unit_Position_after_default.png +0 -0
  29. package/.loki/reference/chrome_docker_SingleValueRadial_Unit_specified_Unit_Position_before.png +0 -0
  30. package/.loki/reference/chrome_docker_SingleValueRadial_basic.png +0 -0
  31. package/.loki/reference/chrome_docker_SingleValueRadial_basic_dark_theme.png +0 -0
  32. package/.loki/reference/chrome_docker_SingleValueRadial_basic_default_theme.png +0 -0
  33. package/.loki/reference/chrome_docker_SingleValueRadial_basic_scp_theme.png +0 -0
  34. package/.loki/reference/chrome_docker_SingleValueRadial_fixed_height_300_width_300.png +0 -0
  35. package/.loki/reference/chrome_docker_SingleValueRadial_fixed_height_35_width_35.png +0 -0
  36. package/.loki/reference/chrome_docker_SingleValueRadial_no_props.png +0 -0
  37. package/.loki/reference/chrome_docker_SvgChoroplethDynamic_SVG_prop_is_missing.png +0 -0
  38. package/Area.js +36 -27
  39. package/Area.js.map +1 -1
  40. package/Bar.js +35 -26
  41. package/Bar.js.map +1 -1
  42. package/Bubble.js +80 -93
  43. package/Bubble.js.map +1 -1
  44. package/Column.js +36 -27
  45. package/Column.js.map +1 -1
  46. package/FillerGauge.js +16 -16
  47. package/FillerGauge.js.map +1 -1
  48. package/GeoJsonChoropleth.js +116 -109
  49. package/GeoJsonChoropleth.js.map +1 -1
  50. package/Line.js +91 -113
  51. package/Line.js.map +1 -1
  52. package/MarkerGauge.js +16 -16
  53. package/MarkerGauge.js.map +1 -1
  54. package/Pie.js +30 -30
  55. package/Pie.js.map +1 -1
  56. package/Punchcard.js +21 -21
  57. package/Punchcard.js.map +1 -1
  58. package/Scatter.js +60 -60
  59. package/Scatter.js.map +1 -1
  60. package/SingleValue.js +23 -23
  61. package/SingleValue.js.map +1 -1
  62. package/SingleValueIcon.js +25 -25
  63. package/SingleValueIcon.js.map +1 -1
  64. package/SingleValueRadial.js +928 -72
  65. package/SingleValueRadial.js.map +1 -1
  66. package/SvgChoropleth.js +32 -43
  67. package/SvgChoropleth.js.map +1 -1
  68. package/SvgChoroplethDynamic.js +22 -22
  69. package/SvgChoroplethDynamic.js.map +1 -1
  70. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///./src/utils/propUtils.js","webpack:///external \"react\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/visualizations/SingleValueRadial\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///./src/visualizations/SingleValueRadial/SingleValueRadial.jsx","webpack:///external \"lodash/omit\""],"names":["propsConvert","newProps","Object","key","propsMapping","oldProps","propsDeprecate","omit","value","deltaValue","deltaColor","deltaFontSize","useTrendUnits","useThousandSeparators","deprecatedProps","ReactSingleValueRadial","props","trendDisplay","width","T","height","style","majorColor","majorFontSize","trendDisplayMode","trendIndicatorPosition","showTrendIndicator","backgroundColor","unit","unitPosition","underLabel","numberPrecision","radialBackgroundColor","radialStrokeColor","onValueClick","func","withSanitizedProps"],"mappings":"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","file":"SingleValueRadial.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 = 62);\n","module.exports = require(\"prop-types\");","import omit from 'lodash/omit';\n\n/**\n * convert the old props to new props for pure visualization based on propsMapping\n * @param {Object} oldProps props used by react visualizations\n * @param {Object} propsMapping\n * @return {Object} newprops props used by pure visualizations\n */\nexport const propsConvert = (oldProps, propsMapping) => {\n const newProps = {};\n Object.keys(oldProps).forEach(propKey => {\n const key = propsMapping[propKey] || propKey;\n newProps[key] = oldProps[propKey];\n });\n return newProps;\n};\n\n/**\n * omit the deprecated props for pure visualization\n * @param {Object} props props used by react visualizations\n * @param {Array} deprecatedProps\n * @return {Object} newprops props used by pure visualizations\n */\nexport const propsDeprecate = (props, deprecatedProps) => omit(props, deprecatedProps);\n","module.exports = require(\"react\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/visualizations/SingleValueRadial\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/extends\");","import React from 'react';\nimport T from 'prop-types';\nimport { PureSingleValueRadial } from '@splunk/visualizations/SingleValueRadial';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport { propsConvert, propsDeprecate } from '../../utils/propUtils';\n\n// This propsMapping is for React SingleValue to use PureSingleValue.\nconst propsMapping = {\n value: 'majorValue',\n deltaValue: 'trendValue',\n deltaColor: 'trendColor',\n deltaFontSize: 'trendFontSize',\n useTrendUnits: 'shouldAbbreviateTrendValue',\n useThousandSeparators: 'shouldUseThousandSeparators',\n};\n\nconst deprecatedProps = ['showTrendIndicator', 'trendDisplayMode'];\n\nconst ReactSingleValueRadial = ({ ...props }) => {\n let newProps = propsConvert(props, propsMapping);\n // change props\n const trendDisplay = newProps.showTrendIndicator ? newProps.trendDisplayMode : 'off';\n newProps = {\n ...propsDeprecate(newProps, deprecatedProps),\n trendDisplay,\n };\n return <PureSingleValueRadial {...newProps} />;\n};\n\nReactSingleValueRadial.propTypes = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n style: T.object,\n value: T.oneOfType([T.string, T.number]),\n majorColor: T.string,\n majorFontSize: T.number,\n deltaValue: T.oneOfType([T.string, T.number]),\n deltaColor: T.string,\n deltaFontSize: T.number,\n trendDisplayMode: T.string,\n trendIndicatorPosition: T.oneOf(['standard', 'below', 'outside']),\n useTrendUnits: T.bool,\n showTrendIndicator: T.bool,\n backgroundColor: T.string,\n unit: T.string,\n unitPosition: T.string,\n underLabel: T.string,\n numberPrecision: T.number,\n useThousandSeparators: T.bool,\n radialBackgroundColor: T.string,\n radialStrokeColor: T.string,\n onValueClick: T.func,\n};\n\nReactSingleValueRadial.defaultProps = {\n width: '100%',\n height: 250,\n trendDisplayMode: 'absolute',\n trendIndicatorPosition: 'standard',\n useTrendUnits: false,\n showTrendIndicator: true,\n unitPosition: 'after',\n numberPrecision: 0,\n useThousandSeparators: true,\n onValueClick: () => {},\n};\n\nexport default withSanitizedProps(ReactSingleValueRadial);\n","module.exports = require(\"lodash/omit\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"styled-components\"","webpack:///external \"lodash/omit\"","webpack:///external \"lodash/isEmpty\"","webpack:///external \"@splunk/visualizations/common/utils/singleValueUtils\"","webpack:///./src/utils/propUtils.js","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualizations/SingleValueBasic\"","webpack:///external \"lodash/pick\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///./src/visualizations/SingleValueRadial/src/components/RadialGraph.jsx","webpack:///./src/visualizations/SingleValueRadial/src/utils/displayUtils.js","webpack:///./src/visualizations/SingleValueRadial/src/components/RadialLayout.jsx","webpack:///./src/visualizations/SingleValueRadial/src/components/SingleValueRadial.jsx","webpack:///./src/visualizations/SingleValueRadial/SingleValueRadial.jsx"],"names":["propsConvert","newProps","Object","key","propsMapping","oldProps","propsDeprecate","omit","RadialGraph","progress","size","strokeWidth","backgroundColor","RADIAL_BACKGROUND_COLOR","progressColor","RADIAL_STROKE_COLOR","normalizedSize","normalizedRadius","circumference","Math","bgCircleOffset","progress80","progressWidth","strokeDashoffset","T","string","VALID_TREND_POSITIONS","MAJOR_FONT_THRESHOLD","TREND_FONT_THRESHOLD","DEFAULT_RADIAL_STROKE_WIDTH","SMALL_RADIAL_STROKE_WIDTH","getRadialColors","backgroundEnabled","getGraphColors","defaultColors","customColorFormatter","background","lighten","stroke","darken","getGraphSize","width","height","underLabel","getValueContentSize","graphSize","radialStrokeWidth","diameter","getRadialStrokeWidth","isValidPosition","computeTrendIndicatorPosition","trendIndicatorPosition","majorTextFontSize","trendTextFontSize","position","showTrendPositionStandard","showTrendIndicator","showTrendPositionBelow","showTrendPositionOutside","getRadialProgress","Number","majorValue","PositionDiv","styled","props","Column","Row","Square","UnderLabelContainer","renderIsolateTrend","trendText","trendColor","contentSize","getTrendFontSize","spaceRatio","number","RadialContent","majorColor","majorText","majorValueTitle","trendPosition","unit","unitPosition","underLabelColor","underLabelFontSize","onValueClick","showRadialGraph","radialBackgroundColor","radialStrokeColor","trendComponent","basicSingleValues","radialGraph","underLabelComponent","outsideComponent","belowTrendComponent","textAlign","SingleValueBasic","Container","toDimension","pick","VizStyleWrapper","dataTestKey","SingleValueRadial","style","majorFontSize","majorValueField","trendValue","trendFontSize","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","defaultFontColor","enterprise","dark","variables","light","prisma","defaultBlockFontColor","computeColors","radialColors","handleValueClick","useCallback","handleValueClickCallback","renderVisualization","containerWidth","containerHeight","_","trendDisplay","valueContentSize","getUnderLabelHeight","toRemoveList","value","computeSingleValueContent","contentWidth","contentHeight","smallVizProps","isEmpty","shouldShowTrend","func","withTheme","deltaValue","deltaColor","deltaFontSize","useTrendUnits","useThousandSeparators","deprecatedProps","ReactSingleValueRadial","trendDisplayMode","withSanitizedProps"],"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,uC;;;;;;ACAA,kC;;;;;;;ACAA,wE;;;;;;ACAA,2D;;;;;;;ACAA,kE;;;;;;ACAA,8C;;;;;;ACAA,wC;;;;;;;;;;;;;;;ACAA,2C;;;;;;ACAA,iF;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMA,YAAY,GAAG,SAAfA,YAAe,yBAA4B;AACpD,MAAMC,QAAQ,GAAd;AACAC,QAAM,CAANA,uBAA8B,mBAAW;AACrC,QAAMC,GAAG,GAAGC,YAAY,CAAZA,OAAY,CAAZA,IAAZ;AACAH,YAAQ,CAARA,GAAQ,CAARA,GAAgBI,QAAQ,CAAxBJ,OAAwB,CAAxBA;AAFJC;AAIA;AANG;AASP;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMI,cAAc,GAAG,SAAjBA,cAAiB;AAAA,SAA4BC,kDAAI,QAAhC,eAAgC,CAAhC;AAAvB,E;;;;;;;ACvBP,qD;;;;;;;;;;;;ACAA,gD;;;;;;ACAA,yE;;;;;;;ACAA,kD;;;;;;ACAA,kE;;;;;;;ACAA,oE;;;;;;;;;;;;;ACAA,wC;;;;;;ACAA,gE;;;;;;ACAA,2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;;AAEA,IAAMC,uBAAW,GAAG,SAAdA,WAAc,OAMd;AAAA,MALFC,QAKE,QALFA,QAKE;AAAA,uBAJFC,IAIE;AAAA,MAJFA,IAIE,0BAJK,GAIL;AAAA,MAHFC,WAGE,QAHFA,WAGE;AAAA,kCAFFC,eAEE;AAAA,MAFFA,eAEE,qCAFgBC,0CAEhB;AAAA,gCADFC,aACE;AAAA,MADFA,aACE,mCADcC,sCACd;AACF,MAAMC,cAAc,GAAGN,IAAI,GAA3B;AACA,MAAMO,gBAAgB,GAAGD,cAAc,GAAGL,WAAW,GAArD;AACA,MAAMO,aAAa,GAAGD,gBAAgB,GAAhBA,IAAuBE,IAAI,CAAjD;AACA,MAAMC,cAAc,GAAG,MAAvB;AAEA,MAAMC,UAAU,GAAIZ,QAAQ,GAAT,GAACA,GAApB;AAEA,MAAMa,aAAa,GAAID,UAAU,GAAX,GAACA,GARrB,aAQF,CARE,CAUF;AACA;AACA;AACA;AACA;;AACA,MAAME,gBAAgB,GAAGL,aAAa,GAAtC;AAEA,sBACI;AAAK,UAAM,EAAEF,cAAc,GAA3B;AAAiC,SAAK,EAAEA,cAAc,GAAG;AAAzD,kBACI,+DACI;AACI,iBADJ;AAEI,UAAM,EAFV;AAGI,QAAI,EAHR;AAII,eAAW,EAJf;AAKI,mBAAe,wCAAuBE,aAAa,GALvD,cAKmB,CALnB;AAMI,SAAK,EAAE;AAAEK,sBAAgB,EAAhBA;AAAF,KANX;AAOI,KAAC,EAPL;AAQI,MAAE,EARN;AASI,MAAE,EAAEP;AATR,IADJ,eAYI;AACI,iBADJ;AAEI,UAAM,EAFV;AAGI,QAAI,EAHR;AAII,eAAW,EAJf;AAKI,mBAAe,uCAAsBE,aAAa,GALtD,aAKmB,CALnB;AAMI,SAAK,EAAE;AAAEK,sBAAgB,EAAhBA;AAAF,KANX;AAOI,KAAC,EAPL;AAQI,MAAE,EARN;AASI,MAAE,EAAEP;AATR,IAZJ,CADJ,CADJ;AAvBJ;;AAqDAR,uBAAW,CAAXA,YAAwB;AACpBC,UAAQ,EAAEe,6BAAC,CADS;AAEpBd,MAAI,EAAEc,6BAAC,CAFa;AAGpBb,aAAW,EAAEa,6BAAC,CAHM;AAIpBZ,iBAAe,EAAEY,6BAAC,CAJE;AAKpBV,eAAa,EAAEU,6BAAC,CAACC;AALG,CAAxBjB;AAQAA,uBAAW,CAAXA,eAA2B;AACvBC,UAAQ,EADe;AAEvBE,aAAW,EAAE;AAFU,CAA3BH;AAKA,oF;;ACvEA;AACA;AACA;AAOO,IAAMkB,qBAAqB,GAAG,sBAA9B,SAA8B,CAA9B;AACA,IAAMC,oBAAoB,GAA1B;AACA,IAAMC,oBAAoB,GAA1B;AACA,IAAMC,2BAA2B,GAAjC;AACA,IAAMC,yBAAyB,GAA/B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,4BAAe,GAAG,SAAlBA,eAAkB;AAAA,MAAGC,iBAAH;AAAA,MAAsBpB,eAAtB;AAAA,SAC3BqB,2CAAc,CAAC;AACXD,qBAAiB,EADN;AAEXpB,mBAAe,EAFJ;AAGXsB,iBAAa,EAHF;AAIXC,wBAAoB,EAAE,qCAAK;AAAA,aAAK;AAAEC,kBAAU,EAAEC,oCAAO,CAArB,KAAqB,CAArB;AAA8BC,cAAM,EAAEC,mCAAM;AAA5C,OAAL;AAAA;AAJhB,GAAD,CADa;AAAxB;AAQP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,yBAAY,GAAG,SAAfA,YAAe,QAAmC;AAAA,MAAhCC,KAAgC,SAAhCA,KAAgC;AAAA,MAAzBC,MAAyB,SAAzBA,MAAyB;AAAA,MAAjBC,UAAiB,SAAjBA,UAAiB;AAC3D,MAAIjC,IAAI,GAAGS,IAAI,CAAJA,WAAX,MAAWA,CAAX;;AAEA,kBAAgB;AACZT,QAAI,IAAJA;AACH;;AAED;AAPG;AAUP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMkC,mBAAmB,GAAG,SAAtBA,mBAAsB,QAAsC;AAAA,MAAnCC,SAAmC,SAAnCA,SAAmC;AAAA,MAAxBC,iBAAwB,SAAxBA,iBAAwB,EACrE;;AACA,MAAMC,QAAQ,GAAGF,SAAS,GAF2C,iBAErE,CAFqE,CAGrE;AACA;;AACA,SAAO1B,IAAI,CAAJA,MAAWA,IAAI,CAAJA,KAAU,wBAA5B,CAAkBA,CAAXA,CAAP;AALG;AAQP;AACA;AACA;AACA;AACA;;AACO,IAAM6B,oBAAoB,GAAG,SAAvBA,oBAAuB,YAAS;AAAA,SACzCH,SAAS,IAATA,mCADyC;AAAtC;AAGP;AACA;AACA;AACA;AACA;;AACO,IAAMI,eAAe,GAAG,SAAlBA,eAAkB,WAAQ;AAAA,SAAIvB,qBAAqB,CAArBA,oBAA0C,CAA9C;AAAhC;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMwB,6BAA6B,GAAG,SAAhCA,6BAAgC,QAIvC;AAAA,MAHFC,sBAGE,SAHFA,sBAGE;AAAA,MAFFC,iBAEE,SAFFA,iBAEE;AAAA,MADFC,iBACE,SADFA,iBACE;AACF,MAAIC,QAAQ,GAAZ;;AAEA,MAAI,CAACL,eAAe,CAApB,QAAoB,CAApB,EAAgC;AAC5BK,YAAQ,GAARA;AACH;;AAED,MACIA,QAAQ,KAARA,cACCD,iBAAiB,GAAjBA,wBAA4CD,iBAAiB,GAFlE,oBACIE,CADJ,EAGE;AACEA,YAAQ,GAARA;AACH;;AACD;AAjBG;AAoBP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B;AAAA,MAAGC,kBAAH;AAAA,MAAuBF,QAAvB;AAAA,SACrCE,kBAAkB,IAAIF,QAAQ,KADO;AAAlC;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB;AAAA,MAAGD,kBAAH;AAAA,MAAuBF,QAAvB;AAAA,SAClCE,kBAAkB,IAAIF,QAAQ,KADI;AAA/B;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMI,wBAAwB,GAAG,SAA3BA,wBAA2B;AAAA,MAAGF,kBAAH;AAAA,MAAuBF,QAAvB;AAAA,SACpCE,kBAAkB,IAAIF,QAAQ,KADM;AAAjC;AAGP;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMK,iBAAiB,GAAG,SAApBA,iBAAoB,aAAU;AAAA,SACvCC,MAAM,CAANA,MAAaA,MAAM,CAAnBA,UAAmB,CAAnBA,QAAwCC,UAAU,GAAG1C,IAAI,CAAJA,gBAAd,GAAcA,CAAb0C,GADD;AAApC,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EClJP;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA,IAAMC,WAAW,GAAGC,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,4HAAGA,EAEd,iBAAK;AAAA,SAAKC,KAAK,CAALA,cAAL;AAFM,CAAGD,EAGN,iBAAK;AAAA,SAAIC,KAAK,CAALA,UAAJ;AAHF,CAAGD,EAQD,iBAAK;AAAA,SAAIC,KAAK,CAALA,SAAJ;AARxB,CAAoBD,CAApB;AAYA,IAAME,MAAM,GAAGF,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,6EAAGA,EAGI,iBAAK;AAAA,SAAIC,KAAK,CAALA,SAAJ;AAHZ,CAAGD,EAIQ,iBAAK;AAAA,SAAIC,KAAK,CAALA,SAAJ;AAJ5B,CAAeD,CAAf;AAMA,IAAMG,GAAG,GAAGH,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,CAAT,4EAAS,CAAGA,CAAZ;AAOA,IAAMI,MAAM,GAAGJ,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,+DAAGA,EAGF,iBAAK;AAAA,SAAIC,KAAK,CAAT;AAHN,CAAGD,EAID,iBAAK;AAAA,SAAIC,KAAK,CAAT;AAJnB,CAAeD,CAAf;AAOA,IAAMK,mBAAmB,GAAGL,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,gDAAGA,EACf,iBAAK;AAAA,SAAIC,KAAK,CAAT;AADO,CAAGD,EAEV,iBAAK;AAAA,SAAKC,KAAK,CAALA,mBAAkBA,KAAK,CAALA,OAAlBA,KAAD,IAACA,KAAL;AAFE,CAAGD,EAGX,iBAAK;AAAA,SAAIC,KAAK,CAALA,QAAJ;AAHtB,CAA4BD,CAA5B;AAMA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMM,+BAAkB,GAAG,SAArBA,kBAAqB,OAA4C;AAAA,MAAzCC,SAAyC,QAAzCA,SAAyC;AAAA,MAA9BC,UAA8B,QAA9BA,UAA8B;AAAA,MAAlBC,WAAkB,QAAlBA,WAAkB;AACnE,MAAMnB,iBAAiB,GAAGoB,6CAAgB,CAAC;AACvChC,SAAK,EAAE+B,WAAW,GADqB;AAEvC9B,UAAM,EAAE8B,WAAW,GAFoB;AAGvCF,aAAS,EAH8B;AAIvCI,cAAU,EAAE;AAJ2B,GAAD,CAA1C;AAOA,sBACI;AACI,YAAQ,EADZ;AAEI,SAAK,EAFT;AAGI,SAAK,EAHT;AAII,QAAI,EAAEJ;AAJV,IADJ;AARJ;;AAkBAD,+BAAkB,CAAlBA,YAA+B;AAC3BC,WAAS,EAAE9C,6BAAC,CADe;AAE3B+C,YAAU,EAAE/C,6BAAC,CAFc;AAG3BgD,aAAW,EAAEhD,6BAAC,CAACmD;AAHY,CAA/BN;;AAMA,IAAMO,0BAAa,GAAG,SAAhBA,aAAgB,QAAkB;AAAA,MAAZZ,KAAY;;AAAA,MAEhCa,UAFgC,GAwBhCb,KAxBgC;AAAA,MAGhCc,SAHgC,GAwBhCd,KAxBgC;AAAA,MAIhCZ,iBAJgC,GAwBhCY,KAxBgC;AAAA,MAKhCe,eALgC,GAwBhCf,KAxBgC;AAAA,MAMhCO,UANgC,GAwBhCP,KAxBgC;AAAA,MAOhCM,SAPgC,GAwBhCN,KAxBgC;AAAA,MAQhCX,iBARgC,GAwBhCW,KAxBgC;AAAA,MAShCR,kBATgC,GAwBhCQ,KAxBgC;AAAA,MAUhCgB,aAVgC,GAwBhChB,KAxBgC;AAAA,MAWhCiB,IAXgC,GAwBhCjB,KAxBgC;AAAA,MAYhCkB,YAZgC,GAwBhClB,KAxBgC;AAAA,MAahCmB,eAbgC,GAwBhCnB,KAxBgC;AAAA,MAchCoB,kBAdgC,GAwBhCpB,KAxBgC;AAAA,MAehCrB,UAfgC,GAwBhCqB,KAxBgC;AAAA,MAgBhCqB,YAhBgC,GAwBhCrB,KAxBgC;AAAA,MAiBhCQ,WAjBgC,GAwBhCR,KAxBgC;AAAA,MAkBhCsB,eAlBgC,GAwBhCtB,KAxBgC;AAAA,MAmBhCnB,SAnBgC,GAwBhCmB,KAxBgC;AAAA,MAoBhCvD,QApBgC,GAwBhCuD,KAxBgC;AAAA,MAqBhCuB,qBArBgC,GAwBhCvB,KAxBgC;AAAA,MAsBhCwB,iBAtBgC,GAwBhCxB,KAxBgC;AAAA,MAuBhClB,iBAvBgC,GAwBhCkB,KAxBgC,oBA0BpC;;AACA,MAAMyB,cAAc,GAAGpB,+BAAkB,CAAC;AAAEC,aAAS,EAAX;AAAaC,cAAU,EAAvB;AAAyBC,eAAW,EAAXA;AAAzB,GAAD,CAAzC;AAEA,MAAMkB,iBAAiB,gBACnB;AACI,cAAU,EADd;AAEI,aAAS,EAFb;AAGI,qBAAiB,EAHrB;AAII,mBAAe,EAJnB;AAKI,cAAU,EALd;AAMI,aAAS,EANb;AAOI,qBAAiB,EAPrB;AAQI,sBAAkB,EAAEnC,yBAAyB,CAAC;AAAEC,wBAAkB,EAApB;AAAsBF,cAAQ,EAAE0B;AAAhC,KAAD,CARjD;AASI,QAAI,EATR;AAUI,gBAAY,EAVhB;AAWI,gBAAY,EAAEK;AAXlB,IADJ;AAeA,MAAMM,WAAW,GAAGL,eAAe,gBAC/B;AACI,QAAI,EADR;AAEI,YAAQ,EAFZ;AAGI,mBAAe,EAHnB;AAII,iBAAa,EAJjB;AAKI,eAAW,EAAExC;AALjB,IAD+B,GAAnC;AAUA,MAAM8C,mBAAmB,GAAGjD,UAAU,gBAClC;AAAqB,iBAArB;AAA4C,SAAK,EAAjD;AAAoE,QAAI,EAAEyC;AAA1E,KADkC,UAClC,CADkC,GAAtC;AAMA,MAAMS,gBAAgB,GAAG,wBAAwB,CAAC;AAAErC,sBAAkB,EAApB;AAAsBF,YAAQ,EAAE0B;AAAhC,GAAD,CAAxB,gBACrB;AAAQ,SAAK,EAAb;AAAoB,iBAAU;AAA9B,qBADqB,mBACrB,CADqB,GAAzB;AAOA,MAAMc,mBAAmB,GAAG,sBAAsB,CAAC;AAAEtC,sBAAkB,EAApB;AAAsBF,YAAQ,EAAE0B;AAAhC,GAAD,CAAtB,gBACxB;AACI,iBADJ;AAEI,SAAK,EAFT;AAGI,UAAM,EAAEnC,SAAS,GAHrB;AAII,SAAK,EAAE;AAAEkD,eAAS,EAAE;AAAb;AAJX,KADwB,cACxB,CADwB,GAA5B;AAWA,sBACI,+DACI,kEACI;AAAQ,QAAI,EAAElD;AAAd,oDAGI,0DAJR,iBAIQ,CAHJ,CADJ,EAMKmC,aAAa,KAAbA,aAPT,mBACI,CADJ,EADJ,gBACI,CADJ;AA9EJ;;AA6FAJ,0BAAa,CAAbA,4CACOoB,0BAAgB,CADvBpB;AAEII,eAAa,EAAExD,6BAAC,CAFpBoD;AAGIJ,aAAW,EAAEhD,6BAAC,CAHlBoD;AAIIU,iBAAe,EAAE9D,6BAAC,CAJtBoD;AAKI/B,WAAS,EAAErB,6BAAC,CALhBoD;AAMInE,UAAQ,EAAEe,6BAAC,CANfoD;AAOIW,uBAAqB,EAAE/D,6BAAC,CAP5BoD;AAQIY,mBAAiB,EAAEhE,6BAAC,CARxBoD;AASI9B,mBAAiB,EAAEtB,6BAAC,CAACmD;AATzBC;AAYA,6E;;CC3LA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AASA,IAAMqB,SAAS,GAAGlC,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,yBAAGA,EAEZ,iBAAK;AAAA,SAAImC,6BAAW,CAACC,8BAAI,QAAQ,UAA5B,QAA4B,CAAR,CAAL,CAAf;AAFX,CAAkBpC,CAAlB;AAKA,IAAMqC,eAAe,GAAG,oCAAM,CAAN,UAAiB;AAAA,MAAGC,WAAH;AAAA,SAAsB;AAC3D,iBAAaA;AAD8C,GAAtB;AAApB,CAAG,EAAH,UAAG,CAAH;AAAA;AAAA;AAAA,CAAG,EAAH,2GAAG,EAQA,iBAAK;AAAA,SAAIrC,KAAK,CAAT;AAR7B,CAAwB,CAAxB;AAWAoC,eAAe,CAAfA;;AAEA,IAAME,mCAAiB,GAAG,SAApBA,iBAAoB,QAAkB;AAAA,MAAZtC,KAAY;;AAAA,MAEpCvB,KAFoC,GAgBpCuB,KAhBoC;AAAA,sBAgBpCA,KAhBoC;AAAA,MAGpCtB,MAHoC;AAAA,MAIpC6D,KAJoC,GAgBpCvC,KAhBoC;AAAA,MAKpCwC,aALoC,GAgBpCxC,KAhBoC;AAAA,MAMpCH,UANoC,GAgBpCG,KAhBoC;AAAA,MAOpCyC,eAPoC,GAgBpCzC,KAhBoC;AAAA,MAQpC0C,UARoC,GAgBpC1C,KAhBoC;AAAA,MASpC2C,aAToC,GAgBpC3C,KAhBoC;AAAA,MAUpCkB,YAVoC,GAgBpClB,KAhBoC;AAAA,MAWpC4C,eAXoC,GAgBpC5C,KAhBoC;AAAA,MAYpC6C,2BAZoC,GAgBpC7C,KAhBoC;AAAA,MAapC8C,0BAboC,GAgBpC9C,KAhBoC;AAAA,8BAgBpCA,KAhBoC;AAAA,MAcpCb,sBAdoC;AAAA,MAepCkC,YAfoC,GAgBpCrB,KAhBoC,eAkBxC;;AACA,MAAM9B,aAAa,GAAG;AAClB6E,oBAAgB,EAAE,cAAa,CAAC;AAC5BC,gBAAU,EAAE;AACRC,YAAI,EAAEC,mBAAS,CAATA,UADE,KACFA,CADE;AAERC,aAAK,EAAED,mBAAS,CAATA;AAFC,OADgB;AAK5BE,YAAM,EAAEF,mBAAS,CAATA;AALoB,KAAD,CAAb,CADA,KACA,CADA;AAQlBG,yBAAqB,EAAE,cAAa,CAAC;AACjCL,gBAAU,EAAEE,mBAAS,CAATA,MADqB,KACrBA,CADqB;AAEjCE,YAAM,EAAEF,mBAAS,CAATA;AAFyB,KAAD,CAAb;AARL,GAAtB;;AAnBwC,uBAgCgDI,0CAAa,QAhC7D,aAgC6D,CAhC7D;AAAA,MAgChCtF,iBAhCgC;AAAA,MAgCbpB,eAhCa;AAAA,MAgCIiE,UAhCJ;AAAA,MAgCgBN,UAhChB;AAAA,MAgC4BY,eAhC5B;;AAqCxC,MAAMoC,YAAY,GAAGxF,4BAAe,CAAC;AAAEC,qBAAiB,EAAnB;AAAqBpB,mBAAe,EAAfA;AAArB,GAAD,CAApC;AACA,MAAM2E,qBAAqB,GAAGvB,KAAK,CAALA,yBAA+BuD,YAAY,CAAzE;AACA,MAAM/B,iBAAiB,GAAGxB,KAAK,CAALA,qBAA2BuD,YAAY,CAAjE;AAEA,MAAMC,gBAAgB,GAAGC,sCAAW,CAChC,cAAE;AAAA,WAAIC,qDAAwB,8CAA5B,YAA4B,CAA5B;AAD8B,KAEhC,4CAFJ,UAEI,CAFgC,CAApC;;AAKA,MAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,QAAwD;AAAA,QAA9CC,cAA8C,SAArDnF,KAAqD;AAAA,QAAtBoF,eAAsB,SAA9BnF,MAA8B;;AAChF,QAAIkF,cAAc,GAAdA,MAAuBC,eAAe,GAA1C,IAAiD;AAC7C,0BACI;AACI,aAAK,EADT;AAEI,cAAM,EAFV;AAGI,eAAO,EAAEC,kBAAC,CAHd,6BAGc,CAHd;AAII,aAAK,EAAC;AAJV,QADJ;AAF4E,MAYhF;;;AAZgF,QAa1EC,YAb0E,GAavC/D,KAbuC;AAAA,QAa5DiB,IAb4D,GAavCjB,KAbuC;AAAA,QAatDrB,UAbsD,GAavCqB,KAbuC;AAchF,QAAIsB,eAAe,GAd6D,IAchF,CAdgF,CAgBhF;;AACA,QAAMzC,SAAS,GAAGL,yBAAY,CAAC;AAAEC,WAAK,EAAP;AAAyBC,YAAM,EAA/B;AAAkDC,gBAAU,EAAVA;AAAlD,KAAD,CAA9B;AACA,QAAMG,iBAAiB,GAAGE,oBAAoB,CAA9C,SAA8C,CAA9C;AACA,QAAMgF,gBAAgB,GAAGpF,mBAAmB,CAAC;AAAEC,eAAS,EAAX;AAAaC,uBAAiB,EAAjBA;AAAb,KAAD,CAA5C;AACA,QAAMsC,kBAAkB,GAAG6C,gDAAmB,CAACpF,SAAS,GApBwB,GAoBlC,CAA9C,CApBgF,CAsBhF;;AACA,QAAMqF,YAAY,GAAG,CACjB;AAAE/H,SAAG,EAAL;AAAqBgI,WAAK,EAAE;AAA5B,KADiB,EAEjB;AAAEhI,SAAG,EAAL;AAA0BgI,WAAK,EAAE;AAAjC,KAFiB,EAGjB;AAAEhI,SAAG,EAAL;AAAuBgI,WAAK,EAAE;AAA9B,KAHiB,EAIjB;AAAEhI,SAAG,EAAL;AAAegI,WAAK,EAAE;AAAtB,KAJiB,CAArB;;AAvBgF,gCAoC5EC,sDAAyB,CAAC;AAC1BvE,gBAAU,EADgB;AAE1B6C,gBAAU,EAFgB;AAG1BF,mBAAa,EAHa;AAI1BG,mBAAa,EAJa;AAK1BoB,kBAAY,EALc;AAM1BM,kBAAY,EANc;AAO1BC,mBAAa,EAPa;AAQ1BV,oBAAc,EARY;AAS1BC,qBAAe,EATW;AAU1B5C,UAAI,EAVsB;AAW1B2B,qBAAe,EAXW;AAY1BC,iCAA2B,EAZD;AAa1BC,gCAA0B,EAbA;AAc1BoB,kBAAY,EAAZA;AAd0B,KAAD,CApCmD;AAAA,QA8B5EpD,SA9B4E;AAAA,QA+B5ER,SA/B4E;AAAA,QAgC5ElB,iBAhC4E;AAAA,QAiC5EC,iBAjC4E;AAAA,QAkC5E0B,eAlC4E;AAAA,QAmC5EwD,aAnC4E;;AAoDhF,QAAI,CAACC,iBAAO,CAAZ,aAAY,CAAZ,EAA6B;AACtB7F,gBADsB,GAC8B4F,aAD9B,WACtB5F;AAAY2C,qBADU,GAC8BiD,aAD9B,gBACVjD;AAAiByC,kBADP,GAC8BQ,aAD9B,aACOR;AAAc9C,UADrB,GAC8BsD,aAD9B,KACqBtD;AArD8B,MAwDhF;;;AACA,QAAM3B,QAAQ,GAAGJ,6BAA6B,CAAC;AAC3CC,4BAAsB,EADqB;AAE3CC,uBAAiB,EAF0B;AAG3CC,uBAAiB,EAAjBA;AAH2C,KAAD,CAA9C,CAzDgF,CA+DhF;;AACA,QAAM5C,QAAQ,GAAGkD,iBAAiB,CAAlC,UAAkC,CAAlC;AAEA,wBACI;AACI,qBAAe,EADnB;AAEI,WAAK,EAFT;AAGI,iBAAW,EAAC;AAHhB,oBAKI;AACI,mBADJ;AAEI,gBAAU,EAFd;AAGI,eAAS,EAHb;AAII,uBAAiB,EAJrB;AAKI,qBAAe,EALnB;AAMI,gBAAU,EANd;AAOI,eAAS,EAPb;AAQI,uBAAiB,EARrB;AASI,wBAAkB,EAAE8E,4CAAe,CATvC,YASuC,CATvC;AAUI,mBAAa,EAVjB;AAWI,UAAI,EAXR;AAYI,kBAAY,EAZhB;AAaI,qBAAe,EAbnB;AAcI,wBAAkB,EAdtB;AAeI,gBAAU,EAfd;AAgBI,kBAAY,EAhBhB;AAiBI,iBAAW,EAAET,gBAAgB,GAjBjC;AAkBI,qBAAe,EAlBnB;AAmBI,eAAS,EAnBb;AAoBI,cAAQ,EApBZ;AAqBI,2BAAqB,EArBzB;AAsBI,uBAAiB,EAtBrB;AAuBI,uBAAiB,EAAElF;AAvBvB,MALJ,CADJ;AAlEJ;;AAqGA,sBACI;AAAW,SAAK,EAAhB;AAAyB,UAAM,EAAEJ;AAAjC,kBACI,yEACK,8BAAkB;AAAA,WAAIiF,mBAAmB,CAAvB,kBAAuB,CAAvB;AAH/B,GAEQ,CADJ,CADJ;AAnJJ;;AA4JArB,mCAAiB,CAAjBA,YAA8B;AAC1B7D,OAAK,EAAEjB,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CADL,MACP,CAAZA,CADmB;AAE1BkB,QAAM,EAAElB,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CAFN,MAEN,CAAZA,CAFkB;AAG1B+E,OAAK,EAAE/E,6BAAC,CAHkB;AAI1BqC,YAAU,EAAErC,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CAJV,MAIF,CAAZA,CAJc;AAK1BiF,iBAAe,EAAEjF,6BAAC,CALQ;AAM1BqD,YAAU,EAAErD,6BAAC,CANa;AAO1BgF,eAAa,EAAEhF,6BAAC,CAPU;AAQ1BkF,YAAU,EAAElF,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CARV,MAQF,CAAZA,CARc;AAS1B+C,YAAU,EAAE/C,6BAAC,CATa;AAU1BmF,eAAa,EAAEnF,6BAAC,CAVU;AAW1BuG,cAAY,EAAEvG,6BAAC,CAXW;AAY1B2B,wBAAsB,EAAE3B,6BAAC,CAADA,MAAQ,sBAZN,SAYM,CAARA,CAZE;AAa1BsF,4BAA0B,EAAEtF,6BAAC,CAbH;AAc1BZ,iBAAe,EAAEY,6BAAC,CAdQ;AAe1ByD,MAAI,EAAEzD,6BAAC,CAfmB;AAgB1B0D,cAAY,EAAE1D,6BAAC,CAhBW;AAiB1BmB,YAAU,EAAEnB,6BAAC,CAjBa;AAkB1BoF,iBAAe,EAAEpF,6BAAC,CAlBQ;AAmB1BqF,6BAA2B,EAAErF,6BAAC,CAnBJ;AAoB1B+D,uBAAqB,EAAE/D,6BAAC,CApBE;AAqB1BgE,mBAAiB,EAAEhE,6BAAC,CArBM;AAsB1B6D,cAAY,EAAE7D,6BAAC,CAACkH;AAtBU,CAA9BpC;AAyBAA,mCAAiB,CAAjBA,eAAiC;AAC7B7D,OAAK,EADwB;AAE7BC,QAAM,EAFuB;AAG7BmB,YAAU,EAHmB;AAI7B4C,iBAAe,EAJc;AAK7BsB,cAAY,EALiB;AAM7B5E,wBAAsB,EANO;AAO7B2D,4BAA0B,EAPG;AAQ7B5B,cAAY,EARiB;AAS7B0B,iBAAe,EATc;AAU7BC,6BAA2B,EAVE;AAW7BxB,cAAY,EAAE,wBAAM,CAAE;AAXO,CAAjCiB;AAceqC,iHAAS,CAAxB,mCAAwB,CAAxB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClPA;AACA;AACA;AACA;CAGA;;AACA,IAAMvI,YAAY,GAAG;AACjB+H,OAAK,EADY;AAEjBS,YAAU,EAFO;AAGjBC,YAAU,EAHO;AAIjBC,eAAa,EAJI;AAKjBC,eAAa,EALI;AAMjBC,uBAAqB,EAAE;AANN,CAArB;AASA,IAAMC,eAAe,GAAG,uBAAxB,kBAAwB,CAAxB;;AAEA,IAAMC,wCAAsB,GAAG,SAAzBA,sBAAyB,OAAkB;AAAA,MAAZlF,KAAY;;AAC7C,MAAI/D,QAAQ,GAAGD,yCAAY,QADkB,YAClB,CAA3B,CAD6C,CAE7C;;AACA,MAAM+H,YAAY,GAAG9H,QAAQ,CAARA,qBAA8BA,QAAQ,CAAtCA,mBAArB;AACAA,UAAQ,qEACDK,2CAAc,WADb,eACa,CADb;AAEJyH,gBAAY,EAAZA;AAFI,IAAR9H;AAIA,sBAAO,qEAAP,QAAO,CAAP;AARJ;;AAWAiJ,wCAAsB,CAAtBA,YAAmC;AAC/BzG,OAAK,EAAEjB,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CADA,MACZ,CAAZA,CADwB;AAE/BkB,QAAM,EAAElB,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CAFD,MAEX,CAAZA,CAFuB;AAG/B+E,OAAK,EAAE/E,6BAAC,CAHuB;AAI/B2G,OAAK,EAAE3G,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CAJA,MAIZ,CAAZA,CAJwB;AAK/BqD,YAAU,EAAErD,6BAAC,CALkB;AAM/BgF,eAAa,EAAEhF,6BAAC,CANe;AAO/BoH,YAAU,EAAEpH,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CAPL,MAOP,CAAZA,CAPmB;AAQ/BqH,YAAU,EAAErH,6BAAC,CARkB;AAS/BsH,eAAa,EAAEtH,6BAAC,CATe;AAU/B2H,kBAAgB,EAAE3H,6BAAC,CAVY;AAW/B2B,wBAAsB,EAAE3B,6BAAC,CAADA,MAAQ,sBAXD,SAWC,CAARA,CAXO;AAY/BuH,eAAa,EAAEvH,6BAAC,CAZe;AAa/BgC,oBAAkB,EAAEhC,6BAAC,CAbU;AAc/BZ,iBAAe,EAAEY,6BAAC,CAda;AAe/ByD,MAAI,EAAEzD,6BAAC,CAfwB;AAgB/B0D,cAAY,EAAE1D,6BAAC,CAhBgB;AAiB/BmB,YAAU,EAAEnB,6BAAC,CAjBkB;AAkB/BoF,iBAAe,EAAEpF,6BAAC,CAlBa;AAmB/BwH,uBAAqB,EAAExH,6BAAC,CAnBO;AAoB/B+D,uBAAqB,EAAE/D,6BAAC,CApBO;AAqB/BgE,mBAAiB,EAAEhE,6BAAC,CArBW;AAsB/B6D,cAAY,EAAE7D,6BAAC,CAACkH;AAtBe,CAAnCQ;AAyBAA,wCAAsB,CAAtBA,eAAsC;AAClCzG,OAAK,EAD6B;AAElCC,QAAM,EAF4B;AAGlCyG,kBAAgB,EAHkB;AAIlChG,wBAAsB,EAJY;AAKlC4F,eAAa,EALqB;AAMlCvF,oBAAkB,EANgB;AAOlC0B,cAAY,EAPsB;AAQlC0B,iBAAe,EARmB;AASlCoC,uBAAqB,EATa;AAUlC3D,cAAY,EAAE,wBAAM,CAAE;AAVY,CAAtC6D;AAaeE,oKAAkB,CAAjC,wCAAiC,CAAjC,E","file":"SingleValueRadial.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 = 71);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash/omit\");","module.exports = require(\"lodash/isEmpty\");","module.exports = require(\"@splunk/visualizations/common/utils/singleValueUtils\");","import omit from 'lodash/omit';\n\n/**\n * convert the old props to new props for pure visualization based on propsMapping\n * @param {Object} oldProps props used by react visualizations\n * @param {Object} propsMapping\n * @return {Object} newprops props used by pure visualizations\n */\nexport const propsConvert = (oldProps, propsMapping) => {\n const newProps = {};\n Object.keys(oldProps).forEach(propKey => {\n const key = propsMapping[propKey] || propKey;\n newProps[key] = oldProps[propKey];\n });\n return newProps;\n};\n\n/**\n * omit the deprecated props for pure visualization\n * @param {Object} props props used by react visualizations\n * @param {Array} deprecatedProps\n * @return {Object} newprops props used by pure visualizations\n */\nexport const propsDeprecate = (props, deprecatedProps) => omit(props, deprecatedProps);\n","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualizations/SingleValueBasic\");","module.exports = require(\"lodash/pick\");","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","// this is a copy of RadialGraph.jsx @ 23.5.0 before the design changes to PureSingleValueRadial were rolled out\nimport React from 'react';\nimport T from 'prop-types';\nimport { RADIAL_BACKGROUND_COLOR, RADIAL_STROKE_COLOR } from '@splunk/visualizations-shared/colorConstants';\n\nconst RadialGraph = ({\n progress,\n size = 200,\n strokeWidth,\n backgroundColor = RADIAL_BACKGROUND_COLOR,\n progressColor = RADIAL_STROKE_COLOR,\n}) => {\n const normalizedSize = size / 2;\n const normalizedRadius = normalizedSize - strokeWidth * 2;\n const circumference = normalizedRadius * 2 * Math.PI;\n const bgCircleOffset = 0.8 * circumference;\n\n const progress80 = (progress / 100) * 80;\n\n const progressWidth = (progress80 / 100) * circumference;\n\n // Offset the start of the circle to a position that makes the arc look evenly spaced\n // with the opening at the bottom\n // We use 80% of a circle (288deg), half on each side of \"0\" (144deg)\n // SVG starts drawing (0deg) at the 3 o'clock position, so add another 90 to offset this (234deg)\n // This means the arc length that we offset is 2 * PI * r * 234/360 or ...\n const strokeDashoffset = circumference * 0.65;\n\n return (\n <svg height={normalizedSize * 2} width={normalizedSize * 2}>\n <g>\n <circle\n data-test=\"background-radial\"\n stroke={backgroundColor}\n fill=\"transparent\"\n strokeWidth={strokeWidth}\n strokeDasharray={`${bgCircleOffset} ${circumference - bgCircleOffset}`}\n style={{ strokeDashoffset }}\n r={normalizedRadius}\n cx={normalizedSize}\n cy={normalizedSize}\n />\n <circle\n data-test=\"progress-radial\"\n stroke={progressColor}\n fill=\"transparent\"\n strokeWidth={strokeWidth}\n strokeDasharray={`${progressWidth} ${circumference - progressWidth}`}\n style={{ strokeDashoffset }}\n r={normalizedRadius}\n cx={normalizedSize}\n cy={normalizedSize}\n />\n </g>\n </svg>\n );\n};\n\nRadialGraph.propTypes = {\n progress: T.number,\n size: T.number,\n strokeWidth: T.number,\n backgroundColor: T.string,\n progressColor: T.string,\n};\n\nRadialGraph.defaultProps = {\n progress: 0,\n strokeWidth: 12,\n};\n\nexport default RadialGraph;\n","// this is a copy of displayUtils.js @ 23.5.0 before the design changes to PureSingleValueRadial were rolled out\nimport { RADIAL_SEVERITY_COLORS } from '@splunk/visualizations-shared/colorConstants';\nimport {\n DEFAULT_FONT,\n getGraphColors,\n lighten,\n darken,\n} from '@splunk/visualizations/common/utils/singleValueUtils';\n\nexport const VALID_TREND_POSITIONS = ['standard', 'below', 'outside'];\nexport const MAJOR_FONT_THRESHOLD = 25;\nexport const TREND_FONT_THRESHOLD = 12;\nexport const DEFAULT_RADIAL_STROKE_WIDTH = 12;\nexport const SMALL_RADIAL_STROKE_WIDTH = 6;\n\n/**\n * Get the colors for a radial graph based on severity\n * @method getRadialColors\n * @param {Object} props\n * @param {Bool} props.backgroundEnabled\n * @param {String} props.backgroundColor\n * @returns {Object} { background, stroke } colors\n */\nexport const getRadialColors = ({ backgroundEnabled, backgroundColor }) =>\n getGraphColors({\n backgroundEnabled,\n backgroundColor,\n defaultColors: RADIAL_SEVERITY_COLORS,\n customColorFormatter: color => ({ background: lighten(color), stroke: darken(color) }),\n });\n\n/**\n * Figure out the diameter of the graph\n * @method getGraphSize\n * @param {Object} props\n * @param {Number} props.width // Width of the container\n * @param {Number} props.height // Height of the container\n * @param {Number} props.underLabel // Underlabel if present\n * @returns {Number} diameter of the graph\n */\nexport const getGraphSize = ({ width, height, underLabel }) => {\n let size = Math.min(width, height);\n\n if (underLabel) {\n size -= DEFAULT_FONT;\n }\n\n return size;\n};\n\n/**\n * Get the maximum size of the container that holds the graph text\n * @method getValueContentSize\n * @param {Object} props\n * @param {Number} props.graphSize\n * @param {Number} props.radialStrokeWidth // Stroke width of the graph\n * @returns {Number} content size for showing major and trend values in radial graph\n */\nexport const getValueContentSize = ({ graphSize, radialStrokeWidth }) => {\n // Account for the graph's stroke width\n const diameter = graphSize - radialStrokeWidth;\n // Use pythagoreum theorum with circle diameter\n // to calculate the size of the sides of the square inside the circle\n return Math.floor(Math.sqrt(diameter ** 2 / 2));\n};\n\n/*\n * @method getRadialStrokeWidth\n * @param {Number} graphSize\n * @returns {Number} radial stroke width\n */\nexport const getRadialStrokeWidth = graphSize =>\n graphSize >= 90 ? DEFAULT_RADIAL_STROKE_WIDTH : SMALL_RADIAL_STROKE_WIDTH;\n\n/*\n * @method isValidPosition\n * @param {String} position\n * @returns {Bool}\n */\nexport const isValidPosition = position => VALID_TREND_POSITIONS.indexOf(position) > -1;\n\n/**\n * Compute the trend indicator position based on font size of major and trend value\n * @method computeTrendIndicatorPosition\n * @param {Object} props\n * @param {String} props.trendIndicatorPosition\n * @param {Number} props.majorTextFontSize\n * @param {Number} props.trendTextFontSize\n * @returns {String} trend indicator position in radial graph\n */\nexport const computeTrendIndicatorPosition = ({\n trendIndicatorPosition,\n majorTextFontSize,\n trendTextFontSize,\n}) => {\n let position = trendIndicatorPosition;\n\n if (!isValidPosition(position)) {\n position = 'standard';\n }\n\n if (\n position !== 'outside' &&\n (trendTextFontSize < TREND_FONT_THRESHOLD || majorTextFontSize < MAJOR_FONT_THRESHOLD)\n ) {\n position = 'below';\n }\n return position;\n};\n\n/*\n * @method showTrendPositionStandard\n * @param {Object} props\n * @param {Bool} props.showTrendIndicator\n * @param {String} props.position\n * @returns {Bool}\n */\nexport const showTrendPositionStandard = ({ showTrendIndicator, position }) =>\n showTrendIndicator && position === 'standard';\n\n/*\n * @method showTrendPositionBelow\n * @param {Object} props\n * @param {Bool} props.showTrendIndicator\n * @param {String} props.position\n * @returns {Bool}\n */\nexport const showTrendPositionBelow = ({ showTrendIndicator, position }) =>\n showTrendIndicator && position === 'below';\n\n/*\n * @method showTrendPositionOutside\n * @param {Object} props\n * @param {Bool} props.showTrendIndicator\n * @param {String} props.position\n * @returns {Bool}\n */\nexport const showTrendPositionOutside = ({ showTrendIndicator, position }) =>\n showTrendIndicator && position === 'outside';\n\n/*\n * todo: need handle max and min\n * @method getRadialProgress\n * @param {Number} majorValue\n * @returns {Number} progress bar in radial graph\n */\nexport const getRadialProgress = majorValue =>\n Number.isNaN(Number(majorValue)) ? 0 : (majorValue / Math.max(majorValue, 100)) * 100;\n","// this is a copy of RadialLayout.jsx @ 23.5.0 before the design changes to PureSingleValueRadial were rolled out\nimport React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport SingleValueBasic, { SingleValueTrendValue } from '@splunk/visualizations/SingleValueBasic';\nimport { getTrendFontSize } from '@splunk/visualizations/common/utils/singleValueUtils';\nimport RadialGraph from './RadialGraph';\nimport {\n showTrendPositionStandard,\n showTrendPositionBelow,\n showTrendPositionOutside,\n} from '../utils/displayUtils';\n\nconst PositionDiv = styled.div`\n position: absolute;\n ${props => (props.bottom ? '' : 'top: 0')};\n bottom: ${props => props.bottom || 0}px;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: ${props => props.align || 'center'};\n justify-content: center;\n`;\n\nconst Column = styled.div`\n display: flex;\n flex-direction: column;\n align-items: ${props => props.align || 'center'};\n justify-content: ${props => props.align || 'center'};\n`;\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n`;\n\nconst Square = styled.div`\n position: relative;\n margin: 0 auto;\n width: ${props => props.size}px;\n height: ${props => props.size}px;\n`;\n\nconst UnderLabelContainer = styled.div`\n color: ${props => props.color};\n margin-top: ${props => (props.size && `-${props.size * 0.1}px`) || 0};\n font-size: ${props => props.size || 12}px;\n`;\n\n/**\n * Render the trend indicator\n * @method renderTrendValue\n * @returns {Object}\n * @private\n */\n\nconst renderIsolateTrend = ({ trendText, trendColor, contentSize }) => {\n const trendTextFontSize = getTrendFontSize({\n width: contentSize / 2,\n height: contentSize / 4,\n trendText,\n spaceRatio: 1,\n });\n\n return (\n <SingleValueTrendValue\n fontSize={trendTextFontSize}\n color={trendColor}\n value={trendText}\n text={trendText}\n />\n );\n};\n\nrenderIsolateTrend.propTypes = {\n trendText: T.string,\n trendColor: T.string,\n contentSize: T.number,\n};\n\nconst RadialContent = ({ ...props }) => {\n const {\n majorColor,\n majorText,\n majorTextFontSize,\n majorValueTitle,\n trendColor,\n trendText,\n trendTextFontSize,\n showTrendIndicator,\n trendPosition,\n unit,\n unitPosition,\n underLabelColor,\n underLabelFontSize,\n underLabel,\n onValueClick,\n contentSize,\n showRadialGraph,\n graphSize,\n progress,\n radialBackgroundColor,\n radialStrokeColor,\n radialStrokeWidth,\n } = props;\n\n // for trend position below and outside\n const trendComponent = renderIsolateTrend({ trendText, trendColor, contentSize });\n\n const basicSingleValues = (\n <SingleValueBasic\n majorColor={majorColor}\n majorText={majorText}\n majorTextFontSize={majorTextFontSize}\n majorValueTitle={majorValueTitle}\n trendColor={trendColor}\n trendText={trendText}\n trendTextFontSize={trendTextFontSize}\n showTrendIndicator={showTrendPositionStandard({ showTrendIndicator, position: trendPosition })}\n unit={unit}\n unitPosition={unitPosition}\n onValueClick={onValueClick}\n />\n );\n const radialGraph = showRadialGraph ? (\n <RadialGraph\n size={graphSize}\n progress={progress}\n backgroundColor={radialBackgroundColor}\n progressColor={radialStrokeColor}\n strokeWidth={radialStrokeWidth}\n />\n ) : null;\n\n const underLabelComponent = underLabel ? (\n <UnderLabelContainer data-test=\"underLabel\" color={underLabelColor} size={underLabelFontSize}>\n {underLabel}\n </UnderLabelContainer>\n ) : null;\n\n const outsideComponent = showTrendPositionOutside({ showTrendIndicator, position: trendPosition }) ? (\n <Column align=\"end\" data-test=\"trend-position-outside\">\n {trendComponent}\n {underLabelComponent}\n </Column>\n ) : null;\n\n const belowTrendComponent = showTrendPositionBelow({ showTrendIndicator, position: trendPosition }) ? (\n <PositionDiv\n data-test=\"trend-position-below\"\n align=\"flex-end\"\n bottom={graphSize * 0.1}\n style={{ textAlign: 'center' }}\n >\n {trendComponent}\n </PositionDiv>\n ) : null;\n\n return (\n <Row>\n <Column>\n <Square size={graphSize}>\n {radialGraph}\n {belowTrendComponent}\n <PositionDiv>{basicSingleValues}</PositionDiv>\n </Square>\n {trendPosition !== 'outside' && underLabelComponent}\n </Column>\n {outsideComponent}\n </Row>\n );\n};\n\nRadialContent.propTypes = {\n ...SingleValueBasic.propTypes,\n trendPosition: T.string,\n contentSize: T.number,\n showRadialGraph: T.bool,\n graphSize: T.number,\n progress: T.number,\n radialBackgroundColor: T.string,\n radialStrokeColor: T.string,\n radialStrokeWidth: T.number,\n};\n\nexport default RadialContent;\n","// this is a copy of SingleValueRadial.jsx @ 23.5.0 before the design changes to PureSingleValueRadial were rolled out\nimport React, { useCallback } from 'react';\nimport T from 'prop-types';\nimport pickFromTheme from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport styled, { withTheme } from 'styled-components';\nimport pick from 'lodash/pick';\nimport isEmpty from 'lodash/isEmpty';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport Message from '@splunk/visualizations-shared/Message';\nimport {\n computeColors,\n computeSingleValueContent,\n getUnderLabelHeight,\n shouldShowTrend,\n handleValueClickCallback,\n} from '@splunk/visualizations/common/utils/singleValueUtils';\nimport RadialLayout from './RadialLayout';\nimport {\n getGraphSize,\n getValueContentSize,\n getRadialProgress,\n getRadialStrokeWidth,\n computeTrendIndicatorPosition,\n getRadialColors,\n} from '../utils/displayUtils';\n\nconst Container = styled.div`\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst VizStyleWrapper = styled.div.attrs(({ dataTestKey }) => ({\n 'data-test': dataTestKey,\n}))`\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nVizStyleWrapper.displayName = 'VizStyleWrapper';\n\nconst SingleValueRadial = ({ ...props }) => {\n const {\n width,\n height = 250,\n style,\n majorFontSize,\n majorValue,\n majorValueField,\n trendValue,\n trendFontSize,\n unitPosition,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n trendIndicatorPosition = 'standard',\n onValueClick,\n } = props;\n\n // calculate colors\n const defaultColors = {\n defaultFontColor: pickFromTheme({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.gray20(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n defaultBlockFontColor: pickFromTheme({\n enterprise: variables.white(props),\n prisma: variables.contentColorActive(props),\n })(props),\n };\n const { backgroundEnabled, backgroundColor, majorColor, trendColor, underLabelColor } = computeColors(\n props,\n defaultColors\n );\n\n const radialColors = getRadialColors({ backgroundEnabled, backgroundColor });\n const radialBackgroundColor = props.radialBackgroundColor || radialColors.background;\n const radialStrokeColor = props.radialStrokeColor || radialColors.stroke;\n\n const handleValueClick = useCallback(\n ev => handleValueClickCallback(ev, majorValue, majorValueField, trendValue, onValueClick),\n [onValueClick, majorValue, majorValueField, trendValue]\n );\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n if (containerWidth < 35 || containerHeight < 35) {\n return (\n <Message\n width={containerWidth}\n height={containerHeight}\n message={_('Too small to render content')}\n level=\"info\"\n />\n );\n }\n\n // will update later based on text size\n let { trendDisplay, unit, underLabel } = props;\n let showRadialGraph = true;\n\n // calculate radial graph, major and trend content, and underlabel size\n const graphSize = getGraphSize({ width: containerWidth, height: containerHeight, underLabel });\n const radialStrokeWidth = getRadialStrokeWidth(graphSize);\n const valueContentSize = getValueContentSize({ graphSize, radialStrokeWidth });\n const underLabelFontSize = getUnderLabelHeight(graphSize * 0.1);\n\n // calculate major and trend text\n const toRemoveList = [\n { key: 'underLabel', value: '' },\n { key: 'showRadialGraph', value: false },\n { key: 'trendDisplay', value: 'off' },\n { key: 'unit', value: '' },\n ];\n const {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n } = computeSingleValueContent({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n contentWidth: valueContentSize,\n contentHeight: valueContentSize,\n containerWidth,\n containerHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n toRemoveList,\n });\n if (!isEmpty(smallVizProps)) {\n ({ underLabel, showRadialGraph, trendDisplay, unit } = smallVizProps);\n }\n\n // calculate trend position\n const position = computeTrendIndicatorPosition({\n trendIndicatorPosition,\n majorTextFontSize,\n trendTextFontSize,\n });\n\n // calculate radial\n const progress = getRadialProgress(majorValue);\n\n return (\n <VizStyleWrapper\n backgroundColor={backgroundColor}\n style={style}\n dataTestKey=\"SingleValueRadialWrapper\"\n >\n <RadialLayout\n data-test=\"RadialLayout\"\n majorColor={majorColor}\n majorText={majorText}\n majorTextFontSize={majorTextFontSize}\n majorValueTitle={majorValueTitle}\n trendColor={trendColor}\n trendText={trendText}\n trendTextFontSize={trendTextFontSize}\n showTrendIndicator={shouldShowTrend(trendDisplay)}\n trendPosition={position}\n unit={unit}\n unitPosition={unitPosition}\n underLabelColor={underLabelColor}\n underLabelFontSize={underLabelFontSize}\n underLabel={underLabel}\n onValueClick={handleValueClick}\n contentSize={valueContentSize * 0.7}\n showRadialGraph={showRadialGraph}\n graphSize={graphSize}\n progress={progress}\n radialBackgroundColor={radialBackgroundColor}\n radialStrokeColor={radialStrokeColor}\n radialStrokeWidth={radialStrokeWidth}\n />\n </VizStyleWrapper>\n );\n };\n\n return (\n <Container width={width} height={height}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </Container>\n );\n};\n\nSingleValueRadial.propTypes = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n style: T.object,\n majorValue: T.oneOfType([T.string, T.number]),\n majorValueField: T.string,\n majorColor: T.string,\n majorFontSize: T.number,\n trendValue: T.oneOfType([T.string, T.number]),\n trendColor: T.string,\n trendFontSize: T.number,\n trendDisplay: T.string,\n trendIndicatorPosition: T.oneOf(['standard', 'below', 'outside']),\n shouldAbbreviateTrendValue: T.bool,\n backgroundColor: T.string,\n unit: T.string,\n unitPosition: T.string,\n underLabel: T.string,\n numberPrecision: T.number,\n shouldUseThousandSeparators: T.bool,\n radialBackgroundColor: T.string,\n radialStrokeColor: T.string,\n onValueClick: T.func,\n};\n\nSingleValueRadial.defaultProps = {\n width: '100%',\n height: 250,\n majorValue: 'N/A',\n majorValueField: '',\n trendDisplay: 'absolute',\n trendIndicatorPosition: 'standard',\n shouldAbbreviateTrendValue: false,\n unitPosition: 'after',\n numberPrecision: 0,\n shouldUseThousandSeparators: true,\n onValueClick: () => {},\n};\n\nexport default withTheme(SingleValueRadial);\n","import React from 'react';\nimport T from 'prop-types';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport PureSingleValueRadial from './src/components/SingleValueRadial';\nimport { propsConvert, propsDeprecate } from '../../utils/propUtils';\n\n// This propsMapping is for React SingleValue to use PureSingleValue.\nconst propsMapping = {\n value: 'majorValue',\n deltaValue: 'trendValue',\n deltaColor: 'trendColor',\n deltaFontSize: 'trendFontSize',\n useTrendUnits: 'shouldAbbreviateTrendValue',\n useThousandSeparators: 'shouldUseThousandSeparators',\n};\n\nconst deprecatedProps = ['showTrendIndicator', 'trendDisplayMode'];\n\nconst ReactSingleValueRadial = ({ ...props }) => {\n let newProps = propsConvert(props, propsMapping);\n // change props\n const trendDisplay = newProps.showTrendIndicator ? newProps.trendDisplayMode : 'off';\n newProps = {\n ...propsDeprecate(newProps, deprecatedProps),\n trendDisplay,\n };\n return <PureSingleValueRadial {...newProps} />;\n};\n\nReactSingleValueRadial.propTypes = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n style: T.object,\n value: T.oneOfType([T.string, T.number]),\n majorColor: T.string,\n majorFontSize: T.number,\n deltaValue: T.oneOfType([T.string, T.number]),\n deltaColor: T.string,\n deltaFontSize: T.number,\n trendDisplayMode: T.string,\n trendIndicatorPosition: T.oneOf(['standard', 'below', 'outside']),\n useTrendUnits: T.bool,\n showTrendIndicator: T.bool,\n backgroundColor: T.string,\n unit: T.string,\n unitPosition: T.string,\n underLabel: T.string,\n numberPrecision: T.number,\n useThousandSeparators: T.bool,\n radialBackgroundColor: T.string,\n radialStrokeColor: T.string,\n onValueClick: T.func,\n};\n\nReactSingleValueRadial.defaultProps = {\n width: '100%',\n height: 250,\n trendDisplayMode: 'absolute',\n trendIndicatorPosition: 'standard',\n useTrendUnits: false,\n showTrendIndicator: true,\n unitPosition: 'after',\n numberPrecision: 0,\n useThousandSeparators: true,\n onValueClick: () => {},\n};\n\nexport default withSanitizedProps(ReactSingleValueRadial);\n"],"sourceRoot":""}
package/SvgChoropleth.js CHANGED
@@ -87,80 +87,61 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 29);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 36);
91
91
  /******/ })
92
92
  /************************************************************************/
93
- /******/ ([
94
- /* 0 */,
95
- /* 1 */,
96
- /* 2 */
93
+ /******/ ({
94
+
95
+ /***/ 1:
97
96
  /***/ (function(module, exports) {
98
97
 
99
98
  module.exports = require("react");
100
99
 
101
100
  /***/ }),
102
- /* 3 */,
103
- /* 4 */,
104
- /* 5 */,
105
- /* 6 */,
106
- /* 7 */,
107
- /* 8 */,
108
- /* 9 */,
109
- /* 10 */,
110
- /* 11 */,
111
- /* 12 */
112
- /***/ (function(module, exports) {
113
101
 
114
- module.exports = require("styled-components");
115
-
116
- /***/ }),
117
- /* 13 */,
118
- /* 14 */,
119
- /* 15 */,
120
- /* 16 */
102
+ /***/ 16:
121
103
  /***/ (function(module, exports) {
122
104
 
123
105
  module.exports = require("@babel/runtime/helpers/createClass");
124
106
 
125
107
  /***/ }),
126
- /* 17 */
108
+
109
+ /***/ 17:
127
110
  /***/ (function(module, exports) {
128
111
 
129
112
  module.exports = require("@babel/runtime/helpers/classCallCheck");
130
113
 
131
114
  /***/ }),
132
- /* 18 */,
133
- /* 19 */,
134
- /* 20 */
115
+
116
+ /***/ 21:
135
117
  /***/ (function(module, exports) {
136
118
 
137
119
  module.exports = require("lodash");
138
120
 
139
121
  /***/ }),
140
- /* 21 */
122
+
123
+ /***/ 23:
141
124
  /***/ (function(module, exports) {
142
125
 
143
126
  module.exports = require("@babel/runtime/helpers/inherits");
144
127
 
145
128
  /***/ }),
146
- /* 22 */
129
+
130
+ /***/ 24:
147
131
  /***/ (function(module, exports) {
148
132
 
149
133
  module.exports = require("@babel/runtime/helpers/possibleConstructorReturn");
150
134
 
151
135
  /***/ }),
152
- /* 23 */
136
+
137
+ /***/ 25:
153
138
  /***/ (function(module, exports) {
154
139
 
155
140
  module.exports = require("@babel/runtime/helpers/getPrototypeOf");
156
141
 
157
142
  /***/ }),
158
- /* 24 */,
159
- /* 25 */,
160
- /* 26 */,
161
- /* 27 */,
162
- /* 28 */,
163
- /* 29 */
143
+
144
+ /***/ 36:
164
145
  /***/ (function(module, exports, __webpack_require__) {
165
146
 
166
147
  "use strict";
@@ -170,11 +151,11 @@ var _classCallCheck = __webpack_require__(17);
170
151
 
171
152
  var _createClass = __webpack_require__(16);
172
153
 
173
- var _inherits = __webpack_require__(21);
154
+ var _inherits = __webpack_require__(23);
174
155
 
175
- var _possibleConstructorReturn = __webpack_require__(22);
156
+ var _possibleConstructorReturn = __webpack_require__(24);
176
157
 
177
- var _getPrototypeOf = __webpack_require__(23);
158
+ var _getPrototypeOf = __webpack_require__(25);
178
159
 
179
160
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
180
161
 
@@ -186,11 +167,11 @@ Object.defineProperty(exports, "__esModule", {
186
167
  exports.DATA_ATTRIBUTE = void 0;
187
168
  /* eslint-disable no-param-reassign */
188
169
 
189
- var React = __webpack_require__(2);
170
+ var React = __webpack_require__(1);
190
171
 
191
- var lodash_1 = __webpack_require__(20);
172
+ var lodash_1 = __webpack_require__(21);
192
173
 
193
- var styled_components_1 = __webpack_require__(12);
174
+ var styled_components_1 = __webpack_require__(7);
194
175
 
195
176
  exports.DATA_ATTRIBUTE = 'data-value';
196
177
  var StyledSvgChoropleth = styled_components_1.default.div.withConfig({
@@ -437,6 +418,14 @@ var SvgChoropleth = /*#__PURE__*/function (_React$Component) {
437
418
 
438
419
  exports.default = SvgChoropleth;
439
420
 
421
+ /***/ }),
422
+
423
+ /***/ 7:
424
+ /***/ (function(module, exports) {
425
+
426
+ module.exports = require("styled-components");
427
+
440
428
  /***/ })
441
- /******/ ]);
429
+
430
+ /******/ });
442
431
  //# sourceMappingURL=SvgChoropleth.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"styled-components\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/inherits\"","webpack:///external \"@babel/runtime/helpers/possibleConstructorReturn\"","webpack:///external \"@babel/runtime/helpers/getPrototypeOf\"","webpack:///./src/visualizations/SvgChoropleth/SvgChoropleth.tsx"],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFA,kC;;;;;;;;;;;;;;;ACAA,8C;;;;;;;;;ACAA,+D;;;;;;ACAA,kE;;;;;;;;ACAA,mC;;;;;;ACAA,4D;;;;;;ACAA,6E;;;;;;ACAA,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AAIa,yBAAiB,YAAjB;AAwBb,IAAM,mBAAmB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,oFAID,UAAC,KAAD;AAAA,SAAmB,KAAK,CAAC,eAAzB;AAAA,CAJC,CAAzB;;IAOqB,a;;;;;AAQjB,yBAAY,KAAZ,EAAqC;AAAA;;AAAA;;AACjC,8BAAM,KAAN;AARJ,yBAAgD,KAAK,CAAC,SAAN,EAAhD;AAKA,+BAAiC,IAAjC;;AA2BA,2BAAiB,UAAC,OAAD,EAAkB,OAAlB,EAA+D;AAC5E,UAAM,IAAI,GAAG,MAAK,YAAL,CAAkB,OAAlB,CAA0B,qBAA1B,EAAb;;AACA,UAAM,KAAK,GAAG,IAAI,CAAC,IAAnB;AACA,UAAM,KAAK,GAAG,IAAI,CAAC,GAAnB;AACA,aAAO;AAAE,SAAC,EAAE,OAAO,GAAG,KAAf;AAAsB,SAAC,EAAE,OAAO,GAAG;AAAnC,OAAP;AACH,KALD;;AAOA,2BAAiB,UAAC,KAAD,EAAoD;AAAA,UACzD,OADyD,GACpC,KADoC,CACzD,OADyD;AAAA,UAChD,OADgD,GACpC,KADoC,CAChD,OADgD;;AAEjE,UAAM,GAAG,GAAG,MAAK,cAAL,CAAoB,OAApB,EAA6B,OAA7B,CAAZ;;AAFiE,wBAG1B,MAAK,KAHqB;AAAA,UAGzD,iBAHyD,eAGzD,iBAHyD;AAAA,UAGtC,OAHsC,eAGtC,OAHsC;AAIjE,UAAM,aAAa,GAAc,iBAAiB,CAAC,cAAlB,CAAiC,aAAjC,CAA+C,GAA/C,CAAjC;AACA,UAAM,OAAO,GAAkB,KAAK,CAAC,MAArC;AACA,UAAM,YAAY,GAAe,OAAO,CAAC,EAAR,GAAa,OAAb,GAAwB,OAAO,CAAC,UAAjE;;AACA,UAAI,OAAJ,EAAa;AACT,eAAO,CAAC,aAAD,EAAgB,YAAY,CAAC,EAA7B,CAAP;AACH;AACJ,KAVD;;AAYA,+BAAqB,UAAC,EAAD,EAAyB;AAC1C,UAAM,OAAO,GAAkB,EAAE,CAAC,MAAlC;;AAEA,UAAI,CAAC,OAAO,CAAC,EAAT,IAAe,CAAC,OAAO,CAAC,eAA5B,EAA6C;AACzC;AACH;;AAED,UAAM,YAAY,GAAe,OAAO,CAAC,EAAR,GAAa,OAAb,GAAwB,OAAO,CAAC,UAAjE,CAP0C,CAQ1C;;AACA,UAAI,MAAK,kBAAL,IAA2B,YAAY,CAAC,EAAb,KAAoB,MAAK,kBAAL,CAAwB,EAA3E,EAA+E;AAC3E,cAAK,kBAAL;AACH;;AACD,YAAK,gBAAL,CAAsB,YAAtB;;AAEA,UAAI,MAAK,KAAL,CAAW,cAAf,EAA+B;AAC3B,cAAK,KAAL,CAAW,cAAX,CAA0B;AACtB,mBAAS,EAAE,YAAY,CAAC,EADF;AAEtB,eAAK,EAAE,YAAY,CAAC,YAAb,CAA0B,UAA1B,CAFe;AAGtB,eAAK,EAAE,YAAY,CAAC,YAAb,CAA0B,sBAA1B;AAHe,SAA1B;AAKH;AACJ,KArBD;;AAuBA,+BAAqB,UAAC,EAAD,EAAyB;AAC1C,UAAM,OAAO,GAAkB,EAAE,CAAC,MAAlC;;AAEA,UAAI,CAAC,OAAO,CAAC,EAAT,IAAe,CAAC,OAAO,CAAC,eAA5B,EAA6C;AACzC;AACH,OALyC,CAO1C;;;AACA,UAAM,YAAY,GAAe,OAAO,CAAC,EAAR,GAAa,OAAb,GAAwB,OAAO,CAAC,UAAjE,CAR0C,CAS1C;;AACA,UAAI,YAAY,KAAK,MAAK,kBAA1B,EAA8C;AAC1C;AACH;;AACD,YAAK,kBAAL,GAb0C,CAc1C;;;AAEA,UAAI,MAAK,KAAL,CAAW,cAAf,EAA+B;AAC3B,cAAK,KAAL,CAAW,cAAX,CAA0B;AAAE,mBAAS,EAAE,IAAb;AAAmB,eAAK,EAAE,IAA1B;AAAgC,eAAK,EAAE;AAAvC,SAA1B;AACH;AACJ,KAnBD;;AA0BA,wBAAc,UAAC,EAAD,EAA4B;AACtC,UAAI,CAAC,EAAL,EAAS;AAET,YAAK,MAAL,GAAc,EAAd;AAHsC,yBAKoB,MAAK,KALzB;AAAA,+CAK9B,QAL8B;AAAA,UAK9B,QAL8B,sCAKnB,UALmB;AAAA,UAKP,WALO,gBAKP,WALO;AAAA,UAKM,SALN,gBAKM,SALN;AAOtC,YAAK,MAAL,CAAY,WAAZ,GAA0B,MAAK,kBAA/B;AACA,YAAK,MAAL,CAAY,UAAZ,GAAyB,MAAK,kBAA9B;;AAEA,YAAK,MAAL,CAAY,gBAAZ,CAA6B,QAA7B,EAAuC,OAAvC,CAA+C,UAAC,IAAD,EAA4B;AACvE,YAAI,CAAC,KAAL,CAAW,MAAX,GAAoB,WAApB;AACA,YAAI,CAAC,KAAL,CAAW,IAAX,GAAkB,SAAlB;AACH,OAHD;;AAKA,YAAK,SAAL,CAAe,MAAK,KAApB;AACH,KAhBD;;AA7FqC,QAEzB,iBAFyB,GAEH,KAFG,CAEzB,iBAFyB;AAGjC,UAAK,KAAL,GAAa;AAAE,aAAO,EAAE,iBAAiB,CAAC,UAAlB,CAA6B,MAAK,WAAlC;AAAX,KAAb;AAHiC;AAIpC;;;;WAED,+BAAsB,SAAtB,EAA+D,SAA/D,EAA4F;AACxF,UAAM,YAAY,GACd,CAAC,iBAAQ,SAAS,CAAC,OAAlB,EAA2B,KAAK,KAAL,CAAW,OAAtC,CAAD,IAAmD,CAAC,iBAAQ,SAAR,EAAmB,KAAK,KAAxB,CADxD;AAEA,aAAO,YAAP;AACH;;;WAED,4BAAmB,SAAnB,EAA4B;AACxB,UAAI,KAAK,KAAL,KAAe,SAAnB,EAA8B;AAC1B,YAAI,SAAS,CAAC,iBAAV,KAAgC,KAAK,KAAL,CAAW,iBAA/C,EAAkE;AAC9D;AACA,eAAK,QAAL,CAAc;AACV,mBAAO,EAAE,KAAK,KAAL,CAAW,iBAAX,CAA6B,UAA7B,CAAwC,KAAK,WAA7C;AADC,WAAd;AAGH,SALD,MAKO;AACH,eAAK,SAAL,CAAe,KAAK,KAApB;AACH;AACJ;AACJ,K,CAiED;;;;WACQ,sBAAa,KAAb,EAA0B;AAC9B,aAAO,KAAK,KAAL,CAAW,iBAAX,CAA6B,YAA7B,CAA0C,KAA1C,CAAP;AACH;AAoBD;;;;;;;AAOG;;;;WACH,0BAAiB,EAAjB,EAA+B;AAC3B,UAAI,KAAK,kBAAT,EAA6B;AACzB,eADyB,CACjB;AACX;;AAED,UAAM,sBAAsB,GAAG,KAAK,MAAL,CAAY,aAAZ,YAA/B;AACA,UAAM,MAAM,GAAG,EAAE,CAAC,UAAlB;AACA,UAAM,KAAK,GAAe,EAAE,CAAC,SAAH,CAAa,IAAb,CAA1B;AACA,UAAM,WAAW,GAAG,KAAK,KAAL,CAAW,oBAAX,IAAmC,MAAvD;AACA,WAAK,CAAC,KAAN,CAAY,MAAZ,GAAqB,WAArB;AACA,WAAK,kBAAL,GAA0B,KAA1B;AAEA,YAAM,CAAC,YAAP,CAAoB,KAApB,EAA2B,sBAA3B;AACH;;;WAED,8BAAkB;AACd,UAAI,KAAK,kBAAT,EAA6B;AACzB,aAAK,MAAL,CAAY,WAAZ,CAAwB,KAAK,kBAA7B;AACH;;AACD,WAAK,kBAAL,GAA0B,IAA1B;AACH;;;WAED,mBAAU,KAAV,EAAmC;AAAA;;AAC/B,UAAI,CAAC,KAAK,MAAV,EAAkB;AACd;AACH;;AAH8B,4BAKoB,KALpB,CAKvB,QALuB;AAAA,UAKvB,QALuB,gCAKZ,UALY;AAAA,UAKA,SALA,GAKoB,KALpB,CAKA,SALA;AAAA,UAKW,IALX,GAKoB,KALpB,CAKW,IALX;;AAO/B,UAAI,CAAC,IAAL,EAAW;AACP;AACH;;AACD,UAAM,WAAW,GAAG,EAApB;AAEA,UAAI,CAAC,UAAL,CAAgB,OAAhB,CAAwB,UAAC,KAAD,EAAQ,KAAR,EAAuB;AAC3C,YAAM,SAAS,GAAG,MAAI,CAAC,YAAL,CAAkB,KAAlB,CAAlB;;AACA,mBAAW,CAAC,SAAD,CAAX,GAAyB;AAAE,cAAI,EAAE,IAAI,CAAC,IAAL,CAAU,KAAV,CAAR;AAA0B,eAAK,EAAE,IAAI,CAAC,MAAL,CAAY,KAAZ;AAAjC,SAAzB;AACH,OAHD;AAIA,WAAK,MAAL,CAAY,gBAAZ,CAA6B,QAA7B,EAAuC,OAAvC,CAA+C,UAAC,IAAD,EAA4B;AACvE,YAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,EAAN,CAA5B;AACA,YAAI,CAAC,KAAL,CAAW,IAAX,GAAkB,aAAI,QAAJ,EAAc,MAAd,KAAyB,SAA3C;AACA,YAAM,KAAK,GAAG,aAAI,QAAJ,EAAc,OAAd,CAAd;;AACA,YAAI,KAAJ,EAAW;AACP,cAAI,CAAC,YAAL,CAAkB,sBAAlB,EAAkC,KAAlC;AACH,SAFD,MAEO;AACH,cAAI,CAAC,eAAL,CAAqB,sBAArB;AACH;AACJ,OATD;AAUH;;;WAED,kBAAM;AAAA,kCAC0C,KAAK,KAD/C,CACM,eADN;AAAA,UACM,eADN,sCACwB,aADxB,0BAEF;;AACA,aACI,oBAAC,mBAAD,EAAoB;AAAA,qBACN,uBADM;AAEhB,uBAAe,EAAE,eAFD;AAGhB,mBAAW,EAAE,KAAK,cAHF;AAIhB,WAAG,EAAE,KAAK;AAJM,OAApB,EAMK,KAAK,KAAL,CAAW,OANhB,CADJ;AAUH;;;;EA9LsC,KAAK,CAAC,S;;AAAjD,gC","file":"SvgChoropleth.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 = 29);\n","module.exports = require(\"react\");","module.exports = require(\"styled-components\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/inherits\");","module.exports = require(\"@babel/runtime/helpers/possibleConstructorReturn\");","module.exports = require(\"@babel/runtime/helpers/getPrototypeOf\");","/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport { get, isEqual } from 'lodash';\nimport styled from 'styled-components';\nimport { ISvgFeatureCollection } from './src/utils/ISvgFeatureCollection';\nimport { DataPoint } from './src/utils/ICoordinateTransformation';\n\nexport const DATA_ATTRIBUTE = 'data-value';\n\nexport interface SvgChoroplethProps {\n featureCollection: ISvgFeatureCollection;\n data: { featureIDs: string[]; fill: string[]; values: any[] };\n fillColor: string;\n strokeColor: string;\n strokeHighlightColor?: string;\n backgroundColor?: string;\n selector: string;\n onFeatureHover: (params: { featureId: string; value: any; label?: string }) => void;\n onClick?: (sourceCoordinates: DataPoint, featureId: string) => void;\n}\n\nexport interface SvgChoroplethState {\n svgNode: React.ReactNode;\n}\n\nexport { GeoFeatureGroup } from './src/utils/GeoTypes';\n\ninterface StyledSvgChoroplethProps {\n readonly backgroundColor: string;\n}\n\nconst StyledSvgChoropleth = styled.div<StyledSvgChoroplethProps>`\n display: flex;\n flex-direction: column;\n position: relative;\n background-color: ${(props): string => props.backgroundColor};\n`;\n\nexport default class SvgChoropleth extends React.Component<SvgChoroplethProps, SvgChoroplethState> {\n containerRef: React.RefObject<HTMLDivElement> = React.createRef();\n\n // lastFeatureStroke: string;\n svgDom: SVGElement;\n\n highlightedCountry: SVGElement = null;\n\n constructor(props: SvgChoroplethProps) {\n super(props);\n const { featureCollection } = props;\n this.state = { svgNode: featureCollection.getSvgNode(this.registerSvg) };\n }\n\n shouldComponentUpdate(nextProps: Readonly<SvgChoroplethProps>, nextState: SvgChoroplethState): boolean {\n const shouldUpdate =\n !isEqual(nextState.svgNode, this.state.svgNode) || !isEqual(nextProps, this.props);\n return shouldUpdate;\n }\n\n componentDidUpdate(prevProps): void {\n if (this.props !== prevProps) {\n if (prevProps.featureCollection !== this.props.featureCollection) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n svgNode: this.props.featureCollection.getSvgNode(this.registerSvg),\n });\n } else {\n this.updateSvg(this.props);\n }\n }\n }\n\n getLocalCoords = (clientX: number, clientY: number): { x: number; y: number } => {\n const rect = this.containerRef.current.getBoundingClientRect();\n const physX = rect.left;\n const physY = rect.top;\n return { x: clientX - physX, y: clientY - physY };\n };\n\n handleMapClick = (event: React.MouseEvent<HTMLInputElement>): void => {\n const { clientX, clientY } = event;\n const pos = this.getLocalCoords(clientX, clientY);\n const { featureCollection, onClick } = this.props;\n const clickedCoords: DataPoint = featureCollection.transformation.transformBack(pos);\n const feature: SVGSVGElement = event.target as SVGSVGElement;\n const wholeFeature: SVGElement = feature.id ? feature : (feature.parentNode as SVGElement);\n if (onClick) {\n onClick(clickedCoords, wholeFeature.id);\n }\n };\n\n handleFeatureEnter = (ev: MouseEvent): void => {\n const feature: SVGSVGElement = ev.target as SVGSVGElement;\n\n if (!feature.id && !feature.ownerSVGElement) {\n return;\n }\n\n const wholeFeature: SVGElement = feature.id ? feature : (feature.parentNode as SVGElement);\n // remove the highlighted country IF we are entering a different country\n if (this.highlightedCountry && wholeFeature.id !== this.highlightedCountry.id) {\n this.unHighlightCountry();\n }\n this.highlightCountry(wholeFeature);\n\n if (this.props.onFeatureHover) {\n this.props.onFeatureHover({\n featureId: wholeFeature.id,\n label: wholeFeature.getAttribute('label_en'),\n value: wholeFeature.getAttribute(DATA_ATTRIBUTE),\n });\n }\n };\n\n handleFeatureLeave = (ev: MouseEvent): void => {\n const feature: SVGSVGElement = ev.target as SVGSVGElement;\n\n if (!feature.id && !feature.ownerSVGElement) {\n return;\n }\n\n // 'wholeFeature' means the SVG <g> (group) of multipolygon features\n const wholeFeature: SVGElement = feature.id ? feature : (feature.parentNode as SVGElement);\n // handling feature leaving should always only deal with the highlighted feature\n if (wholeFeature !== this.highlightedCountry) {\n return;\n }\n this.unHighlightCountry();\n // wholeFeature.style.stroke = this.lastFeatureStroke;\n\n if (this.props.onFeatureHover) {\n this.props.onFeatureHover({ featureId: null, value: null, label: null });\n }\n };\n\n // allows a provided alias like 'US-CA' to get mapped to 'California' which is the element id for the SVG shape\n private getFeatureId(alias: string): string {\n return this.props.featureCollection.resolveAlias(alias);\n }\n\n registerSvg = (el: SVGSVGElement): void => {\n if (!el) return;\n\n this.svgDom = el;\n\n const { selector = '.feature', strokeColor, fillColor } = this.props;\n\n this.svgDom.onmouseover = this.handleFeatureEnter;\n this.svgDom.onmouseout = this.handleFeatureLeave;\n\n this.svgDom.querySelectorAll(selector).forEach((node: HTMLElement): void => {\n node.style.stroke = strokeColor;\n node.style.fill = fillColor;\n });\n\n this.updateSvg(this.props);\n };\n\n /**\n * this method renders a copy of the polygon on top of all the others, with a highlighted boundary.\n * Technically we don't render in on top of ALL the others. There are three totally landlocked countries,\n * the first of which in our geojson file is Lesotho. These are also the last three countries in the geojson\n * file. So when we insert the highlight shape into the dom, we inert it *before* these three countries.\n * So the highlight for South Africa will not cover up Lesotho.\n * @param {SVGElement} el\n */\n highlightCountry(el: SVGElement): void {\n if (this.highlightedCountry) {\n return; // do not add more than one hovered element at a time\n }\n\n const firstLandlockedCountry = this.svgDom.querySelector(`#Lesotho`);\n const parent = el.parentNode;\n const clone: SVGElement = el.cloneNode(true) as SVGElement;\n const strokeColor = this.props.strokeHighlightColor || '#000';\n clone.style.stroke = strokeColor;\n this.highlightedCountry = clone;\n\n parent.insertBefore(clone, firstLandlockedCountry);\n }\n\n unHighlightCountry(): void {\n if (this.highlightedCountry) {\n this.svgDom.removeChild(this.highlightedCountry);\n }\n this.highlightedCountry = null;\n }\n\n updateSvg(props: SvgChoroplethProps): void {\n if (!this.svgDom) {\n return;\n }\n\n const { selector = '.feature', fillColor, data } = props;\n\n if (!data) {\n return;\n }\n const dataHashMap = {};\n\n data.featureIDs.forEach((alias, index): void => {\n const featureId = this.getFeatureId(alias);\n dataHashMap[featureId] = { fill: data.fill[index], value: data.values[index] };\n });\n this.svgDom.querySelectorAll(selector).forEach((node: HTMLElement): void => {\n const nodeData = dataHashMap[node.id];\n node.style.fill = get(nodeData, 'fill') || fillColor;\n const value = get(nodeData, 'value');\n if (value) {\n node.setAttribute(DATA_ATTRIBUTE, value);\n } else {\n node.removeAttribute(DATA_ATTRIBUTE);\n }\n });\n }\n\n render(): JSX.Element {\n const { backgroundColor = 'transparent' } = this.props;\n // note: for some reason, onclick event can't be triggered on dashboard. So change it to onMouseDown\n return (\n <StyledSvgChoropleth\n data-test=\"styled-svg-choropleth\"\n backgroundColor={backgroundColor}\n onMouseDown={this.handleMapClick}\n ref={this.containerRef}\n >\n {this.state.svgNode}\n </StyledSvgChoropleth>\n );\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/inherits\"","webpack:///external \"@babel/runtime/helpers/possibleConstructorReturn\"","webpack:///external \"@babel/runtime/helpers/getPrototypeOf\"","webpack:///./src/visualizations/SvgChoropleth/SvgChoropleth.tsx","webpack:///external \"styled-components\""],"names":[],"mappings":"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","file":"SvgChoropleth.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 = 36);\n","module.exports = require(\"react\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/inherits\");","module.exports = require(\"@babel/runtime/helpers/possibleConstructorReturn\");","module.exports = require(\"@babel/runtime/helpers/getPrototypeOf\");","/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport { get, isEqual } from 'lodash';\nimport styled from 'styled-components';\nimport { ISvgFeatureCollection } from './src/utils/ISvgFeatureCollection';\nimport { DataPoint } from './src/utils/ICoordinateTransformation';\n\nexport const DATA_ATTRIBUTE = 'data-value';\n\nexport interface SvgChoroplethProps {\n featureCollection: ISvgFeatureCollection;\n data: { featureIDs: string[]; fill: string[]; values: any[] };\n fillColor: string;\n strokeColor: string;\n strokeHighlightColor?: string;\n backgroundColor?: string;\n selector: string;\n onFeatureHover: (params: { featureId: string; value: any; label?: string }) => void;\n onClick?: (sourceCoordinates: DataPoint, featureId: string) => void;\n}\n\nexport interface SvgChoroplethState {\n svgNode: React.ReactNode;\n}\n\nexport { GeoFeatureGroup } from './src/utils/GeoTypes';\n\ninterface StyledSvgChoroplethProps {\n readonly backgroundColor: string;\n}\n\nconst StyledSvgChoropleth = styled.div<StyledSvgChoroplethProps>`\n display: flex;\n flex-direction: column;\n position: relative;\n background-color: ${(props): string => props.backgroundColor};\n`;\n\nexport default class SvgChoropleth extends React.Component<SvgChoroplethProps, SvgChoroplethState> {\n containerRef: React.RefObject<HTMLDivElement> = React.createRef();\n\n // lastFeatureStroke: string;\n svgDom: SVGElement;\n\n highlightedCountry: SVGElement = null;\n\n constructor(props: SvgChoroplethProps) {\n super(props);\n const { featureCollection } = props;\n this.state = { svgNode: featureCollection.getSvgNode(this.registerSvg) };\n }\n\n shouldComponentUpdate(nextProps: Readonly<SvgChoroplethProps>, nextState: SvgChoroplethState): boolean {\n const shouldUpdate =\n !isEqual(nextState.svgNode, this.state.svgNode) || !isEqual(nextProps, this.props);\n return shouldUpdate;\n }\n\n componentDidUpdate(prevProps): void {\n if (this.props !== prevProps) {\n if (prevProps.featureCollection !== this.props.featureCollection) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n svgNode: this.props.featureCollection.getSvgNode(this.registerSvg),\n });\n } else {\n this.updateSvg(this.props);\n }\n }\n }\n\n getLocalCoords = (clientX: number, clientY: number): { x: number; y: number } => {\n const rect = this.containerRef.current.getBoundingClientRect();\n const physX = rect.left;\n const physY = rect.top;\n return { x: clientX - physX, y: clientY - physY };\n };\n\n handleMapClick = (event: React.MouseEvent<HTMLInputElement>): void => {\n const { clientX, clientY } = event;\n const pos = this.getLocalCoords(clientX, clientY);\n const { featureCollection, onClick } = this.props;\n const clickedCoords: DataPoint = featureCollection.transformation.transformBack(pos);\n const feature: SVGSVGElement = event.target as SVGSVGElement;\n const wholeFeature: SVGElement = feature.id ? feature : (feature.parentNode as SVGElement);\n if (onClick) {\n onClick(clickedCoords, wholeFeature.id);\n }\n };\n\n handleFeatureEnter = (ev: MouseEvent): void => {\n const feature: SVGSVGElement = ev.target as SVGSVGElement;\n\n if (!feature.id && !feature.ownerSVGElement) {\n return;\n }\n\n const wholeFeature: SVGElement = feature.id ? feature : (feature.parentNode as SVGElement);\n // remove the highlighted country IF we are entering a different country\n if (this.highlightedCountry && wholeFeature.id !== this.highlightedCountry.id) {\n this.unHighlightCountry();\n }\n this.highlightCountry(wholeFeature);\n\n if (this.props.onFeatureHover) {\n this.props.onFeatureHover({\n featureId: wholeFeature.id,\n label: wholeFeature.getAttribute('label_en'),\n value: wholeFeature.getAttribute(DATA_ATTRIBUTE),\n });\n }\n };\n\n handleFeatureLeave = (ev: MouseEvent): void => {\n const feature: SVGSVGElement = ev.target as SVGSVGElement;\n\n if (!feature.id && !feature.ownerSVGElement) {\n return;\n }\n\n // 'wholeFeature' means the SVG <g> (group) of multipolygon features\n const wholeFeature: SVGElement = feature.id ? feature : (feature.parentNode as SVGElement);\n // handling feature leaving should always only deal with the highlighted feature\n if (wholeFeature !== this.highlightedCountry) {\n return;\n }\n this.unHighlightCountry();\n // wholeFeature.style.stroke = this.lastFeatureStroke;\n\n if (this.props.onFeatureHover) {\n this.props.onFeatureHover({ featureId: null, value: null, label: null });\n }\n };\n\n // allows a provided alias like 'US-CA' to get mapped to 'California' which is the element id for the SVG shape\n private getFeatureId(alias: string): string {\n return this.props.featureCollection.resolveAlias(alias);\n }\n\n registerSvg = (el: SVGSVGElement): void => {\n if (!el) return;\n\n this.svgDom = el;\n\n const { selector = '.feature', strokeColor, fillColor } = this.props;\n\n this.svgDom.onmouseover = this.handleFeatureEnter;\n this.svgDom.onmouseout = this.handleFeatureLeave;\n\n this.svgDom.querySelectorAll(selector).forEach((node: HTMLElement): void => {\n node.style.stroke = strokeColor;\n node.style.fill = fillColor;\n });\n\n this.updateSvg(this.props);\n };\n\n /**\n * this method renders a copy of the polygon on top of all the others, with a highlighted boundary.\n * Technically we don't render in on top of ALL the others. There are three totally landlocked countries,\n * the first of which in our geojson file is Lesotho. These are also the last three countries in the geojson\n * file. So when we insert the highlight shape into the dom, we inert it *before* these three countries.\n * So the highlight for South Africa will not cover up Lesotho.\n * @param {SVGElement} el\n */\n highlightCountry(el: SVGElement): void {\n if (this.highlightedCountry) {\n return; // do not add more than one hovered element at a time\n }\n\n const firstLandlockedCountry = this.svgDom.querySelector(`#Lesotho`);\n const parent = el.parentNode;\n const clone: SVGElement = el.cloneNode(true) as SVGElement;\n const strokeColor = this.props.strokeHighlightColor || '#000';\n clone.style.stroke = strokeColor;\n this.highlightedCountry = clone;\n\n parent.insertBefore(clone, firstLandlockedCountry);\n }\n\n unHighlightCountry(): void {\n if (this.highlightedCountry) {\n this.svgDom.removeChild(this.highlightedCountry);\n }\n this.highlightedCountry = null;\n }\n\n updateSvg(props: SvgChoroplethProps): void {\n if (!this.svgDom) {\n return;\n }\n\n const { selector = '.feature', fillColor, data } = props;\n\n if (!data) {\n return;\n }\n const dataHashMap = {};\n\n data.featureIDs.forEach((alias, index): void => {\n const featureId = this.getFeatureId(alias);\n dataHashMap[featureId] = { fill: data.fill[index], value: data.values[index] };\n });\n this.svgDom.querySelectorAll(selector).forEach((node: HTMLElement): void => {\n const nodeData = dataHashMap[node.id];\n node.style.fill = get(nodeData, 'fill') || fillColor;\n const value = get(nodeData, 'value');\n if (value) {\n node.setAttribute(DATA_ATTRIBUTE, value);\n } else {\n node.removeAttribute(DATA_ATTRIBUTE);\n }\n });\n }\n\n render(): JSX.Element {\n const { backgroundColor = 'transparent' } = this.props;\n // note: for some reason, onclick event can't be triggered on dashboard. So change it to onMouseDown\n return (\n <StyledSvgChoropleth\n data-test=\"styled-svg-choropleth\"\n backgroundColor={backgroundColor}\n onMouseDown={this.handleMapClick}\n ref={this.containerRef}\n >\n {this.state.svgNode}\n </StyledSvgChoropleth>\n );\n }\n}\n","module.exports = require(\"styled-components\");"],"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 = 63);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 69);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -99,14 +99,28 @@ module.exports = require("prop-types");
99
99
 
100
100
  /***/ }),
101
101
 
102
- /***/ 2:
102
+ /***/ 1:
103
103
  /***/ (function(module, exports) {
104
104
 
105
105
  module.exports = require("react");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 63:
109
+ /***/ 32:
110
+ /***/ (function(module, exports) {
111
+
112
+ module.exports = require("@splunk/ui-utils/i18n");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 33:
117
+ /***/ (function(module, exports) {
118
+
119
+ module.exports = require("@splunk/visualizations-shared/Message");
120
+
121
+ /***/ }),
122
+
123
+ /***/ 69:
110
124
  /***/ (function(module, exports, __webpack_require__) {
111
125
 
112
126
  "use strict";
@@ -117,15 +131,15 @@ Object.defineProperty(exports, "__esModule", {
117
131
  });
118
132
  exports.SvgChoroplethDynamic = void 0;
119
133
 
120
- var React = __webpack_require__(2);
134
+ var React = __webpack_require__(1);
121
135
 
122
136
  var T = __webpack_require__(0);
123
137
 
124
- var ChoroplethSvg_1 = __webpack_require__(64);
138
+ var ChoroplethSvg_1 = __webpack_require__(70);
125
139
 
126
- var Message_1 = __webpack_require__(65);
140
+ var Message_1 = __webpack_require__(33);
127
141
 
128
- var i18n_1 = __webpack_require__(66);
142
+ var i18n_1 = __webpack_require__(32);
129
143
 
130
144
  var SvgChoroplethDynamic = function SvgChoroplethDynamic(props) {
131
145
  var width = props.width,
@@ -158,25 +172,11 @@ exports.default = exports.SvgChoroplethDynamic;
158
172
 
159
173
  /***/ }),
160
174
 
161
- /***/ 64:
175
+ /***/ 70:
162
176
  /***/ (function(module, exports) {
163
177
 
164
178
  module.exports = require("@splunk/visualizations/ChoroplethSvg");
165
179
 
166
- /***/ }),
167
-
168
- /***/ 65:
169
- /***/ (function(module, exports) {
170
-
171
- module.exports = require("@splunk/visualizations-shared/Message");
172
-
173
- /***/ }),
174
-
175
- /***/ 66:
176
- /***/ (function(module, exports) {
177
-
178
- module.exports = require("@splunk/ui-utils/i18n");
179
-
180
180
  /***/ })
181
181
 
182
182
  /******/ });
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///./src/visualizations/SvgChoroplethDynamic/SvgChoroplethDynamic.tsx","webpack:///external \"@splunk/visualizations/ChoroplethSvg\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/ui-utils/i18n\""],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,uC;;;;;;;ACAA,kC;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AAEO,IAAM,oBAAoB,GAAG,SAAvB,oBAAuB,MAAK,EAAG;AAAA,MAChC,KADgC,GACT,KADS,CAChC,KADgC;AAAA,MACzB,MADyB,GACT,KADS,CACzB,MADyB;AAAA,MACjB,GADiB,GACT,KADS,CACjB,GADiB;;AAExC,MAAI,CAAC,GAAL,EAAU;AACN,WACI,oBAAC,iBAAD,EAAQ;AAAA,mBACM,wBADN;AAEJ,WAAK,EAAE,KAFH;AAGJ,YAAM,EAAE,MAHJ;AAIJ,aAAO,EAAE,SAAE,4BAAF;AAJL,KAAR,CADJ;AAQH;;AACD,SAAO,oBAAC,wCAAD,EAAyB,kBAAK,KAAL,CAAzB,CAAP;AACH,CAbM;;AAAM,+BAAoB,oBAApB;AAcb,6BAAqB,SAArB,GAAiC;AAC7B,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CADsB;AAE7B,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAFqB;AAG7B,KAAG,EAAE,CAAC,CAAC;AAHsB,CAAjC;AAMA,6BAAqB,YAArB,GAAoC;AAChC,OAAK,EAAE,MADyB;AAEhC,QAAM,EAAE;AAFwB,CAApC;AAKA,kBAAe,4BAAf,C;;;;;;;AC/BA,iE;;;;;;;ACAA,kE;;;;;;;ACAA,kD","file":"SvgChoroplethDynamic.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 = 63);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { PureSvgChoroplethDynamic } from '@splunk/visualizations/ChoroplethSvg';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const SvgChoroplethDynamic = props => {\n const { width, height, svg } = props;\n if (!svg) {\n return (\n <Message\n data-test=\"choropleth-svg-message\"\n width={width}\n height={height}\n message={_('No literal SVG is provided')}\n />\n );\n }\n return <PureSvgChoroplethDynamic {...props} />;\n};\nSvgChoroplethDynamic.propTypes = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n svg: T.string,\n};\n\nSvgChoroplethDynamic.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default SvgChoroplethDynamic;\n","module.exports = require(\"@splunk/visualizations/ChoroplethSvg\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/ui-utils/i18n\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///./src/visualizations/SvgChoroplethDynamic/SvgChoroplethDynamic.tsx","webpack:///external \"@splunk/visualizations/ChoroplethSvg\""],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,uC;;;;;;;ACAA,kC;;;;;;;ACAA,kD;;;;;;;ACAA,kE;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AAEO,IAAM,oBAAoB,GAAG,SAAvB,oBAAuB,MAAK,EAAG;AAAA,MAChC,KADgC,GACT,KADS,CAChC,KADgC;AAAA,MACzB,MADyB,GACT,KADS,CACzB,MADyB;AAAA,MACjB,GADiB,GACT,KADS,CACjB,GADiB;;AAExC,MAAI,CAAC,GAAL,EAAU;AACN,WACI,oBAAC,iBAAD,EAAQ;AAAA,mBACM,wBADN;AAEJ,WAAK,EAAE,KAFH;AAGJ,YAAM,EAAE,MAHJ;AAIJ,aAAO,EAAE,SAAE,4BAAF;AAJL,KAAR,CADJ;AAQH;;AACD,SAAO,oBAAC,wCAAD,EAAyB,kBAAK,KAAL,CAAzB,CAAP;AACH,CAbM;;AAAM,+BAAoB,oBAApB;AAcb,6BAAqB,SAArB,GAAiC;AAC7B,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CADsB;AAE7B,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAFqB;AAG7B,KAAG,EAAE,CAAC,CAAC;AAHsB,CAAjC;AAMA,6BAAqB,YAArB,GAAoC;AAChC,OAAK,EAAE,MADyB;AAEhC,QAAM,EAAE;AAFwB,CAApC;AAKA,kBAAe,4BAAf,C;;;;;;;AC/BA,iE","file":"SvgChoroplethDynamic.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 = 69);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { PureSvgChoroplethDynamic } from '@splunk/visualizations/ChoroplethSvg';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const SvgChoroplethDynamic = props => {\n const { width, height, svg } = props;\n if (!svg) {\n return (\n <Message\n data-test=\"choropleth-svg-message\"\n width={width}\n height={height}\n message={_('No literal SVG is provided')}\n />\n );\n }\n return <PureSvgChoroplethDynamic {...props} />;\n};\nSvgChoroplethDynamic.propTypes = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n svg: T.string,\n};\n\nSvgChoroplethDynamic.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default SvgChoroplethDynamic;\n","module.exports = require(\"@splunk/visualizations/ChoroplethSvg\");"],"sourceRoot":""}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@splunk/react-visualizations",
3
3
  "license": "SEE LICENSE IN LICENSE.md",
4
4
  "author": "Splunk",
5
- "version": "24.1.0",
5
+ "version": "24.3.1",
6
6
  "scripts": {
7
7
  "build": "NODE_ENV=production webpack --config ./webpack.config.js --bail",
8
8
  "build-storybook": "build-storybook -c .storybook -s fonts -o .storybook-bundle",
@@ -30,13 +30,13 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@babel/runtime": "^7.13.0",
33
- "@splunk/charting-bundle": "^24.1.0",
33
+ "@splunk/charting-bundle": "^24.3.1",
34
34
  "@splunk/moment": "^0.6.0",
35
35
  "@splunk/ui-utils": "^1.2.1",
36
- "@splunk/visualization-color-palettes": "^24.1.0",
37
- "@splunk/visualization-themes": "^24.1.0",
38
- "@splunk/visualizations": "^24.1.0",
39
- "@splunk/visualizations-shared": "^24.1.0",
36
+ "@splunk/visualization-color-palettes": "^24.3.1",
37
+ "@splunk/visualization-themes": "^24.3.1",
38
+ "@splunk/visualizations": "^24.3.1",
39
+ "@splunk/visualizations-shared": "^24.3.1",
40
40
  "@turf/bbox-clip": "^6.0.3",
41
41
  "@turf/helpers": "^6.1.4",
42
42
  "chroma-js": "^2.0.0",
@@ -50,7 +50,7 @@
50
50
  "@splunk/visualization-context": ">=24.0.0",
51
51
  "react": "^16.11.0",
52
52
  "react-dom": "^16.11.0",
53
- "styled-components": "^5.1"
53
+ "styled-components": "5.1.1"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@babel/cli": "^7.13.0",
@@ -59,9 +59,9 @@
59
59
  "@splunk/docs-gen": "^0.11.1",
60
60
  "@splunk/jsdoc-loader": "^3.0.0",
61
61
  "@splunk/react-docs": "^0.11.0",
62
- "@splunk/react-ui": "^4.4.1",
62
+ "@splunk/react-ui": "4.5.1",
63
63
  "@splunk/themes": "^0.8.0",
64
- "@splunk/visualization-build-tools": "^24.1.0",
64
+ "@splunk/visualization-build-tools": "^24.3.1",
65
65
  "@splunk/webpack-configs": "^4.0.0",
66
66
  "@storybook/addon-actions": "^6.1.20",
67
67
  "@storybook/addons": "^6.1.20",
@@ -81,7 +81,7 @@
81
81
  "react": "^16.13.1",
82
82
  "react-dom": "^16.13.1",
83
83
  "react-test-renderer": "16.11.0",
84
- "styled-components": "^5.2.1",
84
+ "styled-components": "5.1.1",
85
85
  "text-encoding": "^0.7.0",
86
86
  "ts-jest": "^26.0.0",
87
87
  "typescript": "^4.1.2",