@splunk/visualizations 25.10.0 → 25.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/Area.js +2 -2
  2. package/Area.js.map +1 -1
  3. package/Bar.js +2 -2
  4. package/Bar.js.map +1 -1
  5. package/Bubble.config.js +1 -1
  6. package/Bubble.config.js.map +1 -1
  7. package/Bubble.js +3 -3
  8. package/Bubble.js.map +1 -1
  9. package/ChoroplethSvg.config.js +2 -2
  10. package/ChoroplethSvg.config.js.map +1 -1
  11. package/ChoroplethSvg.js +11 -11
  12. package/ChoroplethSvg.js.map +1 -1
  13. package/Column.config.js +1 -1
  14. package/Column.config.js.map +1 -1
  15. package/Column.js +3 -3
  16. package/Column.js.map +1 -1
  17. package/Ellipse.config.js +1 -1
  18. package/Ellipse.config.js.map +1 -1
  19. package/Ellipse.js +14 -14
  20. package/Ellipse.js.map +1 -1
  21. package/Events.js +22 -20
  22. package/Events.js.map +1 -1
  23. package/FillerGauge.config.js +3 -3
  24. package/FillerGauge.config.js.map +1 -1
  25. package/FillerGauge.js +32 -22
  26. package/FillerGauge.js.map +1 -1
  27. package/Image.js +2 -2
  28. package/Image.js.map +1 -1
  29. package/Line.config.js +1 -1
  30. package/Line.config.js.map +1 -1
  31. package/Line.js +3 -3
  32. package/Line.js.map +1 -1
  33. package/LinkGraph.config.js +1 -1
  34. package/LinkGraph.config.js.map +1 -1
  35. package/LinkGraph.js +25 -25
  36. package/LinkGraph.js.map +1 -1
  37. package/Map.config.js +1 -1
  38. package/Map.config.js.map +1 -1
  39. package/Map.js +193 -138
  40. package/Map.js.map +1 -1
  41. package/Markdown.js +6 -6
  42. package/Markdown.js.map +1 -1
  43. package/MarkerGauge.config.js +2 -2
  44. package/MarkerGauge.config.js.map +1 -1
  45. package/MarkerGauge.js +32 -21
  46. package/MarkerGauge.js.map +1 -1
  47. package/ParallelCoordinates.config.js +2 -2
  48. package/ParallelCoordinates.config.js.map +1 -1
  49. package/ParallelCoordinates.js +5 -5
  50. package/ParallelCoordinates.js.map +1 -1
  51. package/Pie.js +10 -10
  52. package/Pie.js.map +1 -1
  53. package/Punchcard.config.js +1 -1
  54. package/Punchcard.config.js.map +1 -1
  55. package/Punchcard.js +5 -5
  56. package/Punchcard.js.map +1 -1
  57. package/Rectangle.config.js +1 -1
  58. package/Rectangle.config.js.map +1 -1
  59. package/Rectangle.js +13 -13
  60. package/Rectangle.js.map +1 -1
  61. package/Sankey.js +7 -7
  62. package/Sankey.js.map +1 -1
  63. package/Scatter.config.js +1 -1
  64. package/Scatter.config.js.map +1 -1
  65. package/Scatter.js +7 -5
  66. package/Scatter.js.map +1 -1
  67. package/SingleValue.config.js +3 -3
  68. package/SingleValue.config.js.map +1 -1
  69. package/SingleValue.js +8 -8
  70. package/SingleValue.js.map +1 -1
  71. package/SingleValueBasic.js +1 -1
  72. package/SingleValueBasic.js.map +1 -1
  73. package/SingleValueIcon.config.js +3 -3
  74. package/SingleValueIcon.config.js.map +1 -1
  75. package/SingleValueIcon.js +6 -6
  76. package/SingleValueIcon.js.map +1 -1
  77. package/SingleValueRadial.config.js +3 -3
  78. package/SingleValueRadial.config.js.map +1 -1
  79. package/SingleValueRadial.js +30 -19
  80. package/SingleValueRadial.js.map +1 -1
  81. package/Table.js +12 -12
  82. package/Table.js.map +1 -1
  83. package/common/GaugeValueMarker.js +20 -10
  84. package/common/GaugeValueMarker.js.map +1 -1
  85. package/common/utils/mapUtils.js +4 -3
  86. package/common/utils/mapUtils.js.map +1 -1
  87. package/common/utils/singleValueUtils.js +1 -1
  88. package/common/utils/singleValueUtils.js.map +1 -1
  89. package/common/withDashboardViz.js +2 -2
  90. package/common/withDashboardViz.js.map +1 -1
  91. package/package.json +13 -13
