@splunk/visualizations 27.4.0 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.config.js +26 -21
- package/Area.config.js.map +3 -3
- package/Area.js +88 -36
- package/Area.js.map +3 -3
- package/Bar.config.js +25 -21
- package/Bar.config.js.map +3 -3
- package/Bar.js +83 -37
- package/Bar.js.map +3 -3
- package/Bubble.config.js +46 -44
- package/Bubble.config.js.map +4 -4
- package/Bubble.js +83 -54
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +54 -7
- package/ChoroplethSvg.config.js +47 -43
- package/ChoroplethSvg.config.js.map +4 -4
- package/ChoroplethSvg.js +72 -45
- package/ChoroplethSvg.js.map +4 -4
- package/Column.config.js +22 -20
- package/Column.config.js.map +3 -3
- package/Column.js +76 -33
- package/Column.js.map +3 -3
- package/Ellipse.config.js +16 -7
- package/Ellipse.config.js.map +2 -2
- package/Ellipse.js +104 -20
- package/Ellipse.js.map +4 -4
- package/Events.config.js +38 -27
- package/Events.config.js.map +4 -4
- package/Events.js +122 -101
- package/Events.js.map +4 -4
- package/FEATUREFLAGS.md +9 -7
- package/FillerGauge.config.js +20 -13
- package/FillerGauge.config.js.map +3 -3
- package/FillerGauge.js +76 -27
- package/FillerGauge.js.map +4 -4
- package/Image.config.js +5 -6
- package/Image.config.js.map +2 -2
- package/Image.js +29 -14
- package/Image.js.map +2 -2
- package/Line.config.js +22 -20
- package/Line.config.js.map +3 -3
- package/Line.js +84 -35
- package/Line.js.map +3 -3
- package/LinkGraph.config.js +39 -46
- package/LinkGraph.config.js.map +3 -3
- package/LinkGraph.js +70 -50
- package/LinkGraph.js.map +3 -3
- package/MIGRATION.md +169 -40
- package/Map.config.js +47 -13
- package/Map.config.js.map +4 -4
- package/Map.js +350 -159
- package/Map.js.map +4 -4
- package/Markdown.config.js +4 -5
- package/Markdown.config.js.map +2 -2
- package/Markdown.js +117 -72
- package/Markdown.js.map +3 -3
- package/MarkerGauge.config.js +14 -12
- package/MarkerGauge.config.js.map +3 -3
- package/MarkerGauge.js +107 -69
- package/MarkerGauge.js.map +4 -4
- package/ParallelCoordinates.config.js +14 -12
- package/ParallelCoordinates.config.js.map +3 -3
- package/ParallelCoordinates.js +113 -59
- package/ParallelCoordinates.js.map +3 -3
- package/Pie.config.js +51 -38
- package/Pie.config.js.map +4 -4
- package/Pie.js +116 -88
- package/Pie.js.map +4 -4
- package/Punchcard.config.js +36 -34
- package/Punchcard.config.js.map +4 -4
- package/Punchcard.js +153 -87
- package/Punchcard.js.map +4 -4
- package/README.internal.md +15 -15
- package/README.md +10 -10
- package/Rectangle.config.js +16 -7
- package/Rectangle.config.js.map +2 -2
- package/Rectangle.js +103 -20
- package/Rectangle.js.map +4 -4
- package/Sankey.config.js +69 -17
- package/Sankey.config.js.map +4 -4
- package/Sankey.js +212 -82
- package/Sankey.js.map +4 -4
- package/Scatter.config.js +44 -42
- package/Scatter.config.js.map +3 -3
- package/Scatter.js +84 -56
- package/Scatter.js.map +3 -3
- package/SingleValue.config.js +32 -18
- package/SingleValue.config.js.map +4 -4
- package/SingleValue.js +238 -94
- package/SingleValue.js.map +4 -4
- package/SingleValueBasic.js +1 -0
- package/SingleValueBasic.js.map +2 -2
- package/SingleValueIcon.config.js +22 -11
- package/SingleValueIcon.config.js.map +2 -2
- package/SingleValueIcon.js +85 -29
- package/SingleValueIcon.js.map +2 -2
- package/SingleValueRadial.config.js +34 -23
- package/SingleValueRadial.config.js.map +3 -3
- package/SingleValueRadial.js +90 -49
- package/SingleValueRadial.js.map +4 -4
- package/SparkLine.js +153 -49
- package/SparkLine.js.map +2 -2
- package/Table.config.js +71 -51
- package/Table.config.js.map +3 -3
- package/Table.js +282 -145
- package/Table.js.map +3 -3
- package/Timeline.config.js +36 -34
- package/Timeline.config.js.map +4 -4
- package/Timeline.js +67 -59
- package/Timeline.js.map +4 -4
- package/common/Charting.js +8 -3
- package/common/Charting.js.map +2 -2
- package/common/ChartingApi.js +1 -0
- package/common/ChartingApi.js.map +1 -1
- package/common/DocExampleWithVizSandbox.js +7 -2
- package/common/DocExampleWithVizSandbox.js.map +2 -2
- package/common/EventsDoc.js +31 -5
- package/common/EventsDoc.js.map +4 -4
- package/common/GaugeMajorTicks.js +4 -1
- package/common/GaugeMajorTicks.js.map +2 -2
- package/common/GaugeValueMarker.js +31 -3
- package/common/GaugeValueMarker.js.map +4 -4
- package/common/OptionsDoc.js +4 -1
- package/common/OptionsDoc.js.map +2 -2
- package/common/OverviewDoc.js +66 -50
- package/common/OverviewDoc.js.map +4 -4
- package/common/SplunkVisualization.js +1 -0
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +1 -0
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemedDefaults.js +67 -0
- package/common/ThemedDefaults.js.map +7 -0
- package/common/ThemesDoc.js +6 -9
- package/common/ThemesDoc.js.map +2 -2
- package/common/chartingUtils.js +12 -0
- package/common/chartingUtils.js.map +2 -2
- package/common/docUtils.js +6 -1
- package/common/docUtils.js.map +2 -2
- package/common/gaugeUtils.js +6 -1
- package/common/gaugeUtils.js.map +2 -2
- package/common/shapeUtils.js +87 -3
- package/common/shapeUtils.js.map +4 -4
- package/common/utils/configUtils.js +4 -5
- package/common/utils/configUtils.js.map +2 -2
- package/common/utils/dataUtils.js +1 -0
- package/common/utils/dataUtils.js.map +2 -2
- package/common/utils/featureFlagUtils.js +1 -0
- package/common/utils/featureFlagUtils.js.map +1 -1
- package/common/utils/hocUtils.js +1 -0
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/mapUtils.js +174 -48
- package/common/utils/mapUtils.js.map +4 -4
- package/common/utils/singleValueUtils.js +9 -3
- package/common/utils/singleValueUtils.js.map +2 -2
- package/common/utils/styleUtils.js +1 -0
- package/common/utils/styleUtils.js.map +1 -1
- package/common/utils/testHelper.js +1 -0
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +1 -0
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +1 -0
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +25 -8
- package/common/withDashboardViz.js.map +2 -2
- package/package.json +37 -35
package/common/utils/mapUtils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* Copyright © 2020 Splunk Inc.
|
|
2
2
|
SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
3
3
|
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
|
+
"use strict";
|
|
4
5
|
var __create = Object.create;
|
|
5
6
|
var __defProp = Object.defineProperty;
|
|
6
7
|
var __defProps = Object.defineProperties;
|
|
@@ -129,50 +130,86 @@ var defaultImport7 = __toESM(require("lodash"));
|
|
|
129
130
|
__reExport(lodash_exports, require("lodash"));
|
|
130
131
|
var lodash_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
|
|
131
132
|
|
|
133
|
+
// esm-externals:@splunk/visualizations-shared/iconUtils
|
|
134
|
+
var iconUtils_exports = {};
|
|
135
|
+
__export(iconUtils_exports, {
|
|
136
|
+
default: () => iconUtils_default
|
|
137
|
+
});
|
|
138
|
+
var defaultImport8 = __toESM(require("@splunk/visualizations-shared/iconUtils"));
|
|
139
|
+
__reExport(iconUtils_exports, require("@splunk/visualizations-shared/iconUtils"));
|
|
140
|
+
var iconUtils_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
|
|
141
|
+
|
|
132
142
|
// esm-externals:@splunk/visualizations-shared/colorUtils
|
|
133
143
|
var colorUtils_exports = {};
|
|
134
144
|
__export(colorUtils_exports, {
|
|
135
145
|
default: () => colorUtils_default
|
|
136
146
|
});
|
|
137
|
-
var
|
|
147
|
+
var defaultImport9 = __toESM(require("@splunk/visualizations-shared/colorUtils"));
|
|
138
148
|
__reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
|
|
139
|
-
var colorUtils_default = "default" in
|
|
149
|
+
var colorUtils_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
|
|
150
|
+
|
|
151
|
+
// esm-externals:@splunk/visualizations-shared/RemoteIcon
|
|
152
|
+
var RemoteIcon_exports = {};
|
|
153
|
+
__export(RemoteIcon_exports, {
|
|
154
|
+
default: () => RemoteIcon_default
|
|
155
|
+
});
|
|
156
|
+
var defaultImport10 = __toESM(require("@splunk/visualizations-shared/RemoteIcon"));
|
|
157
|
+
__reExport(RemoteIcon_exports, require("@splunk/visualizations-shared/RemoteIcon"));
|
|
158
|
+
var RemoteIcon_default = "default" in defaultImport10 ? defaultImport10.default : defaultImport10;
|
|
159
|
+
|
|
160
|
+
// esm-externals:@splunk/visualization-context/FeatureFlagContext
|
|
161
|
+
var FeatureFlagContext_exports = {};
|
|
162
|
+
__export(FeatureFlagContext_exports, {
|
|
163
|
+
default: () => FeatureFlagContext_default
|
|
164
|
+
});
|
|
165
|
+
var defaultImport11 = __toESM(require("@splunk/visualization-context/FeatureFlagContext"));
|
|
166
|
+
__reExport(FeatureFlagContext_exports, require("@splunk/visualization-context/FeatureFlagContext"));
|
|
167
|
+
var FeatureFlagContext_default = "default" in defaultImport11 ? defaultImport11.default : defaultImport11;
|
|
168
|
+
|
|
169
|
+
// esm-externals:@splunk/ui-utils/id
|
|
170
|
+
var id_exports = {};
|
|
171
|
+
__export(id_exports, {
|
|
172
|
+
default: () => id_default
|
|
173
|
+
});
|
|
174
|
+
var defaultImport12 = __toESM(require("@splunk/ui-utils/id"));
|
|
175
|
+
__reExport(id_exports, require("@splunk/ui-utils/id"));
|
|
176
|
+
var id_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
|
|
140
177
|
|
|
141
178
|
// esm-externals:d3-scale
|
|
142
179
|
var d3_scale_exports = {};
|
|
143
180
|
__export(d3_scale_exports, {
|
|
144
181
|
default: () => d3_scale_default
|
|
145
182
|
});
|
|
146
|
-
var
|
|
183
|
+
var defaultImport13 = __toESM(require("d3-scale"));
|
|
147
184
|
__reExport(d3_scale_exports, require("d3-scale"));
|
|
148
|
-
var d3_scale_default = "default" in
|
|
185
|
+
var d3_scale_default = "default" in defaultImport13 ? defaultImport13.default : defaultImport13;
|
|
149
186
|
|
|
150
187
|
// esm-externals:chroma-js
|
|
151
188
|
var chroma_js_exports = {};
|
|
152
189
|
__export(chroma_js_exports, {
|
|
153
190
|
default: () => chroma_js_default
|
|
154
191
|
});
|
|
155
|
-
var
|
|
192
|
+
var defaultImport14 = __toESM(require("chroma-js"));
|
|
156
193
|
__reExport(chroma_js_exports, require("chroma-js"));
|
|
157
|
-
var chroma_js_default = "default" in
|
|
194
|
+
var chroma_js_default = "default" in defaultImport14 ? defaultImport14.default : defaultImport14;
|
|
158
195
|
|
|
159
196
|
// esm-externals:@splunk/visualization-color-palettes
|
|
160
197
|
var visualization_color_palettes_exports = {};
|
|
161
198
|
__export(visualization_color_palettes_exports, {
|
|
162
199
|
default: () => visualization_color_palettes_default
|
|
163
200
|
});
|
|
164
|
-
var
|
|
201
|
+
var defaultImport15 = __toESM(require("@splunk/visualization-color-palettes"));
|
|
165
202
|
__reExport(visualization_color_palettes_exports, require("@splunk/visualization-color-palettes"));
|
|
166
|
-
var visualization_color_palettes_default = "default" in
|
|
203
|
+
var visualization_color_palettes_default = "default" in defaultImport15 ? defaultImport15.default : defaultImport15;
|
|
167
204
|
|
|
168
205
|
// esm-externals:@splunk/visualization-schemas
|
|
169
206
|
var visualization_schemas_exports = {};
|
|
170
207
|
__export(visualization_schemas_exports, {
|
|
171
208
|
default: () => visualization_schemas_default
|
|
172
209
|
});
|
|
173
|
-
var
|
|
210
|
+
var defaultImport16 = __toESM(require("@splunk/visualization-schemas"));
|
|
174
211
|
__reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
|
|
175
|
-
var visualization_schemas_default = "default" in
|
|
212
|
+
var visualization_schemas_default = "default" in defaultImport16 ? defaultImport16.default : defaultImport16;
|
|
176
213
|
|
|
177
214
|
// src/Map/PureMap/MapUtils.ts
|
|
178
215
|
var MIN_BUBBLE_RADIUS = 7.11;
|
|
@@ -195,27 +232,36 @@ var maplibre_gl_exports = {};
|
|
|
195
232
|
__export(maplibre_gl_exports, {
|
|
196
233
|
default: () => maplibre_gl_default
|
|
197
234
|
});
|
|
198
|
-
var
|
|
235
|
+
var defaultImport17 = __toESM(require("maplibre-gl"));
|
|
199
236
|
__reExport(maplibre_gl_exports, require("maplibre-gl"));
|
|
200
|
-
var maplibre_gl_default = "default" in
|
|
237
|
+
var maplibre_gl_default = "default" in defaultImport17 ? defaultImport17.default : defaultImport17;
|
|
201
238
|
|
|
202
239
|
// esm-externals:@splunk/react-ui/Popover
|
|
203
240
|
var Popover_exports = {};
|
|
204
241
|
__export(Popover_exports, {
|
|
205
242
|
default: () => Popover_default
|
|
206
243
|
});
|
|
207
|
-
var
|
|
244
|
+
var defaultImport18 = __toESM(require("@splunk/react-ui/Popover"));
|
|
208
245
|
__reExport(Popover_exports, require("@splunk/react-ui/Popover"));
|
|
209
|
-
var Popover_default = "default" in
|
|
246
|
+
var Popover_default = "default" in defaultImport18 ? defaultImport18.default : defaultImport18;
|
|
210
247
|
|
|
211
248
|
// esm-externals:@splunk/ui-utils/i18n
|
|
212
249
|
var i18n_exports = {};
|
|
213
250
|
__export(i18n_exports, {
|
|
214
251
|
default: () => i18n_default
|
|
215
252
|
});
|
|
216
|
-
var
|
|
253
|
+
var defaultImport19 = __toESM(require("@splunk/ui-utils/i18n"));
|
|
217
254
|
__reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
|
|
218
|
-
var i18n_default = "default" in
|
|
255
|
+
var i18n_default = "default" in defaultImport19 ? defaultImport19.default : defaultImport19;
|
|
256
|
+
|
|
257
|
+
// esm-externals:@splunk/themes
|
|
258
|
+
var themes_exports = {};
|
|
259
|
+
__export(themes_exports, {
|
|
260
|
+
default: () => themes_default
|
|
261
|
+
});
|
|
262
|
+
var defaultImport20 = __toESM(require("@splunk/themes"));
|
|
263
|
+
__reExport(themes_exports, require("@splunk/themes"));
|
|
264
|
+
var themes_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
|
|
219
265
|
|
|
220
266
|
// src/Map/PureMap/Tooltip.tsx
|
|
221
267
|
var StyledPopover = styled_components_default(Popover_default)`
|
|
@@ -224,6 +270,7 @@ var StyledPopover = styled_components_default(Popover_default)`
|
|
|
224
270
|
`;
|
|
225
271
|
var StyledTable = styled_components_default.table`
|
|
226
272
|
margin: 2px 6px 2px 6px;
|
|
273
|
+
table-layout: fixed;
|
|
227
274
|
width: calc(100% - 12px);
|
|
228
275
|
`;
|
|
229
276
|
var StyledTitleColumn = styled_components_default.td`
|
|
@@ -241,6 +288,30 @@ var StyledColorBlock = styled_components_default.div`
|
|
|
241
288
|
height: 11px;
|
|
242
289
|
transform: translateY(1px);
|
|
243
290
|
`;
|
|
291
|
+
var StyledFieldLabel = styled_components_default.span`
|
|
292
|
+
display: inline-block;
|
|
293
|
+
white-space: nowrap;
|
|
294
|
+
`;
|
|
295
|
+
var StyledIconWrapper = styled_components_default.span`
|
|
296
|
+
margin-left: 4px;
|
|
297
|
+
display: inline-block;
|
|
298
|
+
vertical-align: middle;
|
|
299
|
+
`;
|
|
300
|
+
var StyledTooltipHeader = styled_components_default.thead`
|
|
301
|
+
th {
|
|
302
|
+
height: 16px;
|
|
303
|
+
color: ${themes_exports.variables.contentColorActive};
|
|
304
|
+
padding: 0;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
span {
|
|
308
|
+
display: block;
|
|
309
|
+
white-space: nowrap;
|
|
310
|
+
overflow: hidden;
|
|
311
|
+
text-overflow: ellipsis;
|
|
312
|
+
width: 100%;
|
|
313
|
+
}
|
|
314
|
+
`;
|
|
244
315
|
var convertDegToDMS = (decimalDegree, type) => {
|
|
245
316
|
const truncate = (n) => n > 0 ? Math.floor(n) : Math.ceil(n);
|
|
246
317
|
const absoluteDegree = Math.abs(decimalDegree);
|
|
@@ -271,18 +342,25 @@ var Tooltip = ({
|
|
|
271
342
|
areaId,
|
|
272
343
|
areaValue,
|
|
273
344
|
additionalFields = [],
|
|
274
|
-
showCoordinates = true
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
345
|
+
showCoordinates = true,
|
|
346
|
+
tooltipHeader = null
|
|
347
|
+
}) => {
|
|
348
|
+
const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
|
|
349
|
+
const isTooltipIconFlagEnabled = Boolean(
|
|
350
|
+
featureFlagContext && featureFlagContext.visualizations_enableTooltipIcon
|
|
351
|
+
);
|
|
352
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
353
|
+
StyledPopover,
|
|
354
|
+
{
|
|
355
|
+
open,
|
|
356
|
+
animation: false,
|
|
357
|
+
anchor,
|
|
358
|
+
"data-test": "map-marker-tooltip",
|
|
359
|
+
defaultPlacement: "above"
|
|
360
|
+
},
|
|
361
|
+
/* @__PURE__ */ react_exports.createElement(StyledTable, null, tooltipHeader && /* @__PURE__ */ react_exports.createElement(StyledTooltipHeader, { "data-test": "tooltip-header" }, /* @__PURE__ */ react_exports.createElement("tr", null, /* @__PURE__ */ react_exports.createElement("th", { colSpan: 2 }, /* @__PURE__ */ react_exports.createElement("span", { "data-test": "tooltip-header-value" }, tooltipHeader)))), /* @__PURE__ */ react_exports.createElement("tbody", null, areaId && areaValue && /* @__PURE__ */ react_exports.createElement("tr", null, /* @__PURE__ */ react_exports.createElement(StyledTitleColumn, { "data-test": "area-id" }, areaId), /* @__PURE__ */ react_exports.createElement(StyledValueColumn, { "data-test": "area-value" }, areaValue)), Boolean(showCoordinates && latitude) && /* @__PURE__ */ react_exports.createElement("tr", null, /* @__PURE__ */ react_exports.createElement(StyledTitleColumn, null, (0, i18n_exports._)("Latitude")), /* @__PURE__ */ react_exports.createElement(StyledValueColumn, { "data-test": "latitude" }, convertDegToDMS(latitude, "latitude"))), Boolean(showCoordinates && longitude) && /* @__PURE__ */ react_exports.createElement("tr", null, /* @__PURE__ */ react_exports.createElement(StyledTitleColumn, null, (0, i18n_exports._)("Longitude")), /* @__PURE__ */ react_exports.createElement(StyledValueColumn, { "data-test": "longitude" }, convertDegToDMS(longitude, "longitude"))), additionalFields.filter(({ value }) => value && String(value) !== "0").map(({ name, value, color, icon }) => /* @__PURE__ */ react_exports.createElement("tr", { key: (0, id_exports.createDOMID)() }, /* @__PURE__ */ react_exports.createElement(StyledTitleColumn, { "data-test": "field-title" }, color ? /* @__PURE__ */ react_exports.createElement(StyledColorBlock, { "data-test": "field-color", color }) : null, /* @__PURE__ */ react_exports.createElement(StyledFieldLabel, null, name, isTooltipIconFlagEnabled && icon && ((0, iconUtils_exports.isRemoteIcon)(icon) || (0, iconUtils_exports.isDataURI)(icon)) ? /* @__PURE__ */ react_exports.createElement(StyledIconWrapper, { "data-test": "field-icon" }, /* @__PURE__ */ react_exports.createElement(RemoteIcon_default, { iconURL: icon, width: 16, height: 16 })) : null)), /* @__PURE__ */ react_exports.createElement(StyledValueColumn, { "data-test": "field-value" }, value)))))
|
|
362
|
+
);
|
|
363
|
+
};
|
|
286
364
|
var Tooltip_default = Tooltip;
|
|
287
365
|
|
|
288
366
|
// src/Map/PureMap/MarkerWrapper.tsx
|
|
@@ -293,6 +371,7 @@ var MarkerWrapper = (_a) => {
|
|
|
293
371
|
areaId,
|
|
294
372
|
areaValue,
|
|
295
373
|
additionalFields = [],
|
|
374
|
+
tooltipHeader = null,
|
|
296
375
|
map,
|
|
297
376
|
isChoroplethTooltipOpen,
|
|
298
377
|
children,
|
|
@@ -303,6 +382,7 @@ var MarkerWrapper = (_a) => {
|
|
|
303
382
|
"areaId",
|
|
304
383
|
"areaValue",
|
|
305
384
|
"additionalFields",
|
|
385
|
+
"tooltipHeader",
|
|
306
386
|
"map",
|
|
307
387
|
"isChoroplethTooltipOpen",
|
|
308
388
|
"children",
|
|
@@ -311,9 +391,10 @@ var MarkerWrapper = (_a) => {
|
|
|
311
391
|
const container = react_exports.useRef();
|
|
312
392
|
const marker = react_exports.useRef();
|
|
313
393
|
const [isTooltipOpen, setTooltipOpenStatus] = react_exports.useState(false);
|
|
314
|
-
const isChoroplethTooltip = react_exports.useCallback(
|
|
315
|
-
isChoroplethTooltipOpen
|
|
316
|
-
|
|
394
|
+
const isChoroplethTooltip = react_exports.useCallback(
|
|
395
|
+
() => isChoroplethTooltipOpen !== void 0,
|
|
396
|
+
[isChoroplethTooltipOpen]
|
|
397
|
+
);
|
|
317
398
|
const openTooltip = react_exports.useCallback(() => setTooltipOpenStatus(true), []);
|
|
318
399
|
const closeTooltip = react_exports.useCallback(() => setTooltipOpenStatus(false), []);
|
|
319
400
|
const cleanupMarker = react_exports.useCallback(() => {
|
|
@@ -342,7 +423,9 @@ var MarkerWrapper = (_a) => {
|
|
|
342
423
|
return /* @__PURE__ */ react_exports.createElement("div", { style: { visibility: isChoroplethTooltip() ? "hidden" : "visible" } }, /* @__PURE__ */ react_exports.createElement(
|
|
343
424
|
"div",
|
|
344
425
|
__spreadValues({
|
|
345
|
-
style: {
|
|
426
|
+
style: {
|
|
427
|
+
visibility: isChoroplethTooltip() ? "hidden" : "visible"
|
|
428
|
+
},
|
|
346
429
|
ref: container,
|
|
347
430
|
"data-test": "map-marker",
|
|
348
431
|
onMouseOver: openTooltip,
|
|
@@ -361,7 +444,8 @@ var MarkerWrapper = (_a) => {
|
|
|
361
444
|
areaId,
|
|
362
445
|
areaValue,
|
|
363
446
|
additionalFields,
|
|
364
|
-
showCoordinates
|
|
447
|
+
showCoordinates,
|
|
448
|
+
tooltipHeader
|
|
365
449
|
}
|
|
366
450
|
)));
|
|
367
451
|
};
|
|
@@ -369,6 +453,7 @@ var MarkerWrapper_default = MarkerWrapper;
|
|
|
369
453
|
|
|
370
454
|
// src/Map/PureMap/BubbleLayer.tsx
|
|
371
455
|
var GEO_LAT_AND_LONG_FIELD = ["_geo_long_field", "_geo_lat_field"];
|
|
456
|
+
var ICON_DISPLAY_CUTOFF = 16;
|
|
372
457
|
var PieSegment = react_exports.memo(
|
|
373
458
|
({
|
|
374
459
|
start,
|
|
@@ -437,10 +522,16 @@ var Bubble = react_exports.memo(
|
|
|
437
522
|
longitude,
|
|
438
523
|
bubbleSize,
|
|
439
524
|
additionalFields = [],
|
|
525
|
+
tooltipHeader = null,
|
|
440
526
|
map,
|
|
441
527
|
handleMapClick,
|
|
528
|
+
icon,
|
|
442
529
|
showCoordinates
|
|
443
530
|
}) => {
|
|
531
|
+
const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
|
|
532
|
+
const isBubbleMapIconFlagEnabled = Boolean(
|
|
533
|
+
featureFlagContext && featureFlagContext.visualizations_enableBubbleMapIcon
|
|
534
|
+
);
|
|
444
535
|
const onBubbleClick = react_exports.useCallback(
|
|
445
536
|
(e, name, value) => {
|
|
446
537
|
handleMapClick(e, name, value);
|
|
@@ -448,21 +539,20 @@ var Bubble = react_exports.memo(
|
|
|
448
539
|
},
|
|
449
540
|
[handleMapClick]
|
|
450
541
|
);
|
|
542
|
+
const allZeros = originalValues.every((v) => v === 0);
|
|
543
|
+
const values = originalValues.map((v) => v > 0 ? v : 0);
|
|
544
|
+
const total = values.reduce((totalValue, v) => totalValue + v, 0);
|
|
545
|
+
const radius = matchBubbleSize(valueRange, total);
|
|
451
546
|
const bubble = react_exports.useMemo(() => {
|
|
452
|
-
|
|
453
|
-
if (allZeros || !originalValues.length) {
|
|
454
|
-
return null;
|
|
455
|
-
}
|
|
456
|
-
const values = originalValues.map((v) => v > 0 ? v : 0);
|
|
547
|
+
if (allZeros || !originalValues.length) return null;
|
|
457
548
|
const offsets = [];
|
|
458
|
-
let
|
|
549
|
+
let runningTotal = 0;
|
|
459
550
|
values.forEach((count) => {
|
|
460
|
-
offsets.push(
|
|
461
|
-
|
|
551
|
+
offsets.push(runningTotal);
|
|
552
|
+
runningTotal += count;
|
|
462
553
|
});
|
|
463
|
-
const radius = matchBubbleSize(valueRange, total);
|
|
464
554
|
const width = radius * 2;
|
|
465
|
-
return /* @__PURE__ */ react_exports.createElement("svg", { width, height: width, viewBox: `-3 -3 ${width + 6} ${width + 6}` }, isPie
|
|
555
|
+
return /* @__PURE__ */ react_exports.createElement("svg", { width, height: width, viewBox: `-3 -3 ${width + 6} ${width + 6}` }, isPie && /* @__PURE__ */ react_exports.createElement(
|
|
466
556
|
"circle",
|
|
467
557
|
{
|
|
468
558
|
cx: radius,
|
|
@@ -473,10 +563,10 @@ var Bubble = react_exports.memo(
|
|
|
473
563
|
stroke: themeColor,
|
|
474
564
|
strokeOpacity: 0.3
|
|
475
565
|
}
|
|
476
|
-
)
|
|
566
|
+
), values.map((v, i) => /* @__PURE__ */ react_exports.createElement(
|
|
477
567
|
PieSegment,
|
|
478
568
|
{
|
|
479
|
-
key:
|
|
569
|
+
key: (0, id_exports.createDOMID)(),
|
|
480
570
|
start: offsets[i] / total,
|
|
481
571
|
end: (offsets[i] + v) / total,
|
|
482
572
|
radius,
|
|
@@ -486,7 +576,18 @@ var Bubble = react_exports.memo(
|
|
|
486
576
|
handleBubbleClick: onBubbleClick
|
|
487
577
|
}
|
|
488
578
|
)));
|
|
489
|
-
}, [
|
|
579
|
+
}, [
|
|
580
|
+
bubbleSize,
|
|
581
|
+
colors,
|
|
582
|
+
isPie,
|
|
583
|
+
onBubbleClick,
|
|
584
|
+
originalValues,
|
|
585
|
+
themeColor,
|
|
586
|
+
allZeros,
|
|
587
|
+
radius,
|
|
588
|
+
total,
|
|
589
|
+
values
|
|
590
|
+
]);
|
|
490
591
|
if (!bubble) {
|
|
491
592
|
return null;
|
|
492
593
|
}
|
|
@@ -496,11 +597,26 @@ var Bubble = react_exports.memo(
|
|
|
496
597
|
longitude,
|
|
497
598
|
latitude,
|
|
498
599
|
additionalFields: [...bubbleSize, ...additionalFields],
|
|
600
|
+
tooltipHeader,
|
|
499
601
|
map,
|
|
500
602
|
"data-test-type": "bubble",
|
|
501
603
|
showCoordinates
|
|
502
604
|
},
|
|
503
|
-
bubble
|
|
605
|
+
bubble,
|
|
606
|
+
isBubbleMapIconFlagEnabled && radius >= ICON_DISPLAY_CUTOFF && icon && ((0, iconUtils_exports.isRemoteIcon)(icon) || (0, iconUtils_exports.isDataURI)(icon)) && /* @__PURE__ */ react_exports.createElement(
|
|
607
|
+
"div",
|
|
608
|
+
{
|
|
609
|
+
"data-test": "bubble-icon-wrapper",
|
|
610
|
+
style: {
|
|
611
|
+
position: "absolute",
|
|
612
|
+
top: `${radius}px`,
|
|
613
|
+
left: `${radius}px`,
|
|
614
|
+
transform: "translate(-50%, -50%)",
|
|
615
|
+
pointerEvents: "none"
|
|
616
|
+
}
|
|
617
|
+
},
|
|
618
|
+
/* @__PURE__ */ react_exports.createElement(RemoteIcon_default, { iconURL: icon, width: radius * 0.8, height: radius * 0.8 })
|
|
619
|
+
)
|
|
504
620
|
);
|
|
505
621
|
}
|
|
506
622
|
);
|
|
@@ -520,7 +636,17 @@ var columnsNullToZeros = (config, dataSources, options) => {
|
|
|
520
636
|
if (((_b = (_a = mergedOptions.layers) == null ? void 0 : _a[0]) == null ? void 0 : _b.type) === "bubble") {
|
|
521
637
|
const latitudeField = (0, dsl_exports.getFieldsFromDSL)(mergedOptions.layers[0].latitude, dataSources)[0] || "";
|
|
522
638
|
const longitudeField = (0, dsl_exports.getFieldsFromDSL)(mergedOptions.layers[0].longitude, dataSources)[0] || "";
|
|
523
|
-
const
|
|
639
|
+
const stringsFields = (0, dsl_exports.getFieldsFromDSL)("> primary | frameBySeriesTypes('string')", dataSources);
|
|
640
|
+
const excludedFields = Array.from(
|
|
641
|
+
/* @__PURE__ */ new Set([
|
|
642
|
+
latitudeField,
|
|
643
|
+
longitudeField,
|
|
644
|
+
"geobin",
|
|
645
|
+
"name",
|
|
646
|
+
...stringsFields,
|
|
647
|
+
...GEO_LAT_AND_LONG_FIELD
|
|
648
|
+
])
|
|
649
|
+
);
|
|
524
650
|
const indicesToEvaluate = new Set(
|
|
525
651
|
fields.reduce((arr, e, i) => {
|
|
526
652
|
const field = typeof e === "string" ? e : e.name.toString();
|