@splunk/visualizations 25.9.0 → 25.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.js +2 -2
- package/Area.js.map +1 -1
- package/Bar.config.js +1 -1
- package/Bar.config.js.map +1 -1
- package/Bar.js +3 -3
- package/Bar.js.map +1 -1
- package/Bubble.js +2 -2
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.js +2 -2
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +1 -1
- package/Column.config.js.map +1 -1
- package/Column.js +3 -3
- package/Column.js.map +1 -1
- package/Ellipse.js +2 -2
- package/Ellipse.js.map +1 -1
- package/Events.js +2 -2
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +1 -1
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +3 -3
- package/FillerGauge.js.map +1 -1
- package/Image.js +2 -2
- package/Image.js.map +1 -1
- package/Line.config.js +1 -1
- package/Line.config.js.map +1 -1
- package/Line.js +3 -3
- package/Line.js.map +1 -1
- package/LinkGraph.js +2219 -2561
- package/LinkGraph.js.map +1 -1
- package/Map.js +100 -91
- package/Map.js.map +1 -1
- package/Markdown.js +21 -21
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +1 -1
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +11 -11
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.js +31 -31
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +1 -1
- package/Pie.config.js.map +1 -1
- package/Pie.js +11 -11
- package/Pie.js.map +1 -1
- package/Punchcard.js +125 -125
- package/Punchcard.js.map +1 -1
- package/Rectangle.js +43 -43
- package/Rectangle.js.map +1 -1
- package/Sankey.js +16 -16
- package/Sankey.js.map +1 -1
- package/Scatter.js +53 -53
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +1 -1
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +18 -16
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +4 -4
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +1 -1
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +59 -59
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +1 -1
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +58 -58
- package/SingleValueRadial.js.map +1 -1
- package/Table.js +54 -46
- package/Table.js.map +1 -1
- package/common/OverviewDoc.js +5 -5
- package/common/OverviewDoc.js.map +1 -1
- package/common/utils/mapUtils.js +3 -1
- package/common/utils/mapUtils.js.map +1 -1
- package/common/withDashboardViz.js +2 -2
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +22 -22
package/Punchcard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"lodash/find\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"lodash/findIndex\"","webpack:///external \"lodash/flattenDeep\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash/sortBy\"","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 \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","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/Punchcard/Punchcard.ts","webpack:///./src/Punchcard/config.ts","webpack:///./src/Punchcard/PurePunchcard/Punchcard.tsx","webpack:///./src/Punchcard/PurePunchcard/src/utils/sortUtils.js","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardAxis.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardChartArea.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardRow.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardBubble.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardLegend.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardGridLines.tsx","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/Punchcard/punchcardUtils.ts","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/chartingUtils.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"d3-scale\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///./src/Punchcard/PurePunchcard/src/utils/punchcardUtils.ts"],"names":["React","require","styled_components_1","SizeAwareWrapper_1","style_1","colorUtils_1","Item","default","div","attrs","_ref","width","style","toPx","withConfig","displayName","componentId","props","isColor","backgroundColor","theme","defaultBackgroundColor","FixSizeItem","_ref2","height","Object","assign","ItemContent","FixSizeItemContent","withFixedSizeContainer","Viz","FixedSizeContainer","createElement","__VISION_VERSION__","_ref3","newWidth","newHeight","exports","extendStaticWrapperProps","Wrapper","Visualization","extendProperties","forEach","prop","lodash_1","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","keys","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","__rest","annotations","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","VizBehavior","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","label","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","T","i18n_1","Message_1","FixedSizeContainer_1","shouldShowIconPlaceholder","dataSources","loading","data","noData","fields","noFields","propTypes","icon","func","oneOfType","string","number","iconColor","IconPlaceholder","left","top","color","opacity","position","transform","level","message","_","defaultProps","DataSource_1","SortParamsPropTypes","shape","currentSortKey","currentSortDir","oneOf","validSortDirs","onSort","getSortingParams","requestParams","onRequestParamsChange","nextSortDirMap","asc","desc","none","has","sort","shift","e","sortKey","sortDir","nextSortDir","offset","PaginatorParamsPropTypes","isPaging","bool","current","totalPages","onChange","getPaginationParams","meta","totalCount","count","Math","ceil","floor","onChangeHandler","page","countArg","newParams","cloneDeep","pageCount","noop","VizCategory","getSettingsFromThemedProps_1","Options_1","SanitizeProps_1","TimezoneContext_1","moment_1","FeatureFlagContext_1","hocUtils_1","JSONSchemaUtils_1","async_dynamic_options_evaluator_1","id_1","SplunkVisualization_1","getSorting_1","getPagination_1","useDeepMemo_1","MissingPropsMessage_1","withEditModeCover_1","withPlaceholder_1","withDashboardViz","opts","ReactViz","_opts$computeVizProps","computeVizProps","disableEditModeCover","useIconPlaceholder","SanitizedReactViz","withSanitizedProps","defaultOptions","pickFieldFromJSONSchema","DashboardViz","mode","hasEventHandlers","options","_props$context","context","onComputedProps","onEventTrigger","_React$useContext","useContext","serializedTimezone","getDefaultSplunkTimezone","setDefaultSplunkTimezone","themeFunc","themeVar","_b","themes","call","bgColorFromTheme","_getSettingsFromTheme","currentThemeFamily","family","currentThemeColorScheme","colorScheme","currentThemeDensity","density","evaluatedOptions","_React$useState","useState","_React$useState2","_slicedToArray","evaluatedOptionsAsync","setEvaluatedOptionsAsync","featureFlagContext","_React$useState3","name","createGUID","_React$useState4","visualizationID","_React$useState5","_React$useState6","dataSourcesInState","setDataSourcesInState","_React$useState7","_React$useState8","dataFramesInState","setDataFramesInState","_React$useState9","Boolean","visualizations_useWebWorkersForDSL","Worker","_React$useState10","useAsyncEvaluatedOptions","setUseAsyncEvaluatedOptions","useDeepMemo","optionsToEvaluate","defaultsDeep","defaultContext","deepMergeWithArrayPrimitiveOverrides","asyncDynamicOptionsEvaluatorParams","evaluate","then","results","catch","console","error","dataFrames","Options","dataFrameFromDataSource","evaluatedOptionsToUse","isTrellisFeatureFlagOn","visualizations_enableTrellis","clonedEvaluatedOptions","includes","TRELLIS","splitByLayout","trellisBackgroundColor","useEffect","reset","_vizConfig$requiredPr","requiredProps","missing","missingKeys","PLACEHOLDER","missingProps","eventCallbackProps","EVENTS","supportedEvents","events","eventName","eventCallbackPropName","camelCase","payloadKeys","payload","isArray","p","ev","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","columns","vizActionHandlerRef","DefaultVizActionHandler","_createClass","focus","snapshot","react_1","fn","dependencies","ref","useRef","isEqual","visualization_color_palettes_1","config_1","withDashboardViz_1","Punchcard_1","punchcardUtils_1","PurePunchcard","validOptions","onPointClick","onLegendClick","x","y","category","otherOptions","chain","pick","thru","convertToPunchcardProperties","seriesColors","JSON","parse","VIZ_CATEGORICAL","String","viz","visualization_icons_1","placeholders_1","pick_1","variables_1","VizCategory_1","configUtils_1","BackgroundColor_1","dataContract","requiredDataSources","optionalDataSources","initialRequestParams","primary","size","initialWidth","initialHeight","bubbleColorConfig","colors","items","xField","yField","categoryField","sizeField","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","bubbleColor","bubbleLabelDisplay","getPattern","bubbleRadiusMax","bubbleRadiusMin","bubbleRowScale","bubbleSizeMax","bubbleSizeMin","bubbleSizeMethod","colorMode","legendDisplay","showDefaultSort","showDynamicBubbleSize","showMaxValuePulsation","enterprise","dark","black","light","prisma","backgroundColorSidebar","editor","editorProps","values","showEditor","dataSourceKey","prepareValue","definition","COMPARISONS","Punchcard","placeholderIcon","sortUtils_1","PunchcardAxis_1","PunchcardChartArea_1","PunchcardLegend_1","PunchcardGridLines_1","Container","toDimension","PunchcardWrapper","PunchcardContainer","PunchcardSVG","svg","selectedX","setSelectedX","selectedY","setSelectedY","selectedCategory","setSelectedCategory","handleMouseLeave","handleLegendHover","handleXAxisHover","xValue","handleYAxisHover","yValue","handleBubbleHover","showBubbleLabels","bubbleScale","minBubbleColorIntensity","isBubbleSizeDynamic","minBubbleSize","maxBubbleSize","maxBubbleRadius","minBubbleRadius","useDefaultSort","showLegend","calculatedColorMode","COLOR_MODE_TYPES","SEQUENTIAL","displayLegend","CATEGORICAL","uniqX","sortAxis","uniq","v","uniqY","uniqCategory","colorCategoryMapping","getColorCategoryMapping","handlePointClick","sizeValue","_rowData","rowData","handleLegendClick","renderVisualization","containerWidth","containerHeight","_punchcardUtils_1$get","getChartAreaDimensions","xAxisStartY","yAxisStartX","chartAreaStartX","chartAreaStartY","chartAreaEndX","chartAreaEndY","legendStartX","_punchcardUtils_1$get2","getScales","start","end","xScale","scale","xPositionScale","positionScale","_punchcardUtils_1$get3","yScale","yPositionScale","minBand","min","bandwidth","xStartPosition","xEndPosition","yStartPosition","yEndPosition","xDelta","yDelta","labels","orientation","AXIS_ORIENTATION_TYPES","HORIZONTAL","handleMouseEnter","startPositionX","startPositionY","selected","VERTICAL","id","GRAYSCALE_FILTER_ID","containerDimension","BUBBLE_LABELS_TYPES","BUBBLE_ROW_SCALE_TYPES","BUBBLE_SCALE_TYPES","arrayOf","TIME_RANGES","month","january","jan","february","feb","march","mar","april","apr","may","june","jun","july","jul","august","aug","september","sep","sept","october","oct","november","nov","december","dec","wday","monday","mon","tuesday","tu","tue","tues","wednesday","wed","thursday","th","thur","thurs","friday","fri","saturday","sat","sunday","sun","sortedByWeekday","axis","sortedAxis","notWeekDay","lowerValue","toLowerCase","findIndex","flattenDeep","filter","sortedByMonth","notMonth","sortedByDTime","acceptTimeFormat","sortArr","notDate","Number","isNaN","convertedDate","Date","push","epoch","original","acceptedTime","format","test","midday","reformatTime","containsMidday","match","split","join","sortBy","val","sortByDigitOrAlpha","coercedIsFinite","num","isFinite","a","b","sortedTimeAxis","sortedWeekdays","sortedMonths","AxisLabelText","text","textColor","contentColorDefault","muted","PunchcardAxis","positionDelta","xPosition","yPosition","xAxisWidthScale","copy","paddingInner","round","truncatedLabel","truncateAxisLabelText","widthInPX","onMouseEnter","onMouseLeave","PunchcardRow_1","PunchcardChartArea","dataByRows","getDataByRows","entries","row","rowXValues","rowSizeValues","rowCategoryValues","rowColorValues","rowFillOpacityValues","rowSizeScale","rowRadiusValues","maxSizeValue","max","apply","opacities","radiusValues","sizeScale","ALL","ROW","AREA","PunchcardBubble_1","PunchcardRow","categoryValue","colorValue","cx","r","fillOpacity","hover","isSomethingSelected","isBubbleSelected","showBubbleLabel","MAX","cy","pulsate","numberUtils_1","BubbleCircle","circle","outline","white","contentColorInverted","contentColorActive","pulsateAnimation","keyframes","_templateObject","_taggedTemplateLiteral","PulsateBubble","BubbleGroup","g","BubbleLabelText","displayLabel","MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL","MAX_DISPLAYABLE_VALUE","VALUE_OVERFLOW_TEXT","PunchcardBubble","showPulsateBubble","bubbleLabelValueText","formatNumber","useTrendUnits","onClick","LEGEND_ITEM_VERTICAL_SPACER","LEGEND_ITEM_HORIZONTAL_SPACER","LEGEND_RECT_WIDTH","LEGEND_RECT_HEIGHT","LEGEND_OFFSET_TOP","LEGEND_OFFSET_RIGHT","LEGEND_OFFSET_BOTTOM","LegendGroup","LegendIcon","rect","LegendText","PunchcardLegend","legendWidth","legendHeight","c","fill","GridLine","line","gray96","gray25","interactiveColorBackgroundDisabled","PunchcardGridLines","yGridLinesXPositions","xGridLinesYPositions","x1","y1","x2","y2","isMissing","target","k","MissingPropsMessage","chartingUtils_1","punchcardOptionsMapping","punchcardOptionValuesMapping","right","off","dynamic","mapToOldKey","mapKeys","originalOptions","mapToValues","Cover","Blocker","withEditModeCover","showEditCover","IconPlaceholder_1","withPlaceholder","showPlaceholder","background","labelPosition","getAnnotations","annotationX","annotationColor","annotationLabel","timestamp","time","truncateData","dataSet","truncationLimit","limit","parseInt","truncatedData","columnData","optionValuesSCMapping","convertedOptions","updatedValue","isUndefined","convertY2AxisOptions","y2Fields","convertOverlayFields","overlayFields","field","isMultiSeriesData","toArrayForSeries","constructFieldsAndColumns","_ref2$x","_ref2$y","yFields","series","yFieldsArray","y2FieldsArray","y2AsArray","y2Field","d3_scale_1","random","X_AXIS_HEIGHT","Y_AXIS_WIDTH","MARGIN","LEGEND_WIDTH","HORIZONTAL_SPACE_FOR_SINGLE_CHAR","scaleOrdinal","domain","unknown","scaleBand","createValueScale","absValuesWithoutZero","abs","scaleLinear","clamp","_ref4","minRadius","maxRadius","minArea","PI","pow","maxArea","isBubbleColorAnArray","globalSizeScale","getRadiusValue","RADIUS","sqrt","getColorValue","getOpacityValue","bubbleColorValue","_ref5","_ref6","rowSizeValue","_ref7","_ref8","_ref9","_ref9$widthInPX","_ref9$axisLabelOverfl","axisLabelOverflowMode","availableLength","endMarker"],"mappings":"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","file":"Punchcard.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 = 440);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"lodash/find\");","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(\"lodash/findIndex\");","module.exports = require(\"lodash/flattenDeep\");","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(\"lodash/sortBy\");","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(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/themes/pick\");","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/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 { chain } from 'lodash';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport vizConfig from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport Punchcard, { PunchcardProps } from './PurePunchcard/Punchcard';\nimport { convertToPunchcardProperties } from './punchcardUtils';\n\nexport const config = vizConfig;\nexport const PurePunchcard = Punchcard;\n\nconst validOptions = Object.keys(config.optionsSchema);\n\ntype computeVizPropsFn = (options: Record<string, any>) => Partial<PunchcardProps>;\nexport const computeVizProps: computeVizPropsFn = ({\n onPointClick,\n onLegendClick,\n x,\n y,\n category,\n ...otherOptions\n}): Partial<PunchcardProps> => {\n const options = chain(otherOptions).pick(validOptions).thru(convertToPunchcardProperties).value();\n if (options.seriesColors && typeof options.seriesColors === 'string') {\n try {\n options.seriesColors = JSON.parse(options.seriesColors);\n } catch (e) {\n options.seriesColors = VIZ_CATEGORICAL;\n }\n }\n\n return {\n onPointClick,\n onLegendClick,\n x,\n y,\n // PurePunchcard accepts category as string array\n category: category && category.map(String),\n ...options,\n };\n};\n\nconst viz = withDashboardViz({\n ReactViz: Punchcard as any,\n computeVizProps,\n vizConfig,\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 { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { Punchcard as PunchcardPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | seriesByIndex(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n category: {\n default: '> primary | seriesByIndex(3)',\n description: 'Specify the dataSource to apply series categories.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n size: {\n default: '> primary | seriesByIndex(2)',\n description: 'Specify the dataSource to apply bubble size in the chart.',\n type: 'array',\n items: { type: 'number' },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yField: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n categoryField: {\n default: '> category | getField()',\n description: 'Specify the field that should be mapped to the series categories.',\n type: 'string',\n },\n sizeField: {\n default: '> size | getField()',\n description: 'Specify the field that should be mapped to the bubble size in the chart.',\n type: 'string',\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background. 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 bubbleColor: {\n default: '> size | gradient(bubbleColorConfig)',\n description:\n 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)\".',\n type: ['string', 'array'],\n },\n bubbleLabelDisplay: {\n default: 'all',\n description:\n 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',\n pattern: getPattern(['all', 'max', 'off']),\n type: 'string',\n },\n bubbleRadiusMax: {\n default: 15,\n description:\n 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRadiusMin: {\n default: 1,\n description:\n 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRowScale: {\n default: 'global',\n description: 'Specify how bubbles are scaled relative to other rows.',\n pattern: getPattern(['global', 'row']),\n type: 'string',\n },\n bubbleSizeMax: {\n default: 1,\n description:\n 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMin: {\n default: 0.25,\n description:\n 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMethod: {\n default: 'area',\n description: 'Specify whether bubble area or diameter corresponds to the size value.',\n pattern: getPattern(['radius', 'area']),\n type: 'string',\n },\n colorMode: {\n default: 'dynamic',\n description: 'Specify the coloring method used for the bubbles.',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'off']),\n type: 'string',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, \"#FF0000\", \"#0000FF\", \"#008000\".',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n showDefaultSort: {\n default: false,\n description: 'Specify whether axes should be sorted based on order of time, digits and strings.',\n type: 'boolean',\n },\n showDynamicBubbleSize: {\n default: true,\n description: 'Specify whether the bubble size should be dynamic or fixed.',\n type: 'boolean',\n },\n showMaxValuePulsation: {\n default: true,\n description: 'Specify whether the max value bubble should pulsate.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show bubble labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Pulsate max value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Bubble scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble row scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: 'Punchcard',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n placeholderIcon: PunchcardPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport * as T from 'prop-types';\nimport { pick, uniq, noop } from 'lodash';\n\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport { CATEGORICAL } from '@splunk/visualization-color-palettes';\n\nimport {\n AXIS_ORIENTATION_TYPES,\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n GRAYSCALE_FILTER_ID,\n getChartAreaDimensions,\n getColorCategoryMapping,\n getScales,\n} from './src/utils/punchcardUtils';\n\nimport { sortAxis } from './src/utils/sortUtils';\n\nimport PunchcardAxis from './src/PunchcardAxis';\nimport PunchcardChartArea from './src/PunchcardChartArea';\nimport PunchcardLegend from './src/PunchcardLegend';\nimport PunchcardGridLines from './src/PunchcardGridLines';\n\nconst Container = styled.div<{\n width: string | number;\n height: string | number;\n backgroundColor: string;\n}>`\n cursor: default;\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardWrapper = styled.div<{\n backgroundColor: string;\n}>`\n display: flex;\n justify-content: center;\n flex-direction: row;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardContainer = styled.div<{\n width: string | number;\n height: string | number;\n}>`\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst PunchcardSVG = styled.svg<{\n width: string | number;\n height: string | number;\n}>`\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface PunchcardProps {\n backgroundColor: string;\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n categoryField: string;\n colorMode: COLOR_MODE_TYPES;\n seriesColors: string[];\n bubbleColor: string | string[];\n minBubbleColorIntensity: number;\n height: string | number;\n isBubbleSizeDynamic: boolean;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n useDefaultSort: boolean;\n showMaxValuePulsation: boolean;\n showLegend: boolean;\n size: number[];\n sizeField: string;\n width: string | number;\n x: (string | number)[];\n y: (string | number)[];\n xField: string;\n yField: string;\n onPointClick?: (...args: any) => void;\n onLegendClick?: (...args: any) => void;\n}\n\nconst Punchcard = (props: PunchcardProps): React.ReactElement => {\n const [selectedX, setSelectedX] = React.useState(null);\n const [selectedY, setSelectedY] = React.useState(null);\n const [selectedCategory, setSelectedCategory] = React.useState(null);\n\n const handleMouseLeave = () => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleLegendHover = category => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(category);\n };\n\n const handleXAxisHover = xValue => {\n setSelectedX(xValue);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleYAxisHover = yValue => {\n setSelectedX(null);\n setSelectedY(yValue);\n setSelectedCategory(null);\n };\n\n const handleBubbleHover = (xValue, yValue, category) => {\n setSelectedX(xValue);\n setSelectedY(yValue);\n setSelectedCategory(category);\n };\n\n const {\n backgroundColor,\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n categoryField,\n colorMode,\n seriesColors,\n bubbleColor,\n minBubbleColorIntensity,\n height,\n showMaxValuePulsation,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n useDefaultSort,\n showLegend,\n size,\n sizeField,\n width,\n x,\n y,\n xField,\n yField,\n onPointClick,\n onLegendClick,\n } = props;\n const calculatedColorMode = category ? colorMode : COLOR_MODE_TYPES.SEQUENTIAL;\n const displayLegend = showLegend && calculatedColorMode === COLOR_MODE_TYPES.CATEGORICAL;\n const uniqX = useDefaultSort ? sortAxis(uniq(x.map(v => `${v}`))) : uniq(x);\n const uniqY = useDefaultSort ? sortAxis(uniq(y.map(v => `${v}`))) : uniq(y);\n const uniqCategory = uniq(category);\n const colorCategoryMapping = getColorCategoryMapping({\n category: uniqCategory,\n colorMode: calculatedColorMode,\n seriesColors,\n });\n\n const handlePointClick = (sizeValue: number): void => {\n const rowData = {\n [`row.${xField}.value`]: selectedX,\n [`row.${yField}.value`]: selectedY,\n [`row.${sizeField}.value`]: sizeValue,\n };\n if (categoryField) rowData[`row.${categoryField}.value`] = selectedCategory;\n onPointClick({\n type: 'point.click',\n payload: {\n value: selectedY,\n name: yField,\n ...rowData,\n },\n });\n };\n\n const handleLegendClick = (): void => {\n onLegendClick({\n type: 'legend.click',\n payload: {\n name: yField,\n },\n });\n };\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n const {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n } = getChartAreaDimensions({\n containerWidth,\n containerHeight,\n displayLegend,\n });\n const { scale: xScale, positionScale: xPositionScale } = getScales({\n values: uniqX,\n start: chartAreaStartX,\n end: chartAreaEndX,\n });\n const { scale: yScale, positionScale: yPositionScale } = getScales({\n values: uniqY,\n start: chartAreaStartY,\n end: chartAreaEndY,\n });\n\n const minBand = Math.min(xScale.bandwidth(), yScale.bandwidth());\n\n return (\n <PunchcardWrapper backgroundColor={backgroundColor}>\n <PunchcardContainer width={containerWidth} height={containerHeight}>\n <PunchcardSVG width={containerWidth} height={containerHeight}>\n <PunchcardGridLines\n xStartPosition={xPositionScale(uniqX[0])}\n xEndPosition={xPositionScale(uniqX[uniqX.length - 1])}\n yStartPosition={yPositionScale(uniqY[0])}\n yEndPosition={yPositionScale(uniqY[uniqY.length - 1])}\n xDelta={xScale.bandwidth()}\n yDelta={yScale.bandwidth()}\n />\n <PunchcardAxis\n labels={uniqX}\n orientation={AXIS_ORIENTATION_TYPES.HORIZONTAL}\n handleMouseEnter={handleXAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={chartAreaStartX}\n startPositionY={xAxisStartY}\n scale={xScale}\n selected={selectedX}\n />\n <PunchcardAxis\n labels={uniqY}\n orientation={AXIS_ORIENTATION_TYPES.VERTICAL}\n handleMouseEnter={handleYAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={yAxisStartX}\n startPositionY={chartAreaStartY}\n scale={yScale}\n selected={selectedY}\n />\n {displayLegend && (\n <PunchcardLegend\n category={uniqCategory}\n colorCategoryMapping={colorCategoryMapping}\n handleMouseEnter={handleLegendHover}\n handleMouseLeave={handleMouseLeave}\n selected={selectedCategory}\n startPositionX={legendStartX}\n startPositionY={yPositionScale(uniqY[0])}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n handleLegendClick={handleLegendClick}\n />\n )}\n <PunchcardChartArea\n showBubbleLabels={showBubbleLabels}\n bubbleRowScale={bubbleRowScale}\n bubbleScale={bubbleScale}\n category={category}\n colorCategoryMapping={colorCategoryMapping}\n colorMode={calculatedColorMode}\n bubbleColor={bubbleColor}\n minBubbleColorIntensity={minBubbleColorIntensity}\n handleMouseEnter={handleBubbleHover}\n handleMouseLeave={handleMouseLeave}\n isBubbleSizeDynamic={isBubbleSizeDynamic}\n minBand={minBand}\n minBubbleSize={minBubbleSize}\n maxBubbleSize={maxBubbleSize}\n minBubbleRadius={minBubbleRadius}\n maxBubbleRadius={maxBubbleRadius}\n showMaxValuePulsation={showMaxValuePulsation}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n size={size}\n x={x}\n xScale={xPositionScale}\n y={y}\n yScale={yPositionScale}\n handlePointClick={handlePointClick}\n />\n <filter id={GRAYSCALE_FILTER_ID}>\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </PunchcardSVG>\n </PunchcardContainer>\n </PunchcardWrapper>\n );\n };\n\n return (\n <Container backgroundColor={backgroundColor} height={height} width={width}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </Container>\n );\n};\n\nconst propTypes: Record<keyof PunchcardProps, T.Validator<any>> = {\n backgroundColor: T.string,\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n categoryField: T.string,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n seriesColors: T.arrayOf(T.string),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n minBubbleColorIntensity: T.number,\n height: T.oneOfType([T.string, T.number]),\n isBubbleSizeDynamic: T.bool,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n useDefaultSort: T.bool,\n showMaxValuePulsation: T.bool,\n showLegend: T.bool,\n sizeField: T.string,\n width: T.oneOfType([T.string, T.number]),\n // hotfix: isRequired check is removed here for x, y and size props\n // to remove console warnings on early return of this component and\n // implemented in config file using requiredProps\n x: T.arrayOf(T.oneOfType([T.string, T.number])),\n y: T.arrayOf(T.oneOfType([T.string, T.number])),\n size: T.arrayOf(T.number),\n xField: T.string,\n yField: T.string,\n onPointClick: T.func,\n onLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardProps, any> = {\n backgroundColor: 'transparent',\n showBubbleLabels: 'all',\n bubbleRowScale: 'global',\n bubbleScale: 'area',\n category: null,\n categoryField: null,\n colorMode: 'categorical',\n seriesColors: CATEGORICAL,\n bubbleColor: '#7B56DB',\n minBubbleColorIntensity: 0.4,\n showMaxValuePulsation: true,\n height: 500,\n isBubbleSizeDynamic: true,\n minBubbleSize: 0.25,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n useDefaultSort: false,\n showLegend: true,\n size: null,\n sizeField: null,\n width: '100%',\n x: null,\n y: null,\n xField: null,\n yField: null,\n onPointClick: noop,\n onLegendClick: noop,\n};\n\nPunchcard.propTypes = propTypes;\nPunchcard.defaultProps = defaultProps;\n\nexport default Punchcard;\n","import findIndex from 'lodash/findIndex';\nimport find from 'lodash/find';\nimport sortBy from 'lodash/sortBy';\nimport flattenDeep from 'lodash/flattenDeep';\nimport { every } from 'lodash';\n\nconst TIME_RANGES = {\n month: [\n { january: true, jan: true, 'jan.': true },\n { february: true, feb: true, 'feb.': true },\n { march: true, mar: true, 'mar.': true },\n { april: true, apr: true, 'apr.': true },\n { may: true },\n { june: true, jun: true, 'jun.': true },\n { july: true, jul: true, 'jul.': true },\n { august: true, aug: true, 'aug.': true },\n { september: true, sep: true, sept: true, 'sep.': true, 'sept.': true },\n { october: true, oct: true, 'oct.': true },\n { november: true, nov: true, 'nov.': true },\n { december: true, dec: true, 'dec.': true },\n ],\n wday: [\n { monday: true, mon: true, 'mon.': true },\n { tuesday: true, tu: true, 'tu.': true, tue: true, 'tue.': true, tues: true, 'tues.': true },\n { wednesday: true, wed: true, 'wed.': true },\n { thursday: true, th: true, 'th.': true, thur: true, 'thur.': true, thurs: true, 'thurs.': true },\n { friday: true, fri: true, 'fri.': true },\n { saturday: true, sat: true, 'sat.': true },\n { sunday: true, sun: true, 'sun.': true },\n ],\n};\n\n/**\n * Sort axis labels by weekday\n * @param {array} axis - string array\n * @return {array} - string array. If those are not weekday strings, return []\n */\nexport const sortedByWeekday = axis => {\n const sortedAxis = [];\n const notWeekDay = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.wday, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside weekdays, then don't treat it as weekdays\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n\n return notWeekDay ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by month\n * @param {array} axis - string array\n * @return {array} - string array. If those are not month strings, return []\n */\nexport const sortedByMonth = axis => {\n const sortedAxis = [];\n const notMonth = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.month, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside month, then don't treat it as month\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n return notMonth ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by date time\n * @param {array} axis - string array\n * @return {array} - string array. If those are not in acceptTimeFormat or formatted date, return []\n */\nexport const sortedByDTime = axis => {\n // valid time format 01:00 am, 01:00:00, 01:00\n const acceptTimeFormat = [\n /^([0-1])?\\d( )?(am|pm)$/i, // 1am, 1 am, 12am, 12 am\n /^([0-1])?\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00 am, 01:00am, 1:00am\n /^([0-2])?\\d:([0-5]\\d:)?[0-5]\\d$/, // 01:00:00, 1:00:00, 23:00\n /^([0-2])?\\d:[0-5]\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00:00 am, 1:00:00am\n ];\n\n const sortArr = [];\n const notDate = find(axis, value => {\n if (!Number.isNaN(Number(value))) {\n return true;\n }\n // should accept long date: 2019-03-02, Mar 2 2019, ..., 2019-01-01T00:00:00.000Z\n let convertedDate = new Date(value);\n if (!Number.isNaN(Number(convertedDate))) {\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n\n const acceptedTime = acceptTimeFormat.find(format => format.test(value));\n if (acceptedTime) {\n const midday = /(am|pm)$/i;\n let reformatTime = value;\n const containsMidday = value.match(midday);\n if (containsMidday) {\n // for time format like 01:00 am and 1 am\n reformatTime = value.split(midday).slice(0, -1);\n reformatTime[0] = `${reformatTime[0].trim()}:00`;\n reformatTime = reformatTime.join(' ');\n }\n convertedDate = new Date(`1970/01/01 ${reformatTime}`);\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n return true;\n });\n\n if (notDate) {\n return [];\n }\n return sortBy(sortArr, val => val.epoch).map(val => val.original);\n};\n\n/**\n * Sort axis labels by digits or alphabetical order\n * @param {array} axis - string array\n * @return {array} - string array.\n * If those inputs are numbers, then return in digits order. Otherwise, return array based on alphabetical order\n */\nexport const sortByDigitOrAlpha = axis => {\n // 10, 10.0, 10.1, not accept 10,000.0\n const coercedIsFinite = num => Number.isFinite(Number(num));\n if (every(axis, coercedIsFinite)) {\n return axis.sort((a, b) => Number(a) - Number(b));\n }\n return axis.sort();\n};\n\n/**\n * Sort axis based on the priority: time measures, numbers, strings in ascending order\n * @param {array} axis - string array\n * @return {array} - string array\n */\nexport const sortAxis = axis => {\n const sortedTimeAxis = sortedByDTime(axis);\n if (sortedTimeAxis.length) {\n return sortedTimeAxis;\n }\n const sortedWeekdays = sortedByWeekday(axis);\n if (sortedWeekdays.length) {\n return sortedWeekdays;\n }\n const sortedMonths = sortedByMonth(axis);\n if (sortedMonths.length) {\n return sortedMonths;\n }\n\n return sortByDigitOrAlpha(axis);\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { AXIS_ORIENTATION_TYPES, truncateAxisLabelText } from './utils/punchcardUtils';\n\nconst AxisLabelText = styled.text<{\n muted: boolean;\n}>`\n cursor: pointer;\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n text-anchor: ${props => (props.orientation === AXIS_ORIENTATION_TYPES.HORIZONTAL ? 'middle' : 'start')};\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: all 0.15s;\n`;\n\ninterface PunchcardAxisProps {\n labels: (string | number)[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n orientation: AXIS_ORIENTATION_TYPES;\n scale: (...args: any) => void;\n selected: string | number;\n startPositionX: number;\n startPositionY: number;\n}\n\nconst PunchcardAxis = (props: PunchcardAxisProps): React.ReactElement => {\n const {\n labels,\n handleMouseEnter,\n handleMouseLeave,\n orientation,\n scale,\n selected,\n startPositionX,\n startPositionY,\n } = props;\n\n return (\n <g>\n {labels.map((label, index) => {\n // Space between labels either in x or y direction depending on orientation\n const positionDelta = index * (scale as any).bandwidth() + (scale as any).bandwidth() / 2;\n const xPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionX\n : startPositionX + positionDelta;\n const yPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionY + positionDelta\n : startPositionY;\n\n // create padding between x-axis labels\n const xAxisWidthScale = (scale as any).copy().paddingInner(0.1).round(true);\n\n const truncatedLabel =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? truncateAxisLabelText({ label: `${label}` })\n : truncateAxisLabelText({\n label: `${label}`,\n widthInPX: xAxisWidthScale.bandwidth(),\n });\n\n return (\n <AxisLabelText\n key={label}\n x={xPosition}\n y={yPosition}\n orientation={orientation}\n onMouseEnter={() => handleMouseEnter(label)}\n onMouseLeave={handleMouseLeave}\n muted={selected && label !== selected}\n >\n <title>{label}</title>\n {truncatedLabel}\n </AxisLabelText>\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardAxisProps, T.Validator<any>> = {\n labels: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n orientation: T.oneOf(Object.values(AXIS_ORIENTATION_TYPES)),\n scale: T.func.isRequired,\n selected: T.oneOfType([T.string, T.number]),\n startPositionX: T.number,\n startPositionY: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardAxisProps, any> = {\n // set as undefined as we are using defaultProps in conjunction with ts\n // where it requires all keys of interface to be present in defaultProps\n // eslint-disable-next-line react/default-props-match-prop-types\n labels: undefined,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n orientation: 'vertical',\n // eslint-disable-next-line react/default-props-match-prop-types\n scale: undefined,\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n};\n\nPunchcardAxis.propTypes = propTypes;\nPunchcardAxis.defaultProps = defaultProps;\n\nexport default PunchcardAxis;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport {\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n getDataByRows,\n} from './utils/punchcardUtils';\nimport PunchcardRow from './PunchcardRow';\n\ninterface PunchcardChartAreaProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n colorCategoryMapping: (...args: any) => void;\n colorMode: COLOR_MODE_TYPES;\n bubbleColor: string | string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n isBubbleSizeDynamic: boolean;\n minBubbleColorIntensity: number;\n minBand: number;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n showMaxValuePulsation: boolean;\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => void;\n y: (string | number)[];\n yScale: (...args: any) => void;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardChartArea = (props: PunchcardChartAreaProps): React.ReactElement => {\n const {\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n handleMouseEnter,\n handleMouseLeave,\n isBubbleSizeDynamic,\n minBubbleColorIntensity,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n showMaxValuePulsation,\n selectedCategory,\n selectedX,\n selectedY,\n size,\n x,\n xScale,\n y,\n yScale,\n handlePointClick,\n } = props;\n\n /** @type {Object<String\\|Number, import('./utils/punchcardUtils').RowData>} */\n const dataByRows = getDataByRows({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n });\n\n return (\n <g>\n {Object.entries(dataByRows).map(([row, rowData]) => {\n const {\n rowXValues,\n rowSizeValues,\n rowCategoryValues,\n rowColorValues,\n rowFillOpacityValues,\n rowSizeScale,\n rowRadiusValues,\n } = rowData;\n const yPosition = yScale(row);\n\n return (\n <PunchcardRow\n key={row}\n showBubbleLabels={showBubbleLabels}\n category={rowCategoryValues}\n colors={rowColorValues}\n handleMouseEnter={handleMouseEnter}\n handleMouseLeave={handleMouseLeave}\n maxSizeValue={Math.max(...size)}\n opacities={rowFillOpacityValues}\n radiusValues={rowRadiusValues}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n showMaxValuePulsation={showMaxValuePulsation}\n sizeScale={rowSizeScale}\n size={rowSizeValues}\n x={rowXValues}\n xScale={xScale}\n yPosition={yPosition}\n yValue={row}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardChartAreaProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n isBubbleSizeDynamic: T.bool,\n minBubbleColorIntensity: T.number,\n minBand: T.number,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n showMaxValuePulsation: T.bool,\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n size: T.arrayOf(T.number).isRequired,\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n y: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n yScale: T.func,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardChartAreaProps, any> = {\n showBubbleLabels: BUBBLE_LABELS_TYPES.ALL,\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES.ROW,\n bubbleScale: BUBBLE_SCALE_TYPES.AREA,\n category: null,\n colorCategoryMapping: null,\n colorMode: COLOR_MODE_TYPES.CATEGORICAL,\n bubbleColor: '#A870EF',\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n isBubbleSizeDynamic: true,\n minBubbleColorIntensity: 0.25,\n minBand: 15,\n minBubbleSize: 0.01,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n showMaxValuePulsation: true,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n size: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n x: null,\n xScale: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n y: null,\n yScale: null,\n handlePointClick: () => {},\n};\n\nPunchcardChartArea.propTypes = propTypes;\nPunchcardChartArea.defaultProps = defaultProps;\n\nexport default PunchcardChartArea;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport PunchcardBubble from './PunchcardBubble';\n\nimport { BUBBLE_LABELS_TYPES, isSomethingSelected, isBubbleSelected } from './utils/punchcardUtils';\n\ninterface PunchcardRowProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n category: string[];\n colors: string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n maxSizeValue: number;\n opacities: number[];\n radiusValues: number[];\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n showMaxValuePulsation: boolean;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => number;\n yPosition: number;\n yValue: string | number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardRow = (props: PunchcardRowProps): React.ReactElement => {\n const {\n showBubbleLabels,\n category,\n colors,\n handleMouseEnter,\n handleMouseLeave,\n maxSizeValue,\n opacities,\n radiusValues,\n selectedCategory,\n selectedX,\n selectedY,\n showMaxValuePulsation,\n size,\n x,\n xScale,\n yPosition,\n yValue,\n handlePointClick,\n } = props;\n\n return (\n <g>\n {x.map((xValue, index) => {\n const sizeValue = size[index];\n const categoryValue = category[index];\n const colorValue = colors[index];\n const cx = xScale(xValue);\n const r = radiusValues[index];\n const fillOpacity = opacities[index];\n\n const hover =\n isSomethingSelected({ selectedX, selectedY, selectedCategory }) &&\n isBubbleSelected({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n });\n const muted = isSomethingSelected({ selectedX, selectedY, selectedCategory }) && !hover;\n\n const showBubbleLabel =\n showBubbleLabels === BUBBLE_LABELS_TYPES.ALL ||\n (showBubbleLabels === BUBBLE_LABELS_TYPES.MAX && maxSizeValue === sizeValue);\n\n return (\n <PunchcardBubble\n key={`${xValue}-${yValue}-${sizeValue}-${categoryValue}`}\n showBubbleLabel={showBubbleLabel}\n color={colorValue}\n cx={cx}\n cy={yPosition}\n fillOpacity={fillOpacity}\n handleMouseEnter={() => {\n handleMouseEnter(xValue, yValue, categoryValue);\n }}\n handleMouseLeave={handleMouseLeave}\n hover={hover}\n muted={muted}\n pulsate={showMaxValuePulsation && sizeValue === maxSizeValue}\n value={sizeValue}\n r={r}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardRowProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n category: T.arrayOf(T.string),\n colors: T.arrayOf(T.string),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n maxSizeValue: T.number,\n opacities: T.arrayOf(T.number),\n radiusValues: T.arrayOf(T.number),\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n showMaxValuePulsation: T.bool,\n size: T.arrayOf(T.number),\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n yPosition: T.number,\n yValue: T.oneOfType([T.string, T.number]),\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardRowProps, any> = {\n showBubbleLabels: null,\n category: null,\n colors: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n maxSizeValue: null,\n opacities: null,\n radiusValues: null,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n showMaxValuePulsation: true,\n size: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n x: null,\n xScale: null,\n yPosition: null,\n yValue: null,\n handlePointClick: () => {},\n};\n\nPunchcardRow.propTypes = propTypes;\nPunchcardRow.defaultProps = defaultProps;\n\nexport default withTheme(PunchcardRow as any);\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled, { keyframes } from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { GRAYSCALE_FILTER_ID } from './utils/punchcardUtils';\n\nconst BubbleCircle = styled.circle<{\n hover: boolean | null;\n outline: boolean;\n}>`\n fill: ${props =>\n props.outline\n ? pick({\n // bubbleTextColor\n enterprise: {\n light: variables.white, // equal to enterpriseDark.textColor\n dark: variables.contentColorInverted, // enterprise.textColor\n },\n prisma: variables.contentColorActive,\n })(props)\n : props.color};\n fill-opacity: 1;\n opacity: ${props => (props.hover ? 0 : props.fillOpacity)};\n stroke: ${props => (props.outline ? props.color : 'none')};\n`;\n\nconst pulsateAnimation = r => keyframes`\n 41% {\n opacity: 0;\n r: ${r + 5};\n }\n 100% {\n opacity: 0;\n r: ${r + 5};\n }\n`;\n\nconst PulsateBubble = styled(BubbleCircle)`\n animation: ${props => pulsateAnimation(props.r)} 2.4s linear 0.4s infinite;\n`;\n\nconst BubbleGroup = styled.g<{\n muted: boolean;\n onMouseEnter: (...args: any) => void;\n onMouseLeave: (...args: any) => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n filter: ${props => (props.muted ? `url(#${GRAYSCALE_FILTER_ID})` : '')};\n transition: opacity 0.15s;\n`;\n\nconst BubbleLabelText = styled.text<{\n hover: boolean;\n outline: boolean;\n displayLabel: boolean;\n}>`\n dominant-baseline: middle;\n opacity: ${props => (props.displayLabel ? 1 : 0)};\n fill: ${props =>\n props.hover || props.outline\n ? pick({\n // bubbleAltTextColor\n enterprise: variables.textColor,\n prisma: variables.contentColorActive,\n })(props)\n : pick({\n enterprise: {\n dark: variables.textColor,\n light: variables.white,\n },\n prisma: variables.contentColorActive,\n })(props)}};\n font-size: ${props => (props.hover ? '12px' : '10px')};\n font-weight: ${props => (props.hover ? 500 : 'normal')};\n text-anchor: middle;\n`;\n\nconst MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL = 13;\nconst MAX_DISPLAYABLE_VALUE = 99499999999999;\nconst VALUE_OVERFLOW_TEXT = '99T+';\n\ninterface PunchcardBubbleProps {\n showBubbleLabel: boolean;\n color: string;\n cx: number;\n cy: number;\n fillOpacity: number;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n hover: boolean;\n muted: boolean;\n pulsate: boolean;\n value: number;\n r: number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardBubble = (props: PunchcardBubbleProps): React.ReactElement => {\n const {\n showBubbleLabel,\n color,\n cx,\n cy,\n fillOpacity,\n handleMouseEnter,\n handleMouseLeave,\n hover,\n muted,\n pulsate,\n value,\n r,\n handlePointClick,\n } = props;\n\n const outline = value < 0;\n const showPulsateBubble = pulsate && !muted && !hover;\n const displayLabel = hover || (showBubbleLabel && r >= MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL);\n\n let bubbleLabelValueText =\n value <= MAX_DISPLAYABLE_VALUE\n ? formatNumber(value, 0, { useTrendUnits: true })\n : VALUE_OVERFLOW_TEXT;\n\n if (hover) {\n bubbleLabelValueText = formatNumber(value, 2);\n }\n\n return (\n <BubbleGroup\n muted={muted}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={() => handlePointClick(value)}\n >\n {showPulsateBubble && <PulsateBubble cx={cx} cy={cy} r={r} color={color} outline hover={null} />}\n <BubbleCircle\n cx={cx}\n cy={cy}\n r={r}\n color={color}\n hover={hover}\n fillOpacity={fillOpacity}\n outline={outline}\n />\n <BubbleLabelText x={cx} y={cy} hover={hover} outline={outline} displayLabel={displayLabel}>\n {bubbleLabelValueText}\n </BubbleLabelText>\n </BubbleGroup>\n );\n};\n\nconst propTypes: Record<keyof PunchcardBubbleProps, T.Validator<any>> = {\n showBubbleLabel: T.bool,\n color: T.string,\n cx: T.number,\n cy: T.number,\n fillOpacity: T.number,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n hover: T.bool,\n muted: T.bool,\n pulsate: T.bool,\n value: T.number,\n r: T.number,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardBubbleProps, any> = {\n showBubbleLabel: true,\n color: '#46D3BB',\n cx: 0,\n cy: 0,\n fillOpacity: 1,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n hover: false,\n muted: false,\n pulsate: false,\n r: 1,\n value: undefined,\n handlePointClick: () => {},\n};\n\nPunchcardBubble.propTypes = propTypes;\nPunchcardBubble.defaultProps = defaultProps;\n\nexport default PunchcardBubble;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nconst LEGEND_ITEM_VERTICAL_SPACER = 25;\nconst LEGEND_ITEM_HORIZONTAL_SPACER = 10;\nconst LEGEND_RECT_WIDTH = 5;\nconst LEGEND_RECT_HEIGHT = 10;\nconst LEGEND_OFFSET_TOP = 7;\nconst LEGEND_OFFSET_RIGHT = 16;\nconst LEGEND_OFFSET_BOTTOM = 16;\n\nconst LegendGroup = styled.g<{\n muted: boolean;\n onClick: () => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: opacity 0.15s;\n`;\n\nconst LegendIcon = styled.rect`\n width: ${LEGEND_RECT_WIDTH}px;\n height: ${LEGEND_RECT_HEIGHT}px;\n rx: 1px;\n ry: 1px;\n`;\n\nconst LegendText = styled.text`\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n`;\n\ninterface PunchcardLegendProps {\n category: string[];\n colorCategoryMapping: (...args: any) => string;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n selected: string;\n startPositionY: number;\n startPositionX: number;\n containerWidth: number;\n containerHeight: number;\n handleLegendClick: () => void;\n}\n\nconst PunchcardLegend = (props: PunchcardLegendProps): React.ReactElement => {\n const {\n category,\n colorCategoryMapping,\n handleMouseEnter,\n handleMouseLeave,\n selected,\n startPositionX,\n startPositionY,\n containerWidth,\n containerHeight,\n handleLegendClick,\n } = props;\n\n const legendWidth = containerWidth - LEGEND_OFFSET_RIGHT - startPositionX;\n const legendHeight = containerHeight - LEGEND_OFFSET_BOTTOM;\n\n return (\n <svg\n x={startPositionX}\n y={startPositionY - LEGEND_OFFSET_TOP} // Align legend with topmost grid line\n width={legendWidth}\n height={legendHeight}\n >\n <g>\n {category.map((c, index) => {\n const yValue = index * LEGEND_ITEM_VERTICAL_SPACER;\n\n return (\n <LegendGroup\n key={c}\n muted={selected && selected !== c}\n onMouseEnter={() => handleMouseEnter(c)}\n onMouseLeave={handleMouseLeave}\n onClick={() => handleLegendClick()}\n data-test=\"legend-group\"\n >\n <LegendIcon x={0} y={yValue} fill={colorCategoryMapping(c)} />\n <LegendText\n x={LEGEND_ITEM_HORIZONTAL_SPACER}\n y={yValue + LEGEND_RECT_HEIGHT / 2 + 2}\n >\n <title>{c}</title>\n {c}\n </LegendText>\n </LegendGroup>\n );\n })}\n </g>\n </svg>\n );\n};\n\nconst propTypes: Record<keyof PunchcardLegendProps, T.Validator<any>> = {\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func.isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n selected: T.string,\n startPositionX: T.number,\n startPositionY: T.number,\n containerWidth: T.number,\n containerHeight: T.number,\n handleLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardLegendProps, any> = {\n category: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n colorCategoryMapping: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n containerWidth: 100,\n containerHeight: 100,\n handleLegendClick: () => {},\n};\n\nPunchcardLegend.propTypes = propTypes;\nPunchcardLegend.defaultProps = defaultProps;\n\nexport default PunchcardLegend;\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport { range } from 'lodash';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\n// was previously lineColor in themeRegistry\nconst GridLine = styled.line`\n stroke: ${pick({\n enterprise: {\n light: variables.gray96,\n dark: variables.gray25,\n },\n prisma: variables.interactiveColorBackgroundDisabled,\n })};\n stroke-width: 1px;\n`;\n\ninterface PunchcardGridLinesProps {\n xStartPosition: number;\n xEndPosition: number;\n yStartPosition: number;\n yEndPosition: number;\n xDelta: number;\n yDelta: number;\n}\n\nconst PunchcardGridLines = (props: PunchcardGridLinesProps): React.ReactElement => {\n const { xStartPosition, xEndPosition, yStartPosition, yEndPosition, xDelta, yDelta } = props;\n\n const yGridLinesXPositions = range(xStartPosition, xEndPosition + 1, xDelta);\n const xGridLinesYPositions = range(yStartPosition, yEndPosition + 1, yDelta);\n\n return (\n <g data-test=\"data-test-gridlines\">\n {yGridLinesXPositions.map(xValue => (\n <GridLine\n key={`${xValue}x${yStartPosition}`}\n x1={xValue}\n y1={yStartPosition}\n x2={xValue}\n y2={yEndPosition}\n />\n ))}\n {xGridLinesYPositions.map(yValue => (\n <GridLine\n key={`${xStartPosition}x${yValue}`}\n x1={xStartPosition}\n y1={yValue}\n x2={xEndPosition}\n y2={yValue}\n />\n ))}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardGridLinesProps, T.Validator<any>> = {\n xStartPosition: T.number,\n xEndPosition: T.number,\n yStartPosition: T.number,\n yEndPosition: T.number,\n xDelta: T.number,\n yDelta: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardGridLinesProps, any> = {\n xStartPosition: undefined,\n xEndPosition: undefined,\n yStartPosition: undefined,\n yEndPosition: undefined,\n xDelta: 10,\n yDelta: 10,\n};\n\nPunchcardGridLines.propTypes = propTypes;\nPunchcardGridLines.defaultProps = defaultProps;\n\nexport default PunchcardGridLines;\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 { mapKeys, chain } from 'lodash';\nimport { mapToValues } from '../common/chartingUtils';\n\ninterface PunchcardOptions {\n [key: string]: any;\n}\n\nconst punchcardOptionsMapping = {\n legendDisplay: 'showLegend',\n bubbleLabelDisplay: 'showBubbleLabels',\n showDefaultSort: 'useDefaultSort',\n bubbleSizeMethod: 'bubbleScale',\n showDynamicBubbleSize: 'isBubbleSizeDynamic',\n bubbleRadiusMax: 'maxBubbleRadius',\n bubbleRadiusMin: 'minBubbleRadius',\n bubbleSizeMax: 'maxBubbleSize',\n bubbleSizeMin: 'minBubbleSize',\n};\n\n// key value mapping of what options (and their corresponding values) which\n// we expose in config.ts to property values PurePunchcard understands\nexport const punchcardOptionValuesMapping = {\n showLegend: {\n right: true,\n off: false,\n },\n showBubbleLabels: {\n off: 'none',\n },\n colorMode: {\n dynamic: 'sequential',\n },\n};\n\n/**\n * Helper method to update the option names which can be mapped to PurePunchcard options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: PunchcardOptions): PunchcardOptions =>\n mapKeys(options, (val, key) => (punchcardOptionsMapping[key] ? punchcardOptionsMapping[key] : key));\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that PurePunchcard accepts\n * This is for options that has new key name and can not directly be mapped with PurePunchcard props\n * @method convertToPunchcardProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToPunchcardProperties = (originalOptions: PunchcardOptions): PunchcardOptions =>\n chain(mapToOldKey(originalOptions)).thru(mapToValues(punchcardOptionValuesMapping)).value();\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","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n","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(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"d3-scale\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","import { scaleBand, scaleLinear, scaleOrdinal } from 'd3-scale';\n\n/**\n * @enum {AXIS_ORIENTATION_TYPES}\n */\nexport enum AXIS_ORIENTATION_TYPES {\n VERTICAL = 'vertical',\n HORIZONTAL = 'horizontal',\n}\n\n/**\n * @enum {BUBBLE_ROW_SCALE_TYPES}\n */\nexport enum BUBBLE_ROW_SCALE_TYPES {\n GLOBAL = 'global',\n ROW = 'row',\n}\n\n/**\n * @enum {BUBBLE_SCALE_TYPES}\n */\nexport enum BUBBLE_SCALE_TYPES {\n RADIUS = 'radius',\n AREA = 'area',\n}\n\n/**\n * @enum {COLOR_MODE_TYPES}\n */\nexport enum COLOR_MODE_TYPES {\n SEQUENTIAL = 'sequential',\n CATEGORICAL = 'categorical',\n}\n\n/**\n * @enum {BUBBLE_LABELS_TYPES}\n */\nexport enum BUBBLE_LABELS_TYPES {\n ALL = 'all',\n MAX = 'max',\n NONE = 'none',\n}\n\n/**\n * @string GRAYSCALE_FILTER_ID\n */\nexport const GRAYSCALE_FILTER_ID = `punchcard-grayscale-filter-id-${Math.floor(Math.random() * 1000)}`;\n\nconst X_AXIS_HEIGHT = 15;\nconst Y_AXIS_WIDTH = 77;\nconst MARGIN = 10;\nconst LEGEND_WIDTH = 135;\nconst HORIZONTAL_SPACE_FOR_SINGLE_CHAR = 6;\n\n/**\n * get a mapping of categories to colors given all categories\n * @method getColorCategoryMapping\n * @param {Object} input\n * @param {Array<String>} category\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {Array<String>} seriesColors\n * @return {Function} colorCategoryMapping\n */\nexport const getColorCategoryMapping = ({ category, colorMode, seriesColors }) => {\n if (colorMode === COLOR_MODE_TYPES.SEQUENTIAL) {\n return null;\n }\n\n return scaleOrdinal().domain(category).range(seriesColors).unknown(seriesColors[0]);\n};\n\n/**\n * get punchcard dimensions given container width and height\n * @method getChartAreaDimensions\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Boolean} displayLegend\n * @return {Object} dimensions\n * @return {Number} dimensions.xAxisStartY\n * @return {Number} dimensions.yAxisStartX\n * @return {Number} dimensions.chartAreaStartX\n * @return {Number} dimensions.chartAreaStartY\n * @return {Number} dimensions.chartAreaEndX\n * @return {Number} dimensions.chartAreaEndY\n */\nexport const getChartAreaDimensions = ({ containerWidth, containerHeight, displayLegend }) => {\n const yAxisStartX = MARGIN;\n const chartAreaStartX = yAxisStartX + Y_AXIS_WIDTH + MARGIN;\n\n let chartAreaEndX = containerWidth - MARGIN;\n let legendStartX = null;\n\n if (displayLegend) {\n legendStartX = containerWidth - LEGEND_WIDTH;\n chartAreaEndX = legendStartX - MARGIN;\n }\n\n const chartAreaStartY = MARGIN;\n const xAxisStartY = containerHeight - X_AXIS_HEIGHT - MARGIN;\n const chartAreaEndY = xAxisStartY - MARGIN;\n\n return {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n };\n};\n\n/**\n * gets a scale used to map values to x or y plane\n * @method getScales\n * @param {Object} input\n * @param {(Array<String>\\|Array<Number>)} values\n * @param {Number} start\n * @param {Number} end\n * @return {Object} scales\n * @return {Function} scales.scale function to return beginning of band\n * @return {Function} scales.positionScale function to return middle of band\n */\nexport const getScales = ({ values, start, end }) => {\n const scale = scaleBand().domain(values).range([start, end]);\n\n // Returns the middle of the band\n const positionScale = value => scale(value) + scale.bandwidth() / 2;\n\n return {\n scale,\n positionScale,\n };\n};\n\n/**\n * Maps an array of values to a percentage\n * Excludes zero values and takes the absolute minimum and maximum value\n * @method createValueScale\n * @param {Array<Number>} values\n * @return {Function} radiusScale\n */\nexport const createValueScale = values => {\n const absValuesWithoutZero = [];\n values.forEach(value => {\n // Ignore undefined, null and 0 values\n if (value) {\n absValuesWithoutZero.push(Math.abs(value));\n }\n });\n\n return scaleLinear()\n .domain([Math.min(...absValuesWithoutZero), Math.max(...absValuesWithoutZero)])\n .range([0, 1])\n .clamp(true)\n .unknown(0);\n};\n\n/**\n * @typedef RowData\n * @type {Object}\n * @property {(Array<String>\\|Array<Number>)} rowXValues\n * @property {Array<Number>} rowSizeValues\n * @property {Array<String>} rowCategoryValues\n * @property {Array<Number>} rowColorValues\n * @property {Array<Number>} rowFillOpacityValues\n * @property {Function} rowSizeScale\n * @property {Array<Number>} rowRadiusValue\n */\n\ninterface RowData {\n rowXValues: (string | number)[];\n rowSizeValues: number[];\n rowCategoryValues: string[];\n rowColorValues: number[];\n rowFillOpacityValues: number[];\n rowSizeScale: (...args: any) => void;\n rowRadiusValues: number[];\n}\n\n/**\n * Given a dataset, partition it by row and for each row:\n * get x, size, category and rowSizeScales\n * @method getDataByRows\n * @param {Object} input\n * @param {BUBBLE_ROW_SCALE_TYPES} bubbleRowScale\n * @param {BUBBLE_SCALE_TYPES} bubbleScale\n * @param {Array<String>} category\n * @param {Function} colorCategoryMapping\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {(String|Array<String>)} bubbleColor\n * @param {Number} minBubbleColorIntensity\n * @param {Array<Number>} size\n * @param {(Array<String>\\|Array<Number>)} x\n * @param {(Array<String>\\|Array<Number>)} y\n * @param {Boolean} isBubbleSizeDynamic\n * @param {Number} minBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} maxBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} minBand // Used to calculated radius when isBubbleSizeDynamic\n * @param {Number} maxBubbleRadius // Used when !isBubbleSizeDynamic\n * @param {Number} minBubbleRadius // Used when !isBubbleSizeDynamic\n * @return {Object<String\\|Number, RowData>} dataByRows\n */\nexport const getDataByRows = ({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n minBand,\n maxBubbleRadius,\n minBubbleRadius,\n}) => {\n const dataByRows: { [key: string]: RowData } = {};\n const minRadius = isBubbleSizeDynamic ? (minBand / 2) * minBubbleSize : minBubbleRadius;\n const maxRadius = isBubbleSizeDynamic ? (minBand / 2) * maxBubbleSize : maxBubbleRadius;\n const minArea = Math.PI * minRadius ** 2;\n const maxArea = Math.PI * maxRadius ** 2;\n const isBubbleColorAnArray = Array.isArray(bubbleColor);\n\n const globalSizeScale = createValueScale(size);\n const getRadiusValue = (value, sizeScale) =>\n bubbleScale === BUBBLE_SCALE_TYPES.RADIUS\n ? (maxRadius - minRadius) * sizeScale(Math.abs(value)) + minRadius\n : Math.sqrt(((maxArea - minArea) * sizeScale(Math.abs(value)) + minArea) / Math.PI);\n const getColorValue = c =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL ? colorCategoryMapping(c) : bubbleColor;\n const getOpacityValue = (value, sizeScale) =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL || isBubbleColorAnArray\n ? 1\n : sizeScale(Math.abs(value)) * (1 - minBubbleColorIntensity) + minBubbleColorIntensity;\n\n y.forEach((yValue, index) => {\n const xValue = x[index];\n const sizeValue = size[index];\n const categoryValue = category && category[index] ? category[index] : null;\n const bubbleColorValue =\n colorMode === COLOR_MODE_TYPES.SEQUENTIAL && isBubbleColorAnArray\n ? bubbleColor[index]\n : getColorValue(categoryValue);\n\n // if we find an invalid data point here (x, y or size is null or undefined), we ignore it\n if (xValue == null || yValue == null || sizeValue == null) {\n return;\n }\n\n // initialize rowData\n if (!dataByRows[yValue]) {\n dataByRows[yValue] = {\n rowXValues: [],\n rowSizeValues: [],\n rowCategoryValues: [],\n rowColorValues: [],\n rowFillOpacityValues: [],\n rowSizeScale: globalSizeScale,\n rowRadiusValues: [],\n };\n }\n\n dataByRows[yValue].rowXValues.push(xValue);\n dataByRows[yValue].rowSizeValues.push(sizeValue);\n dataByRows[yValue].rowCategoryValues.push(categoryValue);\n dataByRows[yValue].rowColorValues.push(bubbleColorValue);\n dataByRows[yValue].rowFillOpacityValues.push(\n getOpacityValue(size[index], dataByRows[yValue].rowSizeScale)\n );\n dataByRows[yValue].rowRadiusValues.push(getRadiusValue(size[index], dataByRows[yValue].rowSizeScale));\n });\n\n // If we are using row scaling we need to recalculate opacity, radius and size scale\n if (bubbleRowScale === BUBBLE_ROW_SCALE_TYPES.ROW) {\n Object.entries(dataByRows).forEach(([row, rowData]) => {\n const rowSizeScale = createValueScale(rowData.rowSizeValues);\n dataByRows[row].rowSizeScale = rowSizeScale;\n\n // Fill in opacity and radius values based on row scale\n rowData.rowSizeValues.forEach((rowSizeValue, index) => {\n dataByRows[row].rowFillOpacityValues[index] = getOpacityValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n dataByRows[row].rowRadiusValues[index] = getRadiusValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n });\n });\n }\n\n return dataByRows;\n};\n\n/**\n * Given selected dimensions\n * return true if there is something currently being selected\n * @method isSomethingSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @return {Boolean}\n */\nexport const isSomethingSelected = ({ selectedX, selectedY, selectedCategory }) =>\n selectedX !== null || selectedY !== null || selectedCategory !== null;\n\n/**\n * Given selected dimensions and a specific bubble's values\n * return true if that bubble should be selected\n * @method isBubbleSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @param {String|Number} xValue\n * @param {String|Number} yValue\n * @param {Boolean} categoryValue\n * @return {Boolean}\n */\nexport const isBubbleSelected = ({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n}) => {\n if (selectedX !== null && xValue !== selectedX) {\n return false;\n }\n\n if (selectedY !== null && yValue !== selectedY) {\n return false;\n }\n\n if (selectedCategory !== null && categoryValue !== selectedCategory) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Given text and available width, the truncateAxisLabelText will ellipsize\n * the truncateLocation of the text\n * @method truncateAxisLabelText\n * @param {Object} input\n * @param {String} label - The text to truncate\n * @param {Number} widthInPX - Available width to render the text\n * @param {('ellipsisStart' | 'ellipsisEnd')} axisLabelOverflowMode - Truncate start or end of the text\n */\nexport const truncateAxisLabelText = ({\n label,\n widthInPX = Y_AXIS_WIDTH,\n axisLabelOverflowMode = 'ellipsisEnd',\n}) => {\n // convert available width to number of characters that can be rendered.\n const availableLength = Math.floor(widthInPX / HORIZONTAL_SPACE_FOR_SINGLE_CHAR);\n\n if (label.length <= availableLength) {\n return label;\n }\n\n // return empty string if available space cannot accomodate\n // at least one label character\n if (availableLength < 'X...'.length) {\n return '';\n }\n\n const endMarker = Math.max(0, availableLength - '...'.length);\n if (axisLabelOverflowMode === 'ellipsisStart') {\n return `...${label.slice(-endMarker)}`;\n }\n\n return `${label.slice(0, endMarker)}...`;\n};\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"lodash/find\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"lodash/findIndex\"","webpack:///external \"lodash/flattenDeep\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash/sortBy\"","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 \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","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/Punchcard/Punchcard.ts","webpack:///./src/Punchcard/config.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/Punchcard/PurePunchcard/Punchcard.tsx","webpack:///./src/Punchcard/PurePunchcard/src/utils/sortUtils.js","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardAxis.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardChartArea.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardRow.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardBubble.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardLegend.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardGridLines.tsx","webpack:///./src/Punchcard/punchcardUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/chartingUtils.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"d3-scale\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///./src/Punchcard/PurePunchcard/src/utils/punchcardUtils.ts"],"names":["React","require","styled_components_1","SizeAwareWrapper_1","style_1","colorUtils_1","Item","default","div","attrs","_ref","width","style","toPx","withConfig","displayName","componentId","props","isColor","backgroundColor","theme","defaultBackgroundColor","FixSizeItem","_ref2","height","Object","assign","ItemContent","FixSizeItemContent","withFixedSizeContainer","Viz","FixedSizeContainer","createElement","__VISION_VERSION__","_ref3","newWidth","newHeight","exports","extendStaticWrapperProps","Wrapper","Visualization","extendProperties","forEach","prop","lodash_1","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","keys","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","__rest","annotations","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","VizBehavior","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","label","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","T","i18n_1","Message_1","FixedSizeContainer_1","shouldShowIconPlaceholder","dataSources","loading","data","noData","fields","noFields","propTypes","icon","func","oneOfType","string","number","iconColor","IconPlaceholder","left","top","color","opacity","position","transform","level","message","_","defaultProps","DataSource_1","SortParamsPropTypes","shape","currentSortKey","currentSortDir","oneOf","validSortDirs","onSort","getSortingParams","requestParams","onRequestParamsChange","nextSortDirMap","asc","desc","none","has","sort","shift","e","sortKey","sortDir","nextSortDir","offset","PaginatorParamsPropTypes","isPaging","bool","current","totalPages","onChange","getPaginationParams","meta","totalCount","count","Math","ceil","floor","onChangeHandler","page","countArg","newParams","cloneDeep","pageCount","noop","VizCategory","getSettingsFromThemedProps_1","Options_1","SanitizeProps_1","TimezoneContext_1","moment_1","FeatureFlagContext_1","hocUtils_1","JSONSchemaUtils_1","async_dynamic_options_evaluator_1","id_1","SplunkVisualization_1","getSorting_1","getPagination_1","useDeepMemo_1","MissingPropsMessage_1","withEditModeCover_1","withPlaceholder_1","withDashboardViz","opts","ReactViz","_opts$computeVizProps","computeVizProps","disableEditModeCover","useIconPlaceholder","SanitizedReactViz","withSanitizedProps","defaultOptions","pickFieldFromJSONSchema","DashboardViz","mode","hasEventHandlers","options","_props$context","context","onComputedProps","onEventTrigger","_React$useContext","useContext","serializedTimezone","getDefaultSplunkTimezone","setDefaultSplunkTimezone","themeFunc","themeVar","_b","themes","call","bgColorFromTheme","_getSettingsFromTheme","currentThemeFamily","family","currentThemeColorScheme","colorScheme","currentThemeDensity","density","evaluatedOptions","_React$useState","useState","_React$useState2","_slicedToArray","evaluatedOptionsAsync","setEvaluatedOptionsAsync","featureFlagContext","_React$useState3","name","createGUID","_React$useState4","visualizationID","_React$useState5","_React$useState6","dataSourcesInState","setDataSourcesInState","_React$useState7","_React$useState8","dataFramesInState","setDataFramesInState","_React$useState9","Boolean","visualizations_useWebWorkersForDSL","Worker","_React$useState10","useAsyncEvaluatedOptions","setUseAsyncEvaluatedOptions","useDeepMemo","optionsToEvaluate","defaultsDeep","defaultContext","deepMergeWithArrayPrimitiveOverrides","asyncDynamicOptionsEvaluatorParams","evaluate","then","results","catch","console","error","dataFrames","Options","dataFrameFromDataSource","evaluatedOptionsToUse","isTrellisFeatureFlagOn","visualizations_enableTrellis","clonedEvaluatedOptions","includes","TRELLIS","splitByLayout","trellisBackgroundColor","useEffect","reset","_vizConfig$requiredPr","requiredProps","missing","missingKeys","PLACEHOLDER","missingProps","eventCallbackProps","EVENTS","supportedEvents","events","eventName","eventCallbackPropName","camelCase","payloadKeys","payload","isArray","p","ev","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","columns","vizActionHandlerRef","DefaultVizActionHandler","_createClass","focus","snapshot","visualization_color_palettes_1","config_1","withDashboardViz_1","Punchcard_1","punchcardUtils_1","PurePunchcard","validOptions","onPointClick","onLegendClick","x","y","category","otherOptions","chain","pick","thru","convertToPunchcardProperties","seriesColors","JSON","parse","VIZ_CATEGORICAL","String","viz","visualization_icons_1","placeholders_1","pick_1","variables_1","VizCategory_1","configUtils_1","BackgroundColor_1","dataContract","requiredDataSources","optionalDataSources","initialRequestParams","primary","size","initialWidth","initialHeight","bubbleColorConfig","colors","items","xField","yField","categoryField","sizeField","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","bubbleColor","bubbleLabelDisplay","getPattern","bubbleRadiusMax","bubbleRadiusMin","bubbleRowScale","bubbleSizeMax","bubbleSizeMin","bubbleSizeMethod","colorMode","legendDisplay","showDefaultSort","showDynamicBubbleSize","showMaxValuePulsation","enterprise","dark","black","light","prisma","backgroundColorSidebar","editor","editorProps","values","showEditor","dataSourceKey","prepareValue","definition","COMPARISONS","Punchcard","placeholderIcon","react_1","fn","dependencies","ref","useRef","isEqual","sortUtils_1","PunchcardAxis_1","PunchcardChartArea_1","PunchcardLegend_1","PunchcardGridLines_1","Container","toDimension","PunchcardWrapper","PunchcardContainer","PunchcardSVG","svg","selectedX","setSelectedX","selectedY","setSelectedY","selectedCategory","setSelectedCategory","handleMouseLeave","handleLegendHover","handleXAxisHover","xValue","handleYAxisHover","yValue","handleBubbleHover","showBubbleLabels","bubbleScale","minBubbleColorIntensity","isBubbleSizeDynamic","minBubbleSize","maxBubbleSize","maxBubbleRadius","minBubbleRadius","useDefaultSort","showLegend","calculatedColorMode","COLOR_MODE_TYPES","SEQUENTIAL","displayLegend","CATEGORICAL","uniqX","sortAxis","uniq","v","uniqY","uniqCategory","colorCategoryMapping","getColorCategoryMapping","handlePointClick","sizeValue","_rowData","rowData","handleLegendClick","renderVisualization","containerWidth","containerHeight","_punchcardUtils_1$get","getChartAreaDimensions","xAxisStartY","yAxisStartX","chartAreaStartX","chartAreaStartY","chartAreaEndX","chartAreaEndY","legendStartX","_punchcardUtils_1$get2","getScales","start","end","xScale","scale","xPositionScale","positionScale","_punchcardUtils_1$get3","yScale","yPositionScale","minBand","min","bandwidth","xStartPosition","xEndPosition","yStartPosition","yEndPosition","xDelta","yDelta","labels","orientation","AXIS_ORIENTATION_TYPES","HORIZONTAL","handleMouseEnter","startPositionX","startPositionY","selected","VERTICAL","id","GRAYSCALE_FILTER_ID","containerDimension","BUBBLE_LABELS_TYPES","BUBBLE_ROW_SCALE_TYPES","BUBBLE_SCALE_TYPES","arrayOf","TIME_RANGES","month","january","jan","february","feb","march","mar","april","apr","may","june","jun","july","jul","august","aug","september","sep","sept","october","oct","november","nov","december","dec","wday","monday","mon","tuesday","tu","tue","tues","wednesday","wed","thursday","th","thur","thurs","friday","fri","saturday","sat","sunday","sun","sortedByWeekday","axis","sortedAxis","notWeekDay","lowerValue","toLowerCase","findIndex","flattenDeep","filter","sortedByMonth","notMonth","sortedByDTime","acceptTimeFormat","sortArr","notDate","Number","isNaN","convertedDate","Date","push","epoch","original","acceptedTime","format","test","midday","reformatTime","containsMidday","match","split","join","sortBy","val","sortByDigitOrAlpha","coercedIsFinite","num","isFinite","a","b","sortedTimeAxis","sortedWeekdays","sortedMonths","AxisLabelText","text","textColor","contentColorDefault","muted","PunchcardAxis","positionDelta","xPosition","yPosition","xAxisWidthScale","copy","paddingInner","round","truncatedLabel","truncateAxisLabelText","widthInPX","onMouseEnter","onMouseLeave","PunchcardRow_1","PunchcardChartArea","dataByRows","getDataByRows","entries","row","rowXValues","rowSizeValues","rowCategoryValues","rowColorValues","rowFillOpacityValues","rowSizeScale","rowRadiusValues","maxSizeValue","max","apply","opacities","radiusValues","sizeScale","ALL","ROW","AREA","PunchcardBubble_1","PunchcardRow","categoryValue","colorValue","cx","r","fillOpacity","hover","isSomethingSelected","isBubbleSelected","showBubbleLabel","MAX","cy","pulsate","numberUtils_1","BubbleCircle","circle","outline","white","contentColorInverted","contentColorActive","pulsateAnimation","keyframes","_templateObject","_taggedTemplateLiteral","PulsateBubble","BubbleGroup","g","BubbleLabelText","displayLabel","MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL","MAX_DISPLAYABLE_VALUE","VALUE_OVERFLOW_TEXT","PunchcardBubble","showPulsateBubble","bubbleLabelValueText","formatNumber","useTrendUnits","onClick","LEGEND_ITEM_VERTICAL_SPACER","LEGEND_ITEM_HORIZONTAL_SPACER","LEGEND_RECT_WIDTH","LEGEND_RECT_HEIGHT","LEGEND_OFFSET_TOP","LEGEND_OFFSET_RIGHT","LEGEND_OFFSET_BOTTOM","LegendGroup","LegendIcon","rect","LegendText","PunchcardLegend","legendWidth","legendHeight","c","fill","GridLine","line","gray96","gray25","interactiveColorBackgroundDisabled","PunchcardGridLines","yGridLinesXPositions","xGridLinesYPositions","x1","y1","x2","y2","chartingUtils_1","punchcardOptionsMapping","punchcardOptionValuesMapping","right","off","dynamic","mapToOldKey","mapKeys","originalOptions","mapToValues","isMissing","target","k","MissingPropsMessage","Cover","Blocker","withEditModeCover","showEditCover","IconPlaceholder_1","withPlaceholder","showPlaceholder","background","labelPosition","getAnnotations","annotationX","annotationColor","annotationLabel","timestamp","time","truncateData","dataSet","truncationLimit","limit","parseInt","truncatedData","columnData","optionValuesSCMapping","convertedOptions","updatedValue","isUndefined","convertY2AxisOptions","y2Fields","convertOverlayFields","overlayFields","field","isMultiSeriesData","toArrayForSeries","constructFieldsAndColumns","_ref2$x","_ref2$y","yFields","series","yFieldsArray","y2FieldsArray","y2AsArray","y2Field","d3_scale_1","random","X_AXIS_HEIGHT","Y_AXIS_WIDTH","MARGIN","LEGEND_WIDTH","HORIZONTAL_SPACE_FOR_SINGLE_CHAR","scaleOrdinal","domain","unknown","scaleBand","createValueScale","absValuesWithoutZero","abs","scaleLinear","clamp","_ref4","minRadius","maxRadius","minArea","PI","pow","maxArea","isBubbleColorAnArray","globalSizeScale","getRadiusValue","RADIUS","sqrt","getColorValue","getOpacityValue","bubbleColorValue","_ref5","_ref6","rowSizeValue","_ref7","_ref8","_ref9","_ref9$widthInPX","_ref9$axisLabelOverfl","axisLabelOverflowMode","availableLength","endMarker"],"mappings":"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","file":"Punchcard.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 = 438);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"lodash/find\");","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(\"lodash/findIndex\");","module.exports = require(\"lodash/flattenDeep\");","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(\"lodash/sortBy\");","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(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/themes/pick\");","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/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 { chain } from 'lodash';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport vizConfig from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport Punchcard, { PunchcardProps } from './PurePunchcard/Punchcard';\nimport { convertToPunchcardProperties } from './punchcardUtils';\n\nexport const config = vizConfig;\nexport const PurePunchcard = Punchcard;\n\nconst validOptions = Object.keys(config.optionsSchema);\n\ntype computeVizPropsFn = (options: Record<string, any>) => Partial<PunchcardProps>;\nexport const computeVizProps: computeVizPropsFn = ({\n onPointClick,\n onLegendClick,\n x,\n y,\n category,\n ...otherOptions\n}): Partial<PunchcardProps> => {\n const options = chain(otherOptions).pick(validOptions).thru(convertToPunchcardProperties).value();\n if (options.seriesColors && typeof options.seriesColors === 'string') {\n try {\n options.seriesColors = JSON.parse(options.seriesColors);\n } catch (e) {\n options.seriesColors = VIZ_CATEGORICAL;\n }\n }\n\n return {\n onPointClick,\n onLegendClick,\n x,\n y,\n // PurePunchcard accepts category as string array\n category: category && category.map(String),\n ...options,\n };\n};\n\nconst viz = withDashboardViz({\n ReactViz: Punchcard as any,\n computeVizProps,\n vizConfig,\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 { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { Punchcard as PunchcardPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | seriesByIndex(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n category: {\n default: '> primary | seriesByIndex(3)',\n description: 'Specify the dataSource to apply series categories.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n size: {\n default: '> primary | seriesByIndex(2)',\n description: 'Specify the dataSource to apply bubble size in the chart.',\n type: 'array',\n items: { type: 'number' },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yField: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n categoryField: {\n default: '> category | getField()',\n description: 'Specify the field that should be mapped to the series categories.',\n type: 'string',\n },\n sizeField: {\n default: '> size | getField()',\n description: 'Specify the field that should be mapped to the bubble size in the chart.',\n type: 'string',\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background. 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 bubbleColor: {\n default: '> size | gradient(bubbleColorConfig)',\n description:\n 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)\".',\n type: ['string', 'array'],\n },\n bubbleLabelDisplay: {\n default: 'all',\n description:\n 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',\n pattern: getPattern(['all', 'max', 'off']),\n type: 'string',\n },\n bubbleRadiusMax: {\n default: 15,\n description:\n 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRadiusMin: {\n default: 1,\n description:\n 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRowScale: {\n default: 'global',\n description: 'Specify how bubbles are scaled relative to other rows.',\n pattern: getPattern(['global', 'row']),\n type: 'string',\n },\n bubbleSizeMax: {\n default: 1,\n description:\n 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMin: {\n default: 0.25,\n description:\n 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMethod: {\n default: 'area',\n description: 'Specify whether bubble area or diameter corresponds to the size value.',\n pattern: getPattern(['radius', 'area']),\n type: 'string',\n },\n colorMode: {\n default: 'dynamic',\n description: 'Specify the coloring method used for the bubbles.',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'off']),\n type: 'string',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, \"#FF0000\", \"#0000FF\", \"#008000\".',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n showDefaultSort: {\n default: false,\n description: 'Specify whether axes should be sorted based on order of time, digits and strings.',\n type: 'boolean',\n },\n showDynamicBubbleSize: {\n default: true,\n description: 'Specify whether the bubble size should be dynamic or fixed.',\n type: 'boolean',\n },\n showMaxValuePulsation: {\n default: true,\n description: 'Specify whether the max value bubble should pulsate.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show bubble labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Pulsate max value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Bubble scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble row scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: 'Punchcard',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n placeholderIcon: PunchcardPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\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 styled from 'styled-components';\nimport * as T from 'prop-types';\nimport { pick, uniq, noop } from 'lodash';\n\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport { CATEGORICAL } from '@splunk/visualization-color-palettes';\n\nimport {\n AXIS_ORIENTATION_TYPES,\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n GRAYSCALE_FILTER_ID,\n getChartAreaDimensions,\n getColorCategoryMapping,\n getScales,\n} from './src/utils/punchcardUtils';\n\nimport { sortAxis } from './src/utils/sortUtils';\n\nimport PunchcardAxis from './src/PunchcardAxis';\nimport PunchcardChartArea from './src/PunchcardChartArea';\nimport PunchcardLegend from './src/PunchcardLegend';\nimport PunchcardGridLines from './src/PunchcardGridLines';\n\nconst Container = styled.div<{\n width: string | number;\n height: string | number;\n backgroundColor: string;\n}>`\n cursor: default;\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardWrapper = styled.div<{\n backgroundColor: string;\n}>`\n display: flex;\n justify-content: center;\n flex-direction: row;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardContainer = styled.div<{\n width: string | number;\n height: string | number;\n}>`\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst PunchcardSVG = styled.svg<{\n width: string | number;\n height: string | number;\n}>`\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface PunchcardProps {\n backgroundColor: string;\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n categoryField: string;\n colorMode: COLOR_MODE_TYPES;\n seriesColors: string[];\n bubbleColor: string | string[];\n minBubbleColorIntensity: number;\n height: string | number;\n isBubbleSizeDynamic: boolean;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n useDefaultSort: boolean;\n showMaxValuePulsation: boolean;\n showLegend: boolean;\n size: number[];\n sizeField: string;\n width: string | number;\n x: (string | number)[];\n y: (string | number)[];\n xField: string;\n yField: string;\n onPointClick?: (...args: any) => void;\n onLegendClick?: (...args: any) => void;\n}\n\nconst Punchcard = (props: PunchcardProps): React.ReactElement => {\n const [selectedX, setSelectedX] = React.useState(null);\n const [selectedY, setSelectedY] = React.useState(null);\n const [selectedCategory, setSelectedCategory] = React.useState(null);\n\n const handleMouseLeave = () => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleLegendHover = category => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(category);\n };\n\n const handleXAxisHover = xValue => {\n setSelectedX(xValue);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleYAxisHover = yValue => {\n setSelectedX(null);\n setSelectedY(yValue);\n setSelectedCategory(null);\n };\n\n const handleBubbleHover = (xValue, yValue, category) => {\n setSelectedX(xValue);\n setSelectedY(yValue);\n setSelectedCategory(category);\n };\n\n const {\n backgroundColor,\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n categoryField,\n colorMode,\n seriesColors,\n bubbleColor,\n minBubbleColorIntensity,\n height,\n showMaxValuePulsation,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n useDefaultSort,\n showLegend,\n size,\n sizeField,\n width,\n x,\n y,\n xField,\n yField,\n onPointClick,\n onLegendClick,\n } = props;\n const calculatedColorMode = category ? colorMode : COLOR_MODE_TYPES.SEQUENTIAL;\n const displayLegend = showLegend && calculatedColorMode === COLOR_MODE_TYPES.CATEGORICAL;\n const uniqX = useDefaultSort ? sortAxis(uniq(x.map(v => `${v}`))) : uniq(x);\n const uniqY = useDefaultSort ? sortAxis(uniq(y.map(v => `${v}`))) : uniq(y);\n const uniqCategory = uniq(category);\n const colorCategoryMapping = getColorCategoryMapping({\n category: uniqCategory,\n colorMode: calculatedColorMode,\n seriesColors,\n });\n\n const handlePointClick = (sizeValue: number): void => {\n const rowData = {\n [`row.${xField}.value`]: selectedX,\n [`row.${yField}.value`]: selectedY,\n [`row.${sizeField}.value`]: sizeValue,\n };\n if (categoryField) rowData[`row.${categoryField}.value`] = selectedCategory;\n onPointClick({\n type: 'point.click',\n payload: {\n value: selectedY,\n name: yField,\n ...rowData,\n },\n });\n };\n\n const handleLegendClick = (): void => {\n onLegendClick({\n type: 'legend.click',\n payload: {\n name: yField,\n },\n });\n };\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n const {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n } = getChartAreaDimensions({\n containerWidth,\n containerHeight,\n displayLegend,\n });\n const { scale: xScale, positionScale: xPositionScale } = getScales({\n values: uniqX,\n start: chartAreaStartX,\n end: chartAreaEndX,\n });\n const { scale: yScale, positionScale: yPositionScale } = getScales({\n values: uniqY,\n start: chartAreaStartY,\n end: chartAreaEndY,\n });\n\n const minBand = Math.min(xScale.bandwidth(), yScale.bandwidth());\n\n return (\n <PunchcardWrapper backgroundColor={backgroundColor}>\n <PunchcardContainer width={containerWidth} height={containerHeight}>\n <PunchcardSVG width={containerWidth} height={containerHeight}>\n <PunchcardGridLines\n xStartPosition={xPositionScale(uniqX[0])}\n xEndPosition={xPositionScale(uniqX[uniqX.length - 1])}\n yStartPosition={yPositionScale(uniqY[0])}\n yEndPosition={yPositionScale(uniqY[uniqY.length - 1])}\n xDelta={xScale.bandwidth()}\n yDelta={yScale.bandwidth()}\n />\n <PunchcardAxis\n labels={uniqX}\n orientation={AXIS_ORIENTATION_TYPES.HORIZONTAL}\n handleMouseEnter={handleXAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={chartAreaStartX}\n startPositionY={xAxisStartY}\n scale={xScale}\n selected={selectedX}\n />\n <PunchcardAxis\n labels={uniqY}\n orientation={AXIS_ORIENTATION_TYPES.VERTICAL}\n handleMouseEnter={handleYAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={yAxisStartX}\n startPositionY={chartAreaStartY}\n scale={yScale}\n selected={selectedY}\n />\n {displayLegend && (\n <PunchcardLegend\n category={uniqCategory}\n colorCategoryMapping={colorCategoryMapping}\n handleMouseEnter={handleLegendHover}\n handleMouseLeave={handleMouseLeave}\n selected={selectedCategory}\n startPositionX={legendStartX}\n startPositionY={yPositionScale(uniqY[0])}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n handleLegendClick={handleLegendClick}\n />\n )}\n <PunchcardChartArea\n showBubbleLabels={showBubbleLabels}\n bubbleRowScale={bubbleRowScale}\n bubbleScale={bubbleScale}\n category={category}\n colorCategoryMapping={colorCategoryMapping}\n colorMode={calculatedColorMode}\n bubbleColor={bubbleColor}\n minBubbleColorIntensity={minBubbleColorIntensity}\n handleMouseEnter={handleBubbleHover}\n handleMouseLeave={handleMouseLeave}\n isBubbleSizeDynamic={isBubbleSizeDynamic}\n minBand={minBand}\n minBubbleSize={minBubbleSize}\n maxBubbleSize={maxBubbleSize}\n minBubbleRadius={minBubbleRadius}\n maxBubbleRadius={maxBubbleRadius}\n showMaxValuePulsation={showMaxValuePulsation}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n size={size}\n x={x}\n xScale={xPositionScale}\n y={y}\n yScale={yPositionScale}\n handlePointClick={handlePointClick}\n />\n <filter id={GRAYSCALE_FILTER_ID}>\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </PunchcardSVG>\n </PunchcardContainer>\n </PunchcardWrapper>\n );\n };\n\n return (\n <Container backgroundColor={backgroundColor} height={height} width={width}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </Container>\n );\n};\n\nconst propTypes: Record<keyof PunchcardProps, T.Validator<any>> = {\n backgroundColor: T.string,\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n categoryField: T.string,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n seriesColors: T.arrayOf(T.string),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n minBubbleColorIntensity: T.number,\n height: T.oneOfType([T.string, T.number]),\n isBubbleSizeDynamic: T.bool,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n useDefaultSort: T.bool,\n showMaxValuePulsation: T.bool,\n showLegend: T.bool,\n sizeField: T.string,\n width: T.oneOfType([T.string, T.number]),\n // hotfix: isRequired check is removed here for x, y and size props\n // to remove console warnings on early return of this component and\n // implemented in config file using requiredProps\n x: T.arrayOf(T.oneOfType([T.string, T.number])),\n y: T.arrayOf(T.oneOfType([T.string, T.number])),\n size: T.arrayOf(T.number),\n xField: T.string,\n yField: T.string,\n onPointClick: T.func,\n onLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardProps, any> = {\n backgroundColor: 'transparent',\n showBubbleLabels: 'all',\n bubbleRowScale: 'global',\n bubbleScale: 'area',\n category: null,\n categoryField: null,\n colorMode: 'categorical',\n seriesColors: CATEGORICAL,\n bubbleColor: '#7B56DB',\n minBubbleColorIntensity: 0.4,\n showMaxValuePulsation: true,\n height: 500,\n isBubbleSizeDynamic: true,\n minBubbleSize: 0.25,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n useDefaultSort: false,\n showLegend: true,\n size: null,\n sizeField: null,\n width: '100%',\n x: null,\n y: null,\n xField: null,\n yField: null,\n onPointClick: noop,\n onLegendClick: noop,\n};\n\nPunchcard.propTypes = propTypes;\nPunchcard.defaultProps = defaultProps;\n\nexport default Punchcard;\n","import findIndex from 'lodash/findIndex';\nimport find from 'lodash/find';\nimport sortBy from 'lodash/sortBy';\nimport flattenDeep from 'lodash/flattenDeep';\nimport { every } from 'lodash';\n\nconst TIME_RANGES = {\n month: [\n { january: true, jan: true, 'jan.': true },\n { february: true, feb: true, 'feb.': true },\n { march: true, mar: true, 'mar.': true },\n { april: true, apr: true, 'apr.': true },\n { may: true },\n { june: true, jun: true, 'jun.': true },\n { july: true, jul: true, 'jul.': true },\n { august: true, aug: true, 'aug.': true },\n { september: true, sep: true, sept: true, 'sep.': true, 'sept.': true },\n { october: true, oct: true, 'oct.': true },\n { november: true, nov: true, 'nov.': true },\n { december: true, dec: true, 'dec.': true },\n ],\n wday: [\n { monday: true, mon: true, 'mon.': true },\n { tuesday: true, tu: true, 'tu.': true, tue: true, 'tue.': true, tues: true, 'tues.': true },\n { wednesday: true, wed: true, 'wed.': true },\n { thursday: true, th: true, 'th.': true, thur: true, 'thur.': true, thurs: true, 'thurs.': true },\n { friday: true, fri: true, 'fri.': true },\n { saturday: true, sat: true, 'sat.': true },\n { sunday: true, sun: true, 'sun.': true },\n ],\n};\n\n/**\n * Sort axis labels by weekday\n * @param {array} axis - string array\n * @return {array} - string array. If those are not weekday strings, return []\n */\nexport const sortedByWeekday = axis => {\n const sortedAxis = [];\n const notWeekDay = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.wday, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside weekdays, then don't treat it as weekdays\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n\n return notWeekDay ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by month\n * @param {array} axis - string array\n * @return {array} - string array. If those are not month strings, return []\n */\nexport const sortedByMonth = axis => {\n const sortedAxis = [];\n const notMonth = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.month, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside month, then don't treat it as month\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n return notMonth ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by date time\n * @param {array} axis - string array\n * @return {array} - string array. If those are not in acceptTimeFormat or formatted date, return []\n */\nexport const sortedByDTime = axis => {\n // valid time format 01:00 am, 01:00:00, 01:00\n const acceptTimeFormat = [\n /^([0-1])?\\d( )?(am|pm)$/i, // 1am, 1 am, 12am, 12 am\n /^([0-1])?\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00 am, 01:00am, 1:00am\n /^([0-2])?\\d:([0-5]\\d:)?[0-5]\\d$/, // 01:00:00, 1:00:00, 23:00\n /^([0-2])?\\d:[0-5]\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00:00 am, 1:00:00am\n ];\n\n const sortArr = [];\n const notDate = find(axis, value => {\n if (!Number.isNaN(Number(value))) {\n return true;\n }\n // should accept long date: 2019-03-02, Mar 2 2019, ..., 2019-01-01T00:00:00.000Z\n let convertedDate = new Date(value);\n if (!Number.isNaN(Number(convertedDate))) {\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n\n const acceptedTime = acceptTimeFormat.find(format => format.test(value));\n if (acceptedTime) {\n const midday = /(am|pm)$/i;\n let reformatTime = value;\n const containsMidday = value.match(midday);\n if (containsMidday) {\n // for time format like 01:00 am and 1 am\n reformatTime = value.split(midday).slice(0, -1);\n reformatTime[0] = `${reformatTime[0].trim()}:00`;\n reformatTime = reformatTime.join(' ');\n }\n convertedDate = new Date(`1970/01/01 ${reformatTime}`);\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n return true;\n });\n\n if (notDate) {\n return [];\n }\n return sortBy(sortArr, val => val.epoch).map(val => val.original);\n};\n\n/**\n * Sort axis labels by digits or alphabetical order\n * @param {array} axis - string array\n * @return {array} - string array.\n * If those inputs are numbers, then return in digits order. Otherwise, return array based on alphabetical order\n */\nexport const sortByDigitOrAlpha = axis => {\n // 10, 10.0, 10.1, not accept 10,000.0\n const coercedIsFinite = num => Number.isFinite(Number(num));\n if (every(axis, coercedIsFinite)) {\n return axis.sort((a, b) => Number(a) - Number(b));\n }\n return axis.sort();\n};\n\n/**\n * Sort axis based on the priority: time measures, numbers, strings in ascending order\n * @param {array} axis - string array\n * @return {array} - string array\n */\nexport const sortAxis = axis => {\n const sortedTimeAxis = sortedByDTime(axis);\n if (sortedTimeAxis.length) {\n return sortedTimeAxis;\n }\n const sortedWeekdays = sortedByWeekday(axis);\n if (sortedWeekdays.length) {\n return sortedWeekdays;\n }\n const sortedMonths = sortedByMonth(axis);\n if (sortedMonths.length) {\n return sortedMonths;\n }\n\n return sortByDigitOrAlpha(axis);\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { AXIS_ORIENTATION_TYPES, truncateAxisLabelText } from './utils/punchcardUtils';\n\nconst AxisLabelText = styled.text<{\n muted: boolean;\n}>`\n cursor: pointer;\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n text-anchor: ${props => (props.orientation === AXIS_ORIENTATION_TYPES.HORIZONTAL ? 'middle' : 'start')};\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: all 0.15s;\n`;\n\ninterface PunchcardAxisProps {\n labels: (string | number)[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n orientation: AXIS_ORIENTATION_TYPES;\n scale: (...args: any) => void;\n selected: string | number;\n startPositionX: number;\n startPositionY: number;\n}\n\nconst PunchcardAxis = (props: PunchcardAxisProps): React.ReactElement => {\n const {\n labels,\n handleMouseEnter,\n handleMouseLeave,\n orientation,\n scale,\n selected,\n startPositionX,\n startPositionY,\n } = props;\n\n return (\n <g>\n {labels.map((label, index) => {\n // Space between labels either in x or y direction depending on orientation\n const positionDelta = index * (scale as any).bandwidth() + (scale as any).bandwidth() / 2;\n const xPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionX\n : startPositionX + positionDelta;\n const yPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionY + positionDelta\n : startPositionY;\n\n // create padding between x-axis labels\n const xAxisWidthScale = (scale as any).copy().paddingInner(0.1).round(true);\n\n const truncatedLabel =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? truncateAxisLabelText({ label: `${label}` })\n : truncateAxisLabelText({\n label: `${label}`,\n widthInPX: xAxisWidthScale.bandwidth(),\n });\n\n return (\n <AxisLabelText\n key={label}\n x={xPosition}\n y={yPosition}\n orientation={orientation}\n onMouseEnter={() => handleMouseEnter(label)}\n onMouseLeave={handleMouseLeave}\n muted={selected && label !== selected}\n >\n <title>{label}</title>\n {truncatedLabel}\n </AxisLabelText>\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardAxisProps, T.Validator<any>> = {\n labels: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n orientation: T.oneOf(Object.values(AXIS_ORIENTATION_TYPES)),\n scale: T.func.isRequired,\n selected: T.oneOfType([T.string, T.number]),\n startPositionX: T.number,\n startPositionY: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardAxisProps, any> = {\n // set as undefined as we are using defaultProps in conjunction with ts\n // where it requires all keys of interface to be present in defaultProps\n // eslint-disable-next-line react/default-props-match-prop-types\n labels: undefined,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n orientation: 'vertical',\n // eslint-disable-next-line react/default-props-match-prop-types\n scale: undefined,\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n};\n\nPunchcardAxis.propTypes = propTypes;\nPunchcardAxis.defaultProps = defaultProps;\n\nexport default PunchcardAxis;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport {\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n getDataByRows,\n} from './utils/punchcardUtils';\nimport PunchcardRow from './PunchcardRow';\n\ninterface PunchcardChartAreaProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n colorCategoryMapping: (...args: any) => void;\n colorMode: COLOR_MODE_TYPES;\n bubbleColor: string | string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n isBubbleSizeDynamic: boolean;\n minBubbleColorIntensity: number;\n minBand: number;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n showMaxValuePulsation: boolean;\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => void;\n y: (string | number)[];\n yScale: (...args: any) => void;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardChartArea = (props: PunchcardChartAreaProps): React.ReactElement => {\n const {\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n handleMouseEnter,\n handleMouseLeave,\n isBubbleSizeDynamic,\n minBubbleColorIntensity,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n showMaxValuePulsation,\n selectedCategory,\n selectedX,\n selectedY,\n size,\n x,\n xScale,\n y,\n yScale,\n handlePointClick,\n } = props;\n\n /** @type {Object<String\\|Number, import('./utils/punchcardUtils').RowData>} */\n const dataByRows = getDataByRows({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n });\n\n return (\n <g>\n {Object.entries(dataByRows).map(([row, rowData]) => {\n const {\n rowXValues,\n rowSizeValues,\n rowCategoryValues,\n rowColorValues,\n rowFillOpacityValues,\n rowSizeScale,\n rowRadiusValues,\n } = rowData;\n const yPosition = yScale(row);\n\n return (\n <PunchcardRow\n key={row}\n showBubbleLabels={showBubbleLabels}\n category={rowCategoryValues}\n colors={rowColorValues}\n handleMouseEnter={handleMouseEnter}\n handleMouseLeave={handleMouseLeave}\n maxSizeValue={Math.max(...size)}\n opacities={rowFillOpacityValues}\n radiusValues={rowRadiusValues}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n showMaxValuePulsation={showMaxValuePulsation}\n sizeScale={rowSizeScale}\n size={rowSizeValues}\n x={rowXValues}\n xScale={xScale}\n yPosition={yPosition}\n yValue={row}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardChartAreaProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n isBubbleSizeDynamic: T.bool,\n minBubbleColorIntensity: T.number,\n minBand: T.number,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n showMaxValuePulsation: T.bool,\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n size: T.arrayOf(T.number).isRequired,\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n y: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n yScale: T.func,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardChartAreaProps, any> = {\n showBubbleLabels: BUBBLE_LABELS_TYPES.ALL,\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES.ROW,\n bubbleScale: BUBBLE_SCALE_TYPES.AREA,\n category: null,\n colorCategoryMapping: null,\n colorMode: COLOR_MODE_TYPES.CATEGORICAL,\n bubbleColor: '#A870EF',\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n isBubbleSizeDynamic: true,\n minBubbleColorIntensity: 0.25,\n minBand: 15,\n minBubbleSize: 0.01,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n showMaxValuePulsation: true,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n size: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n x: null,\n xScale: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n y: null,\n yScale: null,\n handlePointClick: () => {},\n};\n\nPunchcardChartArea.propTypes = propTypes;\nPunchcardChartArea.defaultProps = defaultProps;\n\nexport default PunchcardChartArea;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport PunchcardBubble from './PunchcardBubble';\n\nimport { BUBBLE_LABELS_TYPES, isSomethingSelected, isBubbleSelected } from './utils/punchcardUtils';\n\ninterface PunchcardRowProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n category: string[];\n colors: string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n maxSizeValue: number;\n opacities: number[];\n radiusValues: number[];\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n showMaxValuePulsation: boolean;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => number;\n yPosition: number;\n yValue: string | number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardRow = (props: PunchcardRowProps): React.ReactElement => {\n const {\n showBubbleLabels,\n category,\n colors,\n handleMouseEnter,\n handleMouseLeave,\n maxSizeValue,\n opacities,\n radiusValues,\n selectedCategory,\n selectedX,\n selectedY,\n showMaxValuePulsation,\n size,\n x,\n xScale,\n yPosition,\n yValue,\n handlePointClick,\n } = props;\n\n return (\n <g>\n {x.map((xValue, index) => {\n const sizeValue = size[index];\n const categoryValue = category[index];\n const colorValue = colors[index];\n const cx = xScale(xValue);\n const r = radiusValues[index];\n const fillOpacity = opacities[index];\n\n const hover =\n isSomethingSelected({ selectedX, selectedY, selectedCategory }) &&\n isBubbleSelected({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n });\n const muted = isSomethingSelected({ selectedX, selectedY, selectedCategory }) && !hover;\n\n const showBubbleLabel =\n showBubbleLabels === BUBBLE_LABELS_TYPES.ALL ||\n (showBubbleLabels === BUBBLE_LABELS_TYPES.MAX && maxSizeValue === sizeValue);\n\n return (\n <PunchcardBubble\n key={`${xValue}-${yValue}-${sizeValue}-${categoryValue}`}\n showBubbleLabel={showBubbleLabel}\n color={colorValue}\n cx={cx}\n cy={yPosition}\n fillOpacity={fillOpacity}\n handleMouseEnter={() => {\n handleMouseEnter(xValue, yValue, categoryValue);\n }}\n handleMouseLeave={handleMouseLeave}\n hover={hover}\n muted={muted}\n pulsate={showMaxValuePulsation && sizeValue === maxSizeValue}\n value={sizeValue}\n r={r}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardRowProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n category: T.arrayOf(T.string),\n colors: T.arrayOf(T.string),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n maxSizeValue: T.number,\n opacities: T.arrayOf(T.number),\n radiusValues: T.arrayOf(T.number),\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n showMaxValuePulsation: T.bool,\n size: T.arrayOf(T.number),\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n yPosition: T.number,\n yValue: T.oneOfType([T.string, T.number]),\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardRowProps, any> = {\n showBubbleLabels: null,\n category: null,\n colors: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n maxSizeValue: null,\n opacities: null,\n radiusValues: null,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n showMaxValuePulsation: true,\n size: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n x: null,\n xScale: null,\n yPosition: null,\n yValue: null,\n handlePointClick: () => {},\n};\n\nPunchcardRow.propTypes = propTypes;\nPunchcardRow.defaultProps = defaultProps;\n\nexport default withTheme(PunchcardRow as any);\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled, { keyframes } from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { GRAYSCALE_FILTER_ID } from './utils/punchcardUtils';\n\nconst BubbleCircle = styled.circle<{\n hover: boolean | null;\n outline: boolean;\n}>`\n fill: ${props =>\n props.outline\n ? pick({\n // bubbleTextColor\n enterprise: {\n light: variables.white, // equal to enterpriseDark.textColor\n dark: variables.contentColorInverted, // enterprise.textColor\n },\n prisma: variables.contentColorActive,\n })(props)\n : props.color};\n fill-opacity: 1;\n opacity: ${props => (props.hover ? 0 : props.fillOpacity)};\n stroke: ${props => (props.outline ? props.color : 'none')};\n`;\n\nconst pulsateAnimation = r => keyframes`\n 41% {\n opacity: 0;\n r: ${r + 5};\n }\n 100% {\n opacity: 0;\n r: ${r + 5};\n }\n`;\n\nconst PulsateBubble = styled(BubbleCircle)`\n animation: ${props => pulsateAnimation(props.r)} 2.4s linear 0.4s infinite;\n`;\n\nconst BubbleGroup = styled.g<{\n muted: boolean;\n onMouseEnter: (...args: any) => void;\n onMouseLeave: (...args: any) => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n filter: ${props => (props.muted ? `url(#${GRAYSCALE_FILTER_ID})` : '')};\n transition: opacity 0.15s;\n`;\n\nconst BubbleLabelText = styled.text<{\n hover: boolean;\n outline: boolean;\n displayLabel: boolean;\n}>`\n dominant-baseline: middle;\n opacity: ${props => (props.displayLabel ? 1 : 0)};\n fill: ${props =>\n props.hover || props.outline\n ? pick({\n // bubbleAltTextColor\n enterprise: variables.textColor,\n prisma: variables.contentColorActive,\n })(props)\n : pick({\n enterprise: {\n dark: variables.textColor,\n light: variables.white,\n },\n prisma: variables.contentColorActive,\n })(props)}};\n font-size: ${props => (props.hover ? '12px' : '10px')};\n font-weight: ${props => (props.hover ? 500 : 'normal')};\n text-anchor: middle;\n`;\n\nconst MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL = 13;\nconst MAX_DISPLAYABLE_VALUE = 99499999999999;\nconst VALUE_OVERFLOW_TEXT = '99T+';\n\ninterface PunchcardBubbleProps {\n showBubbleLabel: boolean;\n color: string;\n cx: number;\n cy: number;\n fillOpacity: number;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n hover: boolean;\n muted: boolean;\n pulsate: boolean;\n value: number;\n r: number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardBubble = (props: PunchcardBubbleProps): React.ReactElement => {\n const {\n showBubbleLabel,\n color,\n cx,\n cy,\n fillOpacity,\n handleMouseEnter,\n handleMouseLeave,\n hover,\n muted,\n pulsate,\n value,\n r,\n handlePointClick,\n } = props;\n\n const outline = value < 0;\n const showPulsateBubble = pulsate && !muted && !hover;\n const displayLabel = hover || (showBubbleLabel && r >= MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL);\n\n let bubbleLabelValueText =\n value <= MAX_DISPLAYABLE_VALUE\n ? formatNumber(value, 0, { useTrendUnits: true })\n : VALUE_OVERFLOW_TEXT;\n\n if (hover) {\n bubbleLabelValueText = formatNumber(value, 2);\n }\n\n return (\n <BubbleGroup\n muted={muted}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={() => handlePointClick(value)}\n >\n {showPulsateBubble && <PulsateBubble cx={cx} cy={cy} r={r} color={color} outline hover={null} />}\n <BubbleCircle\n cx={cx}\n cy={cy}\n r={r}\n color={color}\n hover={hover}\n fillOpacity={fillOpacity}\n outline={outline}\n />\n <BubbleLabelText x={cx} y={cy} hover={hover} outline={outline} displayLabel={displayLabel}>\n {bubbleLabelValueText}\n </BubbleLabelText>\n </BubbleGroup>\n );\n};\n\nconst propTypes: Record<keyof PunchcardBubbleProps, T.Validator<any>> = {\n showBubbleLabel: T.bool,\n color: T.string,\n cx: T.number,\n cy: T.number,\n fillOpacity: T.number,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n hover: T.bool,\n muted: T.bool,\n pulsate: T.bool,\n value: T.number,\n r: T.number,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardBubbleProps, any> = {\n showBubbleLabel: true,\n color: '#46D3BB',\n cx: 0,\n cy: 0,\n fillOpacity: 1,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n hover: false,\n muted: false,\n pulsate: false,\n r: 1,\n value: undefined,\n handlePointClick: () => {},\n};\n\nPunchcardBubble.propTypes = propTypes;\nPunchcardBubble.defaultProps = defaultProps;\n\nexport default PunchcardBubble;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nconst LEGEND_ITEM_VERTICAL_SPACER = 25;\nconst LEGEND_ITEM_HORIZONTAL_SPACER = 10;\nconst LEGEND_RECT_WIDTH = 5;\nconst LEGEND_RECT_HEIGHT = 10;\nconst LEGEND_OFFSET_TOP = 7;\nconst LEGEND_OFFSET_RIGHT = 16;\nconst LEGEND_OFFSET_BOTTOM = 16;\n\nconst LegendGroup = styled.g<{\n muted: boolean;\n onClick: () => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: opacity 0.15s;\n`;\n\nconst LegendIcon = styled.rect`\n width: ${LEGEND_RECT_WIDTH}px;\n height: ${LEGEND_RECT_HEIGHT}px;\n rx: 1px;\n ry: 1px;\n`;\n\nconst LegendText = styled.text`\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n`;\n\ninterface PunchcardLegendProps {\n category: string[];\n colorCategoryMapping: (...args: any) => string;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n selected: string;\n startPositionY: number;\n startPositionX: number;\n containerWidth: number;\n containerHeight: number;\n handleLegendClick: () => void;\n}\n\nconst PunchcardLegend = (props: PunchcardLegendProps): React.ReactElement => {\n const {\n category,\n colorCategoryMapping,\n handleMouseEnter,\n handleMouseLeave,\n selected,\n startPositionX,\n startPositionY,\n containerWidth,\n containerHeight,\n handleLegendClick,\n } = props;\n\n const legendWidth = containerWidth - LEGEND_OFFSET_RIGHT - startPositionX;\n const legendHeight = containerHeight - LEGEND_OFFSET_BOTTOM;\n\n return (\n <svg\n x={startPositionX}\n y={startPositionY - LEGEND_OFFSET_TOP} // Align legend with topmost grid line\n width={legendWidth}\n height={legendHeight}\n >\n <g>\n {category.map((c, index) => {\n const yValue = index * LEGEND_ITEM_VERTICAL_SPACER;\n\n return (\n <LegendGroup\n key={c}\n muted={selected && selected !== c}\n onMouseEnter={() => handleMouseEnter(c)}\n onMouseLeave={handleMouseLeave}\n onClick={() => handleLegendClick()}\n data-test=\"legend-group\"\n >\n <LegendIcon x={0} y={yValue} fill={colorCategoryMapping(c)} />\n <LegendText\n x={LEGEND_ITEM_HORIZONTAL_SPACER}\n y={yValue + LEGEND_RECT_HEIGHT / 2 + 2}\n >\n <title>{c}</title>\n {c}\n </LegendText>\n </LegendGroup>\n );\n })}\n </g>\n </svg>\n );\n};\n\nconst propTypes: Record<keyof PunchcardLegendProps, T.Validator<any>> = {\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func.isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n selected: T.string,\n startPositionX: T.number,\n startPositionY: T.number,\n containerWidth: T.number,\n containerHeight: T.number,\n handleLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardLegendProps, any> = {\n category: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n colorCategoryMapping: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n containerWidth: 100,\n containerHeight: 100,\n handleLegendClick: () => {},\n};\n\nPunchcardLegend.propTypes = propTypes;\nPunchcardLegend.defaultProps = defaultProps;\n\nexport default PunchcardLegend;\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport { range } from 'lodash';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\n// was previously lineColor in themeRegistry\nconst GridLine = styled.line`\n stroke: ${pick({\n enterprise: {\n light: variables.gray96,\n dark: variables.gray25,\n },\n prisma: variables.interactiveColorBackgroundDisabled,\n })};\n stroke-width: 1px;\n`;\n\ninterface PunchcardGridLinesProps {\n xStartPosition: number;\n xEndPosition: number;\n yStartPosition: number;\n yEndPosition: number;\n xDelta: number;\n yDelta: number;\n}\n\nconst PunchcardGridLines = (props: PunchcardGridLinesProps): React.ReactElement => {\n const { xStartPosition, xEndPosition, yStartPosition, yEndPosition, xDelta, yDelta } = props;\n\n const yGridLinesXPositions = range(xStartPosition, xEndPosition + 1, xDelta);\n const xGridLinesYPositions = range(yStartPosition, yEndPosition + 1, yDelta);\n\n return (\n <g data-test=\"data-test-gridlines\">\n {yGridLinesXPositions.map(xValue => (\n <GridLine\n key={`${xValue}x${yStartPosition}`}\n x1={xValue}\n y1={yStartPosition}\n x2={xValue}\n y2={yEndPosition}\n />\n ))}\n {xGridLinesYPositions.map(yValue => (\n <GridLine\n key={`${xStartPosition}x${yValue}`}\n x1={xStartPosition}\n y1={yValue}\n x2={xEndPosition}\n y2={yValue}\n />\n ))}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardGridLinesProps, T.Validator<any>> = {\n xStartPosition: T.number,\n xEndPosition: T.number,\n yStartPosition: T.number,\n yEndPosition: T.number,\n xDelta: T.number,\n yDelta: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardGridLinesProps, any> = {\n xStartPosition: undefined,\n xEndPosition: undefined,\n yStartPosition: undefined,\n yEndPosition: undefined,\n xDelta: 10,\n yDelta: 10,\n};\n\nPunchcardGridLines.propTypes = propTypes;\nPunchcardGridLines.defaultProps = defaultProps;\n\nexport default PunchcardGridLines;\n","import { mapKeys, chain } from 'lodash';\nimport { mapToValues } from '../common/chartingUtils';\n\ninterface PunchcardOptions {\n [key: string]: any;\n}\n\nconst punchcardOptionsMapping = {\n legendDisplay: 'showLegend',\n bubbleLabelDisplay: 'showBubbleLabels',\n showDefaultSort: 'useDefaultSort',\n bubbleSizeMethod: 'bubbleScale',\n showDynamicBubbleSize: 'isBubbleSizeDynamic',\n bubbleRadiusMax: 'maxBubbleRadius',\n bubbleRadiusMin: 'minBubbleRadius',\n bubbleSizeMax: 'maxBubbleSize',\n bubbleSizeMin: 'minBubbleSize',\n};\n\n// key value mapping of what options (and their corresponding values) which\n// we expose in config.ts to property values PurePunchcard understands\nexport const punchcardOptionValuesMapping = {\n showLegend: {\n right: true,\n off: false,\n },\n showBubbleLabels: {\n off: 'none',\n },\n colorMode: {\n dynamic: 'sequential',\n },\n};\n\n/**\n * Helper method to update the option names which can be mapped to PurePunchcard options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: PunchcardOptions): PunchcardOptions =>\n mapKeys(options, (val, key) => (punchcardOptionsMapping[key] ? punchcardOptionsMapping[key] : key));\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that PurePunchcard accepts\n * This is for options that has new key name and can not directly be mapped with PurePunchcard props\n * @method convertToPunchcardProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToPunchcardProperties = (originalOptions: PunchcardOptions): PunchcardOptions =>\n chain(mapToOldKey(originalOptions)).thru(mapToValues(punchcardOptionValuesMapping)).value();\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","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n","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(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"d3-scale\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","import { scaleBand, scaleLinear, scaleOrdinal } from 'd3-scale';\n\n/**\n * @enum {AXIS_ORIENTATION_TYPES}\n */\nexport enum AXIS_ORIENTATION_TYPES {\n VERTICAL = 'vertical',\n HORIZONTAL = 'horizontal',\n}\n\n/**\n * @enum {BUBBLE_ROW_SCALE_TYPES}\n */\nexport enum BUBBLE_ROW_SCALE_TYPES {\n GLOBAL = 'global',\n ROW = 'row',\n}\n\n/**\n * @enum {BUBBLE_SCALE_TYPES}\n */\nexport enum BUBBLE_SCALE_TYPES {\n RADIUS = 'radius',\n AREA = 'area',\n}\n\n/**\n * @enum {COLOR_MODE_TYPES}\n */\nexport enum COLOR_MODE_TYPES {\n SEQUENTIAL = 'sequential',\n CATEGORICAL = 'categorical',\n}\n\n/**\n * @enum {BUBBLE_LABELS_TYPES}\n */\nexport enum BUBBLE_LABELS_TYPES {\n ALL = 'all',\n MAX = 'max',\n NONE = 'none',\n}\n\n/**\n * @string GRAYSCALE_FILTER_ID\n */\nexport const GRAYSCALE_FILTER_ID = `punchcard-grayscale-filter-id-${Math.floor(Math.random() * 1000)}`;\n\nconst X_AXIS_HEIGHT = 15;\nconst Y_AXIS_WIDTH = 77;\nconst MARGIN = 10;\nconst LEGEND_WIDTH = 135;\nconst HORIZONTAL_SPACE_FOR_SINGLE_CHAR = 6;\n\n/**\n * get a mapping of categories to colors given all categories\n * @method getColorCategoryMapping\n * @param {Object} input\n * @param {Array<String>} category\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {Array<String>} seriesColors\n * @return {Function} colorCategoryMapping\n */\nexport const getColorCategoryMapping = ({ category, colorMode, seriesColors }) => {\n if (colorMode === COLOR_MODE_TYPES.SEQUENTIAL) {\n return null;\n }\n\n return scaleOrdinal().domain(category).range(seriesColors).unknown(seriesColors[0]);\n};\n\n/**\n * get punchcard dimensions given container width and height\n * @method getChartAreaDimensions\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Boolean} displayLegend\n * @return {Object} dimensions\n * @return {Number} dimensions.xAxisStartY\n * @return {Number} dimensions.yAxisStartX\n * @return {Number} dimensions.chartAreaStartX\n * @return {Number} dimensions.chartAreaStartY\n * @return {Number} dimensions.chartAreaEndX\n * @return {Number} dimensions.chartAreaEndY\n */\nexport const getChartAreaDimensions = ({ containerWidth, containerHeight, displayLegend }) => {\n const yAxisStartX = MARGIN;\n const chartAreaStartX = yAxisStartX + Y_AXIS_WIDTH + MARGIN;\n\n let chartAreaEndX = containerWidth - MARGIN;\n let legendStartX = null;\n\n if (displayLegend) {\n legendStartX = containerWidth - LEGEND_WIDTH;\n chartAreaEndX = legendStartX - MARGIN;\n }\n\n const chartAreaStartY = MARGIN;\n const xAxisStartY = containerHeight - X_AXIS_HEIGHT - MARGIN;\n const chartAreaEndY = xAxisStartY - MARGIN;\n\n return {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n };\n};\n\n/**\n * gets a scale used to map values to x or y plane\n * @method getScales\n * @param {Object} input\n * @param {(Array<String>\\|Array<Number>)} values\n * @param {Number} start\n * @param {Number} end\n * @return {Object} scales\n * @return {Function} scales.scale function to return beginning of band\n * @return {Function} scales.positionScale function to return middle of band\n */\nexport const getScales = ({ values, start, end }) => {\n const scale = scaleBand().domain(values).range([start, end]);\n\n // Returns the middle of the band\n const positionScale = value => scale(value) + scale.bandwidth() / 2;\n\n return {\n scale,\n positionScale,\n };\n};\n\n/**\n * Maps an array of values to a percentage\n * Excludes zero values and takes the absolute minimum and maximum value\n * @method createValueScale\n * @param {Array<Number>} values\n * @return {Function} radiusScale\n */\nexport const createValueScale = values => {\n const absValuesWithoutZero = [];\n values.forEach(value => {\n // Ignore undefined, null and 0 values\n if (value) {\n absValuesWithoutZero.push(Math.abs(value));\n }\n });\n\n return scaleLinear()\n .domain([Math.min(...absValuesWithoutZero), Math.max(...absValuesWithoutZero)])\n .range([0, 1])\n .clamp(true)\n .unknown(0);\n};\n\n/**\n * @typedef RowData\n * @type {Object}\n * @property {(Array<String>\\|Array<Number>)} rowXValues\n * @property {Array<Number>} rowSizeValues\n * @property {Array<String>} rowCategoryValues\n * @property {Array<Number>} rowColorValues\n * @property {Array<Number>} rowFillOpacityValues\n * @property {Function} rowSizeScale\n * @property {Array<Number>} rowRadiusValue\n */\n\ninterface RowData {\n rowXValues: (string | number)[];\n rowSizeValues: number[];\n rowCategoryValues: string[];\n rowColorValues: number[];\n rowFillOpacityValues: number[];\n rowSizeScale: (...args: any) => void;\n rowRadiusValues: number[];\n}\n\n/**\n * Given a dataset, partition it by row and for each row:\n * get x, size, category and rowSizeScales\n * @method getDataByRows\n * @param {Object} input\n * @param {BUBBLE_ROW_SCALE_TYPES} bubbleRowScale\n * @param {BUBBLE_SCALE_TYPES} bubbleScale\n * @param {Array<String>} category\n * @param {Function} colorCategoryMapping\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {(String|Array<String>)} bubbleColor\n * @param {Number} minBubbleColorIntensity\n * @param {Array<Number>} size\n * @param {(Array<String>\\|Array<Number>)} x\n * @param {(Array<String>\\|Array<Number>)} y\n * @param {Boolean} isBubbleSizeDynamic\n * @param {Number} minBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} maxBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} minBand // Used to calculated radius when isBubbleSizeDynamic\n * @param {Number} maxBubbleRadius // Used when !isBubbleSizeDynamic\n * @param {Number} minBubbleRadius // Used when !isBubbleSizeDynamic\n * @return {Object<String\\|Number, RowData>} dataByRows\n */\nexport const getDataByRows = ({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n minBand,\n maxBubbleRadius,\n minBubbleRadius,\n}) => {\n const dataByRows: { [key: string]: RowData } = {};\n const minRadius = isBubbleSizeDynamic ? (minBand / 2) * minBubbleSize : minBubbleRadius;\n const maxRadius = isBubbleSizeDynamic ? (minBand / 2) * maxBubbleSize : maxBubbleRadius;\n const minArea = Math.PI * minRadius ** 2;\n const maxArea = Math.PI * maxRadius ** 2;\n const isBubbleColorAnArray = Array.isArray(bubbleColor);\n\n const globalSizeScale = createValueScale(size);\n const getRadiusValue = (value, sizeScale) =>\n bubbleScale === BUBBLE_SCALE_TYPES.RADIUS\n ? (maxRadius - minRadius) * sizeScale(Math.abs(value)) + minRadius\n : Math.sqrt(((maxArea - minArea) * sizeScale(Math.abs(value)) + minArea) / Math.PI);\n const getColorValue = c =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL ? colorCategoryMapping(c) : bubbleColor;\n const getOpacityValue = (value, sizeScale) =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL || isBubbleColorAnArray\n ? 1\n : sizeScale(Math.abs(value)) * (1 - minBubbleColorIntensity) + minBubbleColorIntensity;\n\n y.forEach((yValue, index) => {\n const xValue = x[index];\n const sizeValue = size[index];\n const categoryValue = category && category[index] ? category[index] : null;\n const bubbleColorValue =\n colorMode === COLOR_MODE_TYPES.SEQUENTIAL && isBubbleColorAnArray\n ? bubbleColor[index]\n : getColorValue(categoryValue);\n\n // if we find an invalid data point here (x, y or size is null or undefined), we ignore it\n if (xValue == null || yValue == null || sizeValue == null) {\n return;\n }\n\n // initialize rowData\n if (!dataByRows[yValue]) {\n dataByRows[yValue] = {\n rowXValues: [],\n rowSizeValues: [],\n rowCategoryValues: [],\n rowColorValues: [],\n rowFillOpacityValues: [],\n rowSizeScale: globalSizeScale,\n rowRadiusValues: [],\n };\n }\n\n dataByRows[yValue].rowXValues.push(xValue);\n dataByRows[yValue].rowSizeValues.push(sizeValue);\n dataByRows[yValue].rowCategoryValues.push(categoryValue);\n dataByRows[yValue].rowColorValues.push(bubbleColorValue);\n dataByRows[yValue].rowFillOpacityValues.push(\n getOpacityValue(size[index], dataByRows[yValue].rowSizeScale)\n );\n dataByRows[yValue].rowRadiusValues.push(getRadiusValue(size[index], dataByRows[yValue].rowSizeScale));\n });\n\n // If we are using row scaling we need to recalculate opacity, radius and size scale\n if (bubbleRowScale === BUBBLE_ROW_SCALE_TYPES.ROW) {\n Object.entries(dataByRows).forEach(([row, rowData]) => {\n const rowSizeScale = createValueScale(rowData.rowSizeValues);\n dataByRows[row].rowSizeScale = rowSizeScale;\n\n // Fill in opacity and radius values based on row scale\n rowData.rowSizeValues.forEach((rowSizeValue, index) => {\n dataByRows[row].rowFillOpacityValues[index] = getOpacityValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n dataByRows[row].rowRadiusValues[index] = getRadiusValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n });\n });\n }\n\n return dataByRows;\n};\n\n/**\n * Given selected dimensions\n * return true if there is something currently being selected\n * @method isSomethingSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @return {Boolean}\n */\nexport const isSomethingSelected = ({ selectedX, selectedY, selectedCategory }) =>\n selectedX !== null || selectedY !== null || selectedCategory !== null;\n\n/**\n * Given selected dimensions and a specific bubble's values\n * return true if that bubble should be selected\n * @method isBubbleSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @param {String|Number} xValue\n * @param {String|Number} yValue\n * @param {Boolean} categoryValue\n * @return {Boolean}\n */\nexport const isBubbleSelected = ({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n}) => {\n if (selectedX !== null && xValue !== selectedX) {\n return false;\n }\n\n if (selectedY !== null && yValue !== selectedY) {\n return false;\n }\n\n if (selectedCategory !== null && categoryValue !== selectedCategory) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Given text and available width, the truncateAxisLabelText will ellipsize\n * the truncateLocation of the text\n * @method truncateAxisLabelText\n * @param {Object} input\n * @param {String} label - The text to truncate\n * @param {Number} widthInPX - Available width to render the text\n * @param {('ellipsisStart' | 'ellipsisEnd')} axisLabelOverflowMode - Truncate start or end of the text\n */\nexport const truncateAxisLabelText = ({\n label,\n widthInPX = Y_AXIS_WIDTH,\n axisLabelOverflowMode = 'ellipsisEnd',\n}) => {\n // convert available width to number of characters that can be rendered.\n const availableLength = Math.floor(widthInPX / HORIZONTAL_SPACE_FOR_SINGLE_CHAR);\n\n if (label.length <= availableLength) {\n return label;\n }\n\n // return empty string if available space cannot accomodate\n // at least one label character\n if (availableLength < 'X...'.length) {\n return '';\n }\n\n const endMarker = Math.max(0, availableLength - '...'.length);\n if (axisLabelOverflowMode === 'ellipsisStart') {\n return `...${label.slice(-endMarker)}`;\n }\n\n return `${label.slice(0, endMarker)}...`;\n};\n"],"sourceRoot":""}
|