package/Map.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 \"@splunk/visualization-encoding/utils/dsl\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/Map/PureMap/BubbleLayer.tsx","webpack:///./src/Map/PureMap/MarkerWrapper.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"chroma-js\"","webpack:///external \"maplibre-gl\"","webpack:///./src/Map/PureMap/ChoroplethLayer.tsx","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualization-context/FeatureFlagContext\"","webpack:///external \"@babel/runtime/helpers/createClass\"","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:///./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/Map/Map.tsx","webpack:///./src/Map/PureMap/PureMap.tsx","webpack:///external \"@splunk/visualization-context/MapContext\"","webpack:///./src/Map/PureMap/PureMapContainer.tsx","webpack:////builds/devplat/vision/node_modules/maplibre-gl/dist/maplibre-gl.css","webpack:///./src/Map/PureMap/ClusterLayer.tsx","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/Map/PureMap/Tooltip.tsx","webpack:///./src/Map/PureMap/MarkerLayer.tsx","webpack:///./src/Map/PureMap/LocalChoroplethLayer.tsx","webpack:///external \"@splunk/visualization-context/GeoRegistry\"","webpack:///external \"@splunk/visualization-context/GeoJsonProvider\"","webpack:///./src/Map/config.ts","webpack:///./src/common/utils/mapUtils.ts","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Map/PureMap/MapUtils.ts","webpack:///external \"d3-scale\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-encoding/utils/types\""],"names":["convertToArrOfObjects","columns","fields","length","data","_loop","i","newObj","forEach","field","index","fieldName","name","push","exports","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","lodash_1","MapUtils_1","MarkerWrapper_1","GEO_BOUND_PREFIX","GEO_LAT_AND_LONG_FIELD","PieSegment","memo","start","end","radius","color","themeColor","segmentMetadata","handleBubbleClick","value","handleSegmentClick","useCallback","e","onClick","cx","cy","r","fill","fillOpacity","strokeWidth","stroke","a0","Math","PI","a1","x0","cos","y0","sin","x1","y1","arc","d","concat","strokeOpacity","StyledMarkerWrapper","Bubble","originalValues","valueRange","colors","isPie","latitude","longitude","bubbleSize","_ref3$additionalField","additionalFields","map","handleMapClick","onBubbleClick","stopPropagation","bubble","useMemo","allZeros","every","v","values","offsets","total","count","matchBubbleSize","viewBox","key","String","_toConsumableArray","BubbleLayer","bubbleLayer","themeColorScheme","zoom","onMapClick","seriesColors","DEFAULT_SERIES_COLORS","bakedData","bakeBubbleData","staticColors","getStaticColors","_ref4","_ref4$data","_ref4$dataRange","dataRange","resultLimit","bubbleSizeFields","_bubbleLayer$addition","additionalTooltipFields","roundedZoom","round","dynamicColors","dataColors","dataToRender","reduce","acc","datum","idx","slice","DEFAULT_RESULT_LIMIT","sort","a","b","sum","metadata","_c","_b","_a","payload","keys","curr","val","_defineProperty","Fragment","obj","DEFAULT_CLUSTER_COLOR","_datum$data$coordinat","_slicedToArray","coordinates","maplibre_gl_1","Tooltip_1","MarkerWrapper","areaId","areaValue","_a$additionalFields","isChoroplethTooltipOpen","children","otherProps","__rest","container","useRef","marker","_React$useState","useState","_React$useState2","isTooltipOpen","setTooltipOpenStatus","isChoroplethTooltip","undefined","openTooltip","closeTooltip","cleanupMarker","current","remove","useEffect","setLngLat","Marker","element","addTo","error","console","visibility","ref","onMouseOver","onMouseLeave","onFocus","onBlur","open","anchor","extendStaticWrapperProps","Wrapper","Visualization","extendProperties","prop","getShapeId","id","getSourceId","getStrokeId","compareGeom","prev","next","type","isEqual","compareChoropleth","prevProps","nextProps","geomData","opacity","strokeColor","isThemeChanged","toString","cleanupChoropleth","shapeId","sourceId","strokeId","currLayer","currSource","currStrokeLayer","getLayer","getSource","_d","removeLayer","removeSource","Choropleth","formattedGeomData","geometry","_React$useState3","_React$useState4","mouseLat","setmouseLat","_React$useState5","_React$useState6","mouseLng","setmouseLng","updateChoropleth","addSource","addLayer","source","layout","paint","on","mouseLngLat","lngLat","lat","lng","getCanvas","cursor","padding","ChoroplethLayer","choroplethLayer","setIsThemeChanged","cfgOpacity","min","max","choroplethOpacity","scaledOpacities","getScaledOpacities","limit","areaIds","areaValues","_f","_e","geom","areaIdSliced","_h","_g","uniqueAreaIdSliced","uniq","choroplethMetadata","formatMetadata","choroplethStrokeColor","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","annotations","enhancedPatternProperties","opt","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","VizBehavior","DYNAMIC_OPTIONS","editorConfig","config","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","generatePrecisionValues","numPrecisionValues","range","label","repeat","insertLayout","_len","arguments","layoutItems","Array","_key","T","i18n_1","Message_1","FixedSizeContainer_1","shouldShowIconPlaceholder","dataSources","loading","noData","noFields","propTypes","icon","func","oneOfType","string","number","iconColor","IconPlaceholder","left","top","position","transform","level","message","_","defaultProps","DataSource_1","SortParamsPropTypes","shape","currentSortKey","currentSortDir","oneOf","validSortDirs","onSort","getSortingParams","requestParams","onRequestParamsChange","nextSortDirMap","asc","desc","none","has","shift","sortKey","sortDir","nextSortDir","offset","PaginatorParamsPropTypes","isPaging","bool","totalPages","onChange","getPaginationParams","meta","totalCount","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","themes","call","bgColorFromTheme","_getSettingsFromTheme","currentThemeFamily","family","currentThemeColorScheme","colorScheme","currentThemeDensity","density","evaluatedOptions","evaluatedOptionsAsync","setEvaluatedOptionsAsync","featureFlagContext","createGUID","visualizationID","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","dataFrames","Options","dataFrameFromDataSource","evaluatedOptionsToUse","isTrellisFeatureFlagOn","visualizations_enableTrellis","clonedEvaluatedOptions","includes","TRELLIS","splitByLayout","trellisBackgroundColor","reset","_vizConfig$requiredPr","requiredProps","missing","missingKeys","PLACEHOLDER","missingProps","eventCallbackProps","EVENTS","supportedEvents","events","eventName","eventCallbackPropName","camelCase","payloadKeys","isArray","p","ev","originalEvent","computedVizProps","dataSourceMetadata","OptionKey","paginateDataSourceKey","PAGE_AND_SORT","handleRequestParamsChange","sortParams","paginatorParams","withTheme","dsl_1","PureMap_1","PureMap","config_1","withDashboardViz_1","mapUtils_1","BubbleLayer_1","dataUtils_1","formatLayer","l","dataFields","dataSourceData","transformedData","geobinIdx","layer","geobin","geomIdx","geomItem","JSON","parse","prototype","hasOwnProperty","sanitizeArrayOfColors","layers","onOptionsChange","themeColorVariables","themeColors","variable","splunkThemeV1","primary","withTooltipFields","VizWithTooltipFields","mergedOptions","getFieldsFromDSL","_mergedOptions$layers","filter","f","withoutInternalFields","VizWithoutInternalFields","_primary$data","newColumns","newFields","indicesToRemove","Set","arr","modifiedDatasources","withNullToZeros","VizWithColumnsNullToZeros","columnsNullToZeros","Map","react_1","chroma","MapContext_1","PureMapContainer_1","ClusterLayer_1","ChoroplethLayer_1","LocalChoroplethLayer_1","DEFAULT_CENTER","DEFAULT_CONTROL_BACKGROUND_COLOR","DEFAULT_CONTROL_FOREGROUND_COLOR","DEFAULT_SCALE_UNIT","DEFAULT_SHOW_SCALE","DEFAULT_SHOW_ZOOM_CONTROLS","DEFAULT_SHOW_BASELAYER","DEFAULT_ZOOM","formatColor","chromaColor","rgb","hex","replace","alpha","baseLayerTileServer","baseLayerTileServerType","center","controlBackgroundColor","controlForegroundColor","_props$layers","scaleUnit","showScale","showZoomControls","showBaseLayer","onMapLoad","_react_1$useContext","defaultTileConfig","customTileConfig","basemapContainer","scaleControl","zoomControl","_react_1$useMemo","getTilePreset","tilePreset","defaultTileLight","defaultTileDark","currentZoomLevel","setCurrentZoomLevel","isMapLoaded","setMapIsLoaded","lngLatCenter","isValidLatLon","zoomLevel","setIsThemeChangedCallback","isMyThemeChanged","onOptionsChangeProxy","initializeMap","mapStyle","fitMapToContent","lngLatBounds","getGlobalLayerBoundaries","fitBounds","MAX_BUBBLE_RADIUS","animate","addZoomEndEventListener","getZoom","newCenter","getCenter","preserveDrawingBuffer","getZoomConstraintsFromTileConfig","setTimeout","NavigationControl","showCompass","addControl","initializeScale","ScaleControl","maxWidth","unit","updateScale","setUnit","resize","warn","getMapStyle","version","MAP_STYLE_VERSION_NUMBER","getStyle","omit","compareBaseStyles","setStyle","_MapUtils_1$getZoomCo","minZoom","maxZoom","setMinZoom","setMaxZoom","flyTo","_layers","className","controlIconColorEncoded","LAYER_TYPE","clusterLayer","isLatLng","propName","componentName","latAbs","abs","lonAbs","latlon","MAX_LATITUDE","Error","arrayOf","showInLegend","choroplethEmptyAreaColor","maplibre_gl_css_1","PureMapContainer","toDimension","pick","MarkerLayer_1","ClusterLayer","isStyleLoaded","markerLayer","VizActionHandler_1","INITIAL_WIDTH","INITIAL_HEIGHT","SplunkVisualization","_classCallCheck","isRequired","object","objectOf","array","vizActionHandlerRef","DefaultVizActionHandler","Popover_1","StyledPopover","StyledTable","table","StyledTitleColumn","td","StyledValueColumn","StyledColorBlock","convertDegToDMS","decimalDegree","truncate","n","absoluteDegree","degrees","minutes","seconds","direction","Tooltip","_ref$additionalFields","defaultPlacement","MarkerIcon","handleLayerClick","generateMarkerWrapperProps","latArray","lonArray","isStaticColor","markerProps","staticColor","dynamicColor","MarkerLayer","markerPropsList","GeoRegistry_1","GeoJsonProvider_1","LocalChoroplethLayer","features","geoJson","setGeoJson","validGeoJson","setValidGeoJson","geoJsonError","setGeoJsonError","geoJsonData","geoRegistry","create","addDefaultProvider","getByURL","updatedPropertyFormat","propertyFormat","propertyFormats","shapeProperty","formatCheck","_ret","updatedAllChoroplethData","allChoroplethData","el","choroplethData","dataIdx","visualization_icons_1","placeholders_1","visualization_color_palettes_1","themes_1","VizCategory_1","configUtils_1","BackgroundColor_1","colorRangeConfig","to","from","dataContract","requiredDataSources","optionalDataSources","initialRequestParams","size","initialWidth","initialHeight","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","getPattern","items","VIZ_CATEGORICAL","enterprise","dark","variables","black","light","prisma","backgroundColorSidebar","gray22","white","backgroundColorPopup","textColor","contentColorDefault","defaultChoroplethEmptyAreaColor","gray92","interactiveColorBackground","neutral300","defaultGradientMigrationConfig","syntaxPurple","checkTypeIsChoropleth","checkTypeIsLocalChoropleth","EDITOR_LABEL_WIDTH","editor","editorProps","showEditor","dataSourceKey","shouldShowInternalFields","filterByTypes","_ref5","excludeByNames","_ref6","labelPosition","labelWidth","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","category","CHOROPLETH","status","placeholderIcon","types_1","latitudeField","longitudeField","excludedFields","indicesToEvaluate","column","isNumber","_createClass","focus","snapshot","fn","dependencies","isMissing","target","k","MissingPropsMessage","join","Cover","Blocker","withEditModeCover","showEditCover","variables_1","IconPlaceholder_1","withPlaceholder","showPlaceholder","contentColorActive","background","d3_scale_1","MIN_LATITUDE","MAX_LONGITUDE","MIN_LONGITUDE","MIN_BUBBLE_RADIUS","DEFAULT_OPACITY","LONGITUDE","LATITUDE","_ref$defaultTileConfi","_ref$customTileConfig","tileConfigs","tileConfig","updatedConfig","_ref2$baseLayerTileSe","_ref2$baseLayerTileSe2","_ref2$tilePreset","_ref2$colorScheme","_ref2$defaultTileLigh","_ref2$defaultTileDark","sources","tiles","tileSize","minzoom","maxzoom","match","matchedBaseLayerTileServer","sourceKeys","_sources$sourceKeys$i","_layers$_i","getZoomLevelFromGeobin","geobinStr","geobinPattern","exec","parseInt","colorCount","colorArray","scalePow","exponent","domain","transposeArray","row","sanitizeValues","sanitizedBubbleSize","transposedBubbleSize","transposedSanitizedBubbleSize","sanitizedValues","_latlon","lon","getLatOrLonCoordinates","getClusterValues","getChoroplethValues","slicedGeomList","flatCoordinates","flatMap","geomObject","flat","coord","isLayerValid","getDefaultMax","getDefaultMin","getMin","prevVal","coordinatesNumArr","x","getMax","Number","opacities","currBaseLayer","nextBaseLayer","currBaseSource","nextBaseSource","base","result","isObject","stringify"],"mappings":"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","file":"Map.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 = 404);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-encoding/utils/dsl\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","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","import * as React from 'react';\nimport styled from 'styled-components';\nimport type { Map } from 'maplibre-gl';\nimport { sum } from 'lodash';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport {\n bakeBubbleData,\n BubbleLayerType,\n DEFAULT_SERIES_COLORS,\n DEFAULT_RESULT_LIMIT,\n DEFAULT_CLUSTER_COLOR,\n getStaticColors,\n matchBubbleSize,\n} from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nexport const GEO_BOUND_PREFIX = '_geo_bounds_';\nexport const GEO_LAT_AND_LONG_FIELD = ['_geo_long_field', '_geo_lat_field'];\nexport interface PieSegmentProps {\n start: number;\n end: number;\n radius: number;\n color: string;\n themeColor: string;\n segmentMetadata?: { name: string; value: number; color: string };\n handleBubbleClick?: (e: Event, name: string, count: number) => void;\n}\n\nexport const PieSegment = React.memo(\n ({\n start,\n end,\n radius,\n color,\n themeColor,\n segmentMetadata,\n handleBubbleClick,\n }: PieSegmentProps): JSX.Element => {\n const { name, value } = segmentMetadata ?? {};\n const handleSegmentClick = React.useCallback(\n e => {\n handleBubbleClick(e, name, value);\n },\n [name, value, handleBubbleClick]\n );\n\n if (end - start === 1) {\n return (\n <circle\n onClick={handleSegmentClick}\n cx={radius}\n cy={radius}\n r={radius}\n fill={color}\n fillOpacity={0.5}\n strokeWidth={1.5}\n stroke={color}\n />\n );\n }\n const a0 = 2 * Math.PI * (start - 0.25);\n const a1 = 2 * Math.PI * (end - 0.25);\n const x0 = Math.cos(a0);\n const y0 = Math.sin(a0);\n const x1 = Math.cos(a1);\n const y1 = Math.sin(a1);\n const arc = end - start > 0.5 ? 1 : 0;\n\n return (\n <path\n onClick={handleSegmentClick}\n d={`M ${radius} ${radius} L ${radius + radius * x0} ${\n radius + radius * y0\n } A ${radius} ${radius} 0 ${arc} 1 ${radius + radius * x1} ${\n radius + radius * y1\n } L ${radius} ${radius} A 0 0 0 ${arc} 0 ${radius} ${radius}`}\n fill={color}\n fillOpacity={0.8}\n stroke={themeColor}\n strokeWidth={2}\n strokeOpacity={0.3}\n />\n );\n }\n);\n\nPieSegment.displayName = 'MapBubblePieSegment';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n cursor: pointer;\n`;\n\nexport interface BubbleProps {\n originalValues: number[];\n valueRange: number[];\n colors: string[];\n themeColor: string;\n isPie: boolean;\n latitude: number;\n longitude: number;\n bubbleSize: Required<TooltipProps['additionalFields'][number] & { value: number }>[];\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleMapClick?: any;\n}\n\nexport const Bubble = React.memo(\n ({\n originalValues,\n valueRange,\n colors,\n themeColor,\n isPie,\n latitude,\n longitude,\n bubbleSize,\n additionalFields = [],\n map,\n handleMapClick,\n }: BubbleProps): JSX.Element => {\n const onBubbleClick = React.useCallback(\n (e, name, value) => {\n handleMapClick(e, name, value);\n e.stopPropagation();\n },\n [bubbleSize]\n );\n\n const bubble = React.useMemo(() => {\n const allZeros = originalValues.every(v => v === 0);\n if (allZeros || !originalValues.length) {\n return null;\n }\n // sanitize values\n const values = originalValues.map(v => (v > 0 ? v : 0));\n\n // compute offsets for pie segments\n const offsets = [];\n let total = 0;\n values.forEach(count => {\n offsets.push(total);\n total += count;\n });\n\n const radius = matchBubbleSize(valueRange, total);\n const width = radius * 2;\n return (\n <svg width={width} height={width} viewBox={`-3 -3 ${width + 6} ${width + 6}`}>\n {isPie ? (\n <circle\n cx={radius}\n cy={radius}\n r={radius}\n fill=\"none\"\n strokeWidth={2}\n stroke={themeColor}\n strokeOpacity={0.3}\n />\n ) : null}\n {values.map((v, i) => (\n <PieSegment\n key={String(i)}\n start={offsets[i] / total}\n end={(offsets[i] + v) / total}\n radius={radius}\n color={colors[i]}\n themeColor={themeColor}\n segmentMetadata={bubbleSize[i]}\n handleBubbleClick={onBubbleClick}\n />\n ))}\n </svg>\n );\n }, [colors, isPie, originalValues, themeColor, valueRange]);\n\n if (!bubble) {\n return null;\n }\n\n return (\n <StyledMarkerWrapper\n longitude={longitude}\n latitude={latitude}\n additionalFields={[...bubbleSize, ...additionalFields]}\n map={map}\n data-test-type=\"bubble\"\n >\n {bubble}\n </StyledMarkerWrapper>\n );\n }\n);\nBubble.displayName = 'MapBubble';\n\nexport interface BubbleLayerProps {\n bubbleLayer: BubbleLayerType;\n themeColorScheme: string;\n zoom: number;\n map: React.MutableRefObject<Map>;\n onMapClick?: any;\n}\n\nconst BubbleLayer = (props: BubbleLayerProps): JSX.Element => {\n const { bubbleLayer, themeColorScheme, map, zoom, onMapClick } = props;\n bubbleLayer.seriesColors = bubbleLayer.seriesColors || DEFAULT_SERIES_COLORS;\n bubbleLayer.bubbleSize = bubbleLayer.bubbleSize || [];\n const bakedData = React.useMemo(() => bakeBubbleData(bubbleLayer), [bubbleLayer]);\n const staticColors = React.useMemo(\n () => getStaticColors(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors),\n [bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors]\n );\n const { data = [], dataRange = [], resultLimit, bubbleSizeFields, isPie } = bakedData ?? {};\n const { additionalTooltipFields = [] } = bubbleLayer;\n const roundedZoom = Math.round(zoom);\n const themeColor = themeColorScheme === 'light' ? '#ffffff' : '#1a1c20';\n const dynamicColors = bubbleLayer.dataColors;\n\n // filter data for the current zoom level and sort base on values\n const dataToRender = React.useMemo(\n () =>\n data\n .reduce((acc, datum, i) => {\n if (datum.zoom === roundedZoom) {\n acc.push({ data: datum, idx: i });\n }\n return acc;\n }, [])\n .slice(0, resultLimit || DEFAULT_RESULT_LIMIT)\n .sort((a, b) => sum(b.data.values) - sum(a.data.values)),\n [data, resultLimit, roundedZoom]\n );\n\n const handleMapClick = React.useCallback(\n (e, name, value, i) => {\n // retrieve metadata from the appropriate datum, indexed by i\n const metadata = dataToRender[i]?.data?.metadata ?? {};\n const payload = Object.keys(metadata).reduce(\n (acc, curr) => {\n const key = `row.${curr}.value`;\n const val = String(metadata[curr]);\n return { ...acc, [key]: val };\n },\n { name, value: String(value) }\n );\n\n onMapClick({ e, payload });\n },\n [dataToRender]\n );\n\n return (\n <>\n {dataToRender.map((datum, i) => {\n const colors = dynamicColors\n ? [\n dataToRender.map(obj =>\n isColor(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : DEFAULT_CLUSTER_COLOR\n )[i],\n ]\n : staticColors;\n\n const [longitude, latitude] = datum.data.coordinates;\n const bubbleSize = datum.data.values.map((value, index) => ({\n name: bubbleSizeFields[index],\n value,\n color: colors[index],\n }));\n\n const additionalFields = bubbleLayer.metadata\n ? additionalTooltipFields.map(field => ({\n name: field,\n value: datum.data.metadata[field],\n }))\n : [];\n\n return (\n <Bubble\n key={String(i)}\n originalValues={datum.data.values}\n valueRange={dataRange}\n colors={colors}\n themeColor={themeColor}\n isPie={isPie}\n longitude={longitude}\n latitude={latitude}\n bubbleSize={bubbleSize}\n additionalFields={additionalFields}\n map={map}\n handleMapClick={(e, name, value) => handleMapClick(e, name, value, i)}\n />\n );\n })}\n </>\n );\n};\n\nexport default BubbleLayer;\n","import type { Map } from 'maplibre-gl';\nimport { Marker } from 'maplibre-gl';\nimport * as React from 'react';\nimport type { TooltipProps } from './Tooltip';\nimport Tooltip from './Tooltip';\n\nexport interface MarkerWrapperProps extends React.HTMLAttributes<HTMLDivElement> {\n latitude: number;\n longitude: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n isChoroplethTooltipOpen?: boolean;\n}\n\nconst MarkerWrapper = ({\n longitude,\n latitude,\n areaId,\n areaValue,\n additionalFields = [],\n map,\n isChoroplethTooltipOpen,\n children,\n ...otherProps\n}: MarkerWrapperProps): JSX.Element => {\n const container = React.useRef<HTMLDivElement>();\n const marker = React.useRef<Marker>();\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n\n const isChoroplethTooltip = React.useCallback(() => isChoroplethTooltipOpen !== undefined, [\n isChoroplethTooltipOpen,\n ]);\n\n const openTooltip = React.useCallback(() => setTooltipOpenStatus(true), []);\n const closeTooltip = React.useCallback(() => setTooltipOpenStatus(false), []);\n\n const cleanupMarker = React.useCallback(() => {\n if (marker.current) {\n marker.current.remove();\n marker.current = undefined;\n }\n }, []);\n\n React.useEffect(() => {\n try {\n if (marker.current) {\n marker.current.setLngLat([longitude, latitude]);\n } else {\n marker.current = new Marker({ element: container.current });\n marker.current.setLngLat([longitude, latitude]);\n marker.current.addTo(map.current);\n }\n } catch (error) {\n console.error(error);\n cleanupMarker();\n }\n }, [latitude, longitude, map]);\n\n React.useEffect(() => cleanupMarker, []);\n\n return (\n <div style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}>\n <div\n style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}\n ref={container}\n data-test=\"map-marker\"\n onMouseOver={openTooltip}\n onMouseLeave={closeTooltip}\n onFocus={openTooltip}\n onBlur={closeTooltip}\n {...otherProps}\n >\n {children}\n </div>\n\n <div>\n <Tooltip\n open={isChoroplethTooltip() ? isChoroplethTooltipOpen : isTooltipOpen}\n anchor={container.current}\n latitude={isChoroplethTooltip() ? null : latitude}\n longitude={isChoroplethTooltip() ? null : longitude}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields}\n />\n </div>\n </div>\n );\n};\n\nexport default MarkerWrapper;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"chroma-js\");","module.exports = require(\"maplibre-gl\");","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\nimport { isEqual, uniq } from 'lodash';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata, DEFAULT_RESULT_LIMIT } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nconst getShapeId = id => `shape-${id}`;\nconst getSourceId = id => `source-${id}`;\nconst getStrokeId = id => `stroke-${id}`;\n\nexport const compareGeom = (prev: GeoJsonDataType, next: GeoJsonDataType) => {\n if (prev !== null && next !== null) {\n return prev.type === next.type && isEqual(prev.coordinates, next.coordinates);\n }\n return prev === null && next === null;\n};\n\nexport const compareChoropleth = (prevProps: ChoroplethProps, nextProps: ChoroplethProps): boolean => {\n return (\n compareGeom(prevProps.geomData, nextProps.geomData) &&\n prevProps.id === nextProps.id &&\n prevProps.map === nextProps.map &&\n prevProps.areaId === nextProps.areaId &&\n prevProps.areaValue === nextProps.areaValue &&\n prevProps.color === nextProps.color &&\n prevProps.opacity === nextProps.opacity &&\n prevProps.strokeColor === nextProps.strokeColor &&\n prevProps.isThemeChanged === nextProps.isThemeChanged &&\n isEqual(prevProps.additionalFields, nextProps.additionalFields) &&\n prevProps.handleMapClick.toString() === nextProps.handleMapClick.toString()\n );\n};\n\nexport const cleanupChoropleth = (\n shapeId: string,\n sourceId: string,\n strokeId: string,\n map: React.MutableRefObject<Map>\n) => {\n // catch errors where map is undefined\n let currLayer;\n let currSource;\n let currStrokeLayer;\n try {\n currLayer = map?.current?.getLayer(shapeId);\n currStrokeLayer = map?.current?.getLayer(strokeId);\n currSource = map?.current?.getSource(sourceId);\n } catch {\n return;\n }\n if (currLayer) {\n map.current.removeLayer(shapeId);\n }\n if (currStrokeLayer) {\n map.current.removeLayer(strokeId);\n }\n if (currSource) {\n map.current.removeSource(sourceId);\n }\n};\n\ninterface ChoroplethProps {\n id: string;\n map: React.MutableRefObject<Map>;\n areaId: string;\n areaValue: number;\n geomData: GeoJsonDataType;\n color: string;\n opacity?: number;\n strokeColor?: string;\n isThemeChanged: boolean;\n additionalFields?: TooltipProps['additionalFields'];\n handleMapClick?: (e) => void;\n}\n\nexport const Choropleth = React.memo(\n ({\n id,\n areaId,\n areaValue,\n geomData,\n map,\n color,\n opacity,\n strokeColor,\n isThemeChanged,\n additionalFields,\n handleMapClick,\n }: ChoroplethProps): JSX.Element => {\n const sourceId = getSourceId(id);\n const shapeId = getShapeId(id);\n const strokeId = getStrokeId(id);\n const formattedGeomData = {\n type: 'Feature',\n geometry: geomData,\n };\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n const [mouseLat, setmouseLat] = React.useState(0);\n const [mouseLng, setmouseLng] = React.useState(0);\n\n const openTooltip = React.useCallback(() => {\n setTooltipOpenStatus(true);\n }, []);\n\n const closeTooltip = React.useCallback(() => {\n setTooltipOpenStatus(false);\n }, []);\n\n const updateChoropleth = React.useCallback(() => {\n // Apply changes by removing the existing choropleth and creating a new one\n // instead of mutating the current\n cleanupChoropleth(shapeId, sourceId, strokeId, map);\n\n // In order to set a different color and opacity to each choropleth region\n // we are creating a different layer for each region, and each layer requires a source\n map.current.addSource(sourceId, {\n type: 'geojson',\n data: formattedGeomData,\n });\n map.current.addLayer({\n id: shapeId,\n type: 'fill',\n source: sourceId,\n layout: {},\n paint: {\n 'fill-opacity': opacity,\n 'fill-color': color,\n },\n });\n\n if (strokeColor !== 'transparent') {\n map.current.addLayer({\n id: strokeId,\n type: 'line',\n source: sourceId,\n layout: {},\n paint: {\n 'line-color': strokeColor,\n 'line-width': 1,\n },\n });\n }\n\n map.current.on('mousemove', shapeId, e => {\n const mouseLngLat = e.lngLat;\n setmouseLat(mouseLngLat.lat);\n setmouseLng(mouseLngLat.lng);\n openTooltip();\n map.current.getCanvas().style.cursor = 'pointer'; // eslint-disable-line no-param-reassign\n });\n map.current.on('mouseleave', shapeId, () => {\n closeTooltip();\n map.current.getCanvas().style.cursor = ''; // eslint-disable-line no-param-reassign\n });\n map.current.on('click', shapeId, e => {\n handleMapClick(e);\n });\n }, [shapeId, sourceId, map, color, opacity, formattedGeomData]);\n\n React.useEffect(() => {\n updateChoropleth();\n }, [map, geomData, color, opacity, id, strokeColor]);\n\n // Clean up on unmount\n React.useEffect(() => () => cleanupChoropleth(shapeId, sourceId, strokeId, map), []);\n\n if (isThemeChanged) {\n // Theme changes will reset the style layers of the entire map\n // so we need to rerender the choropleths\n updateChoropleth();\n }\n\n return (\n <MarkerWrapper\n isChoroplethTooltipOpen={isTooltipOpen}\n additionalFields={additionalFields}\n latitude={mouseLat}\n longitude={mouseLng}\n map={map}\n areaId={areaId}\n areaValue={areaValue}\n >\n {/* an invisible div used to anchor the tooltip */}\n <div data-test=\"choropleth-anchor\" style={{ padding: '24px', visibility: 'hidden' }} />\n </MarkerWrapper>\n );\n },\n compareChoropleth\n);\n\nChoropleth.displayName = 'MapChoropleth';\n\ninterface ChoroplethLayerProps {\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n\n const limit = Math.min(\n choroplethLayer?.areaIds?.length,\n choroplethLayer?.areaValues?.length,\n choroplethLayer?.geom?.length ?? 0,\n choroplethLayer?.resultLimit ? choroplethLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const areaIdSliced = choroplethLayer?.areaIds?.slice(0, limit) ?? [];\n // generate a unique id if areaIds are not unique\n const uniqueAreaIdSliced =\n uniq(areaIdSliced).length !== areaIdSliced.length\n ? areaIdSliced.map((id, i) => `${id}${i}`)\n : areaIdSliced;\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (!map || !choroplethLayer || !choroplethLayer.geom) {\n return <></>;\n }\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n return (\n <div>\n {uniqueAreaIdSliced.map((id, i) => {\n const areaId = areaIdSliced[i];\n const areaValue = choroplethLayer.areaValues[i];\n\n return (\n <Choropleth\n key={id}\n id={id}\n geomData={choroplethLayer.geom[i]}\n map={map}\n color={colors[i]}\n opacity={scaledOpacities[i]}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n isThemeChanged={isThemeChanged}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields[i]}\n handleMapClick={e => handleMapClick(e, i)}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ChoroplethLayer;\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualization-context/FeatureFlagContext\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","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\");","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 no-sequences */\nimport * as React from 'react';\nimport { sanitizeArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport PureMap from './PureMap/PureMap';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { columnsNullToZeros } from '../common/utils/mapUtils';\nimport { GEO_BOUND_PREFIX, GEO_LAT_AND_LONG_FIELD } from './PureMap/BubbleLayer';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\nconst formatLayer = (l, dataFields, dataSourceData, transformedData) => {\n // add key `geobin` to the layer object if the data is returned from geostats commands\n // to distinguish geostats commands from table commands\n const geobinIdx = dataFields.indexOf('geobin');\n const layer = l;\n\n if (geobinIdx > -1) {\n layer.geobin = dataSourceData.columns[geobinIdx];\n }\n // similarly add key `geom` to layer object for choropleths\n const geomIdx = dataFields.indexOf('geom');\n if (geomIdx > -1) {\n layer.geom = dataSourceData.columns[geomIdx].map(geomItem => {\n return typeof geomItem === 'string' ? JSON.parse(geomItem) : geomItem;\n });\n }\n // Sanitize colors within layers\n if (Object.prototype.hasOwnProperty.call(layer, 'seriesColors')) {\n layer.seriesColors = Array.isArray(layer.seriesColors)\n ? sanitizeArrayOfColors(layer.seriesColors)\n : undefined;\n }\n if (Object.prototype.hasOwnProperty.call(layer, 'dataColors')) {\n layer.dataColors = Array.isArray(layer.dataColors)\n ? sanitizeArrayOfColors(layer.dataColors)\n : undefined;\n }\n layer.metadata = transformedData;\n};\n\nexport const computeVizProps = (props: {\n themeFunc: any;\n theme: any;\n dataSources: any;\n layers: any;\n onOptionsChange?: any;\n}): any => {\n const { themeFunc, theme, layers, dataSources, onOptionsChange } = props;\n const themeColorVariables = ['controlBackgroundColor', 'controlForegroundColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n // Markers use different icons, Bubbles has different styles for light and dark theme\n // this prop is passed for that\n const themeColorScheme = theme?.splunkThemeV1 ? theme?.splunkThemeV1.colorScheme : 'dark';\n\n const dataSourceData = dataSources?.primary?.data ?? {};\n // transforms data structure into array of objects to allow for indexing metadata at layer level\n // TODO: explore any potential changes when multiple layers are supported\n const transformedData = convertToArrOfObjects(dataSourceData.columns, dataSourceData.fields);\n\n const dataFields = (dataSourceData.fields ?? []).map(field =>\n typeof field === 'string' ? field : field.name\n );\n\n layers?.forEach(l => formatLayer(l, dataFields, dataSourceData, transformedData));\n\n return { ...themeColors, themeColorScheme, ...layers, onOptionsChange };\n};\n\nconst withTooltipFields = Viz => {\n const VizWithTooltipFields = ({ dataSources, options, ...otherProps }): JSX.Element => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} options={options} />;\n }\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]) {\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n mergedOptions.layers[0].bubbleSizeFields = getFieldsFromDSL(\n mergedOptions.layers[0].bubbleSize ?? mergedOptions.layers[0].bubbleSize,\n dataSources\n );\n }\n const { fields } = dataSources.primary.data;\n if (\n Array.isArray(mergedOptions.layers[0].additionalTooltipFields) &&\n Array.isArray(fields) &&\n fields.length\n ) {\n const { bubbleSizeFields = [] } = mergedOptions.layers[0];\n mergedOptions.layers[0].additionalTooltipFields = mergedOptions.layers[0].additionalTooltipFields.filter(\n (field: string) =>\n (typeof fields[0] === 'string'\n ? fields.includes(field)\n : fields.map((f: { name: string }) => f.name).includes(field)) &&\n !bubbleSizeFields.includes(field)\n );\n }\n }\n return <Viz dataSources={dataSources} options={mergedOptions} {...otherProps} />;\n };\n VizWithTooltipFields.propTypes = Viz.propTypes;\n VizWithTooltipFields.defaultProps = Viz.defaultProps;\n VizWithTooltipFields.config = Viz.config;\n return VizWithTooltipFields;\n};\n\n// HOC for stripping the internal fields for Maps\nconst withoutInternalFields = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithoutInternalFields = ({ dataSources, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} />;\n }\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = [];\n let newFields = [];\n if (fields && columns && fields.length === columns.length) {\n // computed sorted index for removal\n const indicesToRemove = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (\n field.startsWith('_') &&\n !field.startsWith(GEO_BOUND_PREFIX) &&\n !GEO_LAT_AND_LONG_FIELD.includes(field)\n ) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n newFields = fields.filter((d, i) => !indicesToRemove.has(i));\n newColumns = columns.filter((d, i) => !indicesToRemove.has(i));\n }\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n fields: newFields,\n },\n },\n };\n return <Viz dataSources={modifiedDatasources} {...otherProps} />;\n };\n VizWithoutInternalFields.propTypes = Viz.propTypes;\n VizWithoutInternalFields.defaultProps = Viz.defaultProps;\n VizWithoutInternalFields.config = Viz.config;\n return VizWithoutInternalFields;\n};\n\n// HOC for updating all null values in data columns to zeros\n// excluding 'latitude', 'longitude' and 'geobin'\nconst withNullToZeros = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithColumnsNullToZeros = ({ dataSources, options, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz options={options} {...otherProps} />;\n }\n const modifiedDatasources = columnsNullToZeros(config, dataSources, options);\n return <Viz dataSources={modifiedDatasources} options={options} {...otherProps} />;\n };\n VizWithColumnsNullToZeros.propTypes = Viz.propTypes;\n VizWithColumnsNullToZeros.defaultProps = Viz.defaultProps;\n VizWithColumnsNullToZeros.config = Viz.config;\n return VizWithColumnsNullToZeros;\n};\n\nexport function useIconPlaceholder(dataSources: { [name: string]: DataSource }, loading: boolean): boolean {\n return loading;\n}\n\nconst Map = withoutInternalFields(\n withTooltipFields(\n withNullToZeros(\n withDashboardViz({\n ReactViz: PureMap,\n vizConfig: config,\n computeVizProps,\n disableEditModeCover: true,\n useIconPlaceholder,\n })\n )\n )\n);\nconst { themes } = config;\nexport default Map;\nexport { themes, config, PureMap };\n","import * as React from 'react';\nimport { omit, noop } from 'lodash';\nimport { useRef, useEffect, useCallback, useContext, useMemo } from 'react';\nimport * as T from 'prop-types';\nimport * as chroma from 'chroma-js';\nimport { Map, NavigationControl, ScaleControl } from 'maplibre-gl';\nimport type { StyleSpecification } from 'maplibre-gl';\nimport MapContext from '@splunk/visualization-context/MapContext';\nimport type { MapContextInterface } from '@splunk/visualization-context/MapContext';\nimport { VizProps } from '../../common/interfaces/VizProps';\nimport PureMapContainer from './PureMapContainer';\nimport {\n getTilePreset,\n getMapStyle,\n getZoomConstraintsFromTileConfig,\n MAP_STYLE_VERSION_NUMBER,\n ClusterLayerType,\n LayerType,\n MAX_BUBBLE_RADIUS,\n isValidLatLon,\n MAX_LATITUDE,\n getGlobalLayerBoundaries,\n LAYER_TYPE,\n compareBaseStyles,\n} from './MapUtils';\nimport ClusterLayer from './ClusterLayer';\nimport ChoroplethLayer from './ChoroplethLayer';\nimport LocalChoroplethLayer from './LocalChoroplethLayer';\n\nexport const DEFAULT_CENTER: [number, number] = [0, 0];\nexport const DEFAULT_CONTROL_BACKGROUND_COLOR = '#2b3033';\nexport const DEFAULT_CONTROL_FOREGROUND_COLOR = '#B5B5B5';\nexport const DEFAULT_SCALE_UNIT = 'imperial';\nexport const DEFAULT_SHOW_SCALE = true;\nexport const DEFAULT_SHOW_ZOOM_CONTROLS = true;\nexport const DEFAULT_SHOW_BASELAYER = true;\nexport const DEFAULT_ZOOM = 0;\ninterface PureMapProps extends VizProps {\n backgroundColor: string;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: 'vector' | 'raster';\n center?: [number, number];\n controlBackgroundColor?: string;\n controlForegroundColor?: string;\n layers: LayerType[];\n scaleUnit?: 'imperial' | 'metric';\n showScale?: boolean;\n showZoomControls?: boolean;\n showBaseLayer?: boolean;\n themeColorScheme?: string;\n zoom?: number;\n onMapLoad?: () => void;\n onMapClick?: ({ e, payload }) => void;\n onOptionsChange?: (options) => void;\n}\n\nexport interface HexColorObj {\n color: string;\n opacity: number;\n}\n\n// convert rgb/rgba/hex color to encoded color & opacity for SVG strings\nexport const formatColor = (color: string): HexColorObj => {\n const chromaColor = chroma(color);\n return {\n color: chroma(chromaColor.rgb()).hex().replace('#', '%23'),\n opacity: chromaColor.alpha(),\n };\n};\n\nPureMapContainer.displayName = 'PureMapContainer';\n\nconst PureMap = (props: PureMapProps): any => {\n const {\n width,\n height,\n backgroundColor,\n baseLayerTileServer,\n baseLayerTileServerType,\n center,\n controlBackgroundColor,\n controlForegroundColor,\n layers = [],\n scaleUnit,\n showScale,\n showZoomControls,\n showBaseLayer,\n themeColorScheme,\n zoom,\n onMapLoad,\n onMapClick,\n onOptionsChange,\n mode,\n } = props;\n const { defaultTileConfig, customTileConfig } = useContext<MapContextInterface>(MapContext);\n const basemapContainer = useRef<HTMLDivElement>(null);\n const map = useRef<Map>(null);\n const scaleControl = useRef<ScaleControl>(null);\n const zoomControl = useRef<NavigationControl>(null);\n\n const { tilePreset, defaultTileLight, defaultTileDark } = useMemo(\n () => getTilePreset({ defaultTileConfig, customTileConfig }),\n [defaultTileConfig, customTileConfig]\n );\n\n const [currentZoomLevel, setCurrentZoomLevel] = React.useState<number>(zoom ?? DEFAULT_ZOOM);\n const [isMapLoaded, setMapIsLoaded] = React.useState<boolean>(false);\n const [isThemeChanged, setIsThemeChanged] = React.useState<boolean>(false);\n\n // Assign default center when no center is defined\n const lngLatCenter = useMemo(() => {\n if (!isValidLatLon(center)) {\n return DEFAULT_CENTER as [number, number];\n }\n return [center[1], center[0]] as [number, number];\n }, [center]);\n\n // TODO: take out zoomLevel to use zoom instead (set prop zoom = DEFAULT_ZOOM)\n // Assign default zoom when no zoom is defined\n const zoomLevel = useMemo(() => {\n if (zoom === undefined) {\n return DEFAULT_ZOOM;\n }\n return zoom;\n }, [zoom]);\n\n const setIsThemeChangedCallback = (isMyThemeChanged: boolean) => {\n setIsThemeChanged(isMyThemeChanged);\n };\n\n const onOptionsChangeProxy = e => {\n if (mode === 'edit') {\n onOptionsChange(e);\n }\n };\n\n const initializeMap = useCallback(\n mapStyle => {\n const fitMapToContent = () => {\n const lngLatBounds = getGlobalLayerBoundaries([layers[0]]);\n map.current.fitBounds(lngLatBounds, {\n padding: MAX_BUBBLE_RADIUS + 5,\n animate: false,\n });\n };\n\n const addZoomEndEventListener = () => {\n // register event listener - zoom\n map.current.on('zoomend', () => {\n setCurrentZoomLevel(map.current.getZoom());\n // when zooming with mouse/track pad,\n // zooming centers at the cursor position, need to update center as well\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({\n center: [newCenter.lat, newCenter.lng],\n zoom: map.current.getZoom(),\n });\n });\n };\n\n map.current = new Map({\n container: basemapContainer.current,\n preserveDrawingBuffer: true,\n style: mapStyle,\n center: lngLatCenter,\n zoom: zoomLevel,\n ...getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer),\n });\n // Fired immediately after all necessary resources have been downloaded\n // and the first visually complete rendering of the map has occurred.\n map.current.on('load', () => {\n if (layers?.length > 0 && center === undefined && zoom === undefined) {\n map.current.on('zoomend', () => {\n addZoomEndEventListener();\n });\n fitMapToContent();\n } else {\n addZoomEndEventListener();\n }\n setMapIsLoaded(true);\n // TODO :- Temp timeout added for onMapLoad event to avoid flaky screenshots caused by\n // https://maplibre.org/maplibre-gl-js-docs/api/map/#map#fitbounds. Need alternate approach to handle the same.\n setTimeout(() => onMapLoad(), 500);\n });\n\n // register event listener - drag\n map.current.on('dragend', () => {\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng] });\n });\n\n // add zoom control\n zoomControl.current = new NavigationControl({ showCompass: false });\n map.current.addControl(zoomControl.current, 'top-left');\n },\n [lngLatCenter, zoomLevel, layers?.length]\n );\n\n const initializeScale = useCallback(() => {\n scaleControl.current = new ScaleControl({\n maxWidth: 70,\n unit: scaleUnit,\n });\n map.current.addControl(scaleControl.current);\n }, [scaleUnit]);\n\n const updateScale = useCallback(() => {\n if (showScale) {\n scaleControl?.current?.setUnit(scaleUnit);\n }\n }, [scaleUnit, showScale]);\n\n useEffect(() => {\n if (map.current) {\n map.current.resize();\n }\n }, [width, height]);\n\n useEffect(() => {\n // do not render when defaultTileConfig, customTileConfig and tileset are not configured\n if (Object.keys(tilePreset).length === 0 && (!baseLayerTileServer || !baseLayerTileServerType)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Map Tile Server configuration is missing or invalid. Please provide a valid configuration'\n );\n return;\n }\n\n const mapStyle = getMapStyle({\n showBaseLayer,\n baseLayerTileServer,\n baseLayerTileServerType,\n tilePreset,\n colorScheme: themeColorScheme,\n defaultTileLight,\n defaultTileDark,\n });\n\n mapStyle.version = MAP_STYLE_VERSION_NUMBER;\n\n // If the map has already been initialized, we update the styles\n if (map.current) {\n const curr = map.current.getStyle();\n const next = omit(mapStyle, ['theme', 'name', 'key']);\n\n // In dashboard studio this setStyle function is triggered by zoom changes as well\n // Since setStyle will reset all style layers on the map including choropleth,\n // we ONLY want to this to be called when there are style changes\n if (!compareBaseStyles(curr, next)) {\n // Refer to https://maplibre.org/maplibre-gl-js-docs/api/map/#setstyle-example for options.diff (default is true)\n map.current.setStyle(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n setIsThemeChanged(true);\n }\n const { minZoom, maxZoom } = getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer);\n map.current.setMinZoom(minZoom);\n map.current.setMaxZoom(maxZoom);\n updateScale();\n } else {\n // initialize the map only once with a constructed style from user configured options\n // or default configs from the map context\n initializeMap(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n initializeScale();\n }\n }, [\n showBaseLayer,\n tilePreset,\n initializeMap,\n initializeScale,\n updateScale,\n defaultTileLight,\n defaultTileDark,\n baseLayerTileServer,\n baseLayerTileServerType,\n themeColorScheme,\n ]);\n\n useEffect(() => {\n if (map.current) {\n map.current.flyTo({\n center: lngLatCenter,\n zoom: zoomLevel,\n });\n }\n }, [lngLatCenter, zoomLevel]);\n\n useEffect(\n () => () => {\n if (map.current) {\n map.current.remove();\n }\n },\n []\n );\n\n const [layer] = layers;\n\n return (\n <>\n <PureMapContainer\n className=\"puremap\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n controlBackgroundColor={controlBackgroundColor}\n controlForegroundColor={controlForegroundColor}\n controlIconColorEncoded={formatColor(controlForegroundColor)}\n ref={basemapContainer}\n showScale={showScale}\n showZoomControls={showZoomControls}\n >\n {isMapLoaded &&\n layer &&\n (layer.type === LAYER_TYPE.Bubble || layer.type === LAYER_TYPE.Marker) && (\n <ClusterLayer\n clusterLayer={layer as ClusterLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={currentZoomLevel}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && layer.source && (\n <LocalChoroplethLayer\n width={width}\n height={height}\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && !layer.source && (\n <ChoroplethLayer\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n </PureMapContainer>\n </>\n );\n};\n\nexport const isLatLng = (props: PureMapProps, propName: string, componentName: string): Error => {\n if (!props[propName]) {\n return null;\n }\n const latAbs = Math.abs(props[propName][0]);\n const lonAbs = Math.abs(props[propName][1]);\n const latlon = props[propName];\n if (latAbs > MAX_LATITUDE && lonAbs <= MAX_LATITUDE) {\n throw new Error(`${componentName} ${propName} may have reversed [lat, lon] ranges.`);\n }\n if (!isValidLatLon(latlon)) {\n throw new Error(`${componentName} ${propName} incorrect [lat, lon] ranges.`);\n }\n return null;\n};\n\nPureMap.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n baseLayerTileServer: T.string,\n baseLayerTileServerType: T.string,\n center: isLatLng,\n controlBackgroundColor: T.string,\n controlForegroundColor: T.string,\n layers: T.arrayOf(\n T.shape({\n type: T.string,\n latitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n longitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n label: T.string,\n showInLegend: T.bool,\n dataColors: T.oneOfType([T.string, T.arrayOf(T.string)]),\n seriesColors: T.arrayOf(T.string),\n additionalTooltipFields: T.arrayOf(T.string),\n resultLimit: T.number,\n source: T.string,\n choroplethEmptyAreaColor: T.string,\n })\n ),\n scaleUnit: T.string,\n showScale: T.bool,\n themeColorScheme: T.string,\n zoom: T.number,\n onMapLoad: T.func,\n onMapClick: T.func,\n onOptionsChange: T.func,\n};\n\nPureMap.defaultProps = {\n mode: 'view',\n width: 800,\n height: 500,\n backgroundColor: '#0b0c0e',\n controlBackgroundColor: DEFAULT_CONTROL_BACKGROUND_COLOR,\n controlForegroundColor: DEFAULT_CONTROL_FOREGROUND_COLOR,\n scaleUnit: DEFAULT_SCALE_UNIT,\n showScale: DEFAULT_SHOW_SCALE,\n showZoomControls: DEFAULT_SHOW_ZOOM_CONTROLS,\n showBaseLayer: DEFAULT_SHOW_BASELAYER,\n layers: [],\n themeColorScheme: 'dark',\n onMapLoad: noop,\n onMapClick: noop,\n onOptionsChange: noop,\n};\n\nexport default PureMap;\n","module.exports = require(\"@splunk/visualization-context/MapContext\");","import styled from 'styled-components';\nimport { pick } from 'lodash';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport css from '!!raw-loader!maplibre-gl/dist/maplibre-gl.css';\nimport { HexColorObj } from './PureMap';\n\nconst PureMapContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n controlBackgroundColor: string;\n controlForegroundColor: string;\n controlIconColorEncoded: HexColorObj;\n showScale: boolean;\n showZoomControls: boolean;\n}>`\n ${css}\n overflow: hidden;\n position: relative;\n z-index: 0;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n\n // overwrite maplibregl zoom control styles\n .maplibregl-ctrl-top-left {\n display: ${props => (props.showZoomControls ? 'block' : 'none')};\n position: absolute;\n top: 12px;\n left: 16px;\n .maplibregl-ctrl-group {\n width: 40px !important;\n height: 87px !important;\n border-radius: 4px;\n margin: 8px 0px;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.64), 0px 11px 18px rgba(0, 0, 0, 0.32),\n 0px 3px 6px rgba(0, 0, 0, 0.3);\n & button {\n width: 40px;\n height: 43px;\n border-top: 0;\n }\n .maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1C9 0.447715 8.55229 0 8 0C7.44772 0 7 0.447715 7 1V7H1C0.447715 7 0 7.44772 0 8C0 8.55229 0.447715 9 1 9H7V15C7 15.5523 7.44772 16 8 16C8.55229 16 9 15.5523 9 15V9H15C15.5523 9 16 8.55229 16 8C16 7.44772 15.5523 7 15 7H9V1Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n\n .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"14\" height=\"3\" viewBox=\"0 0 14 3\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 1.99707C0 1.44479 0.447715 0.99707 1 0.99707H13C13.5523 0.99707 14 1.44479 14 1.99707C14 2.54936 13.5523 2.99707 13 2.99707H1C0.447715 2.99707 0 2.54936 0 1.99707Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n }\n }\n\n // overwrite maplibregl scale styles\n .maplibregl-ctrl-bottom-left {\n display: ${props => (props.showScale ? 'block' : 'none')};\n position: absolute;\n z-index: 0;\n bottom: 16px;\n left: 12px;\n width: 86px;\n height: 29px;\n border-radius: 4px;\n margin: 0;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.13), 0px 11px 18px rgba(0, 0, 0, 0.06),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n .maplibregl-ctrl-scale {\n background-color: ${props => props.controlBackgroundColor};\n color: ${props => props.controlForegroundColor};\n border: 2px solid ${props => props.controlForegroundColor};\n border-top: 0;\n border-left: 0;\n border-right: 0;\n padding: 0;\n margin: 6px 8px 8px 8px;\n line-height: 13px;\n letter-spacing: 0.02em;\n font-family: sans-serif;\n font-size: 10px;\n }\n }\n`;\n\nexport default PureMapContainer;\n","export default \".maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23999' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E\\\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E\\\")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:\\\"\\\";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}\";","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport BubbleLayer from './BubbleLayer';\nimport MarkerLayer from './MarkerLayer';\nimport type { ClusterLayerType, BubbleLayerType, MarkerLayerType } from './MapUtils';\nimport { LAYER_TYPE } from './MapUtils';\n\ninterface ClusterLayerProps {\n clusterLayer: ClusterLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n zoom?: number;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ClusterLayer = ({\n clusterLayer,\n themeColorScheme,\n zoom,\n map,\n onMapClick,\n}: ClusterLayerProps): JSX.Element => {\n if (map?.current?.isStyleLoaded && [clusterLayer.longitude, clusterLayer.latitude].every(Array.isArray)) {\n if (clusterLayer?.type === LAYER_TYPE.Marker && !('geobin' in clusterLayer)) {\n return (\n <MarkerLayer\n markerLayer={clusterLayer as MarkerLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n onMapClick={onMapClick}\n />\n );\n }\n if (\n clusterLayer?.type === LAYER_TYPE.Bubble &&\n 'geobin' in clusterLayer &&\n 'bubbleSize' in clusterLayer\n ) {\n return (\n <BubbleLayer\n bubbleLayer={clusterLayer as BubbleLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={zoom}\n onMapClick={onMapClick}\n />\n );\n }\n }\n return null;\n};\n\nexport default ClusterLayer;\n","/* 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","import * as React from 'react';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nconst StyledPopover = styled(Popover)`\n width: 250px;\n font-size: 12px;\n`;\n\nconst StyledTable = styled.table`\n margin: 2px 6px 2px 6px;\n width: calc(100% - 12px);\n`;\n\nconst StyledTitleColumn = styled.td`\n opacity: 0.85;\n`;\n\nconst StyledValueColumn = styled.td`\n text-align: right;\n`;\n\nconst StyledColorBlock = styled.div`\n background-color: ${props => props.color};\n display: inline-block;\n margin-right: 4px;\n border-radius: 2px;\n width: 6px;\n height: 11px;\n transform: translateY(1px);\n`;\n\nexport const convertDegToDMS = (decimalDegree: number, type: 'latitude' | 'longitude'): string => {\n const truncate = n => (n > 0 ? Math.floor(n) : Math.ceil(n));\n const absoluteDegree = Math.abs(decimalDegree);\n let degrees = truncate(absoluteDegree);\n let minutes = truncate((absoluteDegree - degrees) * 60);\n let seconds = Math.round((absoluteDegree - degrees - minutes / 60) * 3600);\n if (seconds === 60) {\n minutes += 1;\n seconds = 0;\n }\n if (minutes === 60) {\n degrees += 1;\n minutes = 0;\n }\n let direction: string;\n if (type === 'longitude') {\n direction = decimalDegree < 0 ? 'W' : 'E';\n } else if (type === 'latitude') {\n direction = decimalDegree < 0 ? 'S' : 'N';\n }\n return `${degrees}° ${minutes}' ${seconds}\" ${direction}`;\n};\n\nexport interface TooltipProps {\n open?: boolean;\n anchor?: HTMLElement;\n latitude?: number;\n longitude?: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: Array<{ name: string; value: number | string; color?: string }>;\n}\n// only want latitude/longitude for marker and bubble\n// omit for choropleth, and put areaid, areavalue instead\nconst Tooltip = ({\n open,\n anchor,\n latitude,\n longitude,\n areaId,\n areaValue,\n additionalFields = [],\n}: TooltipProps): JSX.Element => (\n <StyledPopover open={open} anchor={anchor} data-test=\"map-marker-tooltip\" defaultPlacement=\"above\">\n <StyledTable>\n <tbody>\n {areaId && areaValue && (\n <tr>\n <StyledTitleColumn data-test=\"area-id\">{areaId}</StyledTitleColumn>\n <StyledValueColumn data-test=\"area-value\">{areaValue}</StyledValueColumn>\n </tr>\n )}\n {latitude && (\n <tr>\n <StyledTitleColumn>{_('Latitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"latitude\">\n {convertDegToDMS(latitude, 'latitude')}\n </StyledValueColumn>\n </tr>\n )}\n {longitude && (\n <tr>\n <StyledTitleColumn>{_('Longitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"longitude\">\n {convertDegToDMS(longitude, 'longitude')}\n </StyledValueColumn>\n </tr>\n )}\n {additionalFields.map(({ name, value, color }, index) => (\n <tr key={String(index)}>\n <StyledTitleColumn data-test=\"field-title\">\n {color ? <StyledColorBlock data-test=\"field-color\" color={color} /> : null}\n {name}\n </StyledTitleColumn>\n <StyledValueColumn data-test=\"field-value\">{value}</StyledValueColumn>\n </tr>\n ))}\n </tbody>\n </StyledTable>\n </StyledPopover>\n);\n\nexport default Tooltip;\n","import styled from 'styled-components';\nimport { Map } from 'maplibre-gl';\nimport * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { noop } from 'lodash';\nimport { DEFAULT_CLUSTER_COLOR, DEFAULT_RESULT_LIMIT, DEFAULT_SERIES_COLORS } from './MapUtils';\nimport type { MarkerLayerType } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\ninterface MarkerIconProps extends React.HTMLAttributes<HTMLOrSVGElement> {\n theme: string;\n color: string;\n}\n\nexport const MarkerIcon = ({ theme, color, ...otherProps }: MarkerIconProps): JSX.Element => {\n const strokeOpacity = theme === 'light' ? 0.7 : 0.15;\n return (\n <svg width={22} height={28} fill=\"none\" {...otherProps}>\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n fill={color}\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke=\"#08090A\"\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke={color}\n strokeOpacity={strokeOpacity}\n />\n </svg>\n );\n};\n\ninterface MarkerProps {\n latitude: number;\n longitude: number;\n color: string;\n themeColorScheme: string;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleLayerClick?: (e) => void;\n}\n\nconst Marker = React.memo(\n ({\n latitude,\n longitude,\n color,\n themeColorScheme,\n map,\n additionalFields,\n handleLayerClick,\n }: MarkerProps): JSX.Element => {\n const icon = React.useMemo(\n () => <MarkerIcon color={color} theme={themeColorScheme} onClick={handleLayerClick} />,\n [color, handleLayerClick, themeColorScheme]\n );\n return (\n <StyledMarkerWrapper\n latitude={latitude}\n longitude={longitude}\n map={map}\n additionalFields={additionalFields}\n data-test-type=\"marker\"\n >\n {icon}\n </StyledMarkerWrapper>\n );\n }\n);\n\nMarker.displayName = 'MapMarker';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n width: 22px;\n height: 28px;\n cursor: pointer;\n`;\n\nexport const generateMarkerWrapperProps = (\n markerLayer: MarkerLayerType,\n onMapClick: ({ e, payload }) => void = noop\n): Omit<MarkerProps, 'themeColorScheme' | 'map'>[] => {\n const latArray = markerLayer.latitude;\n const lonArray = markerLayer.longitude;\n const isStaticColor = !markerLayer.dataColors;\n const limit = Math.min(\n latArray.length,\n lonArray.length,\n markerLayer.resultLimit ? markerLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const markerProps: ReturnType<typeof generateMarkerWrapperProps> = [];\n for (let i = 0; i < limit; i += 1) {\n const staticColor =\n markerLayer.seriesColors && isColor(markerLayer.seriesColors[0])\n ? markerLayer.seriesColors[0]\n : DEFAULT_CLUSTER_COLOR;\n const dynamicColor =\n markerLayer.dataColors && isColor(markerLayer.dataColors[i])\n ? markerLayer.dataColors[i]\n : DEFAULT_CLUSTER_COLOR;\n const color = isStaticColor ? staticColor : dynamicColor;\n const additionalFields = markerLayer.metadata\n ? markerLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: markerLayer.metadata[i][field],\n }))\n : [];\n const handleLayerClick = e => {\n const metadata = markerLayer?.metadata[i] ?? {};\n const payload = Object.keys(metadata).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n const value = String(metadata[curr]);\n return { ...acc, [key]: value };\n }, {});\n\n onMapClick({ e, payload });\n };\n markerProps.push({\n latitude: latArray[i],\n longitude: lonArray[i],\n color,\n additionalFields,\n handleLayerClick,\n });\n }\n return markerProps;\n};\n\nexport interface MarkerLayerProps {\n markerLayer: MarkerLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst MarkerLayer = (props: MarkerLayerProps): JSX.Element => {\n const { map, themeColorScheme, markerLayer, onMapClick } = props;\n markerLayer.seriesColors = markerLayer.seriesColors || DEFAULT_SERIES_COLORS;\n const markerPropsList = React.useMemo(() => generateMarkerWrapperProps(markerLayer, onMapClick), [\n markerLayer,\n onMapClick,\n ]);\n\n return (\n <>\n {markerPropsList.map((markerProps, i) => (\n <Marker key={String(i)} themeColorScheme={themeColorScheme} map={map} {...markerProps} />\n ))}\n </>\n );\n};\n\nexport default MarkerLayer;\n","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport Message from '@splunk/visualizations-shared/Message';\nimport GeoRegistry from '@splunk/visualization-context/GeoRegistry';\nimport GeoJsonProvider from '@splunk/visualization-context/GeoJsonProvider';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata } from './MapUtils';\nimport { Choropleth } from './ChoroplethLayer';\n\ninterface ChoroplethLayerProps {\n width: number | string;\n height: number | string;\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst LocalChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { width, height, map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const [geoJson, setGeoJson] = React.useState({ features: [{ properties: { name: '' }, geometry: [] }] });\n const [validGeoJson, setValidGeoJson] = React.useState(true);\n const [geoJsonError, setGeoJsonError] = React.useState({ level: 'info', message: '' });\n\n // load local geoJson registry data\n React.useEffect(() => {\n let geoJsonData;\n const geoRegistry = GeoRegistry.create();\n geoRegistry.addDefaultProvider(new GeoJsonProvider());\n try {\n geoJsonData = geoRegistry.getByURL(choroplethLayer.source);\n setGeoJson(geoJsonData);\n setValidGeoJson(true);\n } catch (e) {\n setGeoJsonError(e);\n setValidGeoJson(false);\n }\n }, [choroplethLayer.source]);\n\n const updatedPropertyFormat = React.useMemo(() => {\n let propertyFormat = 'name';\n if (choroplethLayer.areaIds && validGeoJson) {\n const propertyFormats = Object.keys(geoJson.features[0].properties);\n\n // check the state or country format used in dataSource\n /* Accepted format for countries: \n \"properties\": \n {\n \"iso2\": \"AM\",\n \"iso3\": \"ARM\",\n \"name\": \"Armenia\"\n }\n\n Accepted format for US States:\n \"properties\": \n {\n \"iso_3166_2\": \"US-MI\",\n \"postal\": \"MI\",\n \"name\": \"Michigan\",\n \"label_en\": \"Michigan\"\n },\n */\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const shapeProperty = geoJson.features[idx].properties;\n const formatCheck = propertyFormats.find(\n key => shapeProperty[key] === choroplethLayer.areaIds[0]\n );\n\n if (formatCheck !== undefined) {\n propertyFormat = formatCheck;\n break;\n }\n }\n }\n return propertyFormat;\n }, [choroplethLayer.areaIds, geoJson]);\n\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n\n const updatedAllChoroplethData = React.useMemo(() => {\n const allChoroplethData = [];\n if (validGeoJson) {\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const el = geoJson.features[idx];\n\n const choroplethData: {\n color: string;\n areaValue: string | number;\n opacity: number;\n name: string;\n idx: number;\n } = {\n color: choroplethLayer.choroplethEmptyAreaColor,\n areaValue: 'No Data',\n opacity: cfgOpacity,\n name: '',\n idx: 0,\n };\n\n choroplethData.name = el.properties[updatedPropertyFormat];\n // check whether dataSource exists\n if (choroplethLayer.areaIds) {\n // store the postion of dataSource in geoJson\n const dataIdx = choroplethLayer.areaIds.indexOf(el.properties[updatedPropertyFormat]);\n if (dataIdx !== -1) {\n choroplethData.color = colors[dataIdx];\n choroplethData.areaValue = choroplethLayer.areaValues[dataIdx];\n choroplethData.opacity = scaledOpacities[dataIdx];\n choroplethData.idx = dataIdx;\n } else {\n choroplethData.idx = choroplethLayer.areaIds.length;\n }\n }\n allChoroplethData.push(choroplethData);\n }\n }\n return allChoroplethData;\n }, [choroplethLayer.areaIds, choroplethLayer.areaValues, colors, scaledOpacities]);\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields?.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n return (\n <div>\n {!validGeoJson && (\n <Message\n data-test=\"choropleth-message\"\n width={width}\n height={height}\n level={geoJsonError.level}\n message={geoJsonError.message}\n />\n )}\n {validGeoJson &&\n updatedAllChoroplethData.map((el, i) => {\n return (\n <Choropleth\n key={el.name}\n id={el.name}\n map={map}\n color={el.color}\n opacity={el.opacity}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n areaId={el.name}\n areaValue={el.areaValue}\n handleMapClick={e => handleMapClick(e, el.idx)}\n isThemeChanged={isThemeChanged}\n geomData={geoJson.features[i].geometry}\n additionalFields={additionalFields[el.idx]}\n />\n );\n })}\n </div>\n );\n};\n\nexport default LocalChoroplethLayer;\n","module.exports = require(\"@splunk/visualization-context/GeoRegistry\");","module.exports = require(\"@splunk/visualization-context/GeoJsonProvider\");","import { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\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 { LAYER_TYPE } from './PureMap/MapUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify a color for the background. You might use a dataSource to apply the color. 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 baseLayerTileServer: {\n type: 'string',\n description: 'Specify the URL for the set of tiles that make up the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: LAYER_TYPE.Bubble,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Marker,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Choropleth,\n areaIds: '> primary | seriesByType(\"string\")',\n areaValues: '> primary | seriesByType(\"number\")',\n dataColors: '> areaValues | gradient()',\n additionalTooltipFields: [],\n resultLimit: 1000,\n choroplethEmptyAreaColor: '> themes.defaultChoroplethEmptyAreaColor',\n choroplethStrokeColor: 'transparent',\n choroplethOpacity: 0.8,\n },\n ],\n type: 'array',\n description:\n 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Marker,\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\". If type: \"bubble\", dataColors requires bubbleSize to have only a single series configured.',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Choropleth,\n },\n areaIds: {\n description:\n 'Specify a dataSource series to identify each area in the choropleth map layer. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'string' },\n default: '> primary | seriesByType(\"string\")',\n },\n areaValues: {\n description:\n 'Specify a dataSource series that indicates the values for the choropleth map areas. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'number' },\n default: '> primary | seriesByType(\"number\")',\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n default: '> areaValues | gradient()',\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n source: {\n description:\n 'Source for the geodata for choropleth layer: \"us\" or \"world\", and will override data specified in the SPL geom command.',\n pattern: getPattern(['geo://default/us', 'geo://default/world']),\n type: 'string',\n },\n choroplethEmptyAreaColor: {\n description:\n 'Specify the color used for empty choropleth areas when \"type\": \"choropleth\", and will only work when \"source\" option is correctly configured.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> themes.defaultChoroplethEmptyAreaColor',\n },\n choroplethStrokeColor: {\n description:\n 'Specify the stroke color for choropleth area outlines. The hex value format should be \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: 'transparent',\n },\n choroplethOpacity: {\n description:\n 'Specify the opacity of choropleth areas. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.8\" in code or \"80%\" in UI.',\n type: 'number',\n default: 0.8,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Bubble,\n },\n bubbleSize: {\n description:\n 'Specify the data column to encode bubble size. This applies to layers where type: \"bubble\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\". If type: \"bubble\", dataColors requires bubbleSize to have only a single series configured.',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify the scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n showBaseLayer: {\n default: true,\n type: 'boolean',\n description: 'Specify if showing the base map.',\n },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the scale on the bottom left.',\n },\n showZoomControls: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the control panel of zoom on the top left.',\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\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 controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n defaultChoroplethEmptyAreaColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.gray92(props),\n },\n prisma: {\n dark: variables.interactiveColorBackground(props),\n light: variables.neutral300(props),\n },\n })(props),\n defaultGradientMigrationConfig: props =>\n pick({\n enterprise: {\n dark: ['#4D4A5D', variables.syntaxPurple(props)],\n light: ['#D2CFDC', variables.syntaxPurple(props)],\n },\n prisma: {\n dark: ['#484558', variables.syntaxPurple(props)],\n light: ['#D8D4E1', variables.syntaxPurple(props)],\n },\n })(props),\n};\n\nconst checkTypeIsChoropleth = options =>\n options.layers && options.layers.length && options.layers[0].type === LAYER_TYPE.Choropleth;\n\nconst checkTypeIsLocalChoropleth = options =>\n options.layers &&\n options.layers.length &&\n options.layers[0].type === LAYER_TYPE.Choropleth &&\n (options.layers[0].source === 'geo://default/us' || options.layers[0].source === 'geo://default/world');\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Layer type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Bubble'), value: LAYER_TYPE.Bubble },\n { label: _('Marker'), value: LAYER_TYPE.Marker },\n { label: _('Choropleth'), value: LAYER_TYPE.Choropleth },\n ],\n },\n },\n ],\n [\n {\n label: _('Area IDs'),\n option: 'layers[0].areaIds',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['string'],\n },\n },\n ],\n [\n {\n label: _('Area values'),\n option: 'layers[0].areaValues',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['number'],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Bubble size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnMultiSelector',\n showEditor: ({ options }) =>\n !(\n options.layers &&\n options.layers.length &&\n (options.layers[0].type === 'marker' || options.layers[0].type === 'choropleth')\n ),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n [\n {\n label: _('Additional tooltip fields'),\n option: 'layers[0].additionalTooltipFields',\n editor: 'editor.columnMultiSelectionByFieldNameEditor',\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'layers[0].resultLimit',\n editor: 'editor.number',\n showEditor: ({ options }) => !checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Latitude (initial map location)'),\n option: 'center[0]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -90,\n max: 90,\n },\n },\n ],\n [\n {\n label: _('Longitude (initial map location)'),\n option: 'center[1]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -180,\n max: 180,\n },\n },\n ],\n [\n {\n label: _('Zoom (initial map location)'),\n option: 'zoom',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Show zoom controls'),\n option: 'showZoomControls',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Show scale'),\n option: 'showScale',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Scale unit'),\n option: 'scaleUnit',\n editor: 'editor.radioBar',\n showEditor: ({ options }) => options.showScale !== false,\n editorProps: {\n values: [\n { label: _('Metric'), value: 'metric' },\n { label: _('Imperial'), value: 'imperial' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n // TODO: add support for color mode option and its corresponding editor\n // [\n // {\n // label: _('Color mode'),\n // option: 'colorMode',\n // editor: 'editor.radioBar',\n // editorProps: {\n // values: [\n // { label: _('Static'), value: 'static' },\n // { label: _('Dynamic'), value: 'dynamic' },\n // ],\n // },\n // },\n // ],\n [\n {\n label: _('Series colors'),\n option: 'layers[0].seriesColors',\n editor: 'editor.seriesColors',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n },\n ],\n // TODO: add editor for data colors\n // [\n // {\n // label: _('Data colors'),\n // option: 'layers[0].dataColors',\n // editor: 'editor.text',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n [\n {\n label: _('Choropleth empty area'),\n option: 'layers[0].choroplethEmptyAreaColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth stroke'),\n option: 'layers[0].choroplethStrokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth opacity (%)'),\n option: 'layers[0].choroplethOpacity',\n editor: 'editor.percent',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n // TODO: add support for seriesColorsByField option\n // [\n // {\n // label: _('Series colors by field name'),\n // option: 'seriesColorsByField',\n // editor: 'editor.seriesColorsByField',\n // },\n // ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Show base layer'),\n option: 'showBaseLayer',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Base layer tile server'),\n option: 'baseLayerTileServer',\n editor: 'editor.text',\n showEditor: ({ options }) => options.showBaseLayer !== false,\n },\n ],\n [\n {\n label: _('Base layer tile server type'),\n option: 'baseLayerTileServerType',\n editor: 'editor.radioBar',\n showEditor: ({ options }) =>\n options.showBaseLayer === false\n ? false\n : !(\n typeof options.baseLayerTileServer === 'undefined' ||\n options.baseLayerTileServer === ''\n ),\n editorProps: {\n values: [\n { label: _('Vector'), value: 'vector' },\n { label: _('Raster'), value: 'raster' },\n ],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.CHOROPLETH,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { isNumber } from '@splunk/visualization-encoding/utils/types';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { GEO_LAT_AND_LONG_FIELD } from '../../Map/PureMap/BubbleLayer';\n\nexport const columnsNullToZeros = (config, dataSources, options) => {\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = columns;\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n const latitudeField = getFieldsFromDSL(mergedOptions.layers[0].latitude, dataSources)[0] || '';\n const longitudeField = getFieldsFromDSL(mergedOptions.layers[0].longitude, dataSources)[0] || '';\n const excludedFields = [latitudeField, longitudeField, 'geobin'].concat(GEO_LAT_AND_LONG_FIELD);\n const indicesToEvaluate = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (!excludedFields.includes(field)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n\n newColumns = columns.map((column, i) => {\n if (indicesToEvaluate.has(i)) {\n // sanitize value and convert string to numeric numbers\n return column.map(value => (!value || !isNumber(value) ? 0 : +value));\n }\n return column;\n });\n }\n\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n },\n },\n };\n\n return modifiedDatasources;\n};\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","import { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n sid: string;\n app: string;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","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","module.exports = require(\"@splunk/themes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { forEach, sum, isNumber, min as lodashMin, max as lodashMax, get, isEqual, isObject } from 'lodash';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport { scalePow } from 'd3-scale';\nimport * as chroma from 'chroma-js';\nimport type { MapContextInterface, BaseTileConfig } from '@splunk/visualization-context/MapContext';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { isNumber as isNumberUtil } from '@splunk/visualization-encoding/utils/types';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\n\nexport const MAX_LATITUDE = 90;\nexport const MIN_LATITUDE = -90;\nexport const MAX_LONGITUDE = 180;\nexport const MIN_LONGITUDE = -180;\nexport const DEFAULT_RESULT_LIMIT = 1000;\nexport const DEFAULT_CLUSTER_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLORS = VIZ_CATEGORICAL;\n// MapLibre requires a map style specification number which is always 8\nexport const MAP_STYLE_VERSION_NUMBER = 8;\n// currently using one [min, max] value set for bubbles across all zoom levels\n// TODO: design choices on [min, max] bubble size for different zoom levels\nexport const MIN_BUBBLE_RADIUS = 7.11; // 10px\nexport const MAX_BUBBLE_RADIUS = 45.26; // 85px\nexport const DEFAULT_OPACITY = 0.8;\nconst LONGITUDE = 'longitude';\nconst LATITUDE = 'latitude';\n\nexport enum LAYER_TYPE {\n Marker = 'marker',\n Bubble = 'bubble',\n Choropleth = 'choropleth',\n}\n\ninterface GenericLayerType {\n type: string;\n latitude: number[];\n longitude: number[];\n dataColors?: string[];\n seriesColors: string[];\n additionalTooltipFields?: string[];\n resultLimit: number;\n metadata?: Array<{ [key: string]: number | string }>;\n}\n\nexport interface MarkerLayerType extends GenericLayerType {\n type: LAYER_TYPE.Marker;\n}\n\nexport interface BubbleLayerType extends GenericLayerType {\n type: LAYER_TYPE.Bubble;\n bubbleSize?: number[][] | number[];\n bubbleSizeFields: string[];\n geobin?: string[];\n}\n\ninterface BubbleLayerDatumType {\n zoom: number;\n values: number[];\n sanitizedValues: number[];\n coordinates: number[];\n}\n\nexport interface BubbleLayerDataType {\n data: BubbleLayerDatumType[];\n dataRange: number[];\n isPie: boolean;\n resultLimit: number;\n bubbleSizeFields: string[];\n}\n\nexport interface ChoroplethLayerType {\n type: LAYER_TYPE.Choropleth;\n areaIds: string[];\n areaValues: number[];\n dataColors: string[];\n additionalTooltipFields?: string[];\n geom?: GeoJsonDataType[];\n resultLimit?: number;\n metadata?: Array<{ [key: string]: number | string | GeoJsonDataType }>;\n source?: string;\n width?: string | number;\n height?: string | number;\n choroplethEmptyAreaColor?: string;\n choroplethStrokeColor?: string;\n choroplethOpacity?: number;\n}\n\n// todo(@ssahnoune) - look into this\nexport interface MapLayerClickPayloadType {\n name?: string;\n value?: string | number;\n /* cell values of all cells of clicked row with the field and value - in shape row.<field>.value */\n [key: string]: string | number;\n}\n\nexport type ClusterLayerType = BubbleLayerType | MarkerLayerType;\nexport type LayerType = ClusterLayerType | ChoroplethLayerType;\n/**\n * Construct a tile preset {key: config} by combining the default + custom tile configs\n * Also returns the default tile config for each theme - light/dark\n * @param {MapContextInterface} args\n * @param {BaseTileConfig[]} args.defaultTileConfig\n * @param {BaseTileConfig[]} args.customTileConfig\n * @returns {Object} tile preset\n */\nexport const getTilePreset = ({\n defaultTileConfig = [],\n customTileConfig = [],\n}: MapContextInterface): {\n tilePreset: Record<string, BaseTileConfig>;\n defaultTileLight: BaseTileConfig;\n defaultTileDark: BaseTileConfig;\n} => {\n const tilePreset = {};\n let defaultTileLight = {};\n let defaultTileDark = {};\n const tileConfigs = [].concat(defaultTileConfig).concat(customTileConfig);\n forEach(tileConfigs, tileConfig => {\n const key = tileConfig?.key;\n const updatedConfig = { theme: 'all', ...tileConfig, version: MAP_STYLE_VERSION_NUMBER };\n tilePreset[key] = updatedConfig;\n });\n\n if (defaultTileConfig.length > 0) {\n defaultTileLight =\n defaultTileConfig.find(config => config.theme === 'light') ??\n defaultTileConfig.find(config => config.theme === undefined);\n defaultTileDark =\n defaultTileConfig.find(config => config.theme === 'dark') ??\n defaultTileConfig.find(config => config.theme === undefined);\n }\n\n return { tilePreset, defaultTileLight, defaultTileDark };\n};\n\n/**\n * Check if baseLayerTileServer is in tilePreset and config matches current theme, if yes, return.\n * If no, construct a mapStyle with baseLayerTilerServer and baseLayerTileServerType\n * Else return default tile config based on current theme\n * @param {Object} args\n * @param {BaseTileConfig[]} args.tilePreset\n * @param {String} args.baseLayerTilerServer\n * @param {String} args.baseLayerTileServerType\n * @param {String} args.colorScheme\n * @param {BaseTileConfig} args.defaultTileDark\n * @param {BaseTileConfig} args.defaultTileLight\n * @returns {BaseTileConfig} mapStyle\n */\nexport const getMapStyle = ({\n showBaseLayer,\n baseLayerTileServer = '',\n baseLayerTileServerType = '',\n tilePreset = {},\n colorScheme = 'light',\n defaultTileLight = {},\n defaultTileDark = {},\n}: {\n showBaseLayer: boolean;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: string;\n tilePreset?: Record<string, BaseTileConfig>;\n colorScheme?: string;\n defaultTileLight?: BaseTileConfig;\n defaultTileDark?: BaseTileConfig;\n}): BaseTileConfig => {\n if (!showBaseLayer) {\n return {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: 'raster',\n tiles: [\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=',\n ],\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 22,\n },\n ],\n };\n }\n\n if (\n baseLayerTileServer &&\n tilePreset[baseLayerTileServer] &&\n (tilePreset[baseLayerTileServer].theme === colorScheme ||\n tilePreset[baseLayerTileServer].theme === 'all')\n ) {\n return tilePreset[baseLayerTileServer];\n }\n\n if (baseLayerTileServer && baseLayerTileServerType) {\n let tiles = [];\n /**\n * Tile Server URLs (eg: http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png) can specify the variable {s} which refers to a subdomain\n * Subdomains are used to help with browser parallel requests per domain limitation. These subdomains are typically single letters 'a', 'b' and 'c'\n * Refer to https://leafletjs.com/SlavaUkraini/reference.html#tilelayer and https://wiki.openstreetmap.org/wiki/Tile_servers\n */\n if (baseLayerTileServer.match(/^(https?):\\/\\/{(s|S)}\\../)) {\n /**\n * sXML (Leaflet) allows users to define their own tile server URLs + list of available subdomains\n * In order to preserve this behavior during conversion to splunk.map,\n * if the variable {s} or {S} is detected, replace it with 'a', 'b' and 'c' - default values for subdomains\n * TODO: in the future, add an additional prop - baseLayerTileServerSubdomains: ['x', 'y', 'z'], default being ['a', 'b', 'c']\n */\n tiles = [\n baseLayerTileServer.replace(/{(s|S)}/, 'a'),\n baseLayerTileServer.replace(/{(s|S)}/, 'b'),\n baseLayerTileServer.replace(/{(s|S)}/, 'c'),\n ];\n } else {\n tiles = [baseLayerTileServer];\n }\n // TODO: remove hardcoded style when we allow users to pass in layer style through Viz options\n const mapStyle = {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: baseLayerTileServerType,\n tiles,\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 24, // https://maplibre.org/maplibre-gl-js-docs/api/map/\n },\n ],\n };\n return mapStyle;\n }\n\n // if tile server is not present in the preset AND we can't construct a mapStyle, fall back on defaults\n return colorScheme === 'light' ? defaultTileLight : defaultTileDark;\n};\n\nexport interface ZoomConstraints {\n minZoom: number;\n maxZoom: number;\n}\n\nexport const getZoomConstraintsFromTileConfig = (\n tileConfig: BaseTileConfig,\n baseLayerTileServer?: string\n): ZoomConstraints => {\n const { sources, layers } = tileConfig;\n let matchedBaseLayerTileServer = false;\n // check sources for minzoom maxzoom first\n const sourceKeys = Object.keys(sources);\n for (let i = 0; i < sourceKeys.length; i += 1) {\n const { minzoom, maxzoom } = sources[sourceKeys[i]];\n if (baseLayerTileServer && sources[sourceKeys[i]].tiles.indexOf(baseLayerTileServer) !== -1) {\n matchedBaseLayerTileServer = true;\n }\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // then check layers\n for (let i = 0; i < layers.length; i += 1) {\n const { minzoom, maxzoom } = layers[i];\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // Maplibre default - would reset previous min/maxZoom https://maplibre.org/maplibre-gl-js-docs/api/map/\n return {\n minZoom: 0,\n maxZoom: 24,\n };\n};\n\nexport const getZoomLevelFromGeobin = (geobinStr: string): number => {\n if (!geobinStr) {\n return null;\n }\n // geostats cmds return geobin with zoom level 0-18, 0-99 in the geobinPattern covers the range\n const geobinPattern = /bin_id_zl_([0-9]{0,2})?_y_/g;\n const match = geobinPattern.exec(geobinStr);\n return (match?.length && parseInt(match[1], 10)) ?? null;\n};\n\n// Bubble colors - static\nexport const getStaticColors = (colorCount: number, colorArray: string[]): string[] => {\n if (colorCount < 0 || !colorCount) {\n return [DEFAULT_CLUSTER_COLOR];\n }\n if (!colorArray || !colorArray.length) {\n return [...Array(colorCount).keys()].map(i => DEFAULT_SERIES_COLORS[i]);\n }\n // loop through colorArray to pick the first $colorCount colors\n // start from begining again if colorCount > colorArray.length\n return [...Array(colorCount).keys()].map(i =>\n isColor(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : DEFAULT_CLUSTER_COLOR\n );\n};\n\n// Bubble size\nexport const matchBubbleSize = (dataRange: number[], data: number): any => {\n const size = scalePow().exponent(0.2).domain(dataRange).range([MIN_BUBBLE_RADIUS, MAX_BUBBLE_RADIUS])(\n data\n );\n\n if (size > MAX_BUBBLE_RADIUS) {\n return MAX_BUBBLE_RADIUS;\n }\n if (size < MIN_BUBBLE_RADIUS) {\n return MIN_BUBBLE_RADIUS;\n }\n return size;\n};\n\nexport const transposeArray = (array: number[][]): number[][] => {\n if (!array || !array.length || !array[0] || !array[0].length) {\n return [];\n }\n return array[0].map((_, i) => array.map(row => row[i]));\n};\n\n// sanitize values: update all null, undefined, or negative values to 0\nexport const sanitizeValues = (values: number[] | number[][]) => {\n // null / undefined\n if (!values) {\n return 0;\n }\n // number\n if (!Array.isArray(values)) {\n return values > 0 ? values : 0;\n }\n // array\n return values.map(arr => sanitizeValues(arr));\n};\n\nexport const bakeBubbleData = (layer: BubbleLayerType): BubbleLayerDataType => {\n if (\n !layer ||\n !layer.bubbleSize?.length ||\n !layer.geobin ||\n !layer.geobin.length ||\n !layer.latitude ||\n !layer.latitude.length ||\n !layer.longitude ||\n !layer.longitude.length\n ) {\n return null;\n }\n // if bubbleSize is passed as an array of single number array (data series)\n // e.g. [value0, value1, ...]\n // format each value as an array to unify data operations for data series and frames\n const sanitizedBubbleSize = sanitizeValues(layer.bubbleSize);\n let transposedBubbleSize: number[][];\n let transposedSanitizedBubbleSize: number[][];\n let isPie = false;\n // format array if bubbleSize is passed as an array of array (data frame)\n if (Array.isArray(layer.bubbleSize[0])) {\n // one-time array transpose,\n // e.g. from [column0data, column0data] (multi series)\n // to [[column0datum0, column1datum0], [column0datum1, column1data1], ...]\n // or e.g. from [column0data] (single series)\n // to [[column0data]]\n // for easy access of values at each geo location,\n // and min max pie size computation\n transposedBubbleSize = transposeArray(layer.bubbleSize as number[][]);\n transposedSanitizedBubbleSize = transposeArray(sanitizedBubbleSize);\n // if multiple series in the dataframe, set isPie to true\n if (layer.bubbleSize.length > 1) {\n isPie = true;\n }\n } else {\n transposedBubbleSize = layer.bubbleSize.map(n => [n]);\n transposedSanitizedBubbleSize = sanitizedBubbleSize.map(n => [n]);\n }\n if (!transposedBubbleSize || !transposedBubbleSize.length) {\n return null;\n }\n const data = layer.latitude\n .map((lat, i) => ({\n zoom: getZoomLevelFromGeobin(layer.geobin[i]),\n values: transposedBubbleSize[i],\n sanitizedValues: transposedSanitizedBubbleSize[i],\n coordinates: [layer.longitude[i], lat],\n metadata: layer.metadata ? layer.metadata[i] : {},\n }))\n .filter(d => Boolean(d.values));\n\n // compute the min/max value to encode min/max pie or bubble size\n let min = sum(transposedSanitizedBubbleSize[0]);\n let max = sum(transposedSanitizedBubbleSize[1]);\n transposedSanitizedBubbleSize.forEach(row => {\n const bubbleSize = sum(row);\n max = bubbleSize > max ? bubbleSize : max;\n min = bubbleSize < min ? bubbleSize : min;\n });\n return {\n data,\n dataRange: [min, max],\n isPie,\n resultLimit: layer.resultLimit,\n bubbleSizeFields: layer.bubbleSizeFields,\n };\n};\n\nexport const isValidLatLon = (latlon: Array<number | string>): boolean => {\n if (!latlon || !Array.isArray(latlon) || latlon.length !== 2) {\n return false;\n }\n const [lat, lon] = latlon;\n if (!isNumberUtil(lat) || !(lat >= MIN_LATITUDE && lat <= MAX_LATITUDE)) {\n return false;\n }\n if (!isNumberUtil(lon) || !(lon >= MIN_LONGITUDE && lon <= MAX_LONGITUDE)) {\n return false;\n }\n return true;\n};\n\n/**\n * Returns a list of all lat or lon coordinates used in a specified layer\n * @param {LayerType[]} layer\n * @param {string} field\n * @returns {number[]} list of lat coordinates or lon coordinates\n */\nconst getLatOrLonCoordinates = (layer: LayerType, field: string): number[] => {\n const getClusterValues = (clusterLayer: ClusterLayerType): number[] =>\n get(clusterLayer, field, []).slice(\n 0,\n clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit\n ? clusterLayer.resultLimit\n : DEFAULT_RESULT_LIMIT\n );\n\n const getChoroplethValues = (choroplethLayer: ChoroplethLayerType): number[] => {\n const slicedGeomList = choroplethLayer.geom.slice(0, choroplethLayer.resultLimit);\n const flatCoordinates = slicedGeomList.flatMap(geomObject => geomObject.coordinates.flat(2));\n return flatCoordinates.map(coord => coord[field === LONGITUDE ? 0 : 1]);\n };\n\n return layer.type === LAYER_TYPE.Choropleth ? getChoroplethValues(layer) : getClusterValues(layer);\n};\n\n/**\n * Returns the min and max LongLat pairs to determine the layer boundaries to fit all markers/bubbles\n * @param {LayerType[]} layers\n * @returns {LngLatBoundsLike}\n */\nexport const getGlobalLayerBoundaries = (layers: LayerType[]): LngLatBoundsLike => {\n const isLayerValid = (field: string): boolean =>\n layers.every(layer => layer[field] || (layer as ChoroplethLayerType).geom);\n const getDefaultMax = (field: string) => (field === LONGITUDE ? MAX_LONGITUDE : MAX_LATITUDE);\n const getDefaultMin = (field: string) => (field === LONGITUDE ? MIN_LONGITUDE : MIN_LATITUDE);\n\n if (!layers || !Array.isArray(layers) || !layers.length) {\n return null;\n }\n\n const getMin = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMin(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(x => +x);\n return lodashMin([prevVal, ...coordinatesNumArr]);\n }, getDefaultMax(field));\n };\n\n const getMax = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMax(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(Number);\n return lodashMax([prevVal, ...coordinatesNumArr]);\n }, getDefaultMin(field));\n };\n\n return [\n [getMin(LONGITUDE), getMin(LATITUDE)],\n [getMax(LONGITUDE), getMax(LATITUDE)],\n ];\n};\n\nexport const getScaledOpacities = (colors: string[], cfgOpacity: number): number[] => {\n // extract opacity information from 8 digit hex codes\n const opacities = colors?.map(color => (color?.length === 9 ? chroma(color).alpha() ?? 1 : 1));\n // opacity cannot be greater than configured opacity\n return opacities?.map(opacity => opacity * cfgOpacity);\n};\n\nexport const compareBaseStyles = (curr, next): boolean => {\n const currBaseLayer = curr?.layers?.find(layer => layer?.id === 'base-layer');\n const nextBaseLayer = next?.layers?.find(layer => layer?.id === 'base-layer');\n const currBaseSource = get(curr?.sources, (currBaseLayer?.source as string) ?? '');\n const nextBaseSource = get(next?.sources, (nextBaseLayer?.source as string) ?? '');\n\n if (!currBaseLayer || !nextBaseLayer || !currBaseSource || !nextBaseSource) {\n return false;\n }\n\n return isEqual(currBaseLayer, nextBaseLayer) && isEqual(currBaseSource, nextBaseSource);\n};\n\nexport const formatMetadata = (\n choroplethLayer: ChoroplethLayerType,\n i: number\n): { [key: string]: string } => {\n if (!choroplethLayer || !choroplethLayer.areaIds || !choroplethLayer.areaValues) return {};\n if (i >= choroplethLayer.areaIds.length) return {};\n\n const metadata = choroplethLayer.metadata ? choroplethLayer.metadata[i] : {};\n const name = choroplethLayer.areaIds[i];\n const value = choroplethLayer.areaValues[i];\n const base = { name, value: String(value) };\n\n return Object.keys(metadata).reduce((result, curr) => {\n const key = `row.${curr}.value`;\n const val = isObject(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);\n return { ...result, [key]: val };\n }, base);\n};\n","module.exports = require(\"d3-scale\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-encoding/utils/types\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/Map/PureMap/BubbleLayer.tsx","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/Map/PureMap/MarkerWrapper.tsx","webpack:///external \"@splunk/visualization-encoding/utils/dsl\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"chroma-js\"","webpack:///external \"maplibre-gl\"","webpack:///./src/Map/PureMap/ChoroplethLayer.tsx","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualization-context/FeatureFlagContext\"","webpack:///external \"@babel/runtime/helpers/createClass\"","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:///./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/Map/Map.tsx","webpack:///./src/Map/PureMap/PureMap.tsx","webpack:///external \"@splunk/visualization-context/MapContext\"","webpack:///./src/Map/PureMap/PureMapContainer.tsx","webpack:////builds/devplat/vision/node_modules/maplibre-gl/dist/maplibre-gl.css","webpack:///./src/Map/PureMap/ClusterLayer.tsx","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/Map/PureMap/Tooltip.tsx","webpack:///./src/Map/PureMap/MarkerLayer.tsx","webpack:///./src/Map/PureMap/LocalChoroplethLayer.tsx","webpack:///external \"@splunk/visualization-context/GeoRegistry\"","webpack:///external \"@splunk/visualization-context/GeoJsonProvider\"","webpack:///./src/Map/config.ts","webpack:///./src/common/utils/mapUtils.ts","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Map/PureMap/MapUtils.ts","webpack:///external \"d3-scale\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-encoding/utils/types\""],"names":["convertToArrOfObjects","columns","fields","length","data","_loop","i","newObj","forEach","field","index","fieldName","name","push","exports","React","require","styled_components_1","lodash_1","colorUtils_1","MapUtils_1","MarkerWrapper_1","GEO_BOUND_PREFIX","GEO_LAT_AND_LONG_FIELD","PieSegment","memo","_ref","start","end","radius","color","themeColor","segmentMetadata","handleBubbleClick","_ref2","value","handleSegmentClick","useCallback","e","createElement","onClick","cx","cy","r","fill","fillOpacity","strokeWidth","stroke","a0","Math","PI","a1","x0","cos","y0","sin","x1","y1","arc","d","concat","strokeOpacity","displayName","StyledMarkerWrapper","default","withConfig","componentId","Bubble","_ref3","originalValues","valueRange","colors","isPie","latitude","longitude","bubbleSize","_ref3$additionalField","additionalFields","map","handleMapClick","onBubbleClick","stopPropagation","bubble","useMemo","allZeros","every","v","values","offsets","total","count","matchBubbleSize","width","height","viewBox","key","String","_toConsumableArray","BubbleLayer","props","bubbleLayer","themeColorScheme","zoom","onMapClick","seriesColors","DEFAULT_SERIES_COLORS","bakedData","bakeBubbleData","staticColors","getStaticColors","_ref4","_ref4$data","_ref4$dataRange","dataRange","resultLimit","bubbleSizeFields","_bubbleLayer$addition","additionalTooltipFields","roundedZoom","round","dynamicColors","dataColors","dataToRender","reduce","acc","datum","idx","slice","DEFAULT_RESULT_LIMIT","sort","a","b","sum","metadata","_c","_b","_a","payload","Object","keys","curr","val","assign","_defineProperty","Fragment","obj","isColor","DEFAULT_CLUSTER_COLOR","_datum$data$coordinat","_slicedToArray","coordinates","SizeAwareWrapper_1","style_1","Item","div","attrs","style","toPx","backgroundColor","theme","defaultBackgroundColor","FixSizeItem","ItemContent","FixSizeItemContent","withFixedSizeContainer","Viz","FixedSizeContainer","__VISION_VERSION__","newWidth","newHeight","maplibre_gl_1","Tooltip_1","MarkerWrapper","areaId","areaValue","_a$additionalFields","isChoroplethTooltipOpen","children","otherProps","__rest","container","useRef","marker","_React$useState","useState","_React$useState2","isTooltipOpen","setTooltipOpenStatus","isChoroplethTooltip","undefined","openTooltip","closeTooltip","cleanupMarker","current","remove","useEffect","setLngLat","Marker","element","addTo","error","console","visibility","ref","onMouseOver","onMouseLeave","onFocus","onBlur","open","anchor","extendStaticWrapperProps","Wrapper","Visualization","extendProperties","prop","getShapeId","id","getSourceId","getStrokeId","compareGeom","prev","next","type","isEqual","compareChoropleth","prevProps","nextProps","geomData","opacity","strokeColor","isThemeChanged","toString","cleanupChoropleth","shapeId","sourceId","strokeId","currLayer","currSource","currStrokeLayer","getLayer","getSource","_d","removeLayer","removeSource","Choropleth","formattedGeomData","geometry","_React$useState3","_React$useState4","mouseLat","setmouseLat","_React$useState5","_React$useState6","mouseLng","setmouseLng","updateChoropleth","addSource","addLayer","source","layout","paint","on","mouseLngLat","lngLat","lat","lng","getCanvas","cursor","padding","ChoroplethLayer","choroplethLayer","setIsThemeChanged","cfgOpacity","min","max","choroplethOpacity","scaledOpacities","getScaledOpacities","limit","areaIds","areaValues","_f","_e","geom","areaIdSliced","_h","_g","uniqueAreaIdSliced","uniq","choroplethMetadata","formatMetadata","choroplethStrokeColor","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","annotations","enhancedPatternProperties","opt","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","VizBehavior","DYNAMIC_OPTIONS","editorConfig","config","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","generatePrecisionValues","numPrecisionValues","range","label","repeat","insertLayout","_len","arguments","layoutItems","Array","_key","T","i18n_1","Message_1","FixedSizeContainer_1","shouldShowIconPlaceholder","dataSources","loading","noData","noFields","propTypes","icon","func","oneOfType","string","number","iconColor","IconPlaceholder","left","top","position","transform","level","message","_","defaultProps","DataSource_1","SortParamsPropTypes","shape","currentSortKey","currentSortDir","oneOf","validSortDirs","onSort","getSortingParams","requestParams","onRequestParamsChange","nextSortDirMap","asc","desc","none","has","shift","sortKey","sortDir","nextSortDir","offset","PaginatorParamsPropTypes","isPaging","bool","totalPages","onChange","getPaginationParams","meta","totalCount","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","themes","call","bgColorFromTheme","_getSettingsFromTheme","currentThemeFamily","family","currentThemeColorScheme","colorScheme","currentThemeDensity","density","evaluatedOptions","evaluatedOptionsAsync","setEvaluatedOptionsAsync","featureFlagContext","createGUID","visualizationID","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","dataFrames","Options","dataFrameFromDataSource","evaluatedOptionsToUse","isTrellisFeatureFlagOn","visualizations_enableTrellis","clonedEvaluatedOptions","includes","TRELLIS","splitByLayout","trellisBackgroundColor","reset","_vizConfig$requiredPr","requiredProps","missing","missingKeys","PLACEHOLDER","missingProps","eventCallbackProps","EVENTS","supportedEvents","events","eventName","eventCallbackPropName","camelCase","payloadKeys","isArray","p","ev","originalEvent","computedVizProps","dataSourceMetadata","OptionKey","paginateDataSourceKey","PAGE_AND_SORT","handleRequestParamsChange","sortParams","paginatorParams","withTheme","PureMap_1","PureMap","config_1","withDashboardViz_1","mapUtils_1","BubbleLayer_1","dataUtils_1","formatLayer","l","dataFields","dataSourceData","transformedData","geobinIdx","layer","geobin","geomIdx","geomItem","JSON","parse","prototype","hasOwnProperty","sanitizeArrayOfColors","layers","onOptionsChange","themeColorVariables","themeColors","variable","splunkThemeV1","primary","withTooltipFields","VizWithTooltipFields","mergedOptions","_mergedOptions$layers","filter","f","withoutInternalFields","VizWithoutInternalFields","_primary$data","newColumns","newFields","indicesToRemove","Set","arr","modifiedDatasources","withNullToZeros","VizWithColumnsNullToZeros","columnsNullToZeros","Map","react_1","chroma","MapContext_1","PureMapContainer_1","ClusterLayer_1","ChoroplethLayer_1","LocalChoroplethLayer_1","DEFAULT_CENTER","DEFAULT_CONTROL_BACKGROUND_COLOR","DEFAULT_CONTROL_FOREGROUND_COLOR","DEFAULT_SCALE_UNIT","DEFAULT_SHOW_SCALE","DEFAULT_SHOW_ZOOM_CONTROLS","DEFAULT_SHOW_BASELAYER","DEFAULT_ZOOM","formatColor","chromaColor","rgb","hex","replace","alpha","baseLayerTileServer","baseLayerTileServerType","center","controlBackgroundColor","controlForegroundColor","_props$layers","scaleUnit","showScale","showZoomControls","showBaseLayer","onMapLoad","_react_1$useContext","defaultTileConfig","customTileConfig","basemapContainer","scaleControl","zoomControl","_react_1$useMemo","getTilePreset","tilePreset","defaultTileLight","defaultTileDark","currentZoomLevel","_setCurrentZoomLevel","currentZoomLevelRef","setCurrentZoomLevel","newZoom","isMapLoaded","setMapIsLoaded","mapMinZoom","_setMapMinZoom","mapMinZoomRef","setMapMinZoom","newMinZoom","lngLatCenter","isValidLatLon","zoomLevel","setIsThemeChangedCallback","isMyThemeChanged","onOptionsChangeProxy","fitMapToContent","lngLatBounds","getGlobalLayerBoundaries","fitBounds","MAX_BUBBLE_RADIUS","animate","initializeMap","mapStyle","addZoomEndEventListener","mapZoomLevel","getZoom","preserveDrawingBuffer","cooperativeGestures","windowsHelpText","macHelpText","mobileHelpText","getZoomConstraintsFromTileConfig","setTimeout","newCenter","getCenter","NavigationControl","showCompass","addControl","initializeScale","ScaleControl","maxWidth","unit","updateScale","setUnit","resize","warn","getMapStyle","version","MAP_STYLE_VERSION_NUMBER","getStyle","omit","compareBaseStyles","setStyle","_MapUtils_1$getZoomCo","minZoom","maxZoom","setMinZoom","setMaxZoom","flyTo","_layers","className","controlIconColorEncoded","LAYER_TYPE","clusterLayer","isLatLng","propName","componentName","latAbs","abs","lonAbs","latlon","MAX_LATITUDE","Error","arrayOf","showInLegend","choroplethEmptyAreaColor","maplibre_gl_css_1","PureMapContainer","toDimension","pick","MarkerLayer_1","ClusterLayer","isStyleLoaded","markerLayer","VizActionHandler_1","INITIAL_WIDTH","INITIAL_HEIGHT","SplunkVisualization","_classCallCheck","isRequired","object","objectOf","array","vizActionHandlerRef","DefaultVizActionHandler","Popover_1","StyledPopover","StyledTable","table","StyledTitleColumn","td","StyledValueColumn","StyledColorBlock","convertDegToDMS","decimalDegree","truncate","n","absoluteDegree","degrees","minutes","seconds","direction","Tooltip","_ref$additionalFields","animation","defaultPlacement","MarkerIcon","handleLayerClick","generateMarkerWrapperProps","latArray","lonArray","isStaticColor","markerProps","staticColor","dynamicColor","MarkerLayer","markerPropsList","GeoRegistry_1","GeoJsonProvider_1","LocalChoroplethLayer","features","geoJson","setGeoJson","validGeoJson","setValidGeoJson","geoJsonError","setGeoJsonError","geoJsonData","geoRegistry","create","addDefaultProvider","getByURL","updatedPropertyFormat","propertyFormat","propertyFormats","shapeProperty","formatCheck","_ret","updatedAllChoroplethData","allChoroplethData","el","choroplethData","dataIdx","visualization_icons_1","placeholders_1","visualization_color_palettes_1","themes_1","VizCategory_1","configUtils_1","BackgroundColor_1","colorRangeConfig","to","from","dataContract","requiredDataSources","optionalDataSources","initialRequestParams","size","initialWidth","initialHeight","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","getPattern","items","VIZ_CATEGORICAL","enterprise","dark","variables","black","light","prisma","backgroundColorSidebar","gray22","white","backgroundColorPopup","textColor","contentColorDefault","defaultChoroplethEmptyAreaColor","gray92","interactiveColorBackground","neutral300","defaultGradientMigrationConfig","syntaxPurple","checkTypeIsChoropleth","checkTypeIsLocalChoropleth","EDITOR_LABEL_WIDTH","editor","editorProps","showEditor","dataSourceKey","shouldShowInternalFields","filterByTypes","_ref5","excludeByNames","_ref6","labelPosition","labelWidth","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","category","SPATIAL","status","placeholderIcon","types_1","dsl_1","latitudeField","getFieldsFromDSL","longitudeField","excludedFields","indicesToEvaluate","column","isNumber","_createClass","focus","snapshot","fn","dependencies","isMissing","target","k","MissingPropsMessage","join","Cover","Blocker","withEditModeCover","showEditCover","variables_1","IconPlaceholder_1","withPlaceholder","showPlaceholder","contentColorActive","background","d3_scale_1","MIN_LATITUDE","MAX_LONGITUDE","MIN_LONGITUDE","MIN_BUBBLE_RADIUS","DEFAULT_OPACITY","LONGITUDE","LATITUDE","_ref$defaultTileConfi","_ref$customTileConfig","tileConfigs","tileConfig","updatedConfig","_ref2$baseLayerTileSe","_ref2$baseLayerTileSe2","_ref2$tilePreset","_ref2$colorScheme","_ref2$defaultTileLigh","_ref2$defaultTileDark","sources","tiles","tileSize","minzoom","maxzoom","match","matchedBaseLayerTileServer","sourceKeys","_sources$sourceKeys$i","_layers$_i","getZoomLevelFromGeobin","geobinStr","geobinPattern","exec","parseInt","colorCount","colorArray","scalePow","exponent","domain","transposeArray","row","sanitizeValues","sanitizedBubbleSize","transposedBubbleSize","transposedSanitizedBubbleSize","sanitizedValues","_latlon","lon","getLatOrLonCoordinates","getClusterValues","getChoroplethValues","slicedGeomList","flatCoordinates","flatMap","geomObject","flat","coord","isLayerValid","getDefaultMax","getDefaultMin","getMin","prevVal","coordinatesNumArr","x","getMax","Number","opacities","currBaseLayer","nextBaseLayer","currBaseSource","nextBaseSource","base","result","isObject","stringify"],"mappings":"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","file":"Map.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 = 404);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport type { Map } from 'maplibre-gl';\nimport { sum } from 'lodash';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport {\n bakeBubbleData,\n BubbleLayerType,\n DEFAULT_SERIES_COLORS,\n DEFAULT_RESULT_LIMIT,\n DEFAULT_CLUSTER_COLOR,\n getStaticColors,\n matchBubbleSize,\n} from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nexport const GEO_BOUND_PREFIX = '_geo_bounds_';\nexport const GEO_LAT_AND_LONG_FIELD = ['_geo_long_field', '_geo_lat_field'];\nexport interface PieSegmentProps {\n start: number;\n end: number;\n radius: number;\n color: string;\n themeColor: string;\n segmentMetadata?: { name: string; value: number; color: string };\n handleBubbleClick?: (e: Event, name: string, count: number) => void;\n}\n\nexport const PieSegment = React.memo(\n ({\n start,\n end,\n radius,\n color,\n themeColor,\n segmentMetadata,\n handleBubbleClick,\n }: PieSegmentProps): JSX.Element => {\n const { name, value } = segmentMetadata ?? {};\n const handleSegmentClick = React.useCallback(\n e => {\n handleBubbleClick(e, name, value);\n },\n [name, value, handleBubbleClick]\n );\n\n if (end - start === 1) {\n return (\n <circle\n onClick={handleSegmentClick}\n cx={radius}\n cy={radius}\n r={radius}\n fill={color}\n fillOpacity={0.5}\n strokeWidth={1.5}\n stroke={color}\n />\n );\n }\n const a0 = 2 * Math.PI * (start - 0.25);\n const a1 = 2 * Math.PI * (end - 0.25);\n const x0 = Math.cos(a0);\n const y0 = Math.sin(a0);\n const x1 = Math.cos(a1);\n const y1 = Math.sin(a1);\n const arc = end - start > 0.5 ? 1 : 0;\n\n return (\n <path\n onClick={handleSegmentClick}\n d={`M ${radius} ${radius} L ${radius + radius * x0} ${\n radius + radius * y0\n } A ${radius} ${radius} 0 ${arc} 1 ${radius + radius * x1} ${\n radius + radius * y1\n } L ${radius} ${radius} A 0 0 0 ${arc} 0 ${radius} ${radius}`}\n fill={color}\n fillOpacity={0.8}\n stroke={themeColor}\n strokeWidth={2}\n strokeOpacity={0.3}\n />\n );\n }\n);\n\nPieSegment.displayName = 'MapBubblePieSegment';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n cursor: pointer;\n`;\n\nexport interface BubbleProps {\n originalValues: number[];\n valueRange: number[];\n colors: string[];\n themeColor: string;\n isPie: boolean;\n latitude: number;\n longitude: number;\n bubbleSize: Required<TooltipProps['additionalFields'][number] & { value: number }>[];\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleMapClick?: any;\n}\n\nexport const Bubble = React.memo(\n ({\n originalValues,\n valueRange,\n colors,\n themeColor,\n isPie,\n latitude,\n longitude,\n bubbleSize,\n additionalFields = [],\n map,\n handleMapClick,\n }: BubbleProps): JSX.Element => {\n const onBubbleClick = React.useCallback(\n (e, name, value) => {\n handleMapClick(e, name, value);\n e.stopPropagation();\n },\n [handleMapClick]\n );\n\n const bubble = React.useMemo(() => {\n const allZeros = originalValues.every(v => v === 0);\n if (allZeros || !originalValues.length) {\n return null;\n }\n // sanitize values\n const values = originalValues.map(v => (v > 0 ? v : 0));\n\n // compute offsets for pie segments\n const offsets = [];\n let total = 0;\n values.forEach(count => {\n offsets.push(total);\n total += count;\n });\n\n const radius = matchBubbleSize(valueRange, total);\n const width = radius * 2;\n return (\n <svg width={width} height={width} viewBox={`-3 -3 ${width + 6} ${width + 6}`}>\n {isPie ? (\n <circle\n cx={radius}\n cy={radius}\n r={radius}\n fill=\"none\"\n strokeWidth={2}\n stroke={themeColor}\n strokeOpacity={0.3}\n />\n ) : null}\n {values.map((v, i) => (\n <PieSegment\n key={String(i)}\n start={offsets[i] / total}\n end={(offsets[i] + v) / total}\n radius={radius}\n color={colors[i]}\n themeColor={themeColor}\n segmentMetadata={bubbleSize[i]}\n handleBubbleClick={onBubbleClick}\n />\n ))}\n </svg>\n );\n }, [bubbleSize, colors, isPie, onBubbleClick, originalValues, themeColor, valueRange]);\n\n if (!bubble) {\n return null;\n }\n\n return (\n <StyledMarkerWrapper\n longitude={longitude}\n latitude={latitude}\n additionalFields={[...bubbleSize, ...additionalFields]}\n map={map}\n data-test-type=\"bubble\"\n >\n {bubble}\n </StyledMarkerWrapper>\n );\n }\n);\nBubble.displayName = 'MapBubble';\n\nexport interface BubbleLayerProps {\n bubbleLayer: BubbleLayerType;\n themeColorScheme: string;\n zoom: number;\n map: React.MutableRefObject<Map>;\n onMapClick?: any;\n}\n\nconst BubbleLayer = (props: BubbleLayerProps): JSX.Element => {\n const { bubbleLayer, themeColorScheme, map, zoom, onMapClick } = props;\n bubbleLayer.seriesColors = bubbleLayer.seriesColors || DEFAULT_SERIES_COLORS;\n bubbleLayer.bubbleSize = bubbleLayer.bubbleSize || [];\n const bakedData = React.useMemo(() => bakeBubbleData(bubbleLayer), [bubbleLayer]);\n const staticColors = React.useMemo(\n () => getStaticColors(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors),\n [bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors]\n );\n const { data = [], dataRange = [], resultLimit, bubbleSizeFields, isPie } = bakedData ?? {};\n const { additionalTooltipFields = [] } = bubbleLayer;\n const roundedZoom = Math.round(zoom);\n const themeColor = themeColorScheme === 'light' ? '#ffffff' : '#1a1c20';\n const dynamicColors = bubbleLayer.dataColors;\n\n // filter data for the current zoom level and sort base on values\n const dataToRender = React.useMemo(\n () =>\n data\n .reduce((acc, datum, i) => {\n if (datum.zoom === roundedZoom) {\n acc.push({ data: datum, idx: i });\n }\n return acc;\n }, [])\n .slice(0, resultLimit || DEFAULT_RESULT_LIMIT)\n .sort((a, b) => sum(b.data.values) - sum(a.data.values)),\n [data, resultLimit, roundedZoom]\n );\n\n const handleMapClick = React.useCallback(\n (e, name, value, i) => {\n // retrieve metadata from the appropriate datum, indexed by i\n const metadata = dataToRender[i]?.data?.metadata ?? {};\n const payload = Object.keys(metadata).reduce(\n (acc, curr) => {\n const key = `row.${curr}.value`;\n const val = String(metadata[curr]);\n return { ...acc, [key]: val };\n },\n { name, value: String(value) }\n );\n\n onMapClick({ e, payload });\n },\n [dataToRender, onMapClick]\n );\n\n return (\n <>\n {dataToRender.map((datum, i) => {\n const colors = dynamicColors\n ? [\n dataToRender.map(obj =>\n isColor(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : DEFAULT_CLUSTER_COLOR\n )[i],\n ]\n : staticColors;\n\n const [longitude, latitude] = datum.data.coordinates;\n const bubbleSize = datum.data.values.map((value, index) => ({\n name: bubbleSizeFields[index],\n value,\n color: colors[index],\n }));\n\n const additionalFields = bubbleLayer.metadata\n ? additionalTooltipFields.map(field => ({\n name: field,\n value: datum.data.metadata[field],\n }))\n : [];\n\n return (\n <Bubble\n key={String(i)}\n originalValues={datum.data.values}\n valueRange={dataRange}\n colors={colors}\n themeColor={themeColor}\n isPie={isPie}\n longitude={longitude}\n latitude={latitude}\n bubbleSize={bubbleSize}\n additionalFields={additionalFields}\n map={map}\n handleMapClick={(e, name, value) => handleMapClick(e, name, value, i)}\n />\n );\n })}\n </>\n );\n};\n\nexport default BubbleLayer;\n","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","import type { Map } from 'maplibre-gl';\nimport { Marker } from 'maplibre-gl';\nimport * as React from 'react';\nimport type { TooltipProps } from './Tooltip';\nimport Tooltip from './Tooltip';\n\nexport interface MarkerWrapperProps extends React.HTMLAttributes<HTMLDivElement> {\n latitude: number;\n longitude: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n isChoroplethTooltipOpen?: boolean;\n}\n\nconst MarkerWrapper = ({\n longitude,\n latitude,\n areaId,\n areaValue,\n additionalFields = [],\n map,\n isChoroplethTooltipOpen,\n children,\n ...otherProps\n}: MarkerWrapperProps): JSX.Element => {\n const container = React.useRef<HTMLDivElement>();\n const marker = React.useRef<Marker>();\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n\n const isChoroplethTooltip = React.useCallback(() => isChoroplethTooltipOpen !== undefined, [\n isChoroplethTooltipOpen,\n ]);\n\n const openTooltip = React.useCallback(() => setTooltipOpenStatus(true), []);\n const closeTooltip = React.useCallback(() => setTooltipOpenStatus(false), []);\n\n const cleanupMarker = React.useCallback(() => {\n if (marker.current) {\n marker.current.remove();\n marker.current = undefined;\n }\n }, []);\n\n React.useEffect(() => {\n try {\n if (marker.current) {\n marker.current.setLngLat([longitude, latitude]);\n } else {\n marker.current = new Marker({ element: container.current });\n marker.current.setLngLat([longitude, latitude]);\n marker.current.addTo(map.current);\n }\n } catch (error) {\n console.error(error);\n cleanupMarker();\n }\n }, [latitude, longitude, map]);\n\n React.useEffect(() => cleanupMarker, []);\n\n return (\n <div style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}>\n <div\n style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}\n ref={container}\n data-test=\"map-marker\"\n onMouseOver={openTooltip}\n onMouseLeave={closeTooltip}\n onFocus={openTooltip}\n onBlur={closeTooltip}\n {...otherProps}\n >\n {children}\n </div>\n\n <div>\n <Tooltip\n open={isChoroplethTooltip() ? isChoroplethTooltipOpen : isTooltipOpen}\n anchor={container.current}\n latitude={isChoroplethTooltip() ? null : latitude}\n longitude={isChoroplethTooltip() ? null : longitude}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields}\n />\n </div>\n </div>\n );\n};\n\nexport default MarkerWrapper;\n","module.exports = require(\"@splunk/visualization-encoding/utils/dsl\");","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(\"chroma-js\");","module.exports = require(\"maplibre-gl\");","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\nimport { isEqual, uniq } from 'lodash';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata, DEFAULT_RESULT_LIMIT } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nconst getShapeId = id => `shape-${id}`;\nconst getSourceId = id => `source-${id}`;\nconst getStrokeId = id => `stroke-${id}`;\n\nexport const compareGeom = (prev: GeoJsonDataType, next: GeoJsonDataType) => {\n if (prev !== null && next !== null) {\n return prev.type === next.type && isEqual(prev.coordinates, next.coordinates);\n }\n return prev === null && next === null;\n};\n\nexport const compareChoropleth = (prevProps: ChoroplethProps, nextProps: ChoroplethProps): boolean => {\n return (\n compareGeom(prevProps.geomData, nextProps.geomData) &&\n prevProps.id === nextProps.id &&\n prevProps.map === nextProps.map &&\n prevProps.areaId === nextProps.areaId &&\n prevProps.areaValue === nextProps.areaValue &&\n prevProps.color === nextProps.color &&\n prevProps.opacity === nextProps.opacity &&\n prevProps.strokeColor === nextProps.strokeColor &&\n prevProps.isThemeChanged === nextProps.isThemeChanged &&\n isEqual(prevProps.additionalFields, nextProps.additionalFields) &&\n prevProps.handleMapClick.toString() === nextProps.handleMapClick.toString()\n );\n};\n\nexport const cleanupChoropleth = (\n shapeId: string,\n sourceId: string,\n strokeId: string,\n map: React.MutableRefObject<Map>\n) => {\n // catch errors where map is undefined\n let currLayer;\n let currSource;\n let currStrokeLayer;\n try {\n currLayer = map?.current?.getLayer(shapeId);\n currStrokeLayer = map?.current?.getLayer(strokeId);\n currSource = map?.current?.getSource(sourceId);\n } catch {\n return;\n }\n if (currLayer) {\n map.current.removeLayer(shapeId);\n }\n if (currStrokeLayer) {\n map.current.removeLayer(strokeId);\n }\n if (currSource) {\n map.current.removeSource(sourceId);\n }\n};\n\ninterface ChoroplethProps {\n id: string;\n map: React.MutableRefObject<Map>;\n areaId: string;\n areaValue: number;\n geomData: GeoJsonDataType;\n color: string;\n opacity?: number;\n strokeColor?: string;\n isThemeChanged: boolean;\n additionalFields?: TooltipProps['additionalFields'];\n handleMapClick?: (e) => void;\n}\n\nexport const Choropleth = React.memo(\n ({\n id,\n areaId,\n areaValue,\n geomData,\n map,\n color,\n opacity,\n strokeColor,\n isThemeChanged,\n additionalFields,\n handleMapClick,\n }: ChoroplethProps): JSX.Element => {\n const sourceId = getSourceId(id);\n const shapeId = getShapeId(id);\n const strokeId = getStrokeId(id);\n const formattedGeomData = {\n type: 'Feature',\n geometry: geomData,\n };\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n const [mouseLat, setmouseLat] = React.useState(0);\n const [mouseLng, setmouseLng] = React.useState(0);\n\n const openTooltip = React.useCallback(() => {\n setTooltipOpenStatus(true);\n }, []);\n\n const closeTooltip = React.useCallback(() => {\n setTooltipOpenStatus(false);\n }, []);\n\n const updateChoropleth = React.useCallback(() => {\n // Apply changes by removing the existing choropleth and creating a new one\n // instead of mutating the current\n cleanupChoropleth(shapeId, sourceId, strokeId, map);\n\n // In order to set a different color and opacity to each choropleth region\n // we are creating a different layer for each region, and each layer requires a source\n map.current.addSource(sourceId, {\n type: 'geojson',\n data: formattedGeomData,\n });\n map.current.addLayer({\n id: shapeId,\n type: 'fill',\n source: sourceId,\n layout: {},\n paint: {\n 'fill-opacity': opacity,\n 'fill-color': color,\n },\n });\n\n if (strokeColor !== 'transparent') {\n map.current.addLayer({\n id: strokeId,\n type: 'line',\n source: sourceId,\n layout: {},\n paint: {\n 'line-color': strokeColor,\n 'line-width': 1,\n },\n });\n }\n\n map.current.on('mousemove', shapeId, e => {\n const mouseLngLat = e.lngLat;\n setmouseLat(mouseLngLat.lat);\n setmouseLng(mouseLngLat.lng);\n openTooltip();\n map.current.getCanvas().style.cursor = 'pointer'; // eslint-disable-line no-param-reassign\n });\n map.current.on('mouseleave', shapeId, () => {\n closeTooltip();\n map.current.getCanvas().style.cursor = ''; // eslint-disable-line no-param-reassign\n });\n map.current.on('click', shapeId, e => {\n handleMapClick(e);\n });\n }, [shapeId, sourceId, map, color, opacity, formattedGeomData]);\n\n React.useEffect(() => {\n updateChoropleth();\n }, [map, geomData, color, opacity, id, strokeColor]);\n\n // Clean up on unmount\n React.useEffect(() => () => cleanupChoropleth(shapeId, sourceId, strokeId, map), []);\n\n if (isThemeChanged) {\n // Theme changes will reset the style layers of the entire map\n // so we need to rerender the choropleths\n updateChoropleth();\n }\n\n return (\n <MarkerWrapper\n isChoroplethTooltipOpen={isTooltipOpen}\n additionalFields={additionalFields}\n latitude={mouseLat}\n longitude={mouseLng}\n map={map}\n areaId={areaId}\n areaValue={areaValue}\n >\n {/* an invisible div used to anchor the tooltip */}\n <div data-test=\"choropleth-anchor\" style={{ padding: '24px', visibility: 'hidden' }} />\n </MarkerWrapper>\n );\n },\n compareChoropleth\n);\n\nChoropleth.displayName = 'MapChoropleth';\n\ninterface ChoroplethLayerProps {\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n\n const limit = Math.min(\n choroplethLayer?.areaIds?.length,\n choroplethLayer?.areaValues?.length,\n choroplethLayer?.geom?.length ?? 0,\n choroplethLayer?.resultLimit ? choroplethLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const areaIdSliced = choroplethLayer?.areaIds?.slice(0, limit) ?? [];\n // generate a unique id if areaIds are not unique\n const uniqueAreaIdSliced =\n uniq(areaIdSliced).length !== areaIdSliced.length\n ? areaIdSliced.map((id, i) => `${id}${i}`)\n : areaIdSliced;\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (!map || !choroplethLayer || !choroplethLayer.geom) {\n return <></>;\n }\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n return (\n <div>\n {uniqueAreaIdSliced.map((id, i) => {\n const areaId = areaIdSliced[i];\n const areaValue = choroplethLayer.areaValues[i];\n\n return (\n <Choropleth\n key={id}\n id={id}\n geomData={choroplethLayer.geom[i]}\n map={map}\n color={colors[i]}\n opacity={scaledOpacities[i]}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n isThemeChanged={isThemeChanged}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields[i]}\n handleMapClick={e => handleMapClick(e, i)}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ChoroplethLayer;\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualization-context/FeatureFlagContext\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","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\");","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 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 no-sequences */\nimport * as React from 'react';\nimport { sanitizeArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport PureMap from './PureMap/PureMap';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { columnsNullToZeros } from '../common/utils/mapUtils';\nimport { GEO_BOUND_PREFIX, GEO_LAT_AND_LONG_FIELD } from './PureMap/BubbleLayer';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\nconst formatLayer = (l, dataFields, dataSourceData, transformedData) => {\n // add key `geobin` to the layer object if the data is returned from geostats commands\n // to distinguish geostats commands from table commands\n const geobinIdx = dataFields.indexOf('geobin');\n const layer = l;\n\n if (geobinIdx > -1) {\n layer.geobin = dataSourceData.columns[geobinIdx];\n }\n // similarly add key `geom` to layer object for choropleths\n const geomIdx = dataFields.indexOf('geom');\n if (geomIdx > -1) {\n layer.geom = dataSourceData.columns[geomIdx].map(geomItem => {\n return typeof geomItem === 'string' ? JSON.parse(geomItem) : geomItem;\n });\n }\n // Sanitize colors within layers\n if (Object.prototype.hasOwnProperty.call(layer, 'seriesColors')) {\n layer.seriesColors = Array.isArray(layer.seriesColors)\n ? sanitizeArrayOfColors(layer.seriesColors)\n : undefined;\n }\n if (Object.prototype.hasOwnProperty.call(layer, 'dataColors')) {\n layer.dataColors = Array.isArray(layer.dataColors)\n ? sanitizeArrayOfColors(layer.dataColors)\n : undefined;\n }\n layer.metadata = transformedData;\n};\n\nexport const computeVizProps = (props: {\n themeFunc: any;\n theme: any;\n dataSources: any;\n layers: any;\n onOptionsChange?: any;\n}): any => {\n const { themeFunc, theme, layers, dataSources, onOptionsChange } = props;\n const themeColorVariables = ['controlBackgroundColor', 'controlForegroundColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n // Markers use different icons, Bubbles has different styles for light and dark theme\n // this prop is passed for that\n const themeColorScheme = theme?.splunkThemeV1 ? theme?.splunkThemeV1.colorScheme : 'dark';\n\n const dataSourceData = dataSources?.primary?.data ?? {};\n // transforms data structure into array of objects to allow for indexing metadata at layer level\n // TODO: explore any potential changes when multiple layers are supported\n const transformedData = convertToArrOfObjects(dataSourceData.columns, dataSourceData.fields);\n\n const dataFields = (dataSourceData.fields ?? []).map(field =>\n typeof field === 'string' ? field : field.name\n );\n\n layers?.forEach(l => formatLayer(l, dataFields, dataSourceData, transformedData));\n\n return { ...themeColors, themeColorScheme, ...layers, onOptionsChange };\n};\n\nconst withTooltipFields = Viz => {\n const VizWithTooltipFields = ({ dataSources, options, ...otherProps }): JSX.Element => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} options={options} />;\n }\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]) {\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n // make sure bubbleSize and bubbleSizeFields dsl evaluation happen at the last HOC \"withDashboardViz\".\n // so value/type augmentation in the HOCs stay consistent\n mergedOptions.layers[0].bubbleSizeFields = '> bubbleSize | getField()';\n }\n const { fields } = dataSources.primary.data;\n if (\n Array.isArray(mergedOptions.layers[0].additionalTooltipFields) &&\n Array.isArray(fields) &&\n fields.length\n ) {\n const { bubbleSizeFields = [] } = mergedOptions.layers[0];\n mergedOptions.layers[0].additionalTooltipFields = mergedOptions.layers[0].additionalTooltipFields.filter(\n (field: string) =>\n (typeof fields[0] === 'string'\n ? fields.includes(field)\n : fields.map((f: { name: string }) => f.name).includes(field)) &&\n !bubbleSizeFields.includes(field)\n );\n }\n }\n return <Viz dataSources={dataSources} options={mergedOptions} {...otherProps} />;\n };\n VizWithTooltipFields.propTypes = Viz.propTypes;\n VizWithTooltipFields.defaultProps = Viz.defaultProps;\n VizWithTooltipFields.config = Viz.config;\n return VizWithTooltipFields;\n};\n\n// HOC for stripping the internal fields for Maps\nconst withoutInternalFields = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithoutInternalFields = ({ dataSources, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} />;\n }\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = [];\n let newFields = [];\n if (fields && columns && fields.length === columns.length) {\n // computed sorted index for removal\n const indicesToRemove = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (\n field.startsWith('_') &&\n !field.startsWith(GEO_BOUND_PREFIX) &&\n !GEO_LAT_AND_LONG_FIELD.includes(field)\n ) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n newFields = fields.filter((d, i) => !indicesToRemove.has(i));\n newColumns = columns.filter((d, i) => !indicesToRemove.has(i));\n }\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n fields: newFields,\n },\n },\n };\n return <Viz dataSources={modifiedDatasources} {...otherProps} />;\n };\n VizWithoutInternalFields.propTypes = Viz.propTypes;\n VizWithoutInternalFields.defaultProps = Viz.defaultProps;\n VizWithoutInternalFields.config = Viz.config;\n return VizWithoutInternalFields;\n};\n\n// HOC for updating all null values in data columns to zeros\n// excluding 'latitude', 'longitude' and 'geobin'\nconst withNullToZeros = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithColumnsNullToZeros = ({ dataSources, options, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz options={options} {...otherProps} />;\n }\n const modifiedDatasources = columnsNullToZeros(config, dataSources, options);\n return <Viz dataSources={modifiedDatasources} options={options} {...otherProps} />;\n };\n VizWithColumnsNullToZeros.propTypes = Viz.propTypes;\n VizWithColumnsNullToZeros.defaultProps = Viz.defaultProps;\n VizWithColumnsNullToZeros.config = Viz.config;\n return VizWithColumnsNullToZeros;\n};\n\nexport function useIconPlaceholder(dataSources: { [name: string]: DataSource }, loading: boolean): boolean {\n return loading;\n}\n\nconst Map = withoutInternalFields(\n withTooltipFields(\n withNullToZeros(\n withDashboardViz({\n ReactViz: PureMap,\n vizConfig: config,\n computeVizProps,\n disableEditModeCover: true,\n useIconPlaceholder,\n })\n )\n )\n);\nconst { themes } = config;\nexport default Map;\nexport { themes, config, PureMap };\n","import * as React from 'react';\nimport { omit, noop } from 'lodash';\nimport { useRef, useEffect, useCallback, useContext, useMemo } from 'react';\nimport * as T from 'prop-types';\nimport * as chroma from 'chroma-js';\nimport { Map, NavigationControl, ScaleControl } from 'maplibre-gl';\nimport type { StyleSpecification } from 'maplibre-gl';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport MapContext from '@splunk/visualization-context/MapContext';\nimport type { MapContextInterface } from '@splunk/visualization-context/MapContext';\nimport { VizProps } from '../../common/interfaces/VizProps';\nimport PureMapContainer from './PureMapContainer';\nimport {\n getTilePreset,\n getMapStyle,\n getZoomConstraintsFromTileConfig,\n MAP_STYLE_VERSION_NUMBER,\n ClusterLayerType,\n LayerType,\n MAX_BUBBLE_RADIUS,\n isValidLatLon,\n MAX_LATITUDE,\n getGlobalLayerBoundaries,\n LAYER_TYPE,\n compareBaseStyles,\n} from './MapUtils';\nimport ClusterLayer from './ClusterLayer';\nimport ChoroplethLayer from './ChoroplethLayer';\nimport LocalChoroplethLayer from './LocalChoroplethLayer';\n\nexport const DEFAULT_CENTER: [number, number] = [0, 0];\nexport const DEFAULT_CONTROL_BACKGROUND_COLOR = '#2b3033';\nexport const DEFAULT_CONTROL_FOREGROUND_COLOR = '#B5B5B5';\nexport const DEFAULT_SCALE_UNIT = 'imperial';\nexport const DEFAULT_SHOW_SCALE = true;\nexport const DEFAULT_SHOW_ZOOM_CONTROLS = true;\nexport const DEFAULT_SHOW_BASELAYER = true;\nexport const DEFAULT_ZOOM = 0;\ninterface PureMapProps extends VizProps {\n backgroundColor: string;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: 'vector' | 'raster';\n center?: [number, number];\n controlBackgroundColor?: string;\n controlForegroundColor?: string;\n layers: LayerType[];\n scaleUnit?: 'imperial' | 'metric';\n showScale?: boolean;\n showZoomControls?: boolean;\n showBaseLayer?: boolean;\n themeColorScheme?: string;\n zoom?: number;\n onMapLoad?: () => void;\n onMapClick?: ({ e, payload }) => void;\n onOptionsChange?: (options) => void;\n}\n\nexport interface HexColorObj {\n color: string;\n opacity: number;\n}\n\n// convert rgb/rgba/hex color to encoded color & opacity for SVG strings\nexport const formatColor = (color: string): HexColorObj => {\n const chromaColor = chroma(color);\n return {\n color: chroma(chromaColor.rgb()).hex().replace('#', '%23'),\n opacity: chromaColor.alpha(),\n };\n};\n\nPureMapContainer.displayName = 'PureMapContainer';\n\nconst PureMap = (props: PureMapProps): any => {\n const {\n width,\n height,\n backgroundColor,\n baseLayerTileServer,\n baseLayerTileServerType,\n center,\n controlBackgroundColor,\n controlForegroundColor,\n layers = [],\n scaleUnit,\n showScale,\n showZoomControls,\n showBaseLayer,\n themeColorScheme,\n zoom,\n onMapLoad,\n onMapClick,\n onOptionsChange,\n mode,\n } = props;\n const { defaultTileConfig, customTileConfig } = useContext<MapContextInterface>(MapContext);\n const basemapContainer = useRef<HTMLDivElement>(null);\n const map = useRef<Map>(null);\n const scaleControl = useRef<ScaleControl>(null);\n const zoomControl = useRef<NavigationControl>(null);\n\n const { tilePreset, defaultTileLight, defaultTileDark } = useMemo(\n () => getTilePreset({ defaultTileConfig, customTileConfig }),\n [defaultTileConfig, customTileConfig]\n );\n\n const [currentZoomLevel, _setCurrentZoomLevel] = React.useState<number>(zoom ?? DEFAULT_ZOOM);\n const currentZoomLevelRef = useRef(currentZoomLevel);\n const setCurrentZoomLevel = newZoom => {\n currentZoomLevelRef.current = newZoom;\n _setCurrentZoomLevel(newZoom);\n };\n const [isMapLoaded, setMapIsLoaded] = React.useState<boolean>(false);\n const [isThemeChanged, setIsThemeChanged] = React.useState<boolean>(false);\n // We are tracking mapMinZoom, which is the smallest zoom the map is capable of doing\n // This is because DEFAULT_ZOOM of 0 is sometimes not possible for maps with height > 500.\n // The map will do a little shake when it tries, and then auto change zoom value to mapMinZoom.\n // Interestingly, the larger the map height, the larger the mapMinZoom is.\n // For some reason, map.getMinZoom() is always 0, might be a MapLibre bug.\n const [mapMinZoom, _setMapMinZoom] = React.useState<number>(-1);\n const mapMinZoomRef = useRef(mapMinZoom);\n const setMapMinZoom = newMinZoom => {\n mapMinZoomRef.current = newMinZoom;\n _setMapMinZoom(newMinZoom);\n };\n // Assign default center when no center is defined\n const lngLatCenter = useMemo(() => {\n if (!isValidLatLon(center)) {\n return DEFAULT_CENTER as [number, number];\n }\n return [center[1], center[0]] as [number, number];\n }, [center]);\n\n // TODO: take out zoomLevel to use zoom instead (set prop zoom = DEFAULT_ZOOM)\n // Assign default zoom when no zoom is defined\n const zoomLevel = useMemo(() => {\n if (zoom === undefined) {\n return DEFAULT_ZOOM;\n }\n return zoom;\n }, [zoom]);\n\n const setIsThemeChangedCallback = (isMyThemeChanged: boolean) => {\n setIsThemeChanged(isMyThemeChanged);\n };\n\n const onOptionsChangeProxy = useCallback(\n e => {\n if (mode === 'edit') {\n onOptionsChange(e);\n }\n },\n [onOptionsChange, mode]\n );\n\n const fitMapToContent = useCallback(() => {\n const lngLatBounds = getGlobalLayerBoundaries([layers[0]]);\n map.current.fitBounds(lngLatBounds, {\n padding: MAX_BUBBLE_RADIUS + 5,\n animate: false,\n });\n }, [layers]);\n\n const initializeMap = useCallback(\n mapStyle => {\n const addZoomEndEventListener = () => {\n // register event listener - zoom\n map.current.on('zoomend', () => {\n const mapZoomLevel = map.current.getZoom();\n if (mapZoomLevel < mapMinZoomRef.current) {\n setMapMinZoom(mapZoomLevel);\n }\n setCurrentZoomLevel(mapZoomLevel);\n });\n };\n\n map.current = new Map({\n container: basemapContainer.current,\n preserveDrawingBuffer: true,\n style: mapStyle,\n center: lngLatCenter,\n zoom: zoomLevel,\n cooperativeGestures: {\n windowsHelpText: _('Use Ctrl + scroll to zoom map'),\n macHelpText: _('Use ⌘ + scroll to zoom map'),\n mobileHelpText: _('Use two fingers to move the map'),\n },\n ...getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer),\n });\n // Fired immediately after all necessary resources have been downloaded\n // and the first visually complete rendering of the map has occurred.\n map.current.on('load', () => {\n if (layers?.length > 0 && center === undefined && zoom === undefined) {\n setMapMinZoom(map.current.getZoom());\n map.current.on('zoomend', () => {\n addZoomEndEventListener();\n });\n fitMapToContent();\n } else {\n addZoomEndEventListener();\n }\n setMapIsLoaded(true);\n // TODO :- Temp timeout added for onMapLoad event to avoid flaky screenshots caused by\n // https://maplibre.org/maplibre-gl-js-docs/api/map/#map#fitbounds. Need alternate approach to handle the same.\n setTimeout(() => onMapLoad(), 500);\n });\n\n // register event listener - drag\n map.current.on('dragend', () => {\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng], zoom: map.current.getZoom() });\n });\n\n map.current.on('resize', () => {\n const mapZoomLevel = map.current.getZoom();\n // If the map's zoom value is at the min zoom, and the map did a resize\n // sometimes the map will have a changed min zoom value.\n // Then we want to update the map's min zoom value.\n if (\n currentZoomLevelRef.current <= mapMinZoomRef.current &&\n mapZoomLevel !== mapMinZoomRef.current\n ) {\n setMapMinZoom(mapZoomLevel);\n }\n });\n\n // add zoom control\n zoomControl.current = new NavigationControl({ showCompass: false });\n map.current.addControl(zoomControl.current, 'top-left');\n },\n [lngLatCenter, zoomLevel, layers?.length]\n );\n\n const initializeScale = useCallback(() => {\n scaleControl.current = new ScaleControl({\n maxWidth: 70,\n unit: scaleUnit,\n });\n map.current.addControl(scaleControl.current);\n }, [scaleUnit]);\n\n const updateScale = useCallback(() => {\n if (showScale) {\n scaleControl?.current?.setUnit(scaleUnit);\n }\n }, [scaleUnit, showScale]);\n\n useEffect(() => {\n if (map.current) {\n map.current.resize();\n }\n }, [width, height]);\n\n useEffect(() => {\n if (map.current) {\n // We want to skip onOptionsChangeProxy if we have transitioned into the default map state, with undefined zoom and center.\n // This is because the DEFAULT_ZOOM value, 0, is sometimes not possible for maps with height > 500.\n // So in those cases the map will auto change its zoom from 0 => mapMinZoom\n // Since this is not a user event we don't want to broadcast it.\n if (\n currentZoomLevel === mapMinZoomRef.current &&\n (zoom === undefined || zoom < mapMinZoomRef.current)\n ) {\n return;\n }\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({\n // when zooming with mouse/track pad,\n // zooming centers at the cursor position, need to update center as well\n center: [newCenter.lat, newCenter.lng],\n zoom: currentZoomLevel,\n });\n }\n }, [currentZoomLevel, onOptionsChangeProxy]);\n\n useEffect(() => {\n // do not render when defaultTileConfig, customTileConfig and tileset are not configured\n if (Object.keys(tilePreset).length === 0 && (!baseLayerTileServer || !baseLayerTileServerType)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Map Tile Server configuration is missing or invalid. Please provide a valid configuration'\n );\n return;\n }\n\n const mapStyle = getMapStyle({\n showBaseLayer,\n baseLayerTileServer,\n baseLayerTileServerType,\n tilePreset,\n colorScheme: themeColorScheme,\n defaultTileLight,\n defaultTileDark,\n });\n\n mapStyle.version = MAP_STYLE_VERSION_NUMBER;\n\n // If the map has already been initialized, we update the styles\n if (map.current) {\n const curr = map.current.getStyle();\n const next = omit(mapStyle, ['theme', 'name', 'key']);\n\n // In dashboard studio this setStyle function is triggered by zoom changes as well\n // Since setStyle will reset all style layers on the map including choropleth,\n // we ONLY want to this to be called when there are style changes\n if (!compareBaseStyles(curr, next)) {\n // Refer to https://maplibre.org/maplibre-gl-js-docs/api/map/#setstyle-example for options.diff (default is true)\n map.current.setStyle(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n setIsThemeChanged(true);\n }\n const { minZoom, maxZoom } = getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer);\n map.current.setMinZoom(minZoom);\n map.current.setMaxZoom(maxZoom);\n updateScale();\n } else {\n // initialize the map only once with a constructed style from user configured options\n // or default configs from the map context\n initializeMap(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n initializeScale();\n }\n }, [\n showBaseLayer,\n tilePreset,\n initializeMap,\n initializeScale,\n updateScale,\n defaultTileLight,\n defaultTileDark,\n baseLayerTileServer,\n baseLayerTileServerType,\n themeColorScheme,\n ]);\n\n useEffect(() => {\n if (map.current) {\n map.current.flyTo({\n center: lngLatCenter,\n // Make sure we are not flying to a zoom value smaller than the mapMinZoom\n // If we do, the map will do a little shake.\n zoom: Math.max(zoomLevel, mapMinZoomRef.current),\n });\n }\n }, [lngLatCenter, zoomLevel]);\n\n useEffect(\n () => () => {\n if (map.current) {\n map.current.remove();\n }\n },\n []\n );\n\n const [layer] = layers;\n\n return (\n <>\n <PureMapContainer\n className=\"puremap\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n controlBackgroundColor={controlBackgroundColor}\n controlForegroundColor={controlForegroundColor}\n controlIconColorEncoded={formatColor(controlForegroundColor)}\n ref={basemapContainer}\n showScale={showScale}\n showZoomControls={showZoomControls}\n >\n {isMapLoaded &&\n layer &&\n (layer.type === LAYER_TYPE.Bubble || layer.type === LAYER_TYPE.Marker) && (\n <ClusterLayer\n clusterLayer={layer as ClusterLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={currentZoomLevel}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && layer.source && (\n <LocalChoroplethLayer\n width={width}\n height={height}\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && !layer.source && (\n <ChoroplethLayer\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n </PureMapContainer>\n </>\n );\n};\n\nexport const isLatLng = (props: PureMapProps, propName: string, componentName: string): Error => {\n if (!props[propName]) {\n return null;\n }\n const latAbs = Math.abs(props[propName][0]);\n const lonAbs = Math.abs(props[propName][1]);\n const latlon = props[propName];\n if (latAbs > MAX_LATITUDE && lonAbs <= MAX_LATITUDE) {\n throw new Error(`${componentName} ${propName} may have reversed [lat, lon] ranges.`);\n }\n if (!isValidLatLon(latlon)) {\n throw new Error(`${componentName} ${propName} incorrect [lat, lon] ranges.`);\n }\n return null;\n};\n\nPureMap.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n baseLayerTileServer: T.string,\n baseLayerTileServerType: T.string,\n center: isLatLng,\n controlBackgroundColor: T.string,\n controlForegroundColor: T.string,\n layers: T.arrayOf(\n T.shape({\n type: T.string,\n latitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n longitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n label: T.string,\n showInLegend: T.bool,\n dataColors: T.oneOfType([T.string, T.arrayOf(T.string)]),\n seriesColors: T.arrayOf(T.string),\n additionalTooltipFields: T.arrayOf(T.string),\n resultLimit: T.number,\n source: T.string,\n choroplethEmptyAreaColor: T.string,\n })\n ),\n scaleUnit: T.string,\n showScale: T.bool,\n themeColorScheme: T.string,\n zoom: T.number,\n onMapLoad: T.func,\n onMapClick: T.func,\n onOptionsChange: T.func,\n};\n\nPureMap.defaultProps = {\n mode: 'view',\n width: 800,\n height: 500,\n backgroundColor: '#0b0c0e',\n controlBackgroundColor: DEFAULT_CONTROL_BACKGROUND_COLOR,\n controlForegroundColor: DEFAULT_CONTROL_FOREGROUND_COLOR,\n scaleUnit: DEFAULT_SCALE_UNIT,\n showScale: DEFAULT_SHOW_SCALE,\n showZoomControls: DEFAULT_SHOW_ZOOM_CONTROLS,\n showBaseLayer: DEFAULT_SHOW_BASELAYER,\n layers: [],\n themeColorScheme: 'dark',\n onMapLoad: noop,\n onMapClick: noop,\n onOptionsChange: noop,\n};\n\nexport default PureMap;\n","module.exports = require(\"@splunk/visualization-context/MapContext\");","import styled from 'styled-components';\nimport { pick } from 'lodash';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport css from '!!raw-loader!maplibre-gl/dist/maplibre-gl.css';\nimport { HexColorObj } from './PureMap';\n\nconst PureMapContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n controlBackgroundColor: string;\n controlForegroundColor: string;\n controlIconColorEncoded: HexColorObj;\n showScale: boolean;\n showZoomControls: boolean;\n}>`\n ${css}\n overflow: hidden;\n position: relative;\n z-index: 0;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n\n // keep zoom control on top of cooperative gesture layer\n .maplibregl-cooperative-gesture-screen {\n z-index: 0;\n }\n\n // overwrite maplibregl zoom control styles\n .maplibregl-ctrl-top-left {\n display: ${props => (props.showZoomControls ? 'block' : 'none')};\n position: absolute;\n top: 12px;\n left: 16px;\n .maplibregl-ctrl-group {\n width: 40px !important;\n height: 87px !important;\n border-radius: 4px;\n margin: 8px 0px;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.64), 0px 11px 18px rgba(0, 0, 0, 0.32),\n 0px 3px 6px rgba(0, 0, 0, 0.3);\n & button {\n width: 40px;\n height: 43px;\n border-top: 0;\n }\n .maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1C9 0.447715 8.55229 0 8 0C7.44772 0 7 0.447715 7 1V7H1C0.447715 7 0 7.44772 0 8C0 8.55229 0.447715 9 1 9H7V15C7 15.5523 7.44772 16 8 16C8.55229 16 9 15.5523 9 15V9H15C15.5523 9 16 8.55229 16 8C16 7.44772 15.5523 7 15 7H9V1Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n\n .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"14\" height=\"3\" viewBox=\"0 0 14 3\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 1.99707C0 1.44479 0.447715 0.99707 1 0.99707H13C13.5523 0.99707 14 1.44479 14 1.99707C14 2.54936 13.5523 2.99707 13 2.99707H1C0.447715 2.99707 0 2.54936 0 1.99707Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n }\n }\n\n // overwrite maplibregl scale styles\n .maplibregl-ctrl-bottom-left {\n display: ${props => (props.showScale ? 'block' : 'none')};\n position: absolute;\n z-index: 0;\n bottom: 16px;\n left: 12px;\n width: 86px;\n height: 29px;\n border-radius: 4px;\n margin: 0;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.13), 0px 11px 18px rgba(0, 0, 0, 0.06),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n .maplibregl-ctrl-scale {\n background-color: ${props => props.controlBackgroundColor};\n color: ${props => props.controlForegroundColor};\n border: 2px solid ${props => props.controlForegroundColor};\n border-top: 0;\n border-left: 0;\n border-right: 0;\n padding: 0;\n margin: 6px 8px 8px 8px;\n line-height: 13px;\n letter-spacing: 0.02em;\n font-family: sans-serif;\n font-size: 10px;\n }\n }\n`;\n\nexport default PureMapContainer;\n","export default \".maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23999' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E\\\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E\\\")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:\\\"\\\";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}\";","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport BubbleLayer from './BubbleLayer';\nimport MarkerLayer from './MarkerLayer';\nimport type { ClusterLayerType, BubbleLayerType, MarkerLayerType } from './MapUtils';\nimport { LAYER_TYPE } from './MapUtils';\n\ninterface ClusterLayerProps {\n clusterLayer: ClusterLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n zoom?: number;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ClusterLayer = ({\n clusterLayer,\n themeColorScheme,\n zoom,\n map,\n onMapClick,\n}: ClusterLayerProps): JSX.Element => {\n if (map?.current?.isStyleLoaded && [clusterLayer.longitude, clusterLayer.latitude].every(Array.isArray)) {\n if (clusterLayer?.type === LAYER_TYPE.Marker && !('geobin' in clusterLayer)) {\n return (\n <MarkerLayer\n markerLayer={clusterLayer as MarkerLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n onMapClick={onMapClick}\n />\n );\n }\n if (\n clusterLayer?.type === LAYER_TYPE.Bubble &&\n 'geobin' in clusterLayer &&\n 'bubbleSize' in clusterLayer\n ) {\n return (\n <BubbleLayer\n bubbleLayer={clusterLayer as BubbleLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={zoom}\n onMapClick={onMapClick}\n />\n );\n }\n }\n return null;\n};\n\nexport default ClusterLayer;\n","/* 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","import * as React from 'react';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nconst StyledPopover = styled(Popover)`\n width: 250px;\n font-size: 12px;\n`;\n\nconst StyledTable = styled.table`\n margin: 2px 6px 2px 6px;\n width: calc(100% - 12px);\n`;\n\nconst StyledTitleColumn = styled.td`\n opacity: 0.85;\n`;\n\nconst StyledValueColumn = styled.td`\n text-align: right;\n`;\n\nconst StyledColorBlock = styled.div`\n background-color: ${props => props.color};\n display: inline-block;\n margin-right: 4px;\n border-radius: 2px;\n width: 6px;\n height: 11px;\n transform: translateY(1px);\n`;\n\nexport const convertDegToDMS = (decimalDegree: number, type: 'latitude' | 'longitude'): string => {\n const truncate = n => (n > 0 ? Math.floor(n) : Math.ceil(n));\n const absoluteDegree = Math.abs(decimalDegree);\n let degrees = truncate(absoluteDegree);\n let minutes = truncate((absoluteDegree - degrees) * 60);\n let seconds = Math.round((absoluteDegree - degrees - minutes / 60) * 3600);\n if (seconds === 60) {\n minutes += 1;\n seconds = 0;\n }\n if (minutes === 60) {\n degrees += 1;\n minutes = 0;\n }\n let direction: string;\n if (type === 'longitude') {\n direction = decimalDegree < 0 ? 'W' : 'E';\n } else if (type === 'latitude') {\n direction = decimalDegree < 0 ? 'S' : 'N';\n }\n return `${degrees}° ${minutes}' ${seconds}\" ${direction}`;\n};\n\nexport interface TooltipProps {\n open?: boolean;\n anchor?: HTMLElement;\n latitude?: number;\n longitude?: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: Array<{ name: string; value: number | string; color?: string }>;\n}\n// only want latitude/longitude for marker and bubble\n// omit for choropleth, and put areaid, areavalue instead\nconst Tooltip = ({\n open,\n anchor,\n latitude,\n longitude,\n areaId,\n areaValue,\n additionalFields = [],\n}: TooltipProps): JSX.Element => (\n <StyledPopover\n open={open}\n animation={false}\n anchor={anchor}\n data-test=\"map-marker-tooltip\"\n defaultPlacement=\"above\"\n >\n <StyledTable>\n <tbody>\n {areaId && areaValue && (\n <tr>\n <StyledTitleColumn data-test=\"area-id\">{areaId}</StyledTitleColumn>\n <StyledValueColumn data-test=\"area-value\">{areaValue}</StyledValueColumn>\n </tr>\n )}\n {latitude && (\n <tr>\n <StyledTitleColumn>{_('Latitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"latitude\">\n {convertDegToDMS(latitude, 'latitude')}\n </StyledValueColumn>\n </tr>\n )}\n {longitude && (\n <tr>\n <StyledTitleColumn>{_('Longitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"longitude\">\n {convertDegToDMS(longitude, 'longitude')}\n </StyledValueColumn>\n </tr>\n )}\n {additionalFields.map(({ name, value, color }, index) => (\n <tr key={String(index)}>\n <StyledTitleColumn data-test=\"field-title\">\n {color ? <StyledColorBlock data-test=\"field-color\" color={color} /> : null}\n {name}\n </StyledTitleColumn>\n <StyledValueColumn data-test=\"field-value\">{value}</StyledValueColumn>\n </tr>\n ))}\n </tbody>\n </StyledTable>\n </StyledPopover>\n);\n\nexport default Tooltip;\n","import styled from 'styled-components';\nimport { Map } from 'maplibre-gl';\nimport * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { noop } from 'lodash';\nimport { DEFAULT_CLUSTER_COLOR, DEFAULT_RESULT_LIMIT, DEFAULT_SERIES_COLORS } from './MapUtils';\nimport type { MarkerLayerType } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\ninterface MarkerIconProps extends React.HTMLAttributes<HTMLOrSVGElement> {\n theme: string;\n color: string;\n}\n\nexport const MarkerIcon = ({ theme, color, ...otherProps }: MarkerIconProps): JSX.Element => {\n const strokeOpacity = theme === 'light' ? 0.7 : 0.15;\n return (\n <svg width={22} height={28} fill=\"none\" {...otherProps}>\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n fill={color}\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke=\"#08090A\"\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke={color}\n strokeOpacity={strokeOpacity}\n />\n </svg>\n );\n};\n\ninterface MarkerProps {\n latitude: number;\n longitude: number;\n color: string;\n themeColorScheme: string;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleLayerClick?: (e) => void;\n}\n\nconst Marker = React.memo(\n ({\n latitude,\n longitude,\n color,\n themeColorScheme,\n map,\n additionalFields,\n handleLayerClick,\n }: MarkerProps): JSX.Element => {\n const icon = React.useMemo(\n () => <MarkerIcon color={color} theme={themeColorScheme} onClick={handleLayerClick} />,\n [color, handleLayerClick, themeColorScheme]\n );\n return (\n <StyledMarkerWrapper\n latitude={latitude}\n longitude={longitude}\n map={map}\n additionalFields={additionalFields}\n data-test-type=\"marker\"\n >\n {icon}\n </StyledMarkerWrapper>\n );\n }\n);\n\nMarker.displayName = 'MapMarker';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n width: 22px;\n height: 28px;\n cursor: pointer;\n`;\n\nexport const generateMarkerWrapperProps = (\n markerLayer: MarkerLayerType,\n onMapClick: ({ e, payload }) => void = noop\n): Omit<MarkerProps, 'themeColorScheme' | 'map'>[] => {\n const latArray = markerLayer.latitude;\n const lonArray = markerLayer.longitude;\n const isStaticColor = !markerLayer.dataColors;\n const limit = Math.min(\n latArray.length,\n lonArray.length,\n markerLayer.resultLimit ? markerLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const markerProps: ReturnType<typeof generateMarkerWrapperProps> = [];\n for (let i = 0; i < limit; i += 1) {\n const staticColor =\n markerLayer.seriesColors && isColor(markerLayer.seriesColors[0])\n ? markerLayer.seriesColors[0]\n : DEFAULT_CLUSTER_COLOR;\n const dynamicColor =\n markerLayer.dataColors && isColor(markerLayer.dataColors[i])\n ? markerLayer.dataColors[i]\n : DEFAULT_CLUSTER_COLOR;\n const color = isStaticColor ? staticColor : dynamicColor;\n const additionalFields = markerLayer.metadata\n ? markerLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: markerLayer.metadata[i][field],\n }))\n : [];\n const handleLayerClick = e => {\n const metadata = markerLayer?.metadata[i] ?? {};\n const payload = Object.keys(metadata).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n const value = String(metadata[curr]);\n return { ...acc, [key]: value };\n }, {});\n\n onMapClick({ e, payload });\n };\n markerProps.push({\n latitude: latArray[i],\n longitude: lonArray[i],\n color,\n additionalFields,\n handleLayerClick,\n });\n }\n return markerProps;\n};\n\nexport interface MarkerLayerProps {\n markerLayer: MarkerLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst MarkerLayer = (props: MarkerLayerProps): JSX.Element => {\n const { map, themeColorScheme, markerLayer, onMapClick } = props;\n markerLayer.seriesColors = markerLayer.seriesColors || DEFAULT_SERIES_COLORS;\n const markerPropsList = React.useMemo(() => generateMarkerWrapperProps(markerLayer, onMapClick), [\n markerLayer,\n onMapClick,\n ]);\n\n return (\n <>\n {markerPropsList.map((markerProps, i) => (\n <Marker key={String(i)} themeColorScheme={themeColorScheme} map={map} {...markerProps} />\n ))}\n </>\n );\n};\n\nexport default MarkerLayer;\n","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport Message from '@splunk/visualizations-shared/Message';\nimport GeoRegistry from '@splunk/visualization-context/GeoRegistry';\nimport GeoJsonProvider from '@splunk/visualization-context/GeoJsonProvider';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata } from './MapUtils';\nimport { Choropleth } from './ChoroplethLayer';\n\ninterface ChoroplethLayerProps {\n width: number | string;\n height: number | string;\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst LocalChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { width, height, map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const [geoJson, setGeoJson] = React.useState({ features: [{ properties: { name: '' }, geometry: [] }] });\n const [validGeoJson, setValidGeoJson] = React.useState(true);\n const [geoJsonError, setGeoJsonError] = React.useState({ level: 'info', message: '' });\n\n // load local geoJson registry data\n React.useEffect(() => {\n let geoJsonData;\n const geoRegistry = GeoRegistry.create();\n geoRegistry.addDefaultProvider(new GeoJsonProvider());\n try {\n geoJsonData = geoRegistry.getByURL(choroplethLayer.source);\n setGeoJson(geoJsonData);\n setValidGeoJson(true);\n } catch (e) {\n setGeoJsonError(e);\n setValidGeoJson(false);\n }\n }, [choroplethLayer.source]);\n\n const updatedPropertyFormat = React.useMemo(() => {\n let propertyFormat = 'name';\n if (choroplethLayer.areaIds && validGeoJson) {\n const propertyFormats = Object.keys(geoJson.features[0].properties);\n\n // check the state or country format used in dataSource\n /* Accepted format for countries: \n \"properties\": \n {\n \"iso2\": \"AM\",\n \"iso3\": \"ARM\",\n \"name\": \"Armenia\"\n }\n\n Accepted format for US States:\n \"properties\": \n {\n \"iso_3166_2\": \"US-MI\",\n \"postal\": \"MI\",\n \"name\": \"Michigan\",\n \"label_en\": \"Michigan\"\n },\n */\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const shapeProperty = geoJson.features[idx].properties;\n const formatCheck = propertyFormats.find(\n key => shapeProperty[key] === choroplethLayer.areaIds[0]\n );\n\n if (formatCheck !== undefined) {\n propertyFormat = formatCheck;\n break;\n }\n }\n }\n return propertyFormat;\n }, [choroplethLayer.areaIds, geoJson]);\n\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n\n const updatedAllChoroplethData = React.useMemo(() => {\n const allChoroplethData = [];\n if (validGeoJson) {\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const el = geoJson.features[idx];\n\n const choroplethData: {\n color: string;\n areaValue: string | number;\n opacity: number;\n name: string;\n idx: number;\n } = {\n color: choroplethLayer.choroplethEmptyAreaColor,\n areaValue: 'No Data',\n opacity: cfgOpacity,\n name: '',\n idx: 0,\n };\n\n choroplethData.name = el.properties[updatedPropertyFormat];\n // check whether dataSource exists\n if (choroplethLayer.areaIds) {\n // store the postion of dataSource in geoJson\n const dataIdx = choroplethLayer.areaIds.indexOf(el.properties[updatedPropertyFormat]);\n if (dataIdx !== -1) {\n choroplethData.color = colors[dataIdx];\n choroplethData.areaValue = choroplethLayer.areaValues[dataIdx];\n choroplethData.opacity = scaledOpacities[dataIdx];\n choroplethData.idx = dataIdx;\n } else {\n choroplethData.idx = choroplethLayer.areaIds.length;\n }\n }\n allChoroplethData.push(choroplethData);\n }\n }\n return allChoroplethData;\n }, [choroplethLayer.areaIds, choroplethLayer.areaValues, colors, scaledOpacities]);\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields?.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n return (\n <div>\n {!validGeoJson && (\n <Message\n data-test=\"choropleth-message\"\n width={width}\n height={height}\n level={geoJsonError.level}\n message={geoJsonError.message}\n />\n )}\n {validGeoJson &&\n updatedAllChoroplethData.map((el, i) => {\n return (\n <Choropleth\n key={el.name}\n id={el.name}\n map={map}\n color={el.color}\n opacity={el.opacity}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n areaId={el.name}\n areaValue={el.areaValue}\n handleMapClick={e => handleMapClick(e, el.idx)}\n isThemeChanged={isThemeChanged}\n geomData={geoJson.features[i].geometry}\n additionalFields={additionalFields[el.idx]}\n />\n );\n })}\n </div>\n );\n};\n\nexport default LocalChoroplethLayer;\n","module.exports = require(\"@splunk/visualization-context/GeoRegistry\");","module.exports = require(\"@splunk/visualization-context/GeoJsonProvider\");","import { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\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 { LAYER_TYPE } from './PureMap/MapUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify a color for the background. You might use a dataSource to apply the color. 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 baseLayerTileServer: {\n type: 'string',\n description: 'Specify the URL for the set of tiles that make up the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: LAYER_TYPE.Bubble,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Marker,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Choropleth,\n areaIds: '> primary | seriesByType(\"string\")',\n areaValues: '> primary | seriesByType(\"number\")',\n dataColors: '> areaValues | gradient()',\n additionalTooltipFields: [],\n resultLimit: 1000,\n choroplethEmptyAreaColor: '> themes.defaultChoroplethEmptyAreaColor',\n choroplethStrokeColor: 'transparent',\n choroplethOpacity: 0.8,\n },\n ],\n type: 'array',\n description:\n 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Marker,\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\". If type: \"bubble\", dataColors requires bubbleSize to have only a single series configured.',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Choropleth,\n },\n areaIds: {\n description:\n 'Specify a dataSource series to identify each area in the choropleth map layer. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'string' },\n default: '> primary | seriesByType(\"string\")',\n },\n areaValues: {\n description:\n 'Specify a dataSource series that indicates the values for the choropleth map areas. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'number' },\n default: '> primary | seriesByType(\"number\")',\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n default: '> areaValues | gradient()',\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n source: {\n description:\n 'Source for the geodata for choropleth layer: \"us\" or \"world\", and will override data specified in the SPL geom command.',\n pattern: getPattern(['geo://default/us', 'geo://default/world']),\n type: 'string',\n },\n choroplethEmptyAreaColor: {\n description:\n 'Specify the color used for empty choropleth areas when \"type\": \"choropleth\", and will only work when \"source\" option is correctly configured.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> themes.defaultChoroplethEmptyAreaColor',\n },\n choroplethStrokeColor: {\n description:\n 'Specify the stroke color for choropleth area outlines. The hex value format should be \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: 'transparent',\n },\n choroplethOpacity: {\n description:\n 'Specify the opacity of choropleth areas. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.8\" in code or \"80%\" in UI.',\n type: 'number',\n default: 0.8,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Bubble,\n },\n bubbleSize: {\n description:\n 'Specify the data column to encode bubble size. This applies to layers where type: \"bubble\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\". If type: \"bubble\", dataColors requires bubbleSize to have only a single series configured.',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify the scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n showBaseLayer: {\n default: true,\n type: 'boolean',\n description: 'Specify if showing the base map.',\n },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the scale on the bottom left.',\n },\n showZoomControls: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the control panel of zoom on the top left.',\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\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 controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n defaultChoroplethEmptyAreaColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.gray92(props),\n },\n prisma: {\n dark: variables.interactiveColorBackground(props),\n light: variables.neutral300(props),\n },\n })(props),\n defaultGradientMigrationConfig: props =>\n pick({\n enterprise: {\n dark: ['#4D4A5D', variables.syntaxPurple(props)],\n light: ['#D2CFDC', variables.syntaxPurple(props)],\n },\n prisma: {\n dark: ['#484558', variables.syntaxPurple(props)],\n light: ['#D8D4E1', variables.syntaxPurple(props)],\n },\n })(props),\n};\n\nconst checkTypeIsChoropleth = options =>\n options.layers && options.layers.length && options.layers[0].type === LAYER_TYPE.Choropleth;\n\nconst checkTypeIsLocalChoropleth = options =>\n options.layers &&\n options.layers.length &&\n options.layers[0].type === LAYER_TYPE.Choropleth &&\n (options.layers[0].source === 'geo://default/us' || options.layers[0].source === 'geo://default/world');\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Layer type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Bubble'), value: LAYER_TYPE.Bubble },\n { label: _('Marker'), value: LAYER_TYPE.Marker },\n { label: _('Choropleth'), value: LAYER_TYPE.Choropleth },\n ],\n },\n },\n ],\n [\n {\n label: _('Area IDs'),\n option: 'layers[0].areaIds',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['string'],\n },\n },\n ],\n [\n {\n label: _('Area values'),\n option: 'layers[0].areaValues',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['number'],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Bubble size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnMultiSelector',\n showEditor: ({ options }) =>\n !(\n options.layers &&\n options.layers.length &&\n (options.layers[0].type === 'marker' || options.layers[0].type === 'choropleth')\n ),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n [\n {\n label: _('Additional tooltip fields'),\n option: 'layers[0].additionalTooltipFields',\n editor: 'editor.columnMultiSelectionByFieldNameEditor',\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'layers[0].resultLimit',\n editor: 'editor.number',\n showEditor: ({ options }) => !checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Latitude (initial map location)'),\n option: 'center[0]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -90,\n max: 90,\n },\n },\n ],\n [\n {\n label: _('Longitude (initial map location)'),\n option: 'center[1]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -180,\n max: 180,\n },\n },\n ],\n [\n {\n label: _('Zoom (initial map location)'),\n option: 'zoom',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Show zoom controls'),\n option: 'showZoomControls',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Show scale'),\n option: 'showScale',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Scale unit'),\n option: 'scaleUnit',\n editor: 'editor.radioBar',\n showEditor: ({ options }) => options.showScale !== false,\n editorProps: {\n values: [\n { label: _('Metric'), value: 'metric' },\n { label: _('Imperial'), value: 'imperial' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n // TODO: add support for color mode option and its corresponding editor\n // [\n // {\n // label: _('Color mode'),\n // option: 'colorMode',\n // editor: 'editor.radioBar',\n // editorProps: {\n // values: [\n // { label: _('Static'), value: 'static' },\n // { label: _('Dynamic'), value: 'dynamic' },\n // ],\n // },\n // },\n // ],\n [\n {\n label: _('Series colors'),\n option: 'layers[0].seriesColors',\n editor: 'editor.seriesColors',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n },\n ],\n // TODO: add editor for data colors\n // [\n // {\n // label: _('Data colors'),\n // option: 'layers[0].dataColors',\n // editor: 'editor.text',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n [\n {\n label: _('Choropleth empty area'),\n option: 'layers[0].choroplethEmptyAreaColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth stroke'),\n option: 'layers[0].choroplethStrokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth opacity (%)'),\n option: 'layers[0].choroplethOpacity',\n editor: 'editor.percent',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n // TODO: add support for seriesColorsByField option\n // [\n // {\n // label: _('Series colors by field name'),\n // option: 'seriesColorsByField',\n // editor: 'editor.seriesColorsByField',\n // },\n // ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Show base layer'),\n option: 'showBaseLayer',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Base layer tile server'),\n option: 'baseLayerTileServer',\n editor: 'editor.text',\n showEditor: ({ options }) => options.showBaseLayer !== false,\n },\n ],\n [\n {\n label: _('Base layer tile server type'),\n option: 'baseLayerTileServerType',\n editor: 'editor.radioBar',\n showEditor: ({ options }) =>\n options.showBaseLayer === false\n ? false\n : !(\n typeof options.baseLayerTileServer === 'undefined' ||\n options.baseLayerTileServer === ''\n ),\n editorProps: {\n values: [\n { label: _('Vector'), value: 'vector' },\n { label: _('Raster'), value: 'raster' },\n ],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.SPATIAL,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { isNumber } from '@splunk/visualization-encoding/utils/types';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { GEO_LAT_AND_LONG_FIELD } from '../../Map/PureMap/BubbleLayer';\n\nexport const columnsNullToZeros = (config, dataSources, options) => {\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = columns;\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n const latitudeField = getFieldsFromDSL(mergedOptions.layers[0].latitude, dataSources)[0] || '';\n const longitudeField = getFieldsFromDSL(mergedOptions.layers[0].longitude, dataSources)[0] || '';\n const excludedFields = [latitudeField, longitudeField, 'geobin'].concat(GEO_LAT_AND_LONG_FIELD);\n const indicesToEvaluate = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (!excludedFields.includes(field)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n\n newColumns = columns.map((column, i) => {\n if (indicesToEvaluate.has(i)) {\n // sanitize value and convert string to numeric numbers\n return column.map(value => (!value || !isNumber(value) ? 0 : +value));\n }\n return column;\n });\n }\n\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n },\n },\n };\n\n return modifiedDatasources;\n};\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","import { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n sid: string;\n app: string;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","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","module.exports = require(\"@splunk/themes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { forEach, sum, isNumber, min as lodashMin, max as lodashMax, get, isEqual, isObject } from 'lodash';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport { scalePow } from 'd3-scale';\nimport * as chroma from 'chroma-js';\nimport type { MapContextInterface, BaseTileConfig } from '@splunk/visualization-context/MapContext';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { isNumber as isNumberUtil } from '@splunk/visualization-encoding/utils/types';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\n\nexport const MAX_LATITUDE = 90;\nexport const MIN_LATITUDE = -90;\nexport const MAX_LONGITUDE = 180;\nexport const MIN_LONGITUDE = -180;\nexport const DEFAULT_RESULT_LIMIT = 1000;\nexport const DEFAULT_CLUSTER_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLORS = VIZ_CATEGORICAL;\n// MapLibre requires a map style specification number which is always 8\nexport const MAP_STYLE_VERSION_NUMBER = 8;\n// currently using one [min, max] value set for bubbles across all zoom levels\n// TODO: design choices on [min, max] bubble size for different zoom levels\nexport const MIN_BUBBLE_RADIUS = 7.11; // 10px\nexport const MAX_BUBBLE_RADIUS = 45.26; // 85px\nexport const DEFAULT_OPACITY = 0.8;\nconst LONGITUDE = 'longitude';\nconst LATITUDE = 'latitude';\n\nexport enum LAYER_TYPE {\n Marker = 'marker',\n Bubble = 'bubble',\n Choropleth = 'choropleth',\n}\n\ninterface GenericLayerType {\n type: string;\n latitude: number[];\n longitude: number[];\n dataColors?: string[];\n seriesColors: string[];\n additionalTooltipFields?: string[];\n resultLimit: number;\n metadata?: Array<{ [key: string]: number | string }>;\n}\n\nexport interface MarkerLayerType extends GenericLayerType {\n type: LAYER_TYPE.Marker;\n}\n\nexport interface BubbleLayerType extends GenericLayerType {\n type: LAYER_TYPE.Bubble;\n bubbleSize?: number[][] | number[];\n bubbleSizeFields: string[];\n geobin?: string[];\n}\n\ninterface BubbleLayerDatumType {\n zoom: number;\n values: number[];\n sanitizedValues: number[];\n coordinates: number[];\n}\n\nexport interface BubbleLayerDataType {\n data: BubbleLayerDatumType[];\n dataRange: number[];\n isPie: boolean;\n resultLimit: number;\n bubbleSizeFields: string[];\n}\n\nexport interface ChoroplethLayerType {\n type: LAYER_TYPE.Choropleth;\n areaIds: string[];\n areaValues: number[];\n dataColors: string[];\n additionalTooltipFields?: string[];\n geom?: GeoJsonDataType[];\n resultLimit?: number;\n metadata?: Array<{ [key: string]: number | string | GeoJsonDataType }>;\n source?: string;\n width?: string | number;\n height?: string | number;\n choroplethEmptyAreaColor?: string;\n choroplethStrokeColor?: string;\n choroplethOpacity?: number;\n}\n\n// todo(@ssahnoune) - look into this\nexport interface MapLayerClickPayloadType {\n name?: string;\n value?: string | number;\n /* cell values of all cells of clicked row with the field and value - in shape row.<field>.value */\n [key: string]: string | number;\n}\n\nexport type ClusterLayerType = BubbleLayerType | MarkerLayerType;\nexport type LayerType = ClusterLayerType | ChoroplethLayerType;\n/**\n * Construct a tile preset {key: config} by combining the default + custom tile configs\n * Also returns the default tile config for each theme - light/dark\n * @param {MapContextInterface} args\n * @param {BaseTileConfig[]} args.defaultTileConfig\n * @param {BaseTileConfig[]} args.customTileConfig\n * @returns {Object} tile preset\n */\nexport const getTilePreset = ({\n defaultTileConfig = [],\n customTileConfig = [],\n}: MapContextInterface): {\n tilePreset: Record<string, BaseTileConfig>;\n defaultTileLight: BaseTileConfig;\n defaultTileDark: BaseTileConfig;\n} => {\n const tilePreset = {};\n let defaultTileLight = {};\n let defaultTileDark = {};\n const tileConfigs = [].concat(defaultTileConfig).concat(customTileConfig);\n forEach(tileConfigs, tileConfig => {\n const key = tileConfig?.key;\n const updatedConfig = { theme: 'all', ...tileConfig, version: MAP_STYLE_VERSION_NUMBER };\n tilePreset[key] = updatedConfig;\n });\n\n if (defaultTileConfig.length > 0) {\n defaultTileLight =\n defaultTileConfig.find(config => config.theme === 'light') ??\n defaultTileConfig.find(config => config.theme === undefined);\n defaultTileDark =\n defaultTileConfig.find(config => config.theme === 'dark') ??\n defaultTileConfig.find(config => config.theme === undefined);\n }\n\n return { tilePreset, defaultTileLight, defaultTileDark };\n};\n\n/**\n * Check if baseLayerTileServer is in tilePreset and config matches current theme, if yes, return.\n * If no, construct a mapStyle with baseLayerTilerServer and baseLayerTileServerType\n * Else return default tile config based on current theme\n * @param {Object} args\n * @param {BaseTileConfig[]} args.tilePreset\n * @param {String} args.baseLayerTilerServer\n * @param {String} args.baseLayerTileServerType\n * @param {String} args.colorScheme\n * @param {BaseTileConfig} args.defaultTileDark\n * @param {BaseTileConfig} args.defaultTileLight\n * @returns {BaseTileConfig} mapStyle\n */\nexport const getMapStyle = ({\n showBaseLayer,\n baseLayerTileServer = '',\n baseLayerTileServerType = '',\n tilePreset = {},\n colorScheme = 'light',\n defaultTileLight = {},\n defaultTileDark = {},\n}: {\n showBaseLayer: boolean;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: string;\n tilePreset?: Record<string, BaseTileConfig>;\n colorScheme?: string;\n defaultTileLight?: BaseTileConfig;\n defaultTileDark?: BaseTileConfig;\n}): BaseTileConfig => {\n if (!showBaseLayer) {\n return {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: 'raster',\n tiles: [\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=',\n ],\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 22,\n },\n ],\n };\n }\n\n if (\n baseLayerTileServer &&\n tilePreset[baseLayerTileServer] &&\n (tilePreset[baseLayerTileServer].theme === colorScheme ||\n tilePreset[baseLayerTileServer].theme === 'all')\n ) {\n return tilePreset[baseLayerTileServer];\n }\n\n if (baseLayerTileServer && baseLayerTileServerType) {\n let tiles = [];\n /**\n * Tile Server URLs (eg: http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png) can specify the variable {s} which refers to a subdomain\n * Subdomains are used to help with browser parallel requests per domain limitation. These subdomains are typically single letters 'a', 'b' and 'c'\n * Refer to https://leafletjs.com/SlavaUkraini/reference.html#tilelayer and https://wiki.openstreetmap.org/wiki/Tile_servers\n */\n if (baseLayerTileServer.match(/^(https?):\\/\\/{(s|S)}\\../)) {\n /**\n * sXML (Leaflet) allows users to define their own tile server URLs + list of available subdomains\n * In order to preserve this behavior during conversion to splunk.map,\n * if the variable {s} or {S} is detected, replace it with 'a', 'b' and 'c' - default values for subdomains\n * TODO: in the future, add an additional prop - baseLayerTileServerSubdomains: ['x', 'y', 'z'], default being ['a', 'b', 'c']\n */\n tiles = [\n baseLayerTileServer.replace(/{(s|S)}/, 'a'),\n baseLayerTileServer.replace(/{(s|S)}/, 'b'),\n baseLayerTileServer.replace(/{(s|S)}/, 'c'),\n ];\n } else {\n tiles = [baseLayerTileServer];\n }\n // TODO: remove hardcoded style when we allow users to pass in layer style through Viz options\n const mapStyle = {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: baseLayerTileServerType,\n tiles,\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 24, // https://maplibre.org/maplibre-gl-js-docs/api/map/\n },\n ],\n };\n return mapStyle;\n }\n\n // if tile server is not present in the preset AND we can't construct a mapStyle, fall back on defaults\n return colorScheme === 'light' ? defaultTileLight : defaultTileDark;\n};\n\nexport interface ZoomConstraints {\n minZoom: number;\n maxZoom: number;\n}\n\nexport const getZoomConstraintsFromTileConfig = (\n tileConfig: BaseTileConfig,\n baseLayerTileServer?: string\n): ZoomConstraints => {\n const { sources, layers } = tileConfig;\n let matchedBaseLayerTileServer = false;\n // check sources for minzoom maxzoom first\n const sourceKeys = Object.keys(sources);\n for (let i = 0; i < sourceKeys.length; i += 1) {\n const { minzoom, maxzoom } = sources[sourceKeys[i]];\n if (baseLayerTileServer && sources[sourceKeys[i]].tiles.indexOf(baseLayerTileServer) !== -1) {\n matchedBaseLayerTileServer = true;\n }\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // then check layers\n for (let i = 0; i < layers.length; i += 1) {\n const { minzoom, maxzoom } = layers[i];\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // Maplibre default - would reset previous min/maxZoom https://maplibre.org/maplibre-gl-js-docs/api/map/\n return {\n minZoom: 0,\n maxZoom: 24,\n };\n};\n\nexport const getZoomLevelFromGeobin = (geobinStr: string): number => {\n if (!geobinStr) {\n return null;\n }\n // geostats cmds return geobin with zoom level 0-18, 0-99 in the geobinPattern covers the range\n const geobinPattern = /bin_id_zl_([0-9]{0,2})?_y_/g;\n const match = geobinPattern.exec(geobinStr);\n return (match?.length && parseInt(match[1], 10)) ?? null;\n};\n\n// Bubble colors - static\nexport const getStaticColors = (colorCount: number, colorArray: string[]): string[] => {\n if (colorCount < 0 || !colorCount) {\n return [DEFAULT_CLUSTER_COLOR];\n }\n if (!colorArray || !colorArray.length) {\n return [...Array(colorCount).keys()].map(i => DEFAULT_SERIES_COLORS[i]);\n }\n // loop through colorArray to pick the first $colorCount colors\n // start from begining again if colorCount > colorArray.length\n return [...Array(colorCount).keys()].map(i =>\n isColor(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : DEFAULT_CLUSTER_COLOR\n );\n};\n\n// Bubble size\nexport const matchBubbleSize = (dataRange: number[], data: number): any => {\n const size = scalePow().exponent(0.2).domain(dataRange).range([MIN_BUBBLE_RADIUS, MAX_BUBBLE_RADIUS])(\n data\n );\n\n if (size > MAX_BUBBLE_RADIUS) {\n return MAX_BUBBLE_RADIUS;\n }\n if (size < MIN_BUBBLE_RADIUS) {\n return MIN_BUBBLE_RADIUS;\n }\n return size;\n};\n\nexport const transposeArray = (array: number[][]): number[][] => {\n if (!array || !array.length || !array[0] || !array[0].length) {\n return [];\n }\n return array[0].map((_, i) => array.map(row => row[i]));\n};\n\n// sanitize values: update all null, undefined, or negative values to 0\nexport const sanitizeValues = (values: number[] | number[][]) => {\n // null / undefined\n if (!values) {\n return 0;\n }\n // number\n if (!Array.isArray(values)) {\n return values > 0 ? values : 0;\n }\n // array\n return values.map(arr => sanitizeValues(arr));\n};\n\nexport const bakeBubbleData = (layer: BubbleLayerType): BubbleLayerDataType => {\n if (\n !layer ||\n !layer.bubbleSize?.length ||\n !layer.geobin ||\n !layer.geobin.length ||\n !layer.latitude ||\n !layer.latitude.length ||\n !layer.longitude ||\n !layer.longitude.length\n ) {\n return null;\n }\n // if bubbleSize is passed as an array of single number array (data series)\n // e.g. [value0, value1, ...]\n // format each value as an array to unify data operations for data series and frames\n const sanitizedBubbleSize = sanitizeValues(layer.bubbleSize);\n let transposedBubbleSize: number[][];\n let transposedSanitizedBubbleSize: number[][];\n let isPie = false;\n // format array if bubbleSize is passed as an array of array (data frame)\n if (Array.isArray(layer.bubbleSize[0])) {\n // one-time array transpose,\n // e.g. from [column0data, column0data] (multi series)\n // to [[column0datum0, column1datum0], [column0datum1, column1data1], ...]\n // or e.g. from [column0data] (single series)\n // to [[column0data]]\n // for easy access of values at each geo location,\n // and min max pie size computation\n transposedBubbleSize = transposeArray(layer.bubbleSize as number[][]);\n transposedSanitizedBubbleSize = transposeArray(sanitizedBubbleSize);\n // if multiple series in the dataframe, set isPie to true\n if (layer.bubbleSize.length > 1) {\n isPie = true;\n }\n } else {\n transposedBubbleSize = layer.bubbleSize.map(n => [n]);\n transposedSanitizedBubbleSize = sanitizedBubbleSize.map(n => [n]);\n }\n if (!transposedBubbleSize || !transposedBubbleSize.length) {\n return null;\n }\n const data = layer.latitude\n .map((lat, i) => ({\n zoom: getZoomLevelFromGeobin(layer.geobin[i]),\n values: transposedBubbleSize[i],\n sanitizedValues: transposedSanitizedBubbleSize[i],\n coordinates: [layer.longitude[i], lat],\n metadata: layer.metadata ? layer.metadata[i] : {},\n }))\n .filter(d => Boolean(d.values));\n\n // compute the min/max value to encode min/max pie or bubble size\n let min = sum(transposedSanitizedBubbleSize[0]);\n let max = sum(transposedSanitizedBubbleSize[1]);\n transposedSanitizedBubbleSize.forEach(row => {\n const bubbleSize = sum(row);\n max = bubbleSize > max ? bubbleSize : max;\n min = bubbleSize < min ? bubbleSize : min;\n });\n return {\n data,\n dataRange: [min, max],\n isPie,\n resultLimit: layer.resultLimit,\n bubbleSizeFields: layer.bubbleSizeFields,\n };\n};\n\nexport const isValidLatLon = (latlon: Array<number | string>): boolean => {\n if (!latlon || !Array.isArray(latlon) || latlon.length !== 2) {\n return false;\n }\n const [lat, lon] = latlon;\n if (!isNumberUtil(lat) || !(lat >= MIN_LATITUDE && lat <= MAX_LATITUDE)) {\n return false;\n }\n if (!isNumberUtil(lon) || !(lon >= MIN_LONGITUDE && lon <= MAX_LONGITUDE)) {\n return false;\n }\n return true;\n};\n\n/**\n * Returns a list of all lat or lon coordinates used in a specified layer\n * @param {LayerType[]} layer\n * @param {string} field\n * @returns {number[]} list of lat coordinates or lon coordinates\n */\nconst getLatOrLonCoordinates = (layer: LayerType, field: string): number[] => {\n const getClusterValues = (clusterLayer: ClusterLayerType): number[] =>\n get(clusterLayer, field, []).slice(\n 0,\n clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit\n ? clusterLayer.resultLimit\n : DEFAULT_RESULT_LIMIT\n );\n\n const getChoroplethValues = (choroplethLayer: ChoroplethLayerType): number[] => {\n const slicedGeomList = choroplethLayer.geom.slice(0, choroplethLayer.resultLimit);\n const flatCoordinates = slicedGeomList.flatMap(geomObject => geomObject.coordinates.flat(2));\n return flatCoordinates.map(coord => coord[field === LONGITUDE ? 0 : 1]);\n };\n\n return layer.type === LAYER_TYPE.Choropleth ? getChoroplethValues(layer) : getClusterValues(layer);\n};\n\n/**\n * Returns the min and max LongLat pairs to determine the layer boundaries to fit all markers/bubbles\n * @param {LayerType[]} layers\n * @returns {LngLatBoundsLike}\n */\nexport const getGlobalLayerBoundaries = (layers: LayerType[]): LngLatBoundsLike => {\n const isLayerValid = (field: string): boolean =>\n layers.every(layer => layer[field] || (layer as ChoroplethLayerType).geom);\n const getDefaultMax = (field: string) => (field === LONGITUDE ? MAX_LONGITUDE : MAX_LATITUDE);\n const getDefaultMin = (field: string) => (field === LONGITUDE ? MIN_LONGITUDE : MIN_LATITUDE);\n\n if (!layers || !Array.isArray(layers) || !layers.length) {\n return null;\n }\n\n const getMin = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMin(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(x => +x);\n return lodashMin([prevVal, ...coordinatesNumArr]);\n }, getDefaultMax(field));\n };\n\n const getMax = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMax(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(Number);\n return lodashMax([prevVal, ...coordinatesNumArr]);\n }, getDefaultMin(field));\n };\n\n return [\n [getMin(LONGITUDE), getMin(LATITUDE)],\n [getMax(LONGITUDE), getMax(LATITUDE)],\n ];\n};\n\nexport const getScaledOpacities = (colors: string[], cfgOpacity: number): number[] => {\n // extract opacity information from 8 digit hex codes\n const opacities = colors?.map(color => (color?.length === 9 ? chroma(color).alpha() ?? 1 : 1));\n // opacity cannot be greater than configured opacity\n return opacities?.map(opacity => opacity * cfgOpacity);\n};\n\nexport const compareBaseStyles = (curr, next): boolean => {\n const currBaseLayer = curr?.layers?.find(layer => layer?.id === 'base-layer');\n const nextBaseLayer = next?.layers?.find(layer => layer?.id === 'base-layer');\n const currBaseSource = get(curr?.sources, (currBaseLayer?.source as string) ?? '');\n const nextBaseSource = get(next?.sources, (nextBaseLayer?.source as string) ?? '');\n\n if (!currBaseLayer || !nextBaseLayer || !currBaseSource || !nextBaseSource) {\n return false;\n }\n\n return isEqual(currBaseLayer, nextBaseLayer) && isEqual(currBaseSource, nextBaseSource);\n};\n\nexport const formatMetadata = (\n choroplethLayer: ChoroplethLayerType,\n i: number\n): { [key: string]: string } => {\n if (!choroplethLayer || !choroplethLayer.areaIds || !choroplethLayer.areaValues) return {};\n if (i >= choroplethLayer.areaIds.length) return {};\n\n const metadata = choroplethLayer.metadata ? choroplethLayer.metadata[i] : {};\n const name = choroplethLayer.areaIds[i];\n const value = choroplethLayer.areaValues[i];\n const base = { name, value: String(value) };\n\n return Object.keys(metadata).reduce((result, curr) => {\n const key = `row.${curr}.value`;\n const val = isObject(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);\n return { ...result, [key]: val };\n }, base);\n};\n","module.exports = require(\"d3-scale\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-encoding/utils/types\");"],"sourceRoot":""}