@splunk/visualizations 25.9.0 → 25.9.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 (66) hide show
  1. package/Area.js +2 -2
  2. package/Bar.config.js +1 -1
  3. package/Bar.config.js.map +1 -1
  4. package/Bar.js +3 -3
  5. package/Bar.js.map +1 -1
  6. package/Bubble.js +2 -2
  7. package/ChoroplethSvg.js +2 -2
  8. package/Column.config.js +1 -1
  9. package/Column.config.js.map +1 -1
  10. package/Column.js +3 -3
  11. package/Column.js.map +1 -1
  12. package/Ellipse.js +2 -2
  13. package/Events.js +2 -2
  14. package/FillerGauge.config.js +1 -1
  15. package/FillerGauge.config.js.map +1 -1
  16. package/FillerGauge.js +3 -3
  17. package/FillerGauge.js.map +1 -1
  18. package/Image.js +2 -2
  19. package/Line.config.js +1 -1
  20. package/Line.config.js.map +1 -1
  21. package/Line.js +3 -3
  22. package/Line.js.map +1 -1
  23. package/LinkGraph.js +2095 -2469
  24. package/LinkGraph.js.map +1 -1
  25. package/Map.js +96 -89
  26. package/Map.js.map +1 -1
  27. package/Markdown.js +21 -21
  28. package/Markdown.js.map +1 -1
  29. package/MarkerGauge.config.js +1 -1
  30. package/MarkerGauge.config.js.map +1 -1
  31. package/MarkerGauge.js +11 -11
  32. package/MarkerGauge.js.map +1 -1
  33. package/ParallelCoordinates.js +31 -31
  34. package/ParallelCoordinates.js.map +1 -1
  35. package/Pie.config.js +1 -1
  36. package/Pie.config.js.map +1 -1
  37. package/Pie.js +11 -11
  38. package/Pie.js.map +1 -1
  39. package/Punchcard.js +125 -125
  40. package/Punchcard.js.map +1 -1
  41. package/Rectangle.js +43 -43
  42. package/Rectangle.js.map +1 -1
  43. package/Sankey.js +16 -16
  44. package/Sankey.js.map +1 -1
  45. package/Scatter.js +53 -53
  46. package/Scatter.js.map +1 -1
  47. package/SingleValue.config.js +1 -1
  48. package/SingleValue.config.js.map +1 -1
  49. package/SingleValue.js +18 -16
  50. package/SingleValue.js.map +1 -1
  51. package/SingleValueBasic.js +4 -4
  52. package/SingleValueBasic.js.map +1 -1
  53. package/SingleValueIcon.config.js +1 -1
  54. package/SingleValueIcon.config.js.map +1 -1
  55. package/SingleValueIcon.js +59 -59
  56. package/SingleValueIcon.js.map +1 -1
  57. package/SingleValueRadial.config.js +1 -1
  58. package/SingleValueRadial.config.js.map +1 -1
  59. package/SingleValueRadial.js +58 -58
  60. package/SingleValueRadial.js.map +1 -1
  61. package/Table.js +35 -31
  62. package/Table.js.map +1 -1
  63. package/common/OverviewDoc.js +5 -5
  64. package/common/OverviewDoc.js.map +1 -1
  65. package/common/withDashboardViz.js +2 -2
  66. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/themes/variables\"","webpack:///./src/common/editorConfig/StaticTrendColorEditor.js","webpack:///./src/common/editorConfig/TrellisEditors.ts","webpack:///./src/common/hocs/withTrellis.tsx","webpack:///./src/common/utils/trellisUtils.ts","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualization-context/FeatureFlagContext\"","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/themes/pick\"","webpack:///./src/common/utils/singleValueUtils.js","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///external \"@splunk/ui-utils/id\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/async-dynamic-options-evaluator\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///./src/SingleValueRadial/SingleValueRadial.tsx","webpack:///./src/SingleValueRadial/config.ts","webpack:///./src/common/editorConfig/RadialBackgroundColor.ts","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///./src/SingleValueRadial/PureSingleValueRadial/RadialGraph.jsx","webpack:///./src/SingleValueRadial/PureSingleValueRadial/utils/displayUtils.js","webpack:///./src/SingleValueRadial/PureSingleValueRadial/RadialLayout.jsx","webpack:///./src/SingleValueRadial/PureSingleValueRadial/SingleValueRadial.jsx","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///external \"@splunk/visualizations-shared/domUtils\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///./src/common/utils/layoutUtils.ts","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/components/VizStyleWrapper.jsx","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/common/components/TrellisTitle.tsx","webpack:///./src/SingleValueBasic/TrendValue.jsx","webpack:///./src/SingleValueBasic/MajorValue.jsx","webpack:///./src/SingleValueBasic/SingleValueBasic.jsx","webpack:///external \"@splunk/visualizations-shared/trellisUtils\"","webpack:///external \"lodash/pick\"","webpack:///external \"lodash/isEmpty\"","webpack:///external \"@splunk/react-icons/ArrowUp\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/react-icons/ArrowDown\"","webpack:///external \"cssesc\"","webpack:///./src/common/editorConfig/StaticBackgroundColorEditor.js","webpack:///external \"@splunk/react-ui/Paginator\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///./src/common/editorConfig/DynamicMajorColorEditor.js","webpack:///./src/common/editorConfig/DynamicTrendColorEditor.js","webpack:///./src/common/editorConfig/DynamicBackgroundColorEditor.js","webpack:///./src/common/editorConfig/StaticMajorAndTrendLayout.js","webpack:///./src/common/editorConfig/StaticMajorColorEditor.js"],"names":["StaticTrendColorEditor","label","_","option","editor","showEditor","_ref","options","isDynamicOption","trendColor","isDisabled","_ref2","trendDisplay","React","require","i18n_1","FeatureFlagContext_1","layoutUtils_1","exports","TrellisEditorConfig","featureFlagContext","useContext","default","isTrellisFeatureFlagOn","Boolean","visualizations_enableTrellis","editorProps","dataSourceKey","splitByLayout","LAYOUT_TYPE","Trellis","min","placeholder","_ref3","_ref4","_ref5","TrellisBackgroundColorEditor","_ref6","react_1","lodash_1","styled_components_1","Paginator_1","themes_1","useSplunkTheme_1","SizeAwareWrapper_1","style_1","Message_1","trellisUtils_1","hocUtils_1","JSONSchemaUtils_1","Options_1","trellisUtils_2","TrellisContainer","div","withConfig","displayName","componentId","props","backgroundColor","toDimension","pick","TrellisContainerGrid","concat","height","colCount","colMinWidth","rowHeight","showErrorMessage","errorCode","width","createElement","message","level","withTrellis","Viz","VizWithTrellis","opts","_opts$options","otherProps","__rest","defaultOptions","pickFieldFromJSONSchema","config","optionsSchema","mergedOptions","deepMergeWithArrayPrimitiveOverrides","trellisColumns","trellisPageCount","trellisMinColumnWidth","trellisRowHeight","trellisSplitBy","pageCount","_react_1$useState","useState","_react_1$useState2","_slicedToArray","pageNum","setPageNum","_react_1$useState3","_react_1$useState4","pagedData","setPagedData","splitByKeys","totalPages","showPaginator","dataSources","theme","splunkThemeV1","_themes_1$getSettings","getSettingsFromThemedProps","currentThemeFamily","family","currentThemeColorScheme","colorScheme","currentThemeDensity","density","trellisBackgroundColor","useMemo","themeFunc","themeVar","_b","_a","themes","call","evaluated","Options","evaluate","context","columns","get","undefined","fields","noColumns","noFields","updateDataDisplay","currPage","startIdx","paged","slice","useEffect","handlePageChange","useCallback","event","page","Object","assign","currTrellisSplitBy","length","splitByPossibleFields","getAllPossibleSplitByFields","AGGREGATIONS","splitMode","getTrellisDataSplitterMode","dataSplitResult","getTrellisDataSourcesBySplitMode","modifiedDataSourceBySplitBy","splitDataSources","dataSplitErrorCode","keys","splitByKeysModified","Math","ceil","map","splitByKey","idx","className","key","toString","childWidth","_ref2$childHeight","childHeight","trellisKey","onChange","current","alwaysShowLastPageLink","propTypes","proptypes","defaultProps","dataSourcesSplitByAggregationsUnknown","dataSource","primary","data","_d","_c","i","fieldName","name","startsWith","cloneDeep","omit","dataSourcesSplitByAggregationsTimechartAndChart","splitByFields","extractDataSourceAggregationKeysChart","forEach","splitByField","field","data_source","push","dataSourcesSplitByAggregationsStats","extractDataSourceAggregationKeysStats","findIndex","dataSourcesSplitByModeTimechart","splitBy","extractSplitByFieldsChartFields","indexOf","dataSourceKeys","valueKeys","_e","splitby_value","val","_toConsumableArray","k","dsKey","dataSourcesSplitByModeChart","splitByFieldIdx","f","otherSplitBy","filter","nonDataSourceAggregations","groupby_rank","columnValues","_loop","dskey","dsIndx","mul","aggregationField","fieldIdx","dataSourcesSplitByModeStatsorUnknown","UNKNOWN","extractSplitByFieldsForStats","extractSplitByFieldsForUnknown","splitByIndex","splitByColumn","_f","cloneFields","splice","valIndices","col","newCol","valIdx","result","TIMECHART","STATS","CHART","ex","console","error","colorUtils_1","Item","attrs","style","toPx","isColor","defaultBackgroundColor","FixSizeItem","ItemContent","FixSizeItemContent","withFixedSizeContainer","FixedSizeContainer","__VISION_VERSION__","newWidth","newHeight","extendStaticWrapperProps","Wrapper","Visualization","extendProperties","prop","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","enhancedOptionsSchema","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","annotations","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","VizBehavior","DYNAMIC_OPTIONS","editorConfig","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","trim","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","generatePrecisionValues","numPrecisionValues","range","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","DEFAULT_FONT","DEFAULT_FONT_FAMILY","SVR_PADDING","top","bottom","left","right","shouldShowTrend","isLoadingOrNoColumns","loading","getFormattedColor","color","defaultColor","formatColor","hasBackground","isIdenticalColor","colorA","colorB","toLowerCase","getDefaultColorWithBg","defaultFontColor","defaultBlockFontColor","getMajorColor","majorColor","getTrendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","isNaN","isInvalidTrend","parseFloat","DELTA_GREEN","DELTA_RED","computeColors","backgroundEnabled","underLabelColor","computeText","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","isNumerial","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","getTrendText","compute","showPercent","diff","abs","round","isFinite","computeFontSize","_ref7","fontFamily","fontWeight","widthInDefaultFont","computeTextSize","fontSize","parseInt","getMajorFontSize","_ref8","unit","majorText","_ref8$spaceRatio","spaceRatio","majorTextCalc","getTrendFontSize","_ref9","trendText","_ref9$spaceRatio","trendFontSize","getUnderLabelHeight","getUnderLabel","_ref10","underLabel","getMajorAndTrend","_ref11","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","_ref12","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","_objectSpread","truncateValue","updatedProps","computeSingleValueContent","_ref13","contentWidth","contentHeight","containerWidth","containerHeight","_getMajorAndTrend","majorValueTitle","smallVizProps","_updateVizInSmallSpac","minimallyTruncateStringToWidth","_ref14","_ref14$fontSize","_ref14$fontFamily","_ref14$fontWeight","textWidth","modifiedText","ellipsesLength","substring","computeSingleValueRadialContent","_ref15","smallViz","_getMajorAndTrend2","_getMajorAndTrend3","getGraphColors","_ref16","customColorFormatter","none","adjustRGB","rgb","delta","changeColor","ratio","hex","replace","r","substr","g","b","newR","max","floor","newG","newB","padStart","lighten","darken","handleValueClickCallback","ev","majorValueField","onValueClick","trellisEnabled","trellisSplityBy","payload","T","FixedSizeContainer_1","shouldShowIconPlaceholder","noData","icon","func","oneOfType","string","number","iconColor","IconPlaceholder","opacity","position","transform","DataSource_1","SortParamsPropTypes","shape","currentSortKey","currentSortDir","oneOf","validSortDirs","onSort","getSortingParams","requestParams","onRequestParamsChange","nextSortDirMap","asc","desc","has","sort","shift","e","sortKey","sortDir","nextSortDir","offset","PaginatorParamsPropTypes","isPaging","bool","getPaginationParams","meta","totalCount","count","onChangeHandler","countArg","newParams","noop","VizCategory","getSettingsFromThemedProps_1","SanitizeProps_1","TimezoneContext_1","moment_1","async_dynamic_options_evaluator_1","id_1","SplunkVisualization_1","getSorting_1","getPagination_1","useDeepMemo_1","MissingPropsMessage_1","withEditModeCover_1","withPlaceholder_1","withDashboardViz","ReactViz","_opts$computeVizProps","computeVizProps","disableEditModeCover","useIconPlaceholder","SanitizedReactViz","withSanitizedProps","DashboardViz","mode","hasEventHandlers","_props$context","onComputedProps","onEventTrigger","_React$useContext","serializedTimezone","getDefaultSplunkTimezone","setDefaultSplunkTimezone","bgColorFromTheme","_getSettingsFromTheme","evaluatedOptions","_React$useState","_React$useState2","evaluatedOptionsAsync","setEvaluatedOptionsAsync","_React$useState3","createGUID","_React$useState4","visualizationID","_React$useState5","_React$useState6","dataSourcesInState","setDataSourcesInState","_React$useState7","_React$useState8","dataFramesInState","setDataFramesInState","_React$useState9","visualizations_useWebWorkersForDSL","Worker","_React$useState10","useAsyncEvaluatedOptions","setUseAsyncEvaluatedOptions","useDeepMemo","optionsToEvaluate","defaultsDeep","defaultContext","asyncDynamicOptionsEvaluatorParams","then","results","catch","dataFrames","dataFrameFromDataSource","evaluatedOptionsToUse","clonedEvaluatedOptions","includes","TRELLIS","reset","_vizConfig$requiredPr","requiredProps","missing","missingKeys","PLACEHOLDER","missingProps","eventCallbackProps","EVENTS","supportedEvents","events","eventName","eventCallbackPropName","camelCase","payloadKeys","isArray","p","originalEvent","computedVizProps","dataSourceMetadata","OptionKey","paginateDataSourceKey","PAGE_AND_SORT","handleRequestParamsChange","sortParams","paginatorParams","withTheme","VizActionHandler_1","INITIAL_WIDTH","INITIAL_HEIGHT","SplunkVisualization","_classCallCheck","isRequired","object","onOptionsChange","objectOf","array","vizActionHandlerRef","DefaultVizActionHandler","_createClass","focus","snapshot","fn","dependencies","ref","useRef","isEqual","isMissing","v","target","arrayOf","MissingPropsMessage","join","Cover","Blocker","withEditModeCover","showEditCover","variables_1","IconPlaceholder_1","withPlaceholder","showPlaceholder","placeholderIcon","contentColorActive","SingleValueRadial_1","withDashboardViz_1","config_1","withTrellis_1","PureSingleValueRadial","PureSingleValueRadialThemes","viz","pick_1","PresetPalettes_1","visualization_icons_1","placeholders_1","StaticMajorAndTrendLayout_1","configUtils_1","VizCategory_1","DynamicMajorColorEditor_1","DynamicTrendColorEditor_1","DynamicBackgroundColorEditor_1","StaticMajorColorEditor_1","StaticTrendColorEditor_1","StaticBackgroundColorEditor_1","RadialBackgroundColor_1","TrellisEditors_1","dataContract","requiredDataSources","optionalDataSources","initialRequestParams","size","initialWidth","initialHeight","trendColorConfig","to","from","majorColorConfig","majorColorMatchConfig","match","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","maxValue","maximum","minimum","radialBackgroundColor","radialStrokeColor","getPattern","Off","enum","unitPosition","basePresetContext","majorColorEditorConfig","trendColorEditorConfig","backgroundColorEditorConfig","basePresetOptions","enterprise","dark","white","light","black","prisma","backgroundColorSidebar","defaultRadialBackgroundColor","interactiveColorBackgroundDisabled","prepareValue","definition","baseSPL","values","showValue","initialPreset","getDynamicMajorColorEditor","defaultPalettesConfig","getDynamicTrendColorEditor","getDynamicBackgroundColorEditor","category","SINGLE_VALUE","SingleValueRadial","radialBackground","labelPosition","RadialGraph","progress","strokeWidth","_ref$backgroundColor","RADIAL_BACKGROUND_COLOR","_ref$progressColor","progressColor","RADIAL_STROKE_COLOR","_ref$width","_ref$height","semicircleRadius","circumference","PI","bgCircleOffset","progress50","progressWidth","strokeDashoffset","stroke","fill","strokeDasharray","cx","cy","VALID_TREND_POSITIONS","MAJOR_FONT_THRESHOLD","TREND_FONT_THRESHOLD","DEFAULT_RADIAL_STROKE_WIDTH","SMALL_RADIAL_STROKE_WIDTH","getRadialColors","RADIAL_SEVERITY_COLORS","background","getRadialGraphDimensions","radius","getRadialHelperDimensions","_ref3$strokeWidth","innerArcRadius","halfContentWidth","sqrt","pow","helperArcRadius","getValueContentSize","graphSize","radialStrokeWidth","diameter","getRadialStrokeWidth","graphHeight","isValidPosition","showTrendPositionStandard","showTrendIndicator","showTrendPositionBelow","showTrendPositionOutside","getRadialProgress","TextContainer","styled","align","lineHeight","marginLeft","margin","GraphContainer","UnderLabelContainer","underLabelHeight","UnderLabelText","span","strokeColor","maxWidth","RadialContent","_extends","showRadialGraph","graphWidth","underLabelStrokeColor","_getRadialHelperDimen","fillVacantSpace","underLabelWidth","basicSingleValues","SingleValueBasic","radialGraph","underLabelComponent","trendPosition","Container","_props$height","_props$trellisKey","_props$trellisSplitBy","pickFromTheme","variables","textColor","gray20","_computeColors","radialColors","FeatureFlagContext","handleValueClick","renderVisualization","_getRadialGraphDimens","_computeSingleValueRa","isEmpty","VizStyleWrapper","dataTestKey","RadialLayout","Fragment","TrellisTitle","fontColor","TRELLIS_TITLE_HEIGHT","SizeAwareWrapper","containerDimension","trendIndicatorPosition","TrellisTitleText","TrellisTitleDiv","titleText","String","Column","justify","Text","SingleValueContent","TrendIndicator","ArrowUp","ArrowDown","Row","showUnderline","pseudoContent","pseudoContentPosition","pseudoContentFontSize","validUnitPositions","sanitizedUnit","sanitizedUnitPosition","cssesc","wrap","quotes","handleKeyDown","keyCode","preventDefault","onClick","tabIndex","role","onKeyDown","underLabelFontSize","trendIndicatorEnabled","MajorValue","TrendValue","SingleValueTrendValue","StaticBackgroundColorEditor","flyoutTitle","formatters","defaults","dataSelectors","StaticMajorAndTrendLayout","StaticMajorColorEditor"],"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 = 471);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticTrendColorEditor = {\n label: _('Trend value'),\n option: 'trendColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.trendColor),\n isDisabled: ({ options }) => options.trendDisplay === 'off',\n};\n\nexport default StaticTrendColorEditor;\n","import * as React from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { LAYOUT_TYPE } from '../utils/layoutUtils';\n\n/* eslint-disable react-hooks/rules-of-hooks */\nexport const TrellisEditorConfig = [\n [\n {\n label: _('Trellis Layout'),\n option: 'splitByLayout',\n editor: 'editor.toggle',\n showEditor: (): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn;\n },\n },\n ],\n [\n {\n label: _('Split by'),\n option: 'trellisSplitBy',\n editor: 'editor.trellisSplitBy',\n editorProps: {\n dataSourceKey: 'primary',\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n [\n {\n label: _('Number of columns'),\n option: 'trellisColumns',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n placeholder: _('Auto'),\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n [\n {\n label: _('Min column width'),\n option: 'trellisMinColumnWidth',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n {\n label: _('Row height'),\n option: 'trellisRowHeight',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n [\n {\n label: _('Max number of components per page'),\n option: 'trellisPageCount',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n];\n\nexport const TrellisBackgroundColorEditor = {\n label: _('Trellis background'),\n option: 'trellisBackgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n};\n","import * as React from 'react';\nimport { useState, useEffect, useCallback, useMemo } from 'react';\nimport { get, pick } from 'lodash';\nimport styled from 'styled-components';\nimport Paginator from '@splunk/react-ui/Paginator';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { getSettingsFromThemedProps } from '@splunk/themes';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport Message from '@splunk/visualizations-shared/Message';\nimport {\n getTrellisDataSplitterMode,\n getAllPossibleSplitByFields,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { Options } from '@splunk/visualization-encoding/Options';\nimport { DataSource } from '../interfaces/DataSource';\nimport { KV } from '../interfaces/Object';\nimport { AGGREGATIONS, getTrellisDataSourcesBySplitMode } from '../utils/trellisUtils';\nimport { LAYOUT_TYPE } from '../utils/layoutUtils';\n\nconst TrellisContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n}>`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n > [data-test='paginator'] {\n align-self: flex-end;\n margin-bottom: 10px;\n }\n`;\n\nconst TrellisContainerGrid = styled.div<{\n height: number;\n colCount: number;\n colMinWidth: number;\n rowHeight: number;\n}>`\n display: grid;\n height: ${props => {\n return `${props.height}px`;\n }};\n gap: 10px 10px;\n grid-template-columns: ${props => {\n return props.colCount\n ? `repeat(${props.colCount}, minmax(${props.colMinWidth}px, 1fr))`\n : `repeat(auto-fit, minmax(${props.colMinWidth}px, 1fr))`;\n }};\n overflow: auto;\n justify-items: stretch;\n grid-auto-rows: ${props => `${props.rowHeight}px`};\n .child {\n height: ${props => `${props.rowHeight}px`};\n }\n`;\n\nconst showErrorMessage = (\n errorCode: string,\n width: string | number,\n height: string | number\n): JSX.Element => {\n if (errorCode === 'INVALID_SPLIT_BY_FIELD') {\n return (\n <Message\n width={width}\n height={height}\n message={_('Select a valid trellis split by field')}\n level=\"info\"\n />\n );\n }\n if (errorCode === 'UNKNOWN_DATA_SPLIT_MODE') {\n return <Message width={width} height={height} message={_('Unknown data split mode')} level=\"info\" />;\n }\n return <Message width={width} height={height} message={_('Error render in trellis')} level=\"info\" />;\n};\n\ninterface VizWithTrellisProps {\n options?: KV;\n dataSources: { [name: string]: DataSource };\n height: number | string;\n width: number | string;\n theme?: unknown;\n}\n\nconst withTrellis = Viz => {\n const VizWithTrellis = (opts: VizWithTrellisProps): JSX.Element => {\n const { options = {}, height, width, ...otherProps } = opts;\n const defaultOptions = pickFieldFromJSONSchema(Viz.config.optionsSchema, 'default');\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions);\n const {\n trellisColumns,\n trellisPageCount,\n trellisMinColumnWidth,\n trellisRowHeight,\n splitByLayout,\n trellisSplitBy,\n } = mergedOptions;\n const colCount = trellisColumns > 0 ? trellisColumns : defaultOptions.trellisColumns;\n const pageCount = +trellisPageCount > 0 ? +trellisPageCount : defaultOptions.trellisPageCount;\n const colMinWidth =\n trellisMinColumnWidth > 0 ? trellisMinColumnWidth : defaultOptions.trellisMinColumnWidth;\n const rowHeight = trellisRowHeight > 0 ? trellisRowHeight : defaultOptions.trellisRowHeight;\n const [pageNum, setPageNum] = useState(1);\n const [pagedData, setPagedData] = useState(null);\n let splitByKeys = [];\n let totalPages = 0;\n let showPaginator = false;\n const { dataSources } = otherProps;\n const theme = {\n splunkThemeV1: useSplunkTheme(),\n };\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n const trellisBackgroundColor = useMemo(() => {\n const themeFunc = themeVar =>\n Viz.config.themes[themeVar]?.({\n trellisBackgroundColor: mergedOptions.trellisBackgroundColor,\n theme,\n });\n // trellisBackgroundColor option supports only static coloring and DSL option evaluation derived from the themes level only.\n const evaluated = Options.evaluate(\n {\n context: Viz.config.context,\n options: { trellisBackgroundColor: mergedOptions.trellisBackgroundColor },\n },\n {},\n themeFunc\n );\n\n return evaluated.trellisBackgroundColor;\n }, [\n mergedOptions.trellisBackgroundColor,\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n ]);\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const fields = get(dataSources, 'primary.data.fields', undefined);\n const noColumns = columns === undefined;\n const noFields = fields === undefined;\n const updateDataDisplay = currPage => {\n if (!showPaginator) {\n setPagedData(splitByKeys);\n setPageNum(1);\n } else {\n const startIdx = pageCount * (currPage - 1);\n const paged = splitByKeys.slice(startIdx, startIdx + pageCount);\n setPagedData(paged);\n }\n };\n useEffect(() => {\n setPageNum(1);\n updateDataDisplay(1);\n }, [pageCount, trellisSplitBy]);\n\n useEffect(() => {\n updateDataDisplay(pageNum);\n }, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);\n\n const handlePageChange = useCallback(\n (event, { page }) => {\n setPageNum(page);\n },\n [pageNum, pagedData]\n );\n\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n\n if (!isTrellisFeatureFlagOn || !splitByLayout || splitByLayout !== LAYOUT_TYPE.Trellis) {\n return <Viz {...opts} />;\n }\n\n if (splitByLayout === LAYOUT_TYPE.Trellis) {\n if (noColumns || noFields) {\n return <Message width={width} height={height} message={_('Loading')} level=\"info\" />;\n }\n\n // If no trellisSplitBy value is passed in, assign default trellisSplitBy\n // The default value will be the first value in the individual splitBy field list or 'aggregations'\n let currTrellisSplitBy = trellisSplitBy;\n if (!trellisSplitBy || trellisSplitBy.length === 0) {\n const splitByPossibleFields = getAllPossibleSplitByFields(fields);\n currTrellisSplitBy =\n splitByPossibleFields.fields && splitByPossibleFields.fields.length\n ? splitByPossibleFields.fields[0]\n : AGGREGATIONS;\n }\n const splitMode = getTrellisDataSplitterMode(fields);\n const dataSplitResult = getTrellisDataSourcesBySplitMode(\n splitMode,\n dataSources,\n currTrellisSplitBy\n );\n const modifiedDataSourceBySplitBy = dataSplitResult?.splitDataSources;\n const dataSplitErrorCode = dataSplitResult?.errorCode;\n if (\n !modifiedDataSourceBySplitBy ||\n Object.keys(modifiedDataSourceBySplitBy).length === 0 ||\n dataSplitErrorCode\n ) {\n return showErrorMessage(dataSplitErrorCode, width, height);\n }\n\n const splitByKeysModified = modifiedDataSourceBySplitBy\n ? Object.keys(modifiedDataSourceBySplitBy)\n : [];\n if (splitByKeysModified) {\n showPaginator = splitByKeysModified.length > pageCount;\n splitByKeys = splitByKeysModified;\n totalPages = splitByKeysModified ? Math.ceil(splitByKeysModified.length / pageCount) : 0;\n }\n return (\n <TrellisContainer height={height} width={width} backgroundColor={trellisBackgroundColor}>\n <TrellisContainerGrid\n height={height as number}\n colCount={colCount}\n colMinWidth={colMinWidth}\n rowHeight={rowHeight}\n >\n {pagedData &&\n pagedData.map((splitByKey, idx) => (\n <div\n className=\"child\"\n data-test=\"trellis-child\"\n key={`div-child-${idx.toString()}`}\n >\n <SizeAwareWrapper>\n {({ childWidth, childHeight = rowHeight }) => {\n return (\n <Viz\n {...otherProps}\n trellisKey={splitByKey}\n trellisSplitBy={currTrellisSplitBy}\n dataSources={modifiedDataSourceBySplitBy[splitByKey]}\n options={options}\n key={`viz-${idx.toString()}`}\n height={childHeight}\n width={childWidth}\n />\n );\n }}\n </SizeAwareWrapper>\n </div>\n ))}\n </TrellisContainerGrid>\n {showPaginator && totalPages >= pageNum && (\n <Paginator\n onChange={handlePageChange}\n current={pageNum}\n alwaysShowLastPageLink\n totalPages={totalPages}\n />\n )}\n </TrellisContainer>\n );\n }\n return null;\n };\n VizWithTrellis.propTypes = Viz.proptypes;\n VizWithTrellis.defaultProps = Viz.defaultProps;\n VizWithTrellis.config = Viz.config;\n return VizWithTrellis;\n};\n\nexport default withTrellis;\n","import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields && fields.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysChart(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysStats(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields as FieldEntry[]);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: fields[0].name },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)\n For example :-\n index=_internal | chart count by status\n index = \"_internal\" | chart max(count) avg(count) by status\n index = \"_internal\" | stats max(count) avg(count) by status\n where field meta info is in this format - \n \"fields\": [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"max(count)\"\n },\n {\n \"name\": \"avg(count)\"\n }\n ]\n */\n\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n // if splitBy is the first field, split row wise\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }]; // there can only be one otherSplitBy for chart cmd\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n /**\n * There can be chart SPL cmd where there are multiple data_source keys in the field meta info. \n * For eg - index = \"_internal\" | chart avg(count) max(count) by status , user) can result in fields and columns as below where \"data_source\" keys are \"avg(count)\" and \"max(count)\"\n * 'fields' : [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"avg(count): userA\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"avg(count): userB\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"avg(count): userC\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n {\n \"name\": \"max(count): userA\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"max(count): userB\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"max(count): userC\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n ]\n 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]\n\n In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]\n The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]\n\n For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.\n Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below. \n columnValues[0] = ['userA', 'userB', 'userC']\n columnValues[1] = ['1','10','100']\n columnValues[2] = ['5', '50', '500']\n */\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(\n fields[i].splitby_value ? fields[i].splitby_value : fields[i].name\n );\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n // There can be SPL where data_source field metainfo is not available and needs special handling\n // For eg :-\n // index=_internal | chart count by status\n // index = \"_internal\" | chart max(count) avg(count) by status\n // index = \"_internal\" | stats max(count) avg(count) by status\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n } else {\n // split column wise\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (\n field.data_source === dsKey &&\n (field.splitby_value === val || field.name === val)\n ) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields as FieldEntry[])\n : extractSplitByFieldsForUnknown(fields as FieldEntry[]);\n }\n const splitByIndex = fields?.findIndex(\n field => field === splitBy || (field as FieldEntry).name === splitBy\n );\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualization-context/FeatureFlagContext\");","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/themes/pick\");","import { get } from 'lodash';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { computeTextSize } from '@splunk/visualizations-shared/domUtils';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\nimport { DELTA_GREEN, DELTA_RED } from '@splunk/visualizations-shared/colorConstants';\n\nexport const DEFAULT_FONT = 12;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\n\nexport const SVR_PADDING = { top: 12, bottom: 12, left: 16, right: 16 };\n\n/**\n * @method shouldShowTrend\n * @param {String} trendDisplay\n * @returns {Bool}\n */\nexport const shouldShowTrend = trendDisplay => trendDisplay === 'absolute' || trendDisplay === 'percent';\n\n/**\n * @method isLoadingOrNoColumns\n * @param {Object} dataSources\n * @param {Boolean} loading\n * @returns {Boolean} return true if loading or without columns in dataSources\n */\nexport const isLoadingOrNoColumns = (dataSources, loading) => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noColumns = data === undefined;\n return loading || noColumns;\n};\n\n/**\n * Retrieve the valid formatted color\n * @method getFormattedColor\n * @param {String} color\n * @param {String} defaultColor\n * @returns {String} the formatted color\n */\nexport const getFormattedColor = (color, defaultColor) => formatColor(color) || formatColor(defaultColor);\n\n/**\n * Determines if there is a background color\n * @method hasBackground\n * @param {String} backgroundColor\n * @returns true for non-transparent background color\n */\nexport const hasBackground = backgroundColor => !!backgroundColor && backgroundColor !== 'transparent';\n\n/**\n * @method isIdenticalColor\n * @param {String} colorA\n * @param {String} colorB\n * @returns {Boolean}\n */\nexport const isIdenticalColor = (colorA, colorB) =>\n !!colorA && !!colorB && formatColor(colorA.toLowerCase()) === formatColor(colorB.toLowerCase());\n\n/*\n * @method getDefaultColorWithBg\n * @param {Object} props\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} defaultColor\n */\nexport const getDefaultColorWithBg = ({ backgroundColor, defaultFontColor, defaultBlockFontColor }) =>\n isIdenticalColor(backgroundColor, defaultBlockFontColor) ? defaultFontColor : defaultBlockFontColor;\n\n/*\n * @method getMajorColor\n * return formatted majorColor.\n * @param {Object} props\n * @param {String} props.majorColor\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} majorColor\n */\nexport const getMajorColor = ({ majorColor, backgroundColor, defaultFontColor, defaultBlockFontColor }) => {\n // If backgroundColor is set, but no majorColor,\n // the default majorColor will turn to be defaultBlockFontColor.\n // eg: major color will turn to be white in enterprise mode.\n // however, if the bgColor is the same as defaultBlockFontColor, use defaultFontColor.\n if (hasBackground(backgroundColor) && !majorColor) {\n return getDefaultColorWithBg({\n backgroundColor,\n defaultFontColor,\n defaultBlockFontColor,\n });\n }\n\n return getFormattedColor(majorColor, defaultFontColor);\n};\n\n/**\n * Get the color for the trend components\n * @method getTrendColor\n * @param {Object} props\n * @param {String} props.trendColor The trendColor value determined from encoding\n * @param {Number} props.trendValue\n * @param {Number} props.majorValue\n * @param {String} props.customizedBgColor\n * @param {String} props.trendDisplay absolute || percent || off\n * @param {Object} defaultColors\n * @returns {String} trendColor\n */\nexport const getTrendColor = ({\n trendColor,\n trendValue,\n majorValue,\n customizedBgColor,\n trendDisplay,\n defaultColors,\n}) => {\n if (trendColor) {\n return trendColor;\n }\n\n if (Number.isNaN(Number(trendValue))) {\n return undefined;\n }\n\n const { defaultFontColor, defaultBlockFontColor, defaultBackgroundColor } = defaultColors;\n\n // if user defined a backgroundColor, the default trend color will be defaultBlockFontColor\n if (\n hasBackground(customizedBgColor) &&\n !isIdenticalColor(customizedBgColor, defaultBackgroundColor) &&\n !isIdenticalColor(customizedBgColor, defaultBlockFontColor)\n ) {\n return defaultBlockFontColor;\n }\n\n // if trendDisplay is percent, and trendValue === value\n // the trend percent = trendValue / (value - trendValue) will return Infinity\n const isInvalidTrend = trendDisplay === 'percent' && trendValue === parseFloat(majorValue);\n\n if (trendValue === 0 || isInvalidTrend) {\n return defaultFontColor;\n }\n\n return trendValue > 0 ? DELTA_GREEN : DELTA_RED;\n};\n\n/**\n * Computes visualization properties for display component\n * @method computeColors\n * @param {Object} props all viz props\n * @param {Object} defaultColors defaultColors from theme\n * @returns {Object} result\n * @returns {Boolean} backgroundEnabled\n * @returns {String} backgroundColor\n * @returns {String} majorColor\n * @returns {String} trendColor\n * @returns {String} underLabelColor\n */\nexport const computeColors = (props, defaultColors) => {\n const backgroundColor = getFormattedColor(props.backgroundColor, defaultColors.defaultBackgroundColor);\n const backgroundEnabled = hasBackground(backgroundColor);\n const majorColor = getMajorColor({\n majorColor: props.majorColor,\n backgroundColor,\n defaultFontColor: defaultColors.defaultFontColor,\n defaultBlockFontColor: defaultColors.defaultBlockFontColor,\n });\n const trendColor = getTrendColor({\n trendColor: props.trendColor,\n trendValue: props.trendValue,\n majorValue: props.majorValue,\n customizedBgColor: props.backgroundColor,\n trendDisplay: props.trendDisplay,\n defaultColors,\n });\n // todo: need change it to not depend on majorColor\n const underLabelColor = backgroundEnabled ? majorColor : defaultColors.defaultFontColor;\n\n return {\n backgroundColor,\n backgroundEnabled,\n majorColor,\n trendColor,\n underLabelColor,\n };\n};\n\n/**\n * Format and return the value (major/trend)\n * @method computeText\n * @param {Object} props\n * @param {Number} props.value // The major/trend value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number} major or trend text\n */\nexport const computeText = ({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let text = isNumerial(value)\n ? formatNumber(value, numberPrecision, {\n useThousandSeparators: shouldUseThousandSeparators, // todo: need update formatNumber\n useTrendUnits: shouldAbbreviateTrendValue,\n })\n : value;\n // When text is undefined, return empty string\n text = text || '';\n return text;\n};\n\n/*\n * @method getMajorText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @returns {String} majorText\n */\nexport const getMajorText = ({ majorValue, numberPrecision, shouldUseThousandSeparators }) =>\n computeText({\n value: majorValue === null ? 'N/A' : majorValue, // if majorValue is null, use `N/A`.\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue: false,\n });\n\n/*\n * @method getTrendText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.trendValue\n * @param {String} props.trendDisplay\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {String} trendText\n */\nexport const getTrendText = ({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const compute = value =>\n computeText({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n if (trendValue === '' || !isNumerial(trendValue)) {\n return '';\n }\n const showPercent = trendDisplay === 'percent';\n if (!showPercent) {\n return compute(trendValue);\n }\n\n const diff = Math.abs(trendValue - majorValue);\n let val = Math.round((trendValue / diff) * 100);\n if (trendValue === 0 && diff === 0) {\n val = 0;\n }\n\n if (!Number.isFinite(val)) {\n return 'N/A';\n }\n const text = compute(val);\n\n return `${text}%`;\n};\n\n/**\n * Helper to determine the font size for an element\n * @method computeFontSize\n * @param {String} text The string to find a size for\n * @param {Object} dimensions\n * @param {Number} dimensions.width The width of the container\n * @param {Number} dimensions.height The height of the container\n * @param {String} [fontFamily='\"Splunk Platform Sans\" ...'] The font being used\n * @param {String} [fontWeight='normal'] Boldness of font\n * @returns {Number} The size to use for fontSize styles\n */\nexport const computeFontSize = (\n text,\n { width, height },\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal'\n) => {\n const widthInDefaultFont = computeTextSize(text, `${fontWeight} ${DEFAULT_FONT}px ${fontFamily}`);\n const fontSize = Math.min(\n (width / widthInDefaultFont) * DEFAULT_FONT,\n (height / DEFAULT_FONT) * DEFAULT_FONT\n );\n return parseInt(fontSize, 10);\n};\n\n/*\n * @method getMajorFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.unit\n * @param {String} props.majorText\n * @param {Number} props.spaceRatio\n * @returns {Number} majorFontSize\n */\nexport const getMajorFontSize = ({ width, height, unit, majorText, spaceRatio = 1 }) => {\n const majorTextCalc = unit ? `${unit}${majorText}` : majorText;\n return computeFontSize(majorTextCalc, {\n width: width * spaceRatio,\n height,\n });\n};\n\n/*\n * @method getTrendFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.trendText\n * @param {Number} props.spaceRatio\n * @returns {Number} trendFontSize\n */\nexport const getTrendFontSize = ({ width, height, trendText, spaceRatio = 1 }) => {\n let trendFontSize = 12;\n if (spaceRatio > 0) {\n trendFontSize = computeFontSize(trendText, {\n width: width * spaceRatio,\n height,\n });\n trendFontSize = parseInt(trendFontSize, 10) * spaceRatio;\n }\n return trendFontSize;\n};\n\n/*\n * The height of underLabel should no more than 12px\n * @param {Number} height\n * @return {Number} height || DEFAULT_FONT\n */\nexport const getUnderLabelHeight = height => (height > DEFAULT_FONT ? DEFAULT_FONT : height);\n\n/*\n * @param {Object} config\n * @param {String} underLabel\n * @param {Number} width width of underLabel\n * @param {Number} height height of underLabel\n * @param {Number} fond size of underLabel\n */\nexport const getUnderLabel = ({ underLabel, width, height }) =>\n // todo: may need truncate underLabel later\n computeFontSize(underLabel, {\n width,\n height,\n });\n\n/**\n * Compute value and font size for major and trend\n * @method getMajorAndTrend\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number, Number, Number, Number} Major text, trend text, major text size, trend text size\n */\nexport const getMajorAndTrend = ({\n width,\n height,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const majorTextSpaceRatio = isNumerial(trendValue) && shouldShowTrend(trendDisplay) ? 0.6 : 1;\n const textContentWidth = width * 0.9;\n const textContentHeight = height * 0.9;\n const majorText = getMajorText({ majorValue, numberPrecision, shouldUseThousandSeparators });\n const majorTextFontSize =\n majorFontSize ||\n getMajorFontSize({\n width: textContentWidth,\n height: textContentHeight,\n unit,\n majorText,\n spaceRatio: majorTextSpaceRatio,\n });\n const trendText = getTrendText({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const trendTextFontSize =\n trendFontSize ||\n getTrendFontSize({\n width: textContentWidth,\n height: textContentHeight,\n trendText,\n spaceRatio: 1 - majorTextSpaceRatio,\n });\n\n return {\n majorText,\n majorTextFontSize,\n trendText,\n trendTextFontSize,\n };\n};\n\n/*\n * @method updateVizInSmallSpace\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Object} props.toRemoveList\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {Number} props.majorTextFontSize\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Object} results\n * @returns {Object} results.newMajorAndTrend\n * @returns {Object} results.updatedProps\n */\nexport const updateVizInSmallSpace = ({\n width,\n height,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let removeIndex = 0;\n let newProps = {}; // options need to be updated\n let newMajorAndTrend = {};\n let newTextSize = majorTextFontSize;\n\n // remove info on viz to make textFontSize >= 12px;\n while (newTextSize < 12 && removeIndex < toRemoveList.length) {\n const toRemove = toRemoveList[removeIndex];\n newProps = {\n ...newProps,\n ...{\n [toRemove.key]: toRemove.value,\n },\n };\n\n newMajorAndTrend = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n\n newTextSize = newMajorAndTrend.majorTextFontSize;\n removeIndex += 1;\n }\n\n // truncate text if textFontSize is still less than 12\n if (newTextSize < 12) {\n const truncateValue = `${majorValue.toString().slice(0, 3)}...`;\n newMajorAndTrend = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n }\n\n return { newMajorAndTrend, updatedProps: newProps };\n};\n\n/*\n * @method computeSingleValueContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n toRemoveList,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // update viz in small space\n // if textFontSize is less than 12, remove extra info like sparkline, trendvalue, unit\n // or truncate major value to make the major font size >= 12\n if (majorTextFontSize < 12) {\n const { newMajorAndTrend, updatedProps } = updateVizInSmallSpace({\n width: containerWidth,\n height: containerHeight,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = newMajorAndTrend);\n smallVizProps = updatedProps;\n }\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\nexport const minimallyTruncateStringToWidth = ({\n text,\n fontSize = DEFAULT_FONT,\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal',\n containerWidth,\n}) => {\n let textWidth = computeTextSize(text, `${fontWeight} ${fontSize}px ${fontFamily}`);\n let modifiedText = text;\n\n const ellipsesLength = computeTextSize('...', `${fontWeight} ${fontSize}px ${fontFamily}`);\n // `containerWidth - ellipsesLength > 0` condition ensures space even exists for text.\n if (containerWidth - ellipsesLength > 0 && textWidth > containerWidth) {\n // Truncates the content such that the truncated value + ellipses fit within the allocated space for the ellipses.\n // `textWidth > containerWidth - ellipsesLength` condition checks if text + ellipses exceeds container width.\n // `text.length > 1` condition included to keep at least the first number.\n while (textWidth + ellipsesLength > containerWidth && modifiedText.length > 1) {\n modifiedText = modifiedText.substring(0, modifiedText.length - 1);\n textWidth = computeTextSize(modifiedText, `normal ${fontSize}px ${fontFamily}`);\n }\n\n modifiedText = `${modifiedText}...`;\n }\n\n return modifiedText;\n};\n\n/*\n * @method computeSingleValueRadialContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @param {Bool} props.smallViz\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueRadialContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n smallViz,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // custom logic for viz in small space\n // if not showing the radial graph (if `smallViz` is true), then compute truncated major value\n // and font sizes\n if (smallViz) {\n const truncateValue = minimallyTruncateStringToWidth({\n text: majorValue,\n fontWeight: 'bold',\n fontSize: 12,\n containerWidth,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width: containerWidth,\n height: containerHeight,\n unit,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n }));\n\n smallVizProps = {\n trendDisplay,\n unit,\n };\n }\n\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\n/**\n * Get the colors for a graph\n *\n * @method getGraphColors\n * @param {Object} options\n * @param {Bool} options.backgroundEnabled // Flag to turn on color mode\n * @param {String} options.backgroundColor // The current background color, overrides trend background color\n * @param {Object} options.defaultColors // Default colors by severity\n * @param {Function} options.customColorFormatter // must return { background, stroke } given a color\n * @returns {Object} { background, stroke } colors\n * @private\n */\nexport const getGraphColors = ({\n backgroundEnabled,\n backgroundColor,\n defaultColors,\n customColorFormatter,\n}) => {\n // Only do custom colors in block mode\n if (backgroundEnabled) {\n // Check if the user defined colors to use\n if (backgroundColor && typeof customColorFormatter === 'function') {\n return customColorFormatter(backgroundColor);\n }\n }\n\n return defaultColors.none;\n};\n\n/**\n * Adjust rgb value if it equals to 0 or 255\n * @method adjustRGB\n * @param {Number} rgb [0 - 255]\n * @param {Number} delta\n * @returns {Number} adjusted rgb\n * @private\n */\nexport const adjustRGB = (rgb, delta) => {\n if (rgb === 255) {\n return rgb - delta;\n }\n\n if (rgb === 0) {\n return rgb + delta;\n }\n\n return rgb;\n};\n\n/**\n * Modifies colors by multiplying by a given ratio\n * @method changeColor\n * @param {String} color // Color to modify\n * @param {Number} ratio // Float to modify color\n * @returns {String} new color\n * @private\n */\nconst changeColor = (color, ratio) => {\n const hex = color.replace(/(0x|#)/, '');\n const r = parseInt(hex.substr(0, 2), 16);\n const g = parseInt(hex.substr(2, 2), 16);\n const b = parseInt(hex.substr(4, 2), 16);\n\n // Multiply by given ratio, make sure is between 0 and 255;\n let newR = Math.max(Math.min(Math.floor(r * ratio), 255), 0);\n let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);\n let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);\n\n // If the color is not changed\n // case 1: the color is (0, 0 0)\n // lighten color (80, 80, 80)\n // darken color (40, 40, 40)\n // case 2: the color is (255, 255, 255)\n // lighten color (235, 235, 235)\n // darken color (175, 175, 175)\n // case 3: the color is e.g. (0, 255, 0)\n // new color (20, 235, 20)\n if (newR === r && newG === g && newB === b) {\n if (newR === 0 && newG === 0 && newB === 0) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n } else {\n newR = adjustRGB(newR, 40);\n newG = adjustRGB(newG, 40);\n newB = adjustRGB(newB, 40);\n }\n } else if (newR === 255 && newG === 255 && newB === 255) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n } else {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n }\n } else {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n }\n }\n\n return (\n `#${newR.toString(16).padStart(2, 0)}` +\n `${newG.toString(16).padStart(2, 0)}` +\n `${newB.toString(16).padStart(2, 0)}`\n );\n};\n\n/**\n * Lighten a given color\n * @method lighten\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const lighten = color => changeColor(color, 1.3);\n\n/**\n * Darkens a given color\n * @method darken\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const darken = color => changeColor(color, 0.5);\n\n/** consistent token structure: handle callback to add value and name in event payload\n * @method handleValueClickCallback\n * @param {Object} ev\n * @param {String | Number} majorValue\n * @param {String} majorValueField\n * @param {Number} trendValue\n * @param {Function} onValueClick\n */\nexport const handleValueClickCallback = (\n ev,\n majorValue,\n majorValueField,\n trendValue,\n onValueClick,\n trellisEnabled = false,\n trellisSplityBy = '',\n trellisKey = ''\n) => {\n let payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n if (trellisEnabled) {\n payload = { ...payload, 'trellis.name': trellisSplityBy, 'trellis.value': trellisKey };\n }\n return onValueClick({ ...ev, payload });\n};\n","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","module.exports = require(\"@splunk/ui-utils/id\");","import * as T from 'prop-types';\nimport { has } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (typeof onRequestParamsChange === 'function') {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && typeof onRequestParamsChange === 'function';\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: typeof onRequestParamsChange === 'function' ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport AsyncDynamicOptionsEvaluator, {\n AsyncDynamicOptionsEvaluatorParams,\n} from '@splunk/async-dynamic-options-evaluator';\nimport { createGUID } from '@splunk/ui-utils/id';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n const [evaluatedOptionsAsync, setEvaluatedOptionsAsync] = React.useState({}); // evaluatedOptions need to be initialized as an empty object\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n\n const [visualizationID] = React.useState(`${vizConfig.name} - ${createGUID()}`);\n\n const [dataSourcesInState, setDataSourcesInState] = React.useState({});\n const [dataFramesInState, setDataFramesInState] = React.useState();\n\n const [useAsyncEvaluatedOptions, setUseAsyncEvaluatedOptions] = React.useState(\n Boolean(\n featureFlagContext &&\n featureFlagContext.visualizations_useWebWorkersForDSL &&\n typeof Worker !== 'undefined'\n )\n );\n\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n if (useAsyncEvaluatedOptions) {\n const optionsToEvaluate = {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n };\n const asyncDynamicOptionsEvaluatorParams: AsyncDynamicOptionsEvaluatorParams = {\n visualizationID,\n props,\n options: optionsToEvaluate,\n dataSources,\n theme: vizConfig.themes,\n };\n AsyncDynamicOptionsEvaluator.evaluate(asyncDynamicOptionsEvaluatorParams)\n .then(results => {\n setEvaluatedOptionsAsync(results.results);\n })\n .catch(e => {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options - async: ${e.message}`);\n setUseAsyncEvaluatedOptions(false);\n });\n } else {\n let dataFrames = dataFramesInState;\n if (dataSources !== dataSourcesInState) {\n setDataSourcesInState(dataSources);\n dataFrames = Opts.dataFrameFromDataSource(dataSources);\n setDataFramesInState(dataFrames);\n }\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc,\n dataFrames\n );\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: ${e.message}`);\n return {};\n }\n return {};\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n useAsyncEvaluatedOptions,\n ]);\n\n const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;\n\n // trellis specific backgroundColor update for onComputedProps\n // if trellis is enabled following these three criteria - 1) trellis feature flag is enabled 2) vizConfig supports array has 'trellis' 3) option 'splitByLayout' is set to 'trellis\n // onComputedProps api should return back trellisBackgroundColor value for backgroundColor option to support coloring of sibling panels (for eg:- title/ description on UDF side)\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n let clonedEvaluatedOptions = evaluatedOptionsToUse;\n if (\n isTrellisFeatureFlagOn &&\n vizConfig?.supports?.includes(VizBehavior.TRELLIS) &&\n clonedEvaluatedOptions?.splitByLayout === VizBehavior.TRELLIS\n ) {\n clonedEvaluatedOptions = {\n ...evaluatedOptionsToUse,\n backgroundColor: clonedEvaluatedOptions?.trellisBackgroundColor,\n };\n }\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(clonedEvaluatedOptions);\n });\n\n React.useEffect((): (() => void) => {\n return () => {\n if (useAsyncEvaluatedOptions) {\n AsyncDynamicOptionsEvaluator.reset(visualizationID);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptionsToUse);\n if (\n missing.length > 0 &&\n supports.includes(VizBehavior.PLACEHOLDER) &&\n vizConfig.key !== 'splunk.singlevalue' // For SV missing props msg is not displayed if required props majorValue is missing, instead this will be handled from the component, instead handled within component\n ) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptionsToUse[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptionsToUse,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n // if were using webworkers and this is the first render we dont want to show a viz with missing data so we return null\n if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {\n return null;\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptionsToUse}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/async-dynamic-options-evaluator\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","import { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n sid: string;\n app: string;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","import SingleValueRadial from './PureSingleValueRadial/SingleValueRadial';\nimport withDashboardViz from '../common/withDashboardViz';\nimport vizConfig from './config';\nimport withTrellis from '../common/hocs/withTrellis';\n\nexport const config = vizConfig;\nexport const PureSingleValueRadial = SingleValueRadial;\n// TODO: proper theming support for SVR when we come back to SVR viz\nexport const PureSingleValueRadialThemes = {};\n\nexport const computeVizProps = ({ trellisKey, ...props }) => {\n return { trellisKey, ...props };\n};\n\nconst viz = withTrellis(\n withDashboardViz({\n ReactViz: SingleValueRadial,\n vizConfig,\n computeVizProps,\n })\n);\n\nexport const { themes } = vizConfig;\nexport default viz;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { SingleValueRadial as SingleValueRadialIcon } from '@splunk/visualization-icons';\nimport { SingleValueRadial as SingleValueRadialPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport StaticMajorAndTrendLayout from '../common/editorConfig/StaticMajorAndTrendLayout';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { getDynamicMajorColorEditor } from '../common/editorConfig/DynamicMajorColorEditor';\nimport { getDynamicTrendColorEditor } from '../common/editorConfig/DynamicTrendColorEditor';\nimport { getDynamicBackgroundColorEditor } from '../common/editorConfig/DynamicBackgroundColorEditor';\nimport StaticMajorColorEditor from '../common/editorConfig/StaticMajorColorEditor';\nimport StaticTrendColorEditor from '../common/editorConfig/StaticTrendColorEditor';\nimport StaticBackgroundColorEditor from '../common/editorConfig/StaticBackgroundColorEditor';\nimport getRadialBackgroundColorEditor from '../common/editorConfig/RadialBackgroundColor';\nimport { TrellisEditorConfig, TrellisBackgroundColorEditor } from '../common/editorConfig/TrellisEditors';\nimport { LAYOUT_TYPE } from '../common/utils/layoutUtils';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 250,\n initialHeight: 250,\n};\n\nconst defaultContext: DefaultContext = {\n trendColorConfig: [\n {\n to: 0,\n value: '#9E2520',\n },\n {\n from: 0,\n value: '#1C6B2D',\n },\n ],\n majorColorConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n majorColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. The hex value format should be “#ffffff”. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n majorColor: {\n default: '> themes.defaultFontColor',\n description:\n 'Specify the color for the major value. You may use a dataSource to apply the color. The hex value format should be “#ffffff”. The default for enterprise light is \"#000000\". The default for enterprise dark is \"#ffffff\". The default for prisma dark is \"rgba(255, 255, 255, 0.98)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n majorValue: {\n default: '> primary | seriesByPrioritizedTypes(\"number\", \"string\", \"time\") | lastPoint()',\n description: 'Specify the dataSource applied to the major value.',\n type: ['string', 'number'],\n },\n majorValueField: {\n default: '> majorValue | getField()',\n description: 'Specify the field that should be mapped to the major value.',\n type: 'string',\n },\n maxValue: {\n default: 100,\n description: 'Specify the value the radial fills up to.',\n type: 'number',\n },\n numberPrecision: {\n default: 0,\n maximum: 20,\n minimum: 0,\n description:\n 'Specify the number of decimal places to display. For example, to display 3 decimal places, use a value of 3. Values can range from 0 to 20.',\n type: 'number',\n },\n radialBackgroundColor: {\n default: '> themes.defaultRadialBackgroundColor',\n description:\n 'Specify the color for the radial background. The hex value format should be “#ffffff”. The default for enterprise light is \"rgba(0, 0, 0, 0.1)\". The default for enterprise dark is \"rgba(255, 255, 255, 0.15)\". The default for prisma dark is \"rgba(255, 255, 255, 0.15)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n radialStrokeColor: {\n default: '> majorColor',\n description:\n 'Specify the color for the radial. You may use a dataSource to apply the color. The hex value format should be “#ffffff”. The default for enterprise light is \"#000000\". The default for enterprise dark is \"#ffffff\". The default for prisma dark is \"rgba(255, 255, 255, 0.98)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n shouldAbbreviateTrendValue: {\n default: false,\n description:\n 'Specify whether to abbreviate the trend value to 2 decimal points. A magnitude unit will be displayed.',\n type: 'boolean',\n },\n shouldUseThousandSeparators: {\n default: true,\n description: 'Specify whether numeric values use commas as thousandths separaters.',\n type: 'boolean',\n },\n splitByLayout: {\n default: 'off',\n description:\n 'Specify the layout method by which to display the visualization, which splits the data into individual visualizations based on a certain category.',\n type: 'string',\n pattern: getPattern([LAYOUT_TYPE.Off, LAYOUT_TYPE.Trellis]),\n enum: [LAYOUT_TYPE.Off, LAYOUT_TYPE.Trellis],\n },\n trendColor: {\n default: '> themes.defaultFontColor',\n description:\n 'Specify the color for the trend value. You may use a dataSource to apply the color. The hex value format should be “#FFFFFF”. The default for enterprise light is \"#000000\". The default for enterprise dark is \"#ffffff\". The default for prisma dark is \"rgba(255, 255, 255, 0.98)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n trendDisplay: {\n default: 'absolute',\n description: 'Specify how to display the trend value.',\n pattern: getPattern(['percent', 'absolute', 'off']),\n type: 'string',\n },\n trendValue: {\n default: '> primary | seriesByPrioritizedTypes(\"number\", \"string\", \"time\") | delta(-2)', // todo: may need update delta method\n description: 'Specify the dataSource applied to the trend value.',\n type: 'number',\n },\n trellisBackgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the trellis container background by using a hexadecimal code. For example, #0000FF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n trellisColumns: {\n description:\n 'Specify the number of visualizations to display in a given row of the trellis container. The remaining visualizations will wrap accordingly. If nothing is specified, it will be auto-set based on the trellisMinColumnWidth. The minimum value is 1.',\n type: 'number',\n minimum: 1,\n },\n trellisMinColumnWidth: {\n default: 100,\n minimum: 1,\n description:\n 'Specify the minimum width, in pixels, of each visualization in the trellis container. If the window or panel is resized, the remaining visualizations may be viewed by scrolling. The minimum value is 1.',\n type: 'number',\n },\n trellisPageCount: {\n default: 20,\n minimum: 1,\n description:\n 'Specify the maximum number of visualizations to display in a single page in the trellis container. The remaining visualizations will paginate accordingly. The minimum value is 1.',\n type: 'number',\n },\n trellisRowHeight: {\n default: 70,\n minimum: 1,\n description:\n 'Specify the height, in pixels, of each visualization in the trellis container. If the window or panel is resized, the remaining visualizations may be viewed by scrolling. The minimum value is 1.',\n type: 'number',\n },\n trellisSplitBy: {\n description:\n 'Specify the field name of the column with categories used, or “aggregations”, to split the data into individual visualizations for trellis display, if applicable. If a SPL `timechart` command is used, this may default to the SPL `by` clause field. If a SPL `chart` command is used, this may default to the first string field.',\n type: 'string',\n },\n underLabel: { description: 'Specify the text that appears below the major value.', type: 'string' },\n unit: {\n description: 'Specify text to show next to the major value.',\n type: 'string',\n },\n unitPosition: {\n default: 'after',\n description: 'Specify whether the unit text should appear before or after the major value.',\n pattern: getPattern(['before', 'after']),\n type: 'string',\n },\n};\n\nconst basePresetContext = {\n majorColorEditorConfig: undefined,\n trendColorEditorConfig: undefined,\n backgroundColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n majorColor: undefined,\n trendColor: undefined,\n backgroundColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'singleValueRadial.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Major value'),\n name: 'singleValueRadial.majorValue',\n value: {\n context: {\n ...basePresetContext,\n majorColorEditorConfig: defaultContext.majorColorConfig,\n },\n options: {\n ...basePresetOptions,\n majorColor: '> majorValue | rangeValue(majorColorEditorConfig)',\n },\n },\n },\n {\n label: _('Major value and Trend value'),\n name: 'singleValueRadial.majorValueAndTrend',\n value: {\n context: {\n ...basePresetContext,\n majorColorEditorConfig: defaultContext.majorColorConfig,\n trendColorEditorConfig: defaultContext.trendColorConfig,\n },\n options: {\n ...basePresetOptions,\n majorColor: '> majorValue | rangeValue(majorColorEditorConfig)',\n trendColor: '> trendValue | rangeValue(trendColorEditorConfig)',\n },\n },\n },\n {\n label: _('Trend value'),\n name: 'singleValueRadial.trend',\n value: {\n context: {\n ...basePresetContext,\n trendColorEditorConfig: defaultContext.trendColorConfig,\n },\n options: {\n ...basePresetOptions,\n trendColor: '> trendValue | rangeValue(trendColorEditorConfig)',\n },\n },\n },\n {\n label: _('Background'),\n name: 'singleValueRadial.background',\n value: {\n context: {\n ...basePresetContext,\n backgroundColorEditorConfig: defaultContext.majorColorConfig,\n },\n options: {\n ...basePresetOptions,\n backgroundColor: '> majorValue | rangeValue(backgroundColorEditorConfig)',\n },\n },\n },\n];\n\nconst themes: ThemedDefaults = {\n defaultFontColor: props =>\n pick({\n enterprise: {\n dark: variables.white(props),\n light: variables.black(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultRadialBackgroundColor: props =>\n pick({\n enterprise: {\n dark: 'rgba(255, 255, 255, 0.15)',\n light: 'rgba(0, 0, 0, 0.1)',\n },\n prisma: variables.interactiveColorBackgroundDisabled(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Value'),\n editor: 'editor.columnSelector',\n option: 'majorValue',\n context: 'valuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { majorValue: baseSPL },\n } = definition;\n\n return {\n context: {},\n options: {\n majorValue: `${baseSPL} | lastPoint()`,\n trendValue: `${baseSPL} | delta(-2)`,\n },\n };\n },\n },\n isDisabled: ({ options }) => options.splitByLayout === LAYOUT_TYPE.Trellis,\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n ...StaticMajorAndTrendLayout,\n [\n {\n label: _('Trend display'),\n option: 'trendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Percent'), value: 'percent' },\n { label: _('Absolute'), value: 'absolute' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n ],\n ...TrellisEditorConfig,\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: 'Dynamic elements',\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticMajorColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicMajorColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticTrendColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicTrendColorEditor({ defaultContext, defaultPalettesConfig })],\n getRadialBackgroundColorEditor({ themes }),\n [\n {\n ...StaticBackgroundColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n ...TrellisBackgroundColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicBackgroundColorEditor({ defaultContext, defaultPalettesConfig })],\n ],\n },\n];\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.singlevalueradial',\n /**\n * viz name\n */\n name: 'Single Value Radial',\n category: VizCategory.SINGLE_VALUE,\n /**\n * viz icon\n */\n icon: SingleValueRadialIcon,\n placeholderIcon: SingleValueRadialPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'value.click': {\n description: 'trigger when user clicks major value',\n payloadKeys: ['majorValue', 'trendValue'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER, VizBehavior.TRELLIS],\n themes,\n};\n\nexport default enhanceConfig(config);\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface RadialBackgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst radialBackground: ({\n label,\n themes,\n labelPosition,\n}: RadialBackgroundEditorProps) => EditorLayoutConfig[] = ({ label, themes, labelPosition }) => [\n {\n label: _(label || 'Radial background'),\n option: 'radialBackgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default radialBackground;\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","import 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 strokeWidth,\n backgroundColor = RADIAL_BACKGROUND_COLOR,\n progressColor = RADIAL_STROKE_COLOR,\n width = 200,\n height = 200,\n}) => {\n const semicircleRadius = height - strokeWidth / 2;\n\n const circumference = semicircleRadius * 2 * Math.PI;\n const bgCircleOffset = 0.5 * circumference;\n\n const progress50 = (progress / 100) * 50;\n const progressWidth = (progress50 / 100) * circumference;\n const strokeDashoffset = circumference * 0.5;\n\n return (\n <svg height={height} width={width} data-test=\"radial-visualization\">\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={semicircleRadius}\n cx={width / 2}\n cy={semicircleRadius + strokeWidth / 2}\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={semicircleRadius}\n cx={width / 2}\n cy={semicircleRadius + strokeWidth / 2}\n />\n </g>\n </svg>\n );\n};\n\nRadialGraph.propTypes = {\n progress: T.number,\n strokeWidth: T.number,\n backgroundColor: T.string,\n progressColor: T.string,\n width: T.number,\n height: T.number,\n};\n\nRadialGraph.defaultProps = {\n progress: 0,\n strokeWidth: 12,\n};\n\nexport default RadialGraph;\n","import { RADIAL_SEVERITY_COLORS } from '@splunk/visualizations-shared/colorConstants';\nimport { getGraphColors, lighten, darken, SVR_PADDING } from '../../../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 = 16;\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 dimensions of the graph\n * @method getRadialGraphDimensions\n * @param {Object} props\n * @param {Number} props.width // Width of the container\n * @param {Number} props.height // Height of the container\n * @returns {Number} width and height of the graph\n */\nexport const getRadialGraphDimensions = ({ width, height }) => {\n // height * 2 because we are fitting only half of a circle inside the container\n const radius = Math.min(width, height * 2) / 2;\n\n return {\n width: width - SVR_PADDING.left - SVR_PADDING.right,\n height: radius - SVR_PADDING.top - SVR_PADDING.bottom,\n };\n};\n\n/**\n * Figure out the dimensions of the content container for SVR\n * @method getRadialHelperDimensions\n * @param {Object} props\n * @param {Number} props.width // Width of the visualization space\n * @param {Number} props.height // Height of the visualization space\n * @returns {Number} width and height of the content graph\n */\nexport const getRadialHelperDimensions = ({ height, strokeWidth = DEFAULT_RADIAL_STROKE_WIDTH }) => {\n // The radius of the visualization is equal to the height\n const semicircleRadius = height - strokeWidth / 2; // The inner part of the arc is strokeWidth / 2 inset.\n const innerArcRadius = semicircleRadius * 0.9;\n const halfContentWidth = innerArcRadius * 0.7;\n const contentHeight = Math.floor(Math.sqrt(innerArcRadius ** 2 - halfContentWidth ** 2));\n\n return {\n contentWidth: halfContentWidth * 2,\n contentHeight,\n helperArcRadius: innerArcRadius,\n semicircleRadius,\n };\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} graphHeight\n * @returns {Number} radial stroke width\n */\nexport const getRadialStrokeWidth = graphHeight =>\n graphHeight >= 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 * @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 * need to handle max and min\n * @method getRadialProgress\n * @param {Number} majorValue\n * @returns {Number} progress bar in radial graph\n */\nexport const getRadialProgress = (majorValue, maxValue) =>\n Number.isNaN(Number(majorValue)) ||\n Number.isNaN(Number(maxValue)) ||\n (majorValue < 0 && majorValue < maxValue)\n ? 0\n : (majorValue / maxValue) * 100;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport SingleValueBasic from '../../SingleValueBasic/SingleValueBasic';\nimport RadialGraph from './RadialGraph';\nimport { getRadialHelperDimensions } from './utils/displayUtils';\n\nconst TextContainer = styled.div`\n position: ${props => (props.smallViz ? 'relative' : 'absolute')};\n left: 0;\n bottom: 0;\n\n width: 100%;\n display: flex;\n align-items: ${props => props.align || 'center'};\n justify-content: center;\n flex-direction: column;\n\n // To ensure the major text is flush with the bottom of the text container when radial is shown.\n [data-test='majorValue'] {\n ${props => !props.smallViz && { lineHeight: 'normal' }}\n\n ::before {\n font-size: inherit;\n vertical-align: unset;\n top: unset;\n }\n\n ::after {\n font-size: inherit;\n vertical-align: unset;\n top: unset;\n }\n }\n\n // To ensure the trend text is flush with the bottom of the text container, and prevents weird spacing behavior at very small trend text sizes\n [data-test='trendValueIndicator'] {\n align-items: flex-end;\n ${props => props.smallViz && { marginLeft: '1px' }}\n }\n\n // Prevents weird spacing behavior at very small sizes.\n [data-test='trendValue'] {\n ${props => props.smallViz && { marginLeft: '1px' }}\n }\n\n div[class^='TrendValue__Column'] {\n ${props => props.smallViz && { margin: '0 1px' }}\n }\n`;\n\nconst GraphContainer = styled.div`\n position: relative;\n margin: 0 auto;\n width: ${props => props.width}px;\n height: ${props => props.height}px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n`;\n\nconst UnderLabelContainer = styled.div`\n display: flex;\n flex: 0 0 ${props => props.underLabelHeight}px; // Changes depending on height of underLabel.\n align-items: flex-end;\n`;\n\nconst UnderLabelText = styled.span`\n color: ${props => props.color};\n -webkit-text-stroke: 0.5px ${props => props.strokeColor};\n font-size: 12px;\n\n // Prevent overflow of text beyond inner arc radius.\n max-width: ${props => props.maxWidth}px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst RadialContent = ({ ...props }) => {\n const {\n majorColor,\n majorText,\n majorTextFontSize,\n majorValueTitle,\n trendColor,\n trendText,\n trendTextFontSize,\n showTrendIndicator,\n unit,\n unitPosition,\n underLabelColor,\n underLabel,\n onValueClick,\n showRadialGraph,\n progress,\n radialBackgroundColor,\n radialStrokeColor,\n radialStrokeWidth,\n graphWidth,\n graphHeight,\n underLabelStrokeColor,\n } = props;\n\n const { semicircleRadius, helperArcRadius } = getRadialHelperDimensions({\n height: graphHeight,\n strokeWidth: radialStrokeWidth,\n });\n\n // Two cases for filling underLabel space: either the semicircle radius is insufficiently sized for text\n // or the radial visualization has been disabled (first condition reached first when making smaller).\n const fillVacantSpace = semicircleRadius < 50 || !showRadialGraph;\n\n // If filling the vacant space, no height on underLabel container. Otherwise, the underLabel height is 20% of the helperArcRadius (min 20px).\n const underLabelHeight = fillVacantSpace ? 0 : Math.max(helperArcRadius * 0.2, 20);\n const underLabelWidth = helperArcRadius * 2;\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={showTrendIndicator}\n unit={unit}\n unitPosition={unitPosition}\n onValueClick={onValueClick}\n />\n );\n\n const radialGraph = showRadialGraph ? (\n <RadialGraph\n progress={progress}\n backgroundColor={radialBackgroundColor}\n progressColor={radialStrokeColor}\n strokeWidth={radialStrokeWidth}\n width={graphWidth}\n height={graphHeight}\n />\n ) : null;\n\n const underLabelComponent = (\n <UnderLabelContainer underLabelHeight={underLabelHeight}>\n {!fillVacantSpace && underLabel && (\n <UnderLabelText\n data-test=\"underLabel\"\n maxWidth={underLabelWidth * 0.9} // buffer for overflow ellipses\n color={underLabelColor}\n strokeColor={underLabelStrokeColor}\n title={underLabel}\n >\n {underLabel}\n </UnderLabelText>\n )}\n </UnderLabelContainer>\n );\n\n return (\n <GraphContainer width={graphWidth} height={graphHeight}>\n {radialGraph}\n <TextContainer smallViz={!showRadialGraph} height={graphHeight}>\n {basicSingleValues}\n {underLabelComponent}\n </TextContainer>\n </GraphContainer>\n );\n};\n\nRadialContent.propTypes = {\n ...SingleValueBasic.propTypes,\n trendPosition: T.string,\n showRadialGraph: T.bool,\n progress: T.number,\n radialBackgroundColor: T.string,\n radialStrokeColor: T.string,\n radialStrokeWidth: T.number,\n graphWidth: T.number,\n graphHeight: T.number,\n underLabelStrokeColor: T.string,\n};\n\nexport default RadialContent;\n","import 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 FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport VizStyleWrapper from '../../common/components/VizStyleWrapper';\nimport { TrellisTitle, TRELLIS_TITLE_HEIGHT } from '../../common/components/TrellisTitle';\nimport { LAYOUT_TYPE } from '../../common/utils/layoutUtils';\nimport RadialLayout from './RadialLayout';\nimport {\n computeColors,\n computeSingleValueRadialContent,\n shouldShowTrend,\n handleValueClickCallback,\n} from '../../common/utils/singleValueUtils';\nimport {\n getRadialGraphDimensions,\n getRadialHelperDimensions,\n getRadialProgress,\n getRadialStrokeWidth,\n getRadialColors,\n} from './utils/displayUtils';\n\nconst Container = styled.div`\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst SingleValueRadial = ({ ...props }) => {\n const {\n width,\n height = 250,\n style,\n majorFontSize,\n majorValue,\n majorValueField,\n maxValue,\n trendValue,\n trendFontSize,\n unitPosition,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n onValueClick,\n splitByLayout,\n trellisKey = '',\n trellisSplitBy = '',\n } = props;\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 const underLabelStrokeColor = backgroundEnabled ? backgroundColor : 'transparent';\n const featureFlagContext = React.useContext(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n const trellisEnabled = isTrellisFeatureFlagOn && splitByLayout === LAYOUT_TYPE.Trellis;\n const handleValueClick = useCallback(\n ev =>\n handleValueClickCallback(\n ev,\n majorValue,\n majorValueField,\n trendValue,\n onValueClick,\n trellisEnabled,\n trellisSplitBy,\n trellisKey\n ),\n [onValueClick, majorValue, majorValueField, trendValue, trellisEnabled, trellisSplitBy, trellisKey]\n );\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n const { underLabel } = props;\n let { trendDisplay, unit } = props;\n\n // calculate radial graph dimensions, strokewidth, and major and trend content dimensions\n let { width: graphWidth, height: graphHeight } = getRadialGraphDimensions({\n width: containerWidth,\n height: containerHeight,\n });\n\n // Radial stroke width is stepped to lower value at lower sizes.\n const radialStrokeWidth = getRadialStrokeWidth(graphHeight);\n\n let { contentWidth, contentHeight } = getRadialHelperDimensions({\n height: graphHeight - radialStrokeWidth / 2,\n strokeWidth: radialStrokeWidth,\n });\n\n // Subtract half of the stroke width for the exact internal radius.\n const semicircleRadius = graphHeight - radialStrokeWidth / 2;\n // If radius drops below 20px, hide the radial graph. The dependency of this variable on font size is removed, and it now only depends on semicircle radius.\n const showRadialGraph = semicircleRadius >= 20;\n\n // If not showing the radial graph, then can forgo padding logic and use original container dimensions for content sizing computation.\n if (!showRadialGraph) {\n graphWidth = containerWidth;\n contentWidth = containerWidth;\n graphHeight = containerHeight;\n contentHeight = containerHeight;\n }\n\n const {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n } = computeSingleValueRadialContent({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n contentWidth,\n contentHeight, // buffer for height of div\n containerWidth: containerWidth * 0.9,\n containerHeight: containerHeight * 0.9,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n smallViz: !showRadialGraph,\n });\n\n if (!isEmpty(smallVizProps)) {\n ({ trendDisplay, unit } = smallVizProps);\n }\n\n // calculate radial progress\n const progress = getRadialProgress(majorValue, maxValue);\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 unit={unit}\n unitPosition={unitPosition}\n underLabelColor={underLabelColor}\n underLabel={underLabel}\n onValueClick={handleValueClick}\n showRadialGraph={showRadialGraph}\n progress={progress}\n radialBackgroundColor={radialBackgroundColor}\n radialStrokeColor={radialStrokeColor}\n radialStrokeWidth={radialStrokeWidth}\n graphWidth={graphWidth}\n graphHeight={graphHeight}\n underLabelStrokeColor={underLabelStrokeColor}\n />\n </VizStyleWrapper>\n );\n };\n if (trellisEnabled) {\n return (\n <>\n <TrellisTitle\n fontColor={defaultColors.defaultFontColor}\n backgroundColor={backgroundColor}\n trellisKey={trellisKey}\n />\n <Container width={width} height={height - TRELLIS_TITLE_HEIGHT}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </Container>\n </>\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 maxValue: 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 splitByLayout: T.string,\n trellisKey: T.string,\n trellisSplitBy: T.string,\n};\n\nSingleValueRadial.defaultProps = {\n width: '100%',\n height: 250,\n majorValue: 'N/A',\n majorValueField: '',\n maxValue: 100,\n trendDisplay: 'absolute',\n trendIndicatorPosition: 'standard',\n shouldAbbreviateTrendValue: false,\n unitPosition: 'after',\n numberPrecision: 0,\n shouldUseThousandSeparators: true,\n onValueClick: () => {},\n trellisKey: '',\n trellisSplitBy: '',\n};\n\nexport default withTheme(SingleValueRadial);\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/visualizations-shared/domUtils\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","export enum LAYOUT_TYPE {\n Off = 'off',\n Trellis = 'trellis',\n}\n","module.exports = require(\"@splunk/themes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import styled from 'styled-components';\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\nexport default VizStyleWrapper;\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","import * as React from 'react';\nimport styled from 'styled-components';\n\nexport const TRELLIS_TITLE_HEIGHT = 28;\n\nconst TrellisTitleText = styled.div`\n margin-left: 10px;\n margin-right: 10px;\n padding-top: 8px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n`;\n\nconst TrellisTitleDiv = styled.div<{ fontColor: string; backgroundColor: string }>`\n height: ${TRELLIS_TITLE_HEIGHT}px;\n font-size: 14px;\n font-weight: 700;\n color: ${props => props.fontColor};\n background-color: ${props => props.backgroundColor};\n box-shadow: 0 1px ${props => props.backgroundColor}; // this is added to avoid a 1px gap between title and viz divs that showed up intermittently because of pixel rounding error in chrome.\n`;\n\ninterface TrellisTitleProps {\n fontColor: string;\n backgroundColor: string;\n trellisKey: unknown;\n}\n\nexport const TrellisTitle = (props: TrellisTitleProps) => {\n const titleText = String(props.trellisKey).toString();\n return (\n <TrellisTitleDiv\n fontColor={props.fontColor}\n backgroundColor={props.backgroundColor}\n data-test=\"trellis-title\"\n title={titleText}\n >\n <TrellisTitleText>{titleText}</TrellisTitleText>\n </TrellisTitleDiv>\n );\n};\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport ArrowUp from '@splunk/react-icons/ArrowUp';\nimport ArrowDown from '@splunk/react-icons/ArrowDown';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: ${props => props.justify || 'flex-end'};\n height: ${props => props.size || 12}px;\n ${props => (props.size ? `margin: 0 ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: ${props => props.size || 12}px;\n display: flex;\n align-self: baseline;\n ${props => (props.size ? `margin-left: ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst SingleValueContent = ({ fontSize, color, value, text }) => {\n let TrendIndicator = false;\n\n if (parseFloat(value, 10) > 0) {\n TrendIndicator = ArrowUp;\n } else if (parseFloat(value, 10) < 0) {\n TrendIndicator = ArrowDown;\n }\n\n return (\n <Column justify=\"flex-end\" size={fontSize}>\n <Text data-test=\"trendValueIndicator\" size={fontSize} color={color}>\n {TrendIndicator && <TrendIndicator />}\n </Text>\n <Text data-test=\"trendValue\" size={fontSize} color={color}>\n {`${text}`}\n </Text>\n </Column>\n );\n};\n\nSingleValueContent.propTypes = {\n fontSize: T.number,\n color: T.string,\n value: T.oneOfType([T.string, T.number]),\n text: T.string,\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport cssesc from 'cssesc';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n justify-content: left;\n height: ${props => props.size}px;\n line-height: ${props => props.size}px;\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n height: 100%;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color};\n font-family: ${DEFAULT_FONT_FAMILY};\n font-weight: bold;\n &:hover {\n text-decoration: ${props => (props.showUnderline ? 'underline' : 'inherit')};\n cursor: ${props => (props.showUnderline ? 'pointer' : 'inherit')};\n }\n ${props => {\n if (!props.pseudoContent || !props.pseudoContentPosition) {\n return '';\n }\n return `&:${props.pseudoContentPosition} {\n // by default this pseudo element would inherit text-decoration from main element\n // and text-decoration could not be overwritten.\n // adding display: inline-block makes text decoration independent from main element.\n // => the unit will not be underlined if a user hovers over the main value\n display: inline-block;\n font-size: ${props.pseudoContentFontSize}px;\n position: relative;\n font-weight: normal;\n content: ${props.pseudoContent};\n }`;\n }}\n`;\n\nconst validUnitPositions = ['before', 'after'];\n\nconst SingleValueContent = ({ color, fontSize, unitPosition, title, value, onValueClick, unit }) => {\n let sanitizedUnit;\n let sanitizedUnitPosition;\n\n if (typeof unit === 'string') {\n sanitizedUnit = cssesc(unit, { wrap: true, quotes: 'double' });\n if (typeof unitPosition === 'string' && validUnitPositions.includes(unitPosition)) {\n sanitizedUnitPosition = unitPosition;\n } else {\n sanitizedUnitPosition = 'after';\n }\n }\n\n const handleKeyDown = e => {\n if (e.keyCode !== 13) {\n return;\n }\n e.preventDefault();\n onValueClick(e);\n };\n\n return (\n <Row size={fontSize}>\n <Text\n data-test=\"majorValue\"\n color={color}\n onClick={e => typeof onValueClick === 'function' && onValueClick(e)}\n showUnderline={!!onValueClick}\n size={fontSize}\n title={title}\n pseudoContent={sanitizedUnit}\n pseudoContentPosition={sanitizedUnitPosition}\n pseudoContentFontSize={fontSize * 0.6}\n tabIndex=\"0\"\n role=\"button\"\n onKeyDown={handleKeyDown}\n >\n {value}\n </Text>\n </Row>\n );\n};\n\nSingleValueContent.propTypes = {\n color: T.string,\n fontSize: T.number,\n unit: T.string,\n unitPosition: T.oneOf(validUnitPositions),\n value: T.oneOfType([T.string, T.number]),\n title: T.oneOfType([T.string, T.number]),\n onValueClick: T.oneOfType([T.bool, T.func]),\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\nimport TrendValue from './TrendValue';\nimport MajorValue from './MajorValue';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: column;\n align-self: center;\n justify-content: center;\n`;\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: ${props => props.align || 'center'};\n justify-content: center;\n`;\n\nconst Text = styled.div`\n font-weight: normal;\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: 1.2;\n`;\n\nconst SingleValueBasic = ({ ...props }) => {\n const {\n majorColor,\n majorTextFontSize,\n majorText,\n majorValueTitle,\n trendColor,\n trendTextFontSize,\n trendText,\n showTrendIndicator,\n unit,\n unitPosition,\n underLabel,\n underLabelFontSize,\n underLabelColor,\n onValueClick,\n } = props;\n const trendIndicatorEnabled = trendText !== '' && showTrendIndicator;\n\n return (\n <Column>\n <Row align=\"baseline\">\n <MajorValue\n data-test=\"MajorValue\"\n color={majorColor}\n fontSize={majorTextFontSize}\n unit={unit}\n unitPosition={unitPosition}\n value={majorText}\n title={majorValueTitle}\n onValueClick={onValueClick}\n />\n {trendIndicatorEnabled && (\n // Passing the same value for value and text is a temporary hold until completion of https://jira.splunk.com/browse/SCP-21371\n <TrendValue\n data-test=\"TrendIndicator\"\n fontSize={trendTextFontSize}\n color={trendColor}\n value={trendText}\n text={trendText}\n />\n )}\n </Row>\n {underLabel && (\n <Row justify=\"center\">\n <Text data-test=\"underLabel\" size={underLabelFontSize} color={underLabelColor}>\n {underLabel}\n </Text>\n </Row>\n )}\n </Column>\n );\n};\n\nSingleValueBasic.propTypes = {\n majorText: T.string,\n majorColor: T.string,\n majorTextFontSize: T.number,\n majorValueTitle: T.string,\n trendText: T.string,\n trendTextFontSize: T.number,\n trendColor: T.string,\n showTrendIndicator: T.bool,\n unit: T.string,\n unitPosition: T.oneOf(['before', 'after']),\n underLabel: T.string,\n underLabelFontSize: T.number,\n underLabelColor: T.string,\n onValueClick: T.oneOfType([T.bool, T.func]),\n};\n\nexport const SingleValueTrendValue = TrendValue;\nexport default SingleValueBasic;\n","module.exports = require(\"@splunk/visualizations-shared/trellisUtils\");","module.exports = require(\"lodash/pick\");","module.exports = require(\"lodash/isEmpty\");","module.exports = require(\"@splunk/react-icons/ArrowUp\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/react-icons/ArrowDown\");","module.exports = require(\"cssesc\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticBackgroundColorEditor = {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.backgroundColor),\n};\n\nexport default StaticBackgroundColorEditor;\n","module.exports = require(\"@splunk/react-ui/Paginator\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicMajorColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Major value'),\n option: 'majorColor',\n context: 'majorColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.majorColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: major value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n majorValue: defaultContext.majorColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n majorValue: defaultContext.majorColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Major value'),\n value: 'majorValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicTrendColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Trend value'),\n option: 'trendColor',\n context: 'trendColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.trendColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: trend value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n trendValue: defaultContext.trendColorConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Trend value'),\n value: 'trendValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicBackgroundColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Background'),\n option: 'backgroundColor',\n context: 'backgroundColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.backgroundColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: background'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n majorValue: defaultContext.majorColorConfig,\n trendValue: defaultContext.trendColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n majorValue: defaultContext.majorColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Major Value'),\n value: 'majorValue',\n },\n {\n label: _('Trend'),\n value: 'trendValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\n\nconst StaticMajorAndTrendLayout = [\n [\n {\n label: 'Unit position', // todo: we need a new editor combining unit and position\n option: 'unitPosition',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n {\n label: _('Unit label'),\n option: 'unit',\n editor: 'editor.text',\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'numberPrecision',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n max: 20,\n },\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n ],\n];\n\nexport default StaticMajorAndTrendLayout;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticMajorColorEditor = {\n label: _('Major value'),\n option: 'majorColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.majorColor),\n};\n\nexport default StaticMajorColorEditor;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/themes/variables\"","webpack:///./src/common/editorConfig/StaticTrendColorEditor.js","webpack:///./src/common/editorConfig/TrellisEditors.ts","webpack:///./src/common/hocs/withTrellis.tsx","webpack:///./src/common/utils/trellisUtils.ts","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualization-context/FeatureFlagContext\"","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/themes/pick\"","webpack:///./src/common/utils/singleValueUtils.js","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///external \"@splunk/ui-utils/id\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/async-dynamic-options-evaluator\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/SingleValueRadial/SingleValueRadial.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///./src/SingleValueRadial/config.ts","webpack:///./src/common/editorConfig/RadialBackgroundColor.ts","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///./src/SingleValueRadial/PureSingleValueRadial/RadialGraph.jsx","webpack:///./src/SingleValueRadial/PureSingleValueRadial/utils/displayUtils.js","webpack:///./src/SingleValueRadial/PureSingleValueRadial/RadialLayout.jsx","webpack:///./src/SingleValueRadial/PureSingleValueRadial/SingleValueRadial.jsx","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///external \"@splunk/visualizations-shared/domUtils\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///./src/common/utils/layoutUtils.ts","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/components/VizStyleWrapper.jsx","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/common/components/TrellisTitle.tsx","webpack:///./src/SingleValueBasic/TrendValue.jsx","webpack:///./src/SingleValueBasic/MajorValue.jsx","webpack:///./src/SingleValueBasic/SingleValueBasic.jsx","webpack:///external \"@splunk/visualizations-shared/trellisUtils\"","webpack:///external \"lodash/pick\"","webpack:///external \"lodash/isEmpty\"","webpack:///external \"@splunk/react-icons/enterprise/ArrowUp\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/react-icons/enterprise/ArrowDown\"","webpack:///external \"cssesc\"","webpack:///./src/common/editorConfig/StaticBackgroundColorEditor.js","webpack:///external \"@splunk/react-ui/Paginator\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///./src/common/editorConfig/DynamicMajorColorEditor.js","webpack:///./src/common/editorConfig/DynamicTrendColorEditor.js","webpack:///./src/common/editorConfig/DynamicBackgroundColorEditor.js","webpack:///./src/common/editorConfig/StaticMajorAndTrendLayout.js","webpack:///./src/common/editorConfig/StaticMajorColorEditor.js"],"names":["StaticTrendColorEditor","label","_","option","editor","showEditor","_ref","options","isDynamicOption","trendColor","isDisabled","_ref2","trendDisplay","React","require","i18n_1","FeatureFlagContext_1","layoutUtils_1","exports","TrellisEditorConfig","featureFlagContext","useContext","default","isTrellisFeatureFlagOn","Boolean","visualizations_enableTrellis","editorProps","dataSourceKey","splitByLayout","LAYOUT_TYPE","Trellis","min","placeholder","_ref3","_ref4","_ref5","TrellisBackgroundColorEditor","_ref6","react_1","lodash_1","styled_components_1","Paginator_1","themes_1","useSplunkTheme_1","SizeAwareWrapper_1","style_1","Message_1","trellisUtils_1","hocUtils_1","JSONSchemaUtils_1","Options_1","trellisUtils_2","TrellisContainer","div","withConfig","displayName","componentId","props","backgroundColor","toDimension","pick","TrellisContainerGrid","concat","height","colCount","colMinWidth","rowHeight","showErrorMessage","errorCode","width","createElement","message","level","withTrellis","Viz","VizWithTrellis","opts","_opts$options","otherProps","__rest","defaultOptions","pickFieldFromJSONSchema","config","optionsSchema","mergedOptions","deepMergeWithArrayPrimitiveOverrides","trellisColumns","trellisPageCount","trellisMinColumnWidth","trellisRowHeight","trellisSplitBy","pageCount","_react_1$useState","useState","_react_1$useState2","_slicedToArray","pageNum","setPageNum","_react_1$useState3","_react_1$useState4","pagedData","setPagedData","splitByKeys","totalPages","showPaginator","dataSources","theme","splunkThemeV1","_themes_1$getSettings","getSettingsFromThemedProps","currentThemeFamily","family","currentThemeColorScheme","colorScheme","currentThemeDensity","density","trellisBackgroundColor","useMemo","themeFunc","themeVar","_b","_a","themes","call","evaluated","Options","evaluate","context","columns","get","undefined","fields","noColumns","noFields","updateDataDisplay","currPage","startIdx","paged","slice","useEffect","handlePageChange","useCallback","event","page","Object","assign","currTrellisSplitBy","length","splitByPossibleFields","getAllPossibleSplitByFields","AGGREGATIONS","splitMode","getTrellisDataSplitterMode","dataSplitResult","getTrellisDataSourcesBySplitMode","modifiedDataSourceBySplitBy","splitDataSources","dataSplitErrorCode","keys","splitByKeysModified","Math","ceil","map","splitByKey","idx","className","key","toString","childWidth","_ref2$childHeight","childHeight","trellisKey","onChange","current","alwaysShowLastPageLink","propTypes","proptypes","defaultProps","dataSourcesSplitByAggregationsUnknown","dataSource","primary","data","_d","_c","i","fieldName","name","startsWith","cloneDeep","omit","dataSourcesSplitByAggregationsTimechartAndChart","splitByFields","extractDataSourceAggregationKeysChart","forEach","splitByField","field","data_source","push","dataSourcesSplitByAggregationsStats","extractDataSourceAggregationKeysStats","findIndex","dataSourcesSplitByModeTimechart","splitBy","extractSplitByFieldsChartFields","indexOf","dataSourceKeys","valueKeys","_e","splitby_value","val","_toConsumableArray","k","dsKey","dataSourcesSplitByModeChart","splitByFieldIdx","f","otherSplitBy","filter","nonDataSourceAggregations","groupby_rank","columnValues","_loop","dskey","dsIndx","mul","aggregationField","fieldIdx","dataSourcesSplitByModeStatsorUnknown","UNKNOWN","extractSplitByFieldsForStats","extractSplitByFieldsForUnknown","splitByIndex","splitByColumn","_f","cloneFields","splice","valIndices","col","newCol","valIdx","result","TIMECHART","STATS","CHART","ex","console","error","colorUtils_1","Item","attrs","style","toPx","isColor","defaultBackgroundColor","FixSizeItem","ItemContent","FixSizeItemContent","withFixedSizeContainer","FixedSizeContainer","__VISION_VERSION__","newWidth","newHeight","extendStaticWrapperProps","Wrapper","Visualization","extendProperties","prop","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","enhancedOptionsSchema","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","annotations","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","VizBehavior","DYNAMIC_OPTIONS","editorConfig","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","trim","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","generatePrecisionValues","numPrecisionValues","range","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","DEFAULT_FONT","DEFAULT_FONT_FAMILY","SVR_PADDING","top","bottom","left","right","shouldShowTrend","isLoadingOrNoColumns","loading","getFormattedColor","color","defaultColor","formatColor","hasBackground","isIdenticalColor","colorA","colorB","toLowerCase","getDefaultColorWithBg","defaultFontColor","defaultBlockFontColor","getMajorColor","majorColor","getTrendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","isNaN","isInvalidTrend","parseFloat","DELTA_GREEN","DELTA_RED","computeColors","backgroundEnabled","underLabelColor","computeText","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","isNumerial","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","getTrendText","compute","showPercent","diff","abs","round","isFinite","computeFontSize","_ref7","fontFamily","fontWeight","widthInDefaultFont","computeTextSize","fontSize","parseInt","getMajorFontSize","_ref8","unit","majorText","_ref8$spaceRatio","spaceRatio","majorTextCalc","getTrendFontSize","_ref9","trendText","_ref9$spaceRatio","trendFontSize","getUnderLabelHeight","getUnderLabel","_ref10","underLabel","getMajorAndTrend","_ref11","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","_ref12","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","_objectSpread","truncateValue","updatedProps","computeSingleValueContent","_ref13","contentWidth","contentHeight","containerWidth","containerHeight","_getMajorAndTrend","majorValueTitle","smallVizProps","_updateVizInSmallSpac","minimallyTruncateStringToWidth","_ref14","_ref14$fontSize","_ref14$fontFamily","_ref14$fontWeight","textWidth","modifiedText","ellipsesLength","substring","computeSingleValueRadialContent","_ref15","smallViz","_getMajorAndTrend2","_getMajorAndTrend3","getGraphColors","_ref16","customColorFormatter","none","adjustRGB","rgb","delta","changeColor","ratio","hex","replace","r","substr","g","b","newR","max","floor","newG","newB","padStart","lighten","darken","handleValueClickCallback","ev","majorValueField","onValueClick","trellisEnabled","trellisSplityBy","payload","T","FixedSizeContainer_1","shouldShowIconPlaceholder","noData","icon","func","oneOfType","string","number","iconColor","IconPlaceholder","opacity","position","transform","DataSource_1","SortParamsPropTypes","shape","currentSortKey","currentSortDir","oneOf","validSortDirs","onSort","getSortingParams","requestParams","onRequestParamsChange","nextSortDirMap","asc","desc","has","sort","shift","e","sortKey","sortDir","nextSortDir","offset","PaginatorParamsPropTypes","isPaging","bool","getPaginationParams","meta","totalCount","count","onChangeHandler","countArg","newParams","noop","VizCategory","getSettingsFromThemedProps_1","SanitizeProps_1","TimezoneContext_1","moment_1","async_dynamic_options_evaluator_1","id_1","SplunkVisualization_1","getSorting_1","getPagination_1","useDeepMemo_1","MissingPropsMessage_1","withEditModeCover_1","withPlaceholder_1","withDashboardViz","ReactViz","_opts$computeVizProps","computeVizProps","disableEditModeCover","useIconPlaceholder","SanitizedReactViz","withSanitizedProps","DashboardViz","mode","hasEventHandlers","_props$context","onComputedProps","onEventTrigger","_React$useContext","serializedTimezone","getDefaultSplunkTimezone","setDefaultSplunkTimezone","bgColorFromTheme","_getSettingsFromTheme","evaluatedOptions","_React$useState","_React$useState2","evaluatedOptionsAsync","setEvaluatedOptionsAsync","_React$useState3","createGUID","_React$useState4","visualizationID","_React$useState5","_React$useState6","dataSourcesInState","setDataSourcesInState","_React$useState7","_React$useState8","dataFramesInState","setDataFramesInState","_React$useState9","visualizations_useWebWorkersForDSL","Worker","_React$useState10","useAsyncEvaluatedOptions","setUseAsyncEvaluatedOptions","useDeepMemo","optionsToEvaluate","defaultsDeep","defaultContext","asyncDynamicOptionsEvaluatorParams","then","results","catch","dataFrames","dataFrameFromDataSource","evaluatedOptionsToUse","clonedEvaluatedOptions","includes","TRELLIS","reset","_vizConfig$requiredPr","requiredProps","missing","missingKeys","PLACEHOLDER","missingProps","eventCallbackProps","EVENTS","supportedEvents","events","eventName","eventCallbackPropName","camelCase","payloadKeys","isArray","p","originalEvent","computedVizProps","dataSourceMetadata","OptionKey","paginateDataSourceKey","PAGE_AND_SORT","handleRequestParamsChange","sortParams","paginatorParams","withTheme","VizActionHandler_1","INITIAL_WIDTH","INITIAL_HEIGHT","SplunkVisualization","_classCallCheck","isRequired","object","onOptionsChange","objectOf","array","vizActionHandlerRef","DefaultVizActionHandler","_createClass","focus","snapshot","fn","dependencies","ref","useRef","isEqual","isMissing","v","target","arrayOf","MissingPropsMessage","join","Cover","Blocker","withEditModeCover","showEditCover","SingleValueRadial_1","withDashboardViz_1","config_1","withTrellis_1","PureSingleValueRadial","PureSingleValueRadialThemes","viz","variables_1","IconPlaceholder_1","withPlaceholder","showPlaceholder","placeholderIcon","contentColorActive","pick_1","PresetPalettes_1","visualization_icons_1","placeholders_1","StaticMajorAndTrendLayout_1","configUtils_1","VizCategory_1","DynamicMajorColorEditor_1","DynamicTrendColorEditor_1","DynamicBackgroundColorEditor_1","StaticMajorColorEditor_1","StaticTrendColorEditor_1","StaticBackgroundColorEditor_1","RadialBackgroundColor_1","TrellisEditors_1","dataContract","requiredDataSources","optionalDataSources","initialRequestParams","size","initialWidth","initialHeight","trendColorConfig","to","from","majorColorConfig","majorColorMatchConfig","match","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","maxValue","maximum","minimum","radialBackgroundColor","radialStrokeColor","getPattern","Off","enum","unitPosition","basePresetContext","majorColorEditorConfig","trendColorEditorConfig","backgroundColorEditorConfig","basePresetOptions","enterprise","dark","white","light","black","prisma","backgroundColorSidebar","defaultRadialBackgroundColor","interactiveColorBackgroundDisabled","prepareValue","definition","baseSPL","values","showValue","initialPreset","getDynamicMajorColorEditor","defaultPalettesConfig","getDynamicTrendColorEditor","getDynamicBackgroundColorEditor","category","SINGLE_VALUE","SingleValueRadial","radialBackground","labelPosition","RadialGraph","progress","strokeWidth","_ref$backgroundColor","RADIAL_BACKGROUND_COLOR","_ref$progressColor","progressColor","RADIAL_STROKE_COLOR","_ref$width","_ref$height","semicircleRadius","circumference","PI","bgCircleOffset","progress50","progressWidth","strokeDashoffset","stroke","fill","strokeDasharray","cx","cy","VALID_TREND_POSITIONS","MAJOR_FONT_THRESHOLD","TREND_FONT_THRESHOLD","DEFAULT_RADIAL_STROKE_WIDTH","SMALL_RADIAL_STROKE_WIDTH","getRadialColors","RADIAL_SEVERITY_COLORS","background","getRadialGraphDimensions","radius","getRadialHelperDimensions","_ref3$strokeWidth","innerArcRadius","halfContentWidth","sqrt","pow","helperArcRadius","getValueContentSize","graphSize","radialStrokeWidth","diameter","getRadialStrokeWidth","graphHeight","isValidPosition","showTrendPositionStandard","showTrendIndicator","showTrendPositionBelow","showTrendPositionOutside","getRadialProgress","TextContainer","styled","align","lineHeight","marginLeft","margin","GraphContainer","UnderLabelContainer","underLabelHeight","UnderLabelText","span","strokeColor","maxWidth","RadialContent","_extends","showRadialGraph","graphWidth","underLabelStrokeColor","_getRadialHelperDimen","fillVacantSpace","underLabelWidth","basicSingleValues","SingleValueBasic","radialGraph","underLabelComponent","trendPosition","Container","_props$height","_props$trellisKey","_props$trellisSplitBy","pickFromTheme","variables","textColor","gray20","_computeColors","radialColors","FeatureFlagContext","handleValueClick","renderVisualization","_getRadialGraphDimens","_computeSingleValueRa","isEmpty","VizStyleWrapper","dataTestKey","RadialLayout","Fragment","TrellisTitle","fontColor","TRELLIS_TITLE_HEIGHT","SizeAwareWrapper","containerDimension","trendIndicatorPosition","TrellisTitleText","TrellisTitleDiv","titleText","String","Column","justify","Text","SingleValueContent","TrendIndicator","ArrowUp","ArrowDown","Row","showUnderline","pseudoContent","pseudoContentPosition","pseudoContentFontSize","validUnitPositions","sanitizedUnit","sanitizedUnitPosition","cssesc","wrap","quotes","handleKeyDown","keyCode","preventDefault","onClick","tabIndex","role","onKeyDown","underLabelFontSize","trendIndicatorEnabled","MajorValue","TrendValue","SingleValueTrendValue","StaticBackgroundColorEditor","flyoutTitle","formatters","defaults","dataSelectors","StaticMajorAndTrendLayout","StaticMajorColorEditor"],"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 = 469);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticTrendColorEditor = {\n label: _('Trend value'),\n option: 'trendColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.trendColor),\n isDisabled: ({ options }) => options.trendDisplay === 'off',\n};\n\nexport default StaticTrendColorEditor;\n","import * as React from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { LAYOUT_TYPE } from '../utils/layoutUtils';\n\n/* eslint-disable react-hooks/rules-of-hooks */\nexport const TrellisEditorConfig = [\n [\n {\n label: _('Trellis layout'),\n option: 'splitByLayout',\n editor: 'editor.toggle',\n showEditor: (): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn;\n },\n },\n ],\n [\n {\n label: _('Split by'),\n option: 'trellisSplitBy',\n editor: 'editor.trellisSplitBy',\n editorProps: {\n dataSourceKey: 'primary',\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n [\n {\n label: _('Number of columns'),\n option: 'trellisColumns',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n placeholder: _('Auto'),\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n [\n {\n label: _('Min column width'),\n option: 'trellisMinColumnWidth',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n {\n label: _('Row height'),\n option: 'trellisRowHeight',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n [\n {\n label: _('Max number of components per page'),\n option: 'trellisPageCount',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n },\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n },\n ],\n];\n\nexport const TrellisBackgroundColorEditor = {\n label: _('Trellis background'),\n option: 'trellisBackgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }): boolean => {\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n return isTrellisFeatureFlagOn && options.splitByLayout === LAYOUT_TYPE.Trellis;\n },\n};\n","import * as React from 'react';\nimport { useState, useEffect, useCallback, useMemo } from 'react';\nimport { get, pick } from 'lodash';\nimport styled from 'styled-components';\nimport Paginator from '@splunk/react-ui/Paginator';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { getSettingsFromThemedProps } from '@splunk/themes';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport Message from '@splunk/visualizations-shared/Message';\nimport {\n getTrellisDataSplitterMode,\n getAllPossibleSplitByFields,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { Options } from '@splunk/visualization-encoding/Options';\nimport { DataSource } from '../interfaces/DataSource';\nimport { KV } from '../interfaces/Object';\nimport { AGGREGATIONS, getTrellisDataSourcesBySplitMode } from '../utils/trellisUtils';\nimport { LAYOUT_TYPE } from '../utils/layoutUtils';\n\nconst TrellisContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n}>`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n > [data-test='paginator'] {\n align-self: flex-end;\n margin-bottom: 10px;\n }\n`;\n\nconst TrellisContainerGrid = styled.div<{\n height: number;\n colCount: number;\n colMinWidth: number;\n rowHeight: number;\n}>`\n display: grid;\n height: ${props => {\n return `${props.height}px`;\n }};\n gap: 10px 10px;\n grid-template-columns: ${props => {\n return props.colCount\n ? `repeat(${props.colCount}, minmax(${props.colMinWidth}px, 1fr))`\n : `repeat(auto-fit, minmax(${props.colMinWidth}px, 1fr))`;\n }};\n overflow: auto;\n justify-items: stretch;\n grid-auto-rows: ${props => `${props.rowHeight}px`};\n .child {\n height: ${props => `${props.rowHeight}px`};\n }\n`;\n\nconst showErrorMessage = (\n errorCode: string,\n width: string | number,\n height: string | number\n): JSX.Element => {\n if (errorCode === 'INVALID_SPLIT_BY_FIELD') {\n return (\n <Message\n width={width}\n height={height}\n message={_('Select a valid trellis split by field')}\n level=\"info\"\n />\n );\n }\n if (errorCode === 'UNKNOWN_DATA_SPLIT_MODE') {\n return <Message width={width} height={height} message={_('Unknown data split mode')} level=\"info\" />;\n }\n return <Message width={width} height={height} message={_('Error render in trellis')} level=\"info\" />;\n};\n\ninterface VizWithTrellisProps {\n options?: KV;\n dataSources: { [name: string]: DataSource };\n height: number | string;\n width: number | string;\n theme?: unknown;\n}\n\nconst withTrellis = Viz => {\n const VizWithTrellis = (opts: VizWithTrellisProps): JSX.Element => {\n const { options = {}, height, width, ...otherProps } = opts;\n const defaultOptions = pickFieldFromJSONSchema(Viz.config.optionsSchema, 'default');\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions);\n const {\n trellisColumns,\n trellisPageCount,\n trellisMinColumnWidth,\n trellisRowHeight,\n splitByLayout,\n trellisSplitBy,\n } = mergedOptions;\n const colCount = trellisColumns > 0 ? trellisColumns : defaultOptions.trellisColumns;\n const pageCount = +trellisPageCount > 0 ? +trellisPageCount : defaultOptions.trellisPageCount;\n const colMinWidth =\n trellisMinColumnWidth > 0 ? trellisMinColumnWidth : defaultOptions.trellisMinColumnWidth;\n const rowHeight = trellisRowHeight > 0 ? trellisRowHeight : defaultOptions.trellisRowHeight;\n const [pageNum, setPageNum] = useState(1);\n const [pagedData, setPagedData] = useState(null);\n let splitByKeys = [];\n let totalPages = 0;\n let showPaginator = false;\n const { dataSources } = otherProps;\n const theme = {\n splunkThemeV1: useSplunkTheme(),\n };\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n const trellisBackgroundColor = useMemo(() => {\n const themeFunc = themeVar =>\n Viz.config.themes[themeVar]?.({\n trellisBackgroundColor: mergedOptions.trellisBackgroundColor,\n theme,\n });\n // trellisBackgroundColor option supports only static coloring and DSL option evaluation derived from the themes level only.\n const evaluated = Options.evaluate(\n {\n context: Viz.config.context,\n options: { trellisBackgroundColor: mergedOptions.trellisBackgroundColor },\n },\n {},\n themeFunc\n );\n\n return evaluated.trellisBackgroundColor;\n }, [\n mergedOptions.trellisBackgroundColor,\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n ]);\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const fields = get(dataSources, 'primary.data.fields', undefined);\n const noColumns = columns === undefined;\n const noFields = fields === undefined;\n const updateDataDisplay = currPage => {\n if (!showPaginator) {\n setPagedData(splitByKeys);\n setPageNum(1);\n } else {\n const startIdx = pageCount * (currPage - 1);\n const paged = splitByKeys.slice(startIdx, startIdx + pageCount);\n setPagedData(paged);\n }\n };\n useEffect(() => {\n setPageNum(1);\n updateDataDisplay(1);\n }, [pageCount, trellisSplitBy]);\n\n useEffect(() => {\n updateDataDisplay(pageNum);\n }, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);\n\n const handlePageChange = useCallback(\n (event, { page }) => {\n setPageNum(page);\n },\n [pageNum, pagedData]\n );\n\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n\n if (!isTrellisFeatureFlagOn || !splitByLayout || splitByLayout !== LAYOUT_TYPE.Trellis) {\n return <Viz {...opts} />;\n }\n\n if (splitByLayout === LAYOUT_TYPE.Trellis) {\n if (noColumns || noFields) {\n return <Message width={width} height={height} message={_('Loading')} level=\"info\" />;\n }\n\n // If no trellisSplitBy value is passed in, assign default trellisSplitBy\n // The default value will be the first value in the individual splitBy field list or 'aggregations'\n let currTrellisSplitBy = trellisSplitBy;\n if (!trellisSplitBy || trellisSplitBy.length === 0) {\n const splitByPossibleFields = getAllPossibleSplitByFields(fields);\n currTrellisSplitBy =\n splitByPossibleFields.fields && splitByPossibleFields.fields.length\n ? splitByPossibleFields.fields[0]\n : AGGREGATIONS;\n }\n const splitMode = getTrellisDataSplitterMode(fields);\n const dataSplitResult = getTrellisDataSourcesBySplitMode(\n splitMode,\n dataSources,\n currTrellisSplitBy\n );\n const modifiedDataSourceBySplitBy = dataSplitResult?.splitDataSources;\n const dataSplitErrorCode = dataSplitResult?.errorCode;\n if (\n !modifiedDataSourceBySplitBy ||\n Object.keys(modifiedDataSourceBySplitBy).length === 0 ||\n dataSplitErrorCode\n ) {\n return showErrorMessage(dataSplitErrorCode, width, height);\n }\n\n const splitByKeysModified = modifiedDataSourceBySplitBy\n ? Object.keys(modifiedDataSourceBySplitBy)\n : [];\n if (splitByKeysModified) {\n showPaginator = splitByKeysModified.length > pageCount;\n splitByKeys = splitByKeysModified;\n totalPages = splitByKeysModified ? Math.ceil(splitByKeysModified.length / pageCount) : 0;\n }\n return (\n <TrellisContainer height={height} width={width} backgroundColor={trellisBackgroundColor}>\n <TrellisContainerGrid\n height={height as number}\n colCount={colCount}\n colMinWidth={colMinWidth}\n rowHeight={rowHeight}\n >\n {pagedData &&\n pagedData.map((splitByKey, idx) => (\n <div\n className=\"child\"\n data-test=\"trellis-child\"\n key={`div-child-${idx.toString()}`}\n >\n <SizeAwareWrapper>\n {({ childWidth, childHeight = rowHeight }) => {\n return (\n <Viz\n {...otherProps}\n trellisKey={splitByKey}\n trellisSplitBy={currTrellisSplitBy}\n dataSources={modifiedDataSourceBySplitBy[splitByKey]}\n options={options}\n key={`viz-${idx.toString()}`}\n height={childHeight}\n width={childWidth}\n />\n );\n }}\n </SizeAwareWrapper>\n </div>\n ))}\n </TrellisContainerGrid>\n {showPaginator && totalPages >= pageNum && (\n <Paginator\n onChange={handlePageChange}\n current={pageNum}\n alwaysShowLastPageLink\n totalPages={totalPages}\n />\n )}\n </TrellisContainer>\n );\n }\n return null;\n };\n VizWithTrellis.propTypes = Viz.proptypes;\n VizWithTrellis.defaultProps = Viz.defaultProps;\n VizWithTrellis.config = Viz.config;\n return VizWithTrellis;\n};\n\nexport default withTrellis;\n","import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields && fields.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysChart(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysStats(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields as FieldEntry[]);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: fields[0].name },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)\n For example :-\n index=_internal | chart count by status\n index = \"_internal\" | chart max(count) avg(count) by status\n index = \"_internal\" | stats max(count) avg(count) by status\n where field meta info is in this format - \n \"fields\": [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"max(count)\"\n },\n {\n \"name\": \"avg(count)\"\n }\n ]\n */\n\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n // if splitBy is the first field, split row wise\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }]; // there can only be one otherSplitBy for chart cmd\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n /**\n * There can be chart SPL cmd where there are multiple data_source keys in the field meta info. \n * For eg - index = \"_internal\" | chart avg(count) max(count) by status , user) can result in fields and columns as below where \"data_source\" keys are \"avg(count)\" and \"max(count)\"\n * 'fields' : [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"avg(count): userA\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"avg(count): userB\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"avg(count): userC\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n {\n \"name\": \"max(count): userA\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"max(count): userB\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"max(count): userC\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n ]\n 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]\n\n In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]\n The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]\n\n For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.\n Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below. \n columnValues[0] = ['userA', 'userB', 'userC']\n columnValues[1] = ['1','10','100']\n columnValues[2] = ['5', '50', '500']\n */\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(\n fields[i].splitby_value ? fields[i].splitby_value : fields[i].name\n );\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n // There can be SPL where data_source field metainfo is not available and needs special handling\n // For eg :-\n // index=_internal | chart count by status\n // index = \"_internal\" | chart max(count) avg(count) by status\n // index = \"_internal\" | stats max(count) avg(count) by status\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n } else {\n // split column wise\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (\n field.data_source === dsKey &&\n (field.splitby_value === val || field.name === val)\n ) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields as FieldEntry[])\n : extractSplitByFieldsForUnknown(fields as FieldEntry[]);\n }\n const splitByIndex = fields?.findIndex(\n field => field === splitBy || (field as FieldEntry).name === splitBy\n );\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualization-context/FeatureFlagContext\");","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/themes/pick\");","import { get } from 'lodash';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { computeTextSize } from '@splunk/visualizations-shared/domUtils';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\nimport { DELTA_GREEN, DELTA_RED } from '@splunk/visualizations-shared/colorConstants';\n\nexport const DEFAULT_FONT = 12;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\n\nexport const SVR_PADDING = { top: 12, bottom: 12, left: 16, right: 16 };\n\n/**\n * @method shouldShowTrend\n * @param {String} trendDisplay\n * @returns {Bool}\n */\nexport const shouldShowTrend = trendDisplay => trendDisplay === 'absolute' || trendDisplay === 'percent';\n\n/**\n * @method isLoadingOrNoColumns\n * @param {Object} dataSources\n * @param {Boolean} loading\n * @returns {Boolean} return true if loading or without columns in dataSources\n */\nexport const isLoadingOrNoColumns = (dataSources, loading) => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noColumns = data === undefined;\n return loading || noColumns;\n};\n\n/**\n * Retrieve the valid formatted color\n * @method getFormattedColor\n * @param {String} color\n * @param {String} defaultColor\n * @returns {String} the formatted color\n */\nexport const getFormattedColor = (color, defaultColor) => formatColor(color) || formatColor(defaultColor);\n\n/**\n * Determines if there is a background color\n * @method hasBackground\n * @param {String} backgroundColor\n * @returns true for non-transparent background color\n */\nexport const hasBackground = backgroundColor => !!backgroundColor && backgroundColor !== 'transparent';\n\n/**\n * @method isIdenticalColor\n * @param {String} colorA\n * @param {String} colorB\n * @returns {Boolean}\n */\nexport const isIdenticalColor = (colorA, colorB) =>\n !!colorA && !!colorB && formatColor(colorA.toLowerCase()) === formatColor(colorB.toLowerCase());\n\n/*\n * @method getDefaultColorWithBg\n * @param {Object} props\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} defaultColor\n */\nexport const getDefaultColorWithBg = ({ backgroundColor, defaultFontColor, defaultBlockFontColor }) =>\n isIdenticalColor(backgroundColor, defaultBlockFontColor) ? defaultFontColor : defaultBlockFontColor;\n\n/*\n * @method getMajorColor\n * return formatted majorColor.\n * @param {Object} props\n * @param {String} props.majorColor\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} majorColor\n */\nexport const getMajorColor = ({ majorColor, backgroundColor, defaultFontColor, defaultBlockFontColor }) => {\n // If backgroundColor is set, but no majorColor,\n // the default majorColor will turn to be defaultBlockFontColor.\n // eg: major color will turn to be white in enterprise mode.\n // however, if the bgColor is the same as defaultBlockFontColor, use defaultFontColor.\n if (hasBackground(backgroundColor) && !majorColor) {\n return getDefaultColorWithBg({\n backgroundColor,\n defaultFontColor,\n defaultBlockFontColor,\n });\n }\n\n return getFormattedColor(majorColor, defaultFontColor);\n};\n\n/**\n * Get the color for the trend components\n * @method getTrendColor\n * @param {Object} props\n * @param {String} props.trendColor The trendColor value determined from encoding\n * @param {Number} props.trendValue\n * @param {Number} props.majorValue\n * @param {String} props.customizedBgColor\n * @param {String} props.trendDisplay absolute || percent || off\n * @param {Object} defaultColors\n * @returns {String} trendColor\n */\nexport const getTrendColor = ({\n trendColor,\n trendValue,\n majorValue,\n customizedBgColor,\n trendDisplay,\n defaultColors,\n}) => {\n if (trendColor) {\n return trendColor;\n }\n\n if (Number.isNaN(Number(trendValue))) {\n return undefined;\n }\n\n const { defaultFontColor, defaultBlockFontColor, defaultBackgroundColor } = defaultColors;\n\n // if user defined a backgroundColor, the default trend color will be defaultBlockFontColor\n if (\n hasBackground(customizedBgColor) &&\n !isIdenticalColor(customizedBgColor, defaultBackgroundColor) &&\n !isIdenticalColor(customizedBgColor, defaultBlockFontColor)\n ) {\n return defaultBlockFontColor;\n }\n\n // if trendDisplay is percent, and trendValue === value\n // the trend percent = trendValue / (value - trendValue) will return Infinity\n const isInvalidTrend = trendDisplay === 'percent' && trendValue === parseFloat(majorValue);\n\n if (trendValue === 0 || isInvalidTrend) {\n return defaultFontColor;\n }\n\n return trendValue > 0 ? DELTA_GREEN : DELTA_RED;\n};\n\n/**\n * Computes visualization properties for display component\n * @method computeColors\n * @param {Object} props all viz props\n * @param {Object} defaultColors defaultColors from theme\n * @returns {Object} result\n * @returns {Boolean} backgroundEnabled\n * @returns {String} backgroundColor\n * @returns {String} majorColor\n * @returns {String} trendColor\n * @returns {String} underLabelColor\n */\nexport const computeColors = (props, defaultColors) => {\n const backgroundColor = getFormattedColor(props.backgroundColor, defaultColors.defaultBackgroundColor);\n const backgroundEnabled = hasBackground(backgroundColor);\n const majorColor = getMajorColor({\n majorColor: props.majorColor,\n backgroundColor,\n defaultFontColor: defaultColors.defaultFontColor,\n defaultBlockFontColor: defaultColors.defaultBlockFontColor,\n });\n const trendColor = getTrendColor({\n trendColor: props.trendColor,\n trendValue: props.trendValue,\n majorValue: props.majorValue,\n customizedBgColor: props.backgroundColor,\n trendDisplay: props.trendDisplay,\n defaultColors,\n });\n // todo: need change it to not depend on majorColor\n const underLabelColor = backgroundEnabled ? majorColor : defaultColors.defaultFontColor;\n\n return {\n backgroundColor,\n backgroundEnabled,\n majorColor,\n trendColor,\n underLabelColor,\n };\n};\n\n/**\n * Format and return the value (major/trend)\n * @method computeText\n * @param {Object} props\n * @param {Number} props.value // The major/trend value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number} major or trend text\n */\nexport const computeText = ({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let text = isNumerial(value)\n ? formatNumber(value, numberPrecision, {\n useThousandSeparators: shouldUseThousandSeparators, // todo: need update formatNumber\n useTrendUnits: shouldAbbreviateTrendValue,\n })\n : value;\n // When text is undefined, return empty string\n text = text || '';\n return text;\n};\n\n/*\n * @method getMajorText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @returns {String} majorText\n */\nexport const getMajorText = ({ majorValue, numberPrecision, shouldUseThousandSeparators }) =>\n computeText({\n value: majorValue === null ? 'N/A' : majorValue, // if majorValue is null, use `N/A`.\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue: false,\n });\n\n/*\n * @method getTrendText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.trendValue\n * @param {String} props.trendDisplay\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {String} trendText\n */\nexport const getTrendText = ({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const compute = value =>\n computeText({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n if (trendValue === '' || !isNumerial(trendValue)) {\n return '';\n }\n const showPercent = trendDisplay === 'percent';\n if (!showPercent) {\n return compute(trendValue);\n }\n\n const diff = Math.abs(trendValue - majorValue);\n let val = Math.round((trendValue / diff) * 100);\n if (trendValue === 0 && diff === 0) {\n val = 0;\n }\n\n if (!Number.isFinite(val)) {\n return 'N/A';\n }\n const text = compute(val);\n\n return `${text}%`;\n};\n\n/**\n * Helper to determine the font size for an element\n * @method computeFontSize\n * @param {String} text The string to find a size for\n * @param {Object} dimensions\n * @param {Number} dimensions.width The width of the container\n * @param {Number} dimensions.height The height of the container\n * @param {String} [fontFamily='\"Splunk Platform Sans\" ...'] The font being used\n * @param {String} [fontWeight='normal'] Boldness of font\n * @returns {Number} The size to use for fontSize styles\n */\nexport const computeFontSize = (\n text,\n { width, height },\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal'\n) => {\n const widthInDefaultFont = computeTextSize(text, `${fontWeight} ${DEFAULT_FONT}px ${fontFamily}`);\n const fontSize = Math.min(\n (width / widthInDefaultFont) * DEFAULT_FONT,\n (height / DEFAULT_FONT) * DEFAULT_FONT\n );\n return parseInt(fontSize, 10);\n};\n\n/*\n * @method getMajorFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.unit\n * @param {String} props.majorText\n * @param {Number} props.spaceRatio\n * @returns {Number} majorFontSize\n */\nexport const getMajorFontSize = ({ width, height, unit, majorText, spaceRatio = 1 }) => {\n const majorTextCalc = unit ? `${unit}${majorText}` : majorText;\n return computeFontSize(majorTextCalc, {\n width: width * spaceRatio,\n height,\n });\n};\n\n/*\n * @method getTrendFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.trendText\n * @param {Number} props.spaceRatio\n * @returns {Number} trendFontSize\n */\nexport const getTrendFontSize = ({ width, height, trendText, spaceRatio = 1 }) => {\n let trendFontSize = 12;\n if (spaceRatio > 0) {\n trendFontSize = computeFontSize(trendText, {\n width: width * spaceRatio,\n height,\n });\n trendFontSize = parseInt(trendFontSize, 10) * spaceRatio;\n }\n return trendFontSize;\n};\n\n/*\n * The height of underLabel should no more than 12px\n * @param {Number} height\n * @return {Number} height || DEFAULT_FONT\n */\nexport const getUnderLabelHeight = height => (height > DEFAULT_FONT ? DEFAULT_FONT : height);\n\n/*\n * @param {Object} config\n * @param {String} underLabel\n * @param {Number} width width of underLabel\n * @param {Number} height height of underLabel\n * @param {Number} fond size of underLabel\n */\nexport const getUnderLabel = ({ underLabel, width, height }) =>\n // todo: may need truncate underLabel later\n computeFontSize(underLabel, {\n width,\n height,\n });\n\n/**\n * Compute value and font size for major and trend\n * @method getMajorAndTrend\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number, Number, Number, Number} Major text, trend text, major text size, trend text size\n */\nexport const getMajorAndTrend = ({\n width,\n height,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const majorTextSpaceRatio = isNumerial(trendValue) && shouldShowTrend(trendDisplay) ? 0.6 : 1;\n const textContentWidth = width * 0.9;\n const textContentHeight = height * 0.9;\n const majorText = getMajorText({ majorValue, numberPrecision, shouldUseThousandSeparators });\n const majorTextFontSize =\n majorFontSize ||\n getMajorFontSize({\n width: textContentWidth,\n height: textContentHeight,\n unit,\n majorText,\n spaceRatio: majorTextSpaceRatio,\n });\n const trendText = getTrendText({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const trendTextFontSize =\n trendFontSize ||\n getTrendFontSize({\n width: textContentWidth,\n height: textContentHeight,\n trendText,\n spaceRatio: 1 - majorTextSpaceRatio,\n });\n\n return {\n majorText,\n majorTextFontSize,\n trendText,\n trendTextFontSize,\n };\n};\n\n/*\n * @method updateVizInSmallSpace\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Object} props.toRemoveList\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {Number} props.majorTextFontSize\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Object} results\n * @returns {Object} results.newMajorAndTrend\n * @returns {Object} results.updatedProps\n */\nexport const updateVizInSmallSpace = ({\n width,\n height,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let removeIndex = 0;\n let newProps = {}; // options need to be updated\n let newMajorAndTrend = {};\n let newTextSize = majorTextFontSize;\n\n // remove info on viz to make textFontSize >= 12px;\n while (newTextSize < 12 && removeIndex < toRemoveList.length) {\n const toRemove = toRemoveList[removeIndex];\n newProps = {\n ...newProps,\n ...{\n [toRemove.key]: toRemove.value,\n },\n };\n\n newMajorAndTrend = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n\n newTextSize = newMajorAndTrend.majorTextFontSize;\n removeIndex += 1;\n }\n\n // truncate text if textFontSize is still less than 12\n if (newTextSize < 12) {\n const truncateValue = `${majorValue.toString().slice(0, 3)}...`;\n newMajorAndTrend = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n }\n\n return { newMajorAndTrend, updatedProps: newProps };\n};\n\n/*\n * @method computeSingleValueContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n toRemoveList,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // update viz in small space\n // if textFontSize is less than 12, remove extra info like sparkline, trendvalue, unit\n // or truncate major value to make the major font size >= 12\n if (majorTextFontSize < 12) {\n const { newMajorAndTrend, updatedProps } = updateVizInSmallSpace({\n width: containerWidth,\n height: containerHeight,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = newMajorAndTrend);\n smallVizProps = updatedProps;\n }\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\nexport const minimallyTruncateStringToWidth = ({\n text,\n fontSize = DEFAULT_FONT,\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal',\n containerWidth,\n}) => {\n let textWidth = computeTextSize(text, `${fontWeight} ${fontSize}px ${fontFamily}`);\n let modifiedText = text;\n\n const ellipsesLength = computeTextSize('...', `${fontWeight} ${fontSize}px ${fontFamily}`);\n // `containerWidth - ellipsesLength > 0` condition ensures space even exists for text.\n if (containerWidth - ellipsesLength > 0 && textWidth > containerWidth) {\n // Truncates the content such that the truncated value + ellipses fit within the allocated space for the ellipses.\n // `textWidth > containerWidth - ellipsesLength` condition checks if text + ellipses exceeds container width.\n // `text.length > 1` condition included to keep at least the first number.\n while (textWidth + ellipsesLength > containerWidth && modifiedText.length > 1) {\n modifiedText = modifiedText.substring(0, modifiedText.length - 1);\n textWidth = computeTextSize(modifiedText, `normal ${fontSize}px ${fontFamily}`);\n }\n\n modifiedText = `${modifiedText}...`;\n }\n\n return modifiedText;\n};\n\n/*\n * @method computeSingleValueRadialContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @param {Bool} props.smallViz\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueRadialContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n smallViz,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // custom logic for viz in small space\n // if not showing the radial graph (if `smallViz` is true), then compute truncated major value\n // and font sizes\n if (smallViz) {\n const truncateValue = minimallyTruncateStringToWidth({\n text: majorValue,\n fontWeight: 'bold',\n fontSize: 12,\n containerWidth,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width: containerWidth,\n height: containerHeight,\n unit,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n }));\n\n smallVizProps = {\n trendDisplay,\n unit,\n };\n }\n\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\n/**\n * Get the colors for a graph\n *\n * @method getGraphColors\n * @param {Object} options\n * @param {Bool} options.backgroundEnabled // Flag to turn on color mode\n * @param {String} options.backgroundColor // The current background color, overrides trend background color\n * @param {Object} options.defaultColors // Default colors by severity\n * @param {Function} options.customColorFormatter // must return { background, stroke } given a color\n * @returns {Object} { background, stroke } colors\n * @private\n */\nexport const getGraphColors = ({\n backgroundEnabled,\n backgroundColor,\n defaultColors,\n customColorFormatter,\n}) => {\n // Only do custom colors in block mode\n if (backgroundEnabled) {\n // Check if the user defined colors to use\n if (backgroundColor && typeof customColorFormatter === 'function') {\n return customColorFormatter(backgroundColor);\n }\n }\n\n return defaultColors.none;\n};\n\n/**\n * Adjust rgb value if it equals to 0 or 255\n * @method adjustRGB\n * @param {Number} rgb [0 - 255]\n * @param {Number} delta\n * @returns {Number} adjusted rgb\n * @private\n */\nexport const adjustRGB = (rgb, delta) => {\n if (rgb === 255) {\n return rgb - delta;\n }\n\n if (rgb === 0) {\n return rgb + delta;\n }\n\n return rgb;\n};\n\n/**\n * Modifies colors by multiplying by a given ratio\n * @method changeColor\n * @param {String} color // Color to modify\n * @param {Number} ratio // Float to modify color\n * @returns {String} new color\n * @private\n */\nconst changeColor = (color, ratio) => {\n const hex = color.replace(/(0x|#)/, '');\n const r = parseInt(hex.substr(0, 2), 16);\n const g = parseInt(hex.substr(2, 2), 16);\n const b = parseInt(hex.substr(4, 2), 16);\n\n // Multiply by given ratio, make sure is between 0 and 255;\n let newR = Math.max(Math.min(Math.floor(r * ratio), 255), 0);\n let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);\n let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);\n\n // If the color is not changed\n // case 1: the color is (0, 0 0)\n // lighten color (80, 80, 80)\n // darken color (40, 40, 40)\n // case 2: the color is (255, 255, 255)\n // lighten color (235, 235, 235)\n // darken color (175, 175, 175)\n // case 3: the color is e.g. (0, 255, 0)\n // new color (20, 235, 20)\n if (newR === r && newG === g && newB === b) {\n if (newR === 0 && newG === 0 && newB === 0) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n } else {\n newR = adjustRGB(newR, 40);\n newG = adjustRGB(newG, 40);\n newB = adjustRGB(newB, 40);\n }\n } else if (newR === 255 && newG === 255 && newB === 255) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n } else {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n }\n } else {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n }\n }\n\n return (\n `#${newR.toString(16).padStart(2, 0)}` +\n `${newG.toString(16).padStart(2, 0)}` +\n `${newB.toString(16).padStart(2, 0)}`\n );\n};\n\n/**\n * Lighten a given color\n * @method lighten\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const lighten = color => changeColor(color, 1.3);\n\n/**\n * Darkens a given color\n * @method darken\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const darken = color => changeColor(color, 0.5);\n\n/** consistent token structure: handle callback to add value and name in event payload\n * @method handleValueClickCallback\n * @param {Object} ev\n * @param {String | Number} majorValue\n * @param {String} majorValueField\n * @param {Number} trendValue\n * @param {Function} onValueClick\n */\nexport const handleValueClickCallback = (\n ev,\n majorValue,\n majorValueField,\n trendValue,\n onValueClick,\n trellisEnabled = false,\n trellisSplityBy = '',\n trellisKey = ''\n) => {\n let payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n if (trellisEnabled) {\n payload = { ...payload, 'trellis.name': trellisSplityBy, 'trellis.value': trellisKey };\n }\n return onValueClick({ ...ev, payload });\n};\n","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","module.exports = require(\"@splunk/ui-utils/id\");","import * as T from 'prop-types';\nimport { has } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (typeof onRequestParamsChange === 'function') {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && typeof onRequestParamsChange === 'function';\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: typeof onRequestParamsChange === 'function' ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport AsyncDynamicOptionsEvaluator, {\n AsyncDynamicOptionsEvaluatorParams,\n} from '@splunk/async-dynamic-options-evaluator';\nimport { createGUID } from '@splunk/ui-utils/id';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n const [evaluatedOptionsAsync, setEvaluatedOptionsAsync] = React.useState({}); // evaluatedOptions need to be initialized as an empty object\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n\n const [visualizationID] = React.useState(`${vizConfig.name} - ${createGUID()}`);\n\n const [dataSourcesInState, setDataSourcesInState] = React.useState({});\n const [dataFramesInState, setDataFramesInState] = React.useState();\n\n const [useAsyncEvaluatedOptions, setUseAsyncEvaluatedOptions] = React.useState(\n Boolean(\n featureFlagContext &&\n featureFlagContext.visualizations_useWebWorkersForDSL &&\n typeof Worker !== 'undefined'\n )\n );\n\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n if (useAsyncEvaluatedOptions) {\n const optionsToEvaluate = {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n };\n const asyncDynamicOptionsEvaluatorParams: AsyncDynamicOptionsEvaluatorParams = {\n visualizationID,\n props,\n options: optionsToEvaluate,\n dataSources,\n theme: vizConfig.themes,\n };\n AsyncDynamicOptionsEvaluator.evaluate(asyncDynamicOptionsEvaluatorParams)\n .then(results => {\n setEvaluatedOptionsAsync(results.results);\n })\n .catch(e => {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options - async: ${e.message}`);\n setUseAsyncEvaluatedOptions(false);\n });\n } else {\n let dataFrames = dataFramesInState;\n if (dataSources !== dataSourcesInState) {\n setDataSourcesInState(dataSources);\n dataFrames = Opts.dataFrameFromDataSource(dataSources);\n setDataFramesInState(dataFrames);\n }\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc,\n dataFrames\n );\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: ${e.message}`);\n return {};\n }\n return {};\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n useAsyncEvaluatedOptions,\n ]);\n\n const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;\n\n // trellis specific backgroundColor update for onComputedProps\n // if trellis is enabled following these three criteria - 1) trellis feature flag is enabled 2) vizConfig supports array has 'trellis' 3) option 'splitByLayout' is set to 'trellis\n // onComputedProps api should return back trellisBackgroundColor value for backgroundColor option to support coloring of sibling panels (for eg:- title/ description on UDF side)\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n let clonedEvaluatedOptions = evaluatedOptionsToUse;\n if (\n isTrellisFeatureFlagOn &&\n vizConfig?.supports?.includes(VizBehavior.TRELLIS) &&\n clonedEvaluatedOptions?.splitByLayout === VizBehavior.TRELLIS\n ) {\n clonedEvaluatedOptions = {\n ...evaluatedOptionsToUse,\n backgroundColor: clonedEvaluatedOptions?.trellisBackgroundColor,\n };\n }\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(clonedEvaluatedOptions);\n });\n\n React.useEffect((): (() => void) => {\n return () => {\n if (useAsyncEvaluatedOptions) {\n AsyncDynamicOptionsEvaluator.reset(visualizationID);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptionsToUse);\n if (\n missing.length > 0 &&\n supports.includes(VizBehavior.PLACEHOLDER) &&\n vizConfig.key !== 'splunk.singlevalue' // For SV missing props msg is not displayed if required props majorValue is missing, instead this will be handled from the component, instead handled within component\n ) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptionsToUse[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptionsToUse,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n // if were using webworkers and this is the first render we dont want to show a viz with missing data so we return null\n if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {\n return null;\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptionsToUse}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/async-dynamic-options-evaluator\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","import { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n sid: string;\n app: string;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import SingleValueRadial from './PureSingleValueRadial/SingleValueRadial';\nimport withDashboardViz from '../common/withDashboardViz';\nimport vizConfig from './config';\nimport withTrellis from '../common/hocs/withTrellis';\n\nexport const config = vizConfig;\nexport const PureSingleValueRadial = SingleValueRadial;\n// TODO: proper theming support for SVR when we come back to SVR viz\nexport const PureSingleValueRadialThemes = {};\n\nexport const computeVizProps = ({ trellisKey, ...props }) => {\n return { trellisKey, ...props };\n};\n\nconst viz = withTrellis(\n withDashboardViz({\n ReactViz: SingleValueRadial,\n vizConfig,\n computeVizProps,\n })\n);\n\nexport const { themes } = vizConfig;\nexport default viz;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { SingleValueRadial as SingleValueRadialIcon } from '@splunk/visualization-icons';\nimport { SingleValueRadial as SingleValueRadialPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport StaticMajorAndTrendLayout from '../common/editorConfig/StaticMajorAndTrendLayout';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { getDynamicMajorColorEditor } from '../common/editorConfig/DynamicMajorColorEditor';\nimport { getDynamicTrendColorEditor } from '../common/editorConfig/DynamicTrendColorEditor';\nimport { getDynamicBackgroundColorEditor } from '../common/editorConfig/DynamicBackgroundColorEditor';\nimport StaticMajorColorEditor from '../common/editorConfig/StaticMajorColorEditor';\nimport StaticTrendColorEditor from '../common/editorConfig/StaticTrendColorEditor';\nimport StaticBackgroundColorEditor from '../common/editorConfig/StaticBackgroundColorEditor';\nimport getRadialBackgroundColorEditor from '../common/editorConfig/RadialBackgroundColor';\nimport { TrellisEditorConfig, TrellisBackgroundColorEditor } from '../common/editorConfig/TrellisEditors';\nimport { LAYOUT_TYPE } from '../common/utils/layoutUtils';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 250,\n initialHeight: 250,\n};\n\nconst defaultContext: DefaultContext = {\n trendColorConfig: [\n {\n to: 0,\n value: '#9E2520',\n },\n {\n from: 0,\n value: '#1C6B2D',\n },\n ],\n majorColorConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n majorColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. The hex value format should be “#ffffff”. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n majorColor: {\n default: '> themes.defaultFontColor',\n description:\n 'Specify the color for the major value. You may use a dataSource to apply the color. The hex value format should be “#ffffff”. The default for enterprise light is \"#000000\". The default for enterprise dark is \"#ffffff\". The default for prisma dark is \"rgba(255, 255, 255, 0.98)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n majorValue: {\n default: '> primary | seriesByPrioritizedTypes(\"number\", \"string\", \"time\") | lastPoint()',\n description: 'Specify the dataSource applied to the major value.',\n type: ['string', 'number'],\n },\n majorValueField: {\n default: '> majorValue | getField()',\n description: 'Specify the field that should be mapped to the major value.',\n type: 'string',\n },\n maxValue: {\n default: 100,\n description: 'Specify the value the radial fills up to.',\n type: 'number',\n },\n numberPrecision: {\n default: 0,\n maximum: 20,\n minimum: 0,\n description:\n 'Specify the number of decimal places to display. For example, to display 3 decimal places, use a value of 3. Values can range from 0 to 20.',\n type: 'number',\n },\n radialBackgroundColor: {\n default: '> themes.defaultRadialBackgroundColor',\n description:\n 'Specify the color for the radial background. The hex value format should be “#ffffff”. The default for enterprise light is \"rgba(0, 0, 0, 0.1)\". The default for enterprise dark is \"rgba(255, 255, 255, 0.15)\". The default for prisma dark is \"rgba(255, 255, 255, 0.15)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n radialStrokeColor: {\n default: '> majorColor',\n description:\n 'Specify the color for the radial. You may use a dataSource to apply the color. The hex value format should be “#ffffff”. The default for enterprise light is \"#000000\". The default for enterprise dark is \"#ffffff\". The default for prisma dark is \"rgba(255, 255, 255, 0.98)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n shouldAbbreviateTrendValue: {\n default: false,\n description:\n 'Specify whether to abbreviate the trend value to 2 decimal points. A magnitude unit will be displayed.',\n type: 'boolean',\n },\n shouldUseThousandSeparators: {\n default: true,\n description: 'Specify whether numeric values use commas as thousandths separaters.',\n type: 'boolean',\n },\n splitByLayout: {\n default: 'off',\n description:\n 'Specify the layout method by which to display the visualization, which splits the data into individual visualizations based on a certain category.',\n type: 'string',\n pattern: getPattern([LAYOUT_TYPE.Off, LAYOUT_TYPE.Trellis]),\n enum: [LAYOUT_TYPE.Off, LAYOUT_TYPE.Trellis],\n },\n trendColor: {\n default: '> themes.defaultFontColor',\n description:\n 'Specify the color for the trend value. You may use a dataSource to apply the color. The hex value format should be “#FFFFFF”. The default for enterprise light is \"#000000\". The default for enterprise dark is \"#ffffff\". The default for prisma dark is \"rgba(255, 255, 255, 0.98)\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n trendDisplay: {\n default: 'absolute',\n description: 'Specify how to display the trend value.',\n pattern: getPattern(['percent', 'absolute', 'off']),\n type: 'string',\n },\n trendValue: {\n default: '> primary | seriesByPrioritizedTypes(\"number\", \"string\", \"time\") | delta(-2)', // todo: may need update delta method\n description: 'Specify the dataSource applied to the trend value.',\n type: 'number',\n },\n trellisBackgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the trellis container background by using a hexadecimal code. For example, #0000FF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n trellisColumns: {\n description:\n 'Specify the number of visualizations to display in a given row of the trellis container. The remaining visualizations will wrap accordingly. If nothing is specified, it will be auto-set based on the trellisMinColumnWidth. The minimum value is 1.',\n type: 'number',\n minimum: 1,\n },\n trellisMinColumnWidth: {\n default: 100,\n minimum: 1,\n description:\n 'Specify the minimum width, in pixels, of each visualization in the trellis container. If the window or panel is resized, the remaining visualizations may be viewed by scrolling. The minimum value is 1.',\n type: 'number',\n },\n trellisPageCount: {\n default: 20,\n minimum: 1,\n description:\n 'Specify the maximum number of visualizations to display in a single page in the trellis container. The remaining visualizations will paginate accordingly. The minimum value is 1.',\n type: 'number',\n },\n trellisRowHeight: {\n default: 70,\n minimum: 1,\n description:\n 'Specify the height, in pixels, of each visualization in the trellis container. If the window or panel is resized, the remaining visualizations may be viewed by scrolling. The minimum value is 1.',\n type: 'number',\n },\n trellisSplitBy: {\n description:\n 'Specify the field name of the column with categories used, or “aggregations”, to split the data into individual visualizations for trellis display, if applicable. If a SPL `timechart` command is used, this may default to the SPL `by` clause field. If a SPL `chart` command is used, this may default to the first string field.',\n type: 'string',\n },\n underLabel: { description: 'Specify the text that appears below the major value.', type: 'string' },\n unit: {\n description: 'Specify text to show next to the major value.',\n type: 'string',\n },\n unitPosition: {\n default: 'after',\n description: 'Specify whether the unit text should appear before or after the major value.',\n pattern: getPattern(['before', 'after']),\n type: 'string',\n },\n};\n\nconst basePresetContext = {\n majorColorEditorConfig: undefined,\n trendColorEditorConfig: undefined,\n backgroundColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n majorColor: undefined,\n trendColor: undefined,\n backgroundColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'singleValueRadial.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Major value'),\n name: 'singleValueRadial.majorValue',\n value: {\n context: {\n ...basePresetContext,\n majorColorEditorConfig: defaultContext.majorColorConfig,\n },\n options: {\n ...basePresetOptions,\n majorColor: '> majorValue | rangeValue(majorColorEditorConfig)',\n },\n },\n },\n {\n label: _('Major value and Trend value'),\n name: 'singleValueRadial.majorValueAndTrend',\n value: {\n context: {\n ...basePresetContext,\n majorColorEditorConfig: defaultContext.majorColorConfig,\n trendColorEditorConfig: defaultContext.trendColorConfig,\n },\n options: {\n ...basePresetOptions,\n majorColor: '> majorValue | rangeValue(majorColorEditorConfig)',\n trendColor: '> trendValue | rangeValue(trendColorEditorConfig)',\n },\n },\n },\n {\n label: _('Trend value'),\n name: 'singleValueRadial.trend',\n value: {\n context: {\n ...basePresetContext,\n trendColorEditorConfig: defaultContext.trendColorConfig,\n },\n options: {\n ...basePresetOptions,\n trendColor: '> trendValue | rangeValue(trendColorEditorConfig)',\n },\n },\n },\n {\n label: _('Background'),\n name: 'singleValueRadial.background',\n value: {\n context: {\n ...basePresetContext,\n backgroundColorEditorConfig: defaultContext.majorColorConfig,\n },\n options: {\n ...basePresetOptions,\n backgroundColor: '> majorValue | rangeValue(backgroundColorEditorConfig)',\n },\n },\n },\n];\n\nconst themes: ThemedDefaults = {\n defaultFontColor: props =>\n pick({\n enterprise: {\n dark: variables.white(props),\n light: variables.black(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultRadialBackgroundColor: props =>\n pick({\n enterprise: {\n dark: 'rgba(255, 255, 255, 0.15)',\n light: 'rgba(0, 0, 0, 0.1)',\n },\n prisma: variables.interactiveColorBackgroundDisabled(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Value'),\n editor: 'editor.columnSelector',\n option: 'majorValue',\n context: 'valuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { majorValue: baseSPL },\n } = definition;\n\n return {\n context: {},\n options: {\n majorValue: `${baseSPL} | lastPoint()`,\n trendValue: `${baseSPL} | delta(-2)`,\n },\n };\n },\n },\n isDisabled: ({ options }) => options.splitByLayout === LAYOUT_TYPE.Trellis,\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n ...StaticMajorAndTrendLayout,\n [\n {\n label: _('Trend display'),\n option: 'trendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Percent'), value: 'percent' },\n { label: _('Absolute'), value: 'absolute' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n ],\n ...TrellisEditorConfig,\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: 'Dynamic elements',\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticMajorColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicMajorColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticTrendColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicTrendColorEditor({ defaultContext, defaultPalettesConfig })],\n getRadialBackgroundColorEditor({ themes }),\n [\n {\n ...StaticBackgroundColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n ...TrellisBackgroundColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicBackgroundColorEditor({ defaultContext, defaultPalettesConfig })],\n ],\n },\n];\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.singlevalueradial',\n /**\n * viz name\n */\n name: 'Single Value Radial',\n category: VizCategory.SINGLE_VALUE,\n /**\n * viz icon\n */\n icon: SingleValueRadialIcon,\n placeholderIcon: SingleValueRadialPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'value.click': {\n description: 'trigger when user clicks major value',\n payloadKeys: ['majorValue', 'trendValue'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER, VizBehavior.TRELLIS],\n themes,\n};\n\nexport default enhanceConfig(config);\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface RadialBackgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst radialBackground: ({\n label,\n themes,\n labelPosition,\n}: RadialBackgroundEditorProps) => EditorLayoutConfig[] = ({ label, themes, labelPosition }) => [\n {\n label: _(label || 'Radial background'),\n option: 'radialBackgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default radialBackground;\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","import 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 strokeWidth,\n backgroundColor = RADIAL_BACKGROUND_COLOR,\n progressColor = RADIAL_STROKE_COLOR,\n width = 200,\n height = 200,\n}) => {\n const semicircleRadius = height - strokeWidth / 2;\n\n const circumference = semicircleRadius * 2 * Math.PI;\n const bgCircleOffset = 0.5 * circumference;\n\n const progress50 = (progress / 100) * 50;\n const progressWidth = (progress50 / 100) * circumference;\n const strokeDashoffset = circumference * 0.5;\n\n return (\n <svg height={height} width={width} data-test=\"radial-visualization\">\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={semicircleRadius}\n cx={width / 2}\n cy={semicircleRadius + strokeWidth / 2}\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={semicircleRadius}\n cx={width / 2}\n cy={semicircleRadius + strokeWidth / 2}\n />\n </g>\n </svg>\n );\n};\n\nRadialGraph.propTypes = {\n progress: T.number,\n strokeWidth: T.number,\n backgroundColor: T.string,\n progressColor: T.string,\n width: T.number,\n height: T.number,\n};\n\nRadialGraph.defaultProps = {\n progress: 0,\n strokeWidth: 12,\n};\n\nexport default RadialGraph;\n","import { RADIAL_SEVERITY_COLORS } from '@splunk/visualizations-shared/colorConstants';\nimport { getGraphColors, lighten, darken, SVR_PADDING } from '../../../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 = 16;\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 dimensions of the graph\n * @method getRadialGraphDimensions\n * @param {Object} props\n * @param {Number} props.width // Width of the container\n * @param {Number} props.height // Height of the container\n * @returns {Number} width and height of the graph\n */\nexport const getRadialGraphDimensions = ({ width, height }) => {\n // height * 2 because we are fitting only half of a circle inside the container\n const radius = Math.min(width, height * 2) / 2;\n\n return {\n width: width - SVR_PADDING.left - SVR_PADDING.right,\n height: radius - SVR_PADDING.top - SVR_PADDING.bottom,\n };\n};\n\n/**\n * Figure out the dimensions of the content container for SVR\n * @method getRadialHelperDimensions\n * @param {Object} props\n * @param {Number} props.width // Width of the visualization space\n * @param {Number} props.height // Height of the visualization space\n * @returns {Number} width and height of the content graph\n */\nexport const getRadialHelperDimensions = ({ height, strokeWidth = DEFAULT_RADIAL_STROKE_WIDTH }) => {\n // The radius of the visualization is equal to the height\n const semicircleRadius = height - strokeWidth / 2; // The inner part of the arc is strokeWidth / 2 inset.\n const innerArcRadius = semicircleRadius * 0.9;\n const halfContentWidth = innerArcRadius * 0.7;\n const contentHeight = Math.floor(Math.sqrt(innerArcRadius ** 2 - halfContentWidth ** 2));\n\n return {\n contentWidth: halfContentWidth * 2,\n contentHeight,\n helperArcRadius: innerArcRadius,\n semicircleRadius,\n };\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} graphHeight\n * @returns {Number} radial stroke width\n */\nexport const getRadialStrokeWidth = graphHeight =>\n graphHeight >= 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 * @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 * need to handle max and min\n * @method getRadialProgress\n * @param {Number} majorValue\n * @returns {Number} progress bar in radial graph\n */\nexport const getRadialProgress = (majorValue, maxValue) =>\n Number.isNaN(Number(majorValue)) ||\n Number.isNaN(Number(maxValue)) ||\n (majorValue < 0 && majorValue < maxValue)\n ? 0\n : (majorValue / maxValue) * 100;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport SingleValueBasic from '../../SingleValueBasic/SingleValueBasic';\nimport RadialGraph from './RadialGraph';\nimport { getRadialHelperDimensions } from './utils/displayUtils';\n\nconst TextContainer = styled.div`\n position: ${props => (props.smallViz ? 'relative' : 'absolute')};\n left: 0;\n bottom: 0;\n\n width: 100%;\n display: flex;\n align-items: ${props => props.align || 'center'};\n justify-content: center;\n flex-direction: column;\n\n // To ensure the major text is flush with the bottom of the text container when radial is shown.\n [data-test='majorValue'] {\n ${props => !props.smallViz && { lineHeight: 'normal' }}\n\n ::before {\n font-size: inherit;\n vertical-align: unset;\n top: unset;\n }\n\n ::after {\n font-size: inherit;\n vertical-align: unset;\n top: unset;\n }\n }\n\n // To ensure the trend text is flush with the bottom of the text container, and prevents weird spacing behavior at very small trend text sizes\n [data-test='trendValueIndicator'] {\n align-items: flex-end;\n ${props => props.smallViz && { marginLeft: '1px' }}\n }\n\n // Prevents weird spacing behavior at very small sizes.\n [data-test='trendValue'] {\n ${props => props.smallViz && { marginLeft: '1px' }}\n }\n\n div[class^='TrendValue__Column'] {\n ${props => props.smallViz && { margin: '0 1px' }}\n }\n`;\n\nconst GraphContainer = styled.div`\n position: relative;\n margin: 0 auto;\n width: ${props => props.width}px;\n height: ${props => props.height}px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n`;\n\nconst UnderLabelContainer = styled.div`\n display: flex;\n flex: 0 0 ${props => props.underLabelHeight}px; // Changes depending on height of underLabel.\n align-items: flex-end;\n`;\n\nconst UnderLabelText = styled.span`\n color: ${props => props.color};\n -webkit-text-stroke: 0.5px ${props => props.strokeColor};\n font-size: 12px;\n\n // Prevent overflow of text beyond inner arc radius.\n max-width: ${props => props.maxWidth}px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst RadialContent = ({ ...props }) => {\n const {\n majorColor,\n majorText,\n majorTextFontSize,\n majorValueTitle,\n trendColor,\n trendText,\n trendTextFontSize,\n showTrendIndicator,\n unit,\n unitPosition,\n underLabelColor,\n underLabel,\n onValueClick,\n showRadialGraph,\n progress,\n radialBackgroundColor,\n radialStrokeColor,\n radialStrokeWidth,\n graphWidth,\n graphHeight,\n underLabelStrokeColor,\n } = props;\n\n const { semicircleRadius, helperArcRadius } = getRadialHelperDimensions({\n height: graphHeight,\n strokeWidth: radialStrokeWidth,\n });\n\n // Two cases for filling underLabel space: either the semicircle radius is insufficiently sized for text\n // or the radial visualization has been disabled (first condition reached first when making smaller).\n const fillVacantSpace = semicircleRadius < 50 || !showRadialGraph;\n\n // If filling the vacant space, no height on underLabel container. Otherwise, the underLabel height is 20% of the helperArcRadius (min 20px).\n const underLabelHeight = fillVacantSpace ? 0 : Math.max(helperArcRadius * 0.2, 20);\n const underLabelWidth = helperArcRadius * 2;\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={showTrendIndicator}\n unit={unit}\n unitPosition={unitPosition}\n onValueClick={onValueClick}\n />\n );\n\n const radialGraph = showRadialGraph ? (\n <RadialGraph\n progress={progress}\n backgroundColor={radialBackgroundColor}\n progressColor={radialStrokeColor}\n strokeWidth={radialStrokeWidth}\n width={graphWidth}\n height={graphHeight}\n />\n ) : null;\n\n const underLabelComponent = (\n <UnderLabelContainer underLabelHeight={underLabelHeight}>\n {!fillVacantSpace && underLabel && (\n <UnderLabelText\n data-test=\"underLabel\"\n maxWidth={underLabelWidth * 0.9} // buffer for overflow ellipses\n color={underLabelColor}\n strokeColor={underLabelStrokeColor}\n title={underLabel}\n >\n {underLabel}\n </UnderLabelText>\n )}\n </UnderLabelContainer>\n );\n\n return (\n <GraphContainer width={graphWidth} height={graphHeight}>\n {radialGraph}\n <TextContainer smallViz={!showRadialGraph} height={graphHeight}>\n {basicSingleValues}\n {underLabelComponent}\n </TextContainer>\n </GraphContainer>\n );\n};\n\nRadialContent.propTypes = {\n ...SingleValueBasic.propTypes,\n trendPosition: T.string,\n showRadialGraph: T.bool,\n progress: T.number,\n radialBackgroundColor: T.string,\n radialStrokeColor: T.string,\n radialStrokeWidth: T.number,\n graphWidth: T.number,\n graphHeight: T.number,\n underLabelStrokeColor: T.string,\n};\n\nexport default RadialContent;\n","import 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 FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport VizStyleWrapper from '../../common/components/VizStyleWrapper';\nimport { TrellisTitle, TRELLIS_TITLE_HEIGHT } from '../../common/components/TrellisTitle';\nimport { LAYOUT_TYPE } from '../../common/utils/layoutUtils';\nimport RadialLayout from './RadialLayout';\nimport {\n computeColors,\n computeSingleValueRadialContent,\n shouldShowTrend,\n handleValueClickCallback,\n} from '../../common/utils/singleValueUtils';\nimport {\n getRadialGraphDimensions,\n getRadialHelperDimensions,\n getRadialProgress,\n getRadialStrokeWidth,\n getRadialColors,\n} from './utils/displayUtils';\n\nconst Container = styled.div`\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst SingleValueRadial = ({ ...props }) => {\n const {\n width,\n height = 250,\n style,\n majorFontSize,\n majorValue,\n majorValueField,\n maxValue,\n trendValue,\n trendFontSize,\n unitPosition,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n onValueClick,\n splitByLayout,\n trellisKey = '',\n trellisSplitBy = '',\n } = props;\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 const underLabelStrokeColor = backgroundEnabled ? backgroundColor : 'transparent';\n const featureFlagContext = React.useContext(FeatureFlagContext);\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n const trellisEnabled = isTrellisFeatureFlagOn && splitByLayout === LAYOUT_TYPE.Trellis;\n const handleValueClick = useCallback(\n ev =>\n handleValueClickCallback(\n ev,\n majorValue,\n majorValueField,\n trendValue,\n onValueClick,\n trellisEnabled,\n trellisSplitBy,\n trellisKey\n ),\n [onValueClick, majorValue, majorValueField, trendValue, trellisEnabled, trellisSplitBy, trellisKey]\n );\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n const { underLabel } = props;\n let { trendDisplay, unit } = props;\n\n // calculate radial graph dimensions, strokewidth, and major and trend content dimensions\n let { width: graphWidth, height: graphHeight } = getRadialGraphDimensions({\n width: containerWidth,\n height: containerHeight,\n });\n\n // Radial stroke width is stepped to lower value at lower sizes.\n const radialStrokeWidth = getRadialStrokeWidth(graphHeight);\n\n let { contentWidth, contentHeight } = getRadialHelperDimensions({\n height: graphHeight - radialStrokeWidth / 2,\n strokeWidth: radialStrokeWidth,\n });\n\n // Subtract half of the stroke width for the exact internal radius.\n const semicircleRadius = graphHeight - radialStrokeWidth / 2;\n // If radius drops below 20px, hide the radial graph. The dependency of this variable on font size is removed, and it now only depends on semicircle radius.\n const showRadialGraph = semicircleRadius >= 20;\n\n // If not showing the radial graph, then can forgo padding logic and use original container dimensions for content sizing computation.\n if (!showRadialGraph) {\n graphWidth = containerWidth;\n contentWidth = containerWidth;\n graphHeight = containerHeight;\n contentHeight = containerHeight;\n }\n\n const {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n } = computeSingleValueRadialContent({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n contentWidth,\n contentHeight, // buffer for height of div\n containerWidth: containerWidth * 0.9,\n containerHeight: containerHeight * 0.9,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n smallViz: !showRadialGraph,\n });\n\n if (!isEmpty(smallVizProps)) {\n ({ trendDisplay, unit } = smallVizProps);\n }\n\n // calculate radial progress\n const progress = getRadialProgress(majorValue, maxValue);\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 unit={unit}\n unitPosition={unitPosition}\n underLabelColor={underLabelColor}\n underLabel={underLabel}\n onValueClick={handleValueClick}\n showRadialGraph={showRadialGraph}\n progress={progress}\n radialBackgroundColor={radialBackgroundColor}\n radialStrokeColor={radialStrokeColor}\n radialStrokeWidth={radialStrokeWidth}\n graphWidth={graphWidth}\n graphHeight={graphHeight}\n underLabelStrokeColor={underLabelStrokeColor}\n />\n </VizStyleWrapper>\n );\n };\n if (trellisEnabled) {\n return (\n <>\n <TrellisTitle\n fontColor={defaultColors.defaultFontColor}\n backgroundColor={backgroundColor}\n trellisKey={trellisKey}\n />\n <Container width={width} height={height - TRELLIS_TITLE_HEIGHT}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </Container>\n </>\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 maxValue: 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 splitByLayout: T.string,\n trellisKey: T.string,\n trellisSplitBy: T.string,\n};\n\nSingleValueRadial.defaultProps = {\n width: '100%',\n height: 250,\n majorValue: 'N/A',\n majorValueField: '',\n maxValue: 100,\n trendDisplay: 'absolute',\n trendIndicatorPosition: 'standard',\n shouldAbbreviateTrendValue: false,\n unitPosition: 'after',\n numberPrecision: 0,\n shouldUseThousandSeparators: true,\n onValueClick: () => {},\n trellisKey: '',\n trellisSplitBy: '',\n};\n\nexport default withTheme(SingleValueRadial);\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/visualizations-shared/domUtils\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","export enum LAYOUT_TYPE {\n Off = 'off',\n Trellis = 'trellis',\n}\n","module.exports = require(\"@splunk/themes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import styled from 'styled-components';\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\nexport default VizStyleWrapper;\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","import * as React from 'react';\nimport styled from 'styled-components';\n\nexport const TRELLIS_TITLE_HEIGHT = 28;\n\nconst TrellisTitleText = styled.div`\n margin-left: 10px;\n margin-right: 10px;\n padding-top: 8px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n`;\n\nconst TrellisTitleDiv = styled.div<{ fontColor: string; backgroundColor: string }>`\n height: ${TRELLIS_TITLE_HEIGHT}px;\n font-size: 14px;\n font-weight: 700;\n color: ${props => props.fontColor};\n background-color: ${props => props.backgroundColor};\n box-shadow: 0 1px ${props => props.backgroundColor}; // this is added to avoid a 1px gap between title and viz divs that showed up intermittently because of pixel rounding error in chrome.\n`;\n\ninterface TrellisTitleProps {\n fontColor: string;\n backgroundColor: string;\n trellisKey: unknown;\n}\n\nexport const TrellisTitle = (props: TrellisTitleProps) => {\n const titleText = String(props.trellisKey).toString();\n return (\n <TrellisTitleDiv\n fontColor={props.fontColor}\n backgroundColor={props.backgroundColor}\n data-test=\"trellis-title\"\n title={titleText}\n >\n <TrellisTitleText>{titleText}</TrellisTitleText>\n </TrellisTitleDiv>\n );\n};\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport ArrowUp from '@splunk/react-icons/enterprise/ArrowUp';\nimport ArrowDown from '@splunk/react-icons/enterprise/ArrowDown';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: ${props => props.justify || 'flex-end'};\n height: ${props => props.size || 12}px;\n ${props => (props.size ? `margin: 0 ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: ${props => props.size || 12}px;\n display: flex;\n align-self: baseline;\n ${props => (props.size ? `margin-left: ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst SingleValueContent = ({ fontSize, color, value, text }) => {\n let TrendIndicator = false;\n\n if (parseFloat(value, 10) > 0) {\n TrendIndicator = ArrowUp;\n } else if (parseFloat(value, 10) < 0) {\n TrendIndicator = ArrowDown;\n }\n\n return (\n <Column justify=\"flex-end\" size={fontSize}>\n <Text data-test=\"trendValueIndicator\" size={fontSize} color={color}>\n {TrendIndicator && <TrendIndicator />}\n </Text>\n <Text data-test=\"trendValue\" size={fontSize} color={color}>\n {`${text}`}\n </Text>\n </Column>\n );\n};\n\nSingleValueContent.propTypes = {\n fontSize: T.number,\n color: T.string,\n value: T.oneOfType([T.string, T.number]),\n text: T.string,\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport cssesc from 'cssesc';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n justify-content: left;\n height: ${props => props.size}px;\n line-height: ${props => props.size}px;\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n height: 100%;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color};\n font-family: ${DEFAULT_FONT_FAMILY};\n font-weight: bold;\n &:hover {\n text-decoration: ${props => (props.showUnderline ? 'underline' : 'inherit')};\n cursor: ${props => (props.showUnderline ? 'pointer' : 'inherit')};\n }\n ${props => {\n if (!props.pseudoContent || !props.pseudoContentPosition) {\n return '';\n }\n return `&:${props.pseudoContentPosition} {\n // by default this pseudo element would inherit text-decoration from main element\n // and text-decoration could not be overwritten.\n // adding display: inline-block makes text decoration independent from main element.\n // => the unit will not be underlined if a user hovers over the main value\n display: inline-block;\n font-size: ${props.pseudoContentFontSize}px;\n position: relative;\n font-weight: normal;\n content: ${props.pseudoContent};\n }`;\n }}\n`;\n\nconst validUnitPositions = ['before', 'after'];\n\nconst SingleValueContent = ({ color, fontSize, unitPosition, title, value, onValueClick, unit }) => {\n let sanitizedUnit;\n let sanitizedUnitPosition;\n\n if (typeof unit === 'string') {\n sanitizedUnit = cssesc(unit, { wrap: true, quotes: 'double' });\n if (typeof unitPosition === 'string' && validUnitPositions.includes(unitPosition)) {\n sanitizedUnitPosition = unitPosition;\n } else {\n sanitizedUnitPosition = 'after';\n }\n }\n\n const handleKeyDown = e => {\n if (e.keyCode !== 13) {\n return;\n }\n e.preventDefault();\n onValueClick(e);\n };\n\n return (\n <Row size={fontSize}>\n <Text\n data-test=\"majorValue\"\n color={color}\n onClick={e => typeof onValueClick === 'function' && onValueClick(e)}\n showUnderline={!!onValueClick}\n size={fontSize}\n title={title}\n pseudoContent={sanitizedUnit}\n pseudoContentPosition={sanitizedUnitPosition}\n pseudoContentFontSize={fontSize * 0.6}\n tabIndex=\"0\"\n role=\"button\"\n onKeyDown={handleKeyDown}\n >\n {value}\n </Text>\n </Row>\n );\n};\n\nSingleValueContent.propTypes = {\n color: T.string,\n fontSize: T.number,\n unit: T.string,\n unitPosition: T.oneOf(validUnitPositions),\n value: T.oneOfType([T.string, T.number]),\n title: T.oneOfType([T.string, T.number]),\n onValueClick: T.oneOfType([T.bool, T.func]),\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\nimport TrendValue from './TrendValue';\nimport MajorValue from './MajorValue';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: column;\n align-self: center;\n justify-content: center;\n`;\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: ${props => props.align || 'center'};\n justify-content: center;\n`;\n\nconst Text = styled.div`\n font-weight: normal;\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: 1.2;\n`;\n\nconst SingleValueBasic = ({ ...props }) => {\n const {\n majorColor,\n majorTextFontSize,\n majorText,\n majorValueTitle,\n trendColor,\n trendTextFontSize,\n trendText,\n showTrendIndicator,\n unit,\n unitPosition,\n underLabel,\n underLabelFontSize,\n underLabelColor,\n onValueClick,\n } = props;\n const trendIndicatorEnabled = trendText !== '' && showTrendIndicator;\n\n return (\n <Column>\n <Row align=\"baseline\">\n <MajorValue\n data-test=\"MajorValue\"\n color={majorColor}\n fontSize={majorTextFontSize}\n unit={unit}\n unitPosition={unitPosition}\n value={majorText}\n title={majorValueTitle}\n onValueClick={onValueClick}\n />\n {trendIndicatorEnabled && (\n // Passing the same value for value and text is a temporary hold until completion of https://jira.splunk.com/browse/SCP-21371\n <TrendValue\n data-test=\"TrendIndicator\"\n fontSize={trendTextFontSize}\n color={trendColor}\n value={trendText}\n text={trendText}\n />\n )}\n </Row>\n {underLabel && (\n <Row justify=\"center\">\n <Text data-test=\"underLabel\" size={underLabelFontSize} color={underLabelColor}>\n {underLabel}\n </Text>\n </Row>\n )}\n </Column>\n );\n};\n\nSingleValueBasic.propTypes = {\n majorText: T.string,\n majorColor: T.string,\n majorTextFontSize: T.number,\n majorValueTitle: T.string,\n trendText: T.string,\n trendTextFontSize: T.number,\n trendColor: T.string,\n showTrendIndicator: T.bool,\n unit: T.string,\n unitPosition: T.oneOf(['before', 'after']),\n underLabel: T.string,\n underLabelFontSize: T.number,\n underLabelColor: T.string,\n onValueClick: T.oneOfType([T.bool, T.func]),\n};\n\nexport const SingleValueTrendValue = TrendValue;\nexport default SingleValueBasic;\n","module.exports = require(\"@splunk/visualizations-shared/trellisUtils\");","module.exports = require(\"lodash/pick\");","module.exports = require(\"lodash/isEmpty\");","module.exports = require(\"@splunk/react-icons/enterprise/ArrowUp\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/react-icons/enterprise/ArrowDown\");","module.exports = require(\"cssesc\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticBackgroundColorEditor = {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.backgroundColor),\n};\n\nexport default StaticBackgroundColorEditor;\n","module.exports = require(\"@splunk/react-ui/Paginator\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicMajorColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Major value'),\n option: 'majorColor',\n context: 'majorColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.majorColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: major value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n majorValue: defaultContext.majorColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n majorValue: defaultContext.majorColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Major value'),\n value: 'majorValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicTrendColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Trend value'),\n option: 'trendColor',\n context: 'trendColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.trendColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: trend value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n trendValue: defaultContext.trendColorConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Trend value'),\n value: 'trendValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicBackgroundColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Background'),\n option: 'backgroundColor',\n context: 'backgroundColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.backgroundColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: background'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n majorValue: defaultContext.majorColorConfig,\n trendValue: defaultContext.trendColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n majorValue: defaultContext.majorColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Major Value'),\n value: 'majorValue',\n },\n {\n label: _('Trend'),\n value: 'trendValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\n\nconst StaticMajorAndTrendLayout = [\n [\n {\n label: 'Unit position', // todo: we need a new editor combining unit and position\n option: 'unitPosition',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n {\n label: _('Unit label'),\n option: 'unit',\n editor: 'editor.text',\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'numberPrecision',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n max: 20,\n },\n showEditor: ({ options }) => options.showValue || options.showValue === undefined,\n },\n ],\n];\n\nexport default StaticMajorAndTrendLayout;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticMajorColorEditor = {\n label: _('Major value'),\n option: 'majorColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.majorColor),\n};\n\nexport default StaticMajorColorEditor;\n"],"sourceRoot":""